Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42270035 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)
  [ARM] Acorn: move the i2c bus driver into drivers/i2c
  [ARM] ARM SCSI: Don't try to dma_map_sg too many scatterlist entries
  [ARM] ARM FAS216: don't modify scsi_cmnd request_bufflen
  [ARM] rtc-pcf8583: Final fixes for this RTC on RiscPC
  [ARM] rtc-pcf8583: correct month and year offsets
  [ARM] rtc-pcf8583: don't use BCD_TO_BIN/BIN_TO_BCD
  [ARM] EBSA110: Work around build errors
  [ARM] 4241/1: Define mb() as compiler barrier on a uniprocessor system
  [ARM] 4239/1: S3C24XX: Update kconfig entries for PM
  [ARM] 4238/1: S3C24XX: docs: update suspend and resume
  [ARM] 4237/2: oprofile: Always allow backtraces on ARM
  [ARM] Yet more asm/apm-emulation.h stuff
  ARM: OMAP: Add missing get_irqnr_preamble and arch_ret_to_user for omap2
  ARM: OMAP: Use linux/delay.h not asm/delay.h
  ARM: OMAP: Remove obsolete alsa typedefs
  ARM: OMAP: omap1510->15xx conversions needed for sx1
  ARM: OMAP: Add missing includes to board-nokia770
  ARM: OMAP: Workqueue changes for board-h4.c
  ARM: OMAP: dmtimer.c omap1 register fix
  ARM: OMAP: board-nokia770: correct lcd name
  ...
parents 2c89a8d0 8d91cbad
Loading
Loading
Loading
Loading
+33 −2
Original line number Diff line number Diff line
@@ -5,10 +5,10 @@
Introduction
------------

  The S3C2410 supports a low-power suspend mode, where the SDRAM is kept
  The S3C24XX supports a low-power suspend mode, where the SDRAM is kept
  in Self-Refresh mode, and all but the essential peripheral blocks are
  powered down. For more information on how this works, please look
  at the S3C2410 datasheets from Samsung.
  at the relevant CPU datasheet from Samsung.


Requirements
@@ -56,6 +56,27 @@ Machine Support
  Note, the original method of adding an late_initcall() is wrong,
  and will end up initialising all compiled machines' pm init!

  The following is an example of code used for testing wakeup from
  an falling edge on IRQ_EINT0:


static irqreturn_t button_irq(int irq, void *pw)
{
	return IRQ_HANDLED;
}

statuc void __init machine_init(void)
{
	...

	request_irq(IRQ_EINT0, button_irq, IRQF_TRIGGER_FALLING,
		   "button-irq-eint0", NULL);

	enable_irq_wake(IRQ_EINT0);

	s3c2410_pm_init();
}


Debugging
---------
@@ -70,6 +91,12 @@ Debugging
     care should be taken that any external clock sources that the UARTs
     rely on are still enabled at that point.

  3) If any debugging is placed in the resume path, then it must have the
     relevant clocks and peripherals setup before use (ie, bootloader).

     For example, if you transmit a character from the UART, the baud
     rate and uart controls must be setup beforehand.


Configuration
-------------
@@ -89,6 +116,10 @@ Configuration
    Allows the entire memory to be checksummed before and after the
    suspend to see if there has been any corruption of the contents.

    Note, the time to calculate the CRC is dependant on the CPU speed
    and the size of memory. For an 64Mbyte RAM area on an 200MHz
    S3C2410, this can take approximately 4 seconds to complete.

    This support requires the CRC32 function to be enabled.


+1 −0
Original line number Diff line number Diff line
@@ -190,6 +190,7 @@ config ARCH_CO285
config ARCH_EBSA110
	bool "EBSA-110"
	select ISA
	select NO_IOPORT
	help
	  This is an evaluation board for the StrongARM processor available
	  from Digital. It has limited hardware on-board, including an
+3 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/workqueue.h>
#include <linux/delay.h>

#include <asm/hardware.h>
#include <asm/mach-types.h>
@@ -103,7 +105,7 @@ static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata =

static struct spi_board_info nokia770_spi_board_info[] __initdata = {
	[0] = {
		.modalias       = "lcd_lph8923",
		.modalias		= "lcd_mipid",
		.bus_num        = 2,
		.chip_select    = 3,
		.max_speed_hz   = 12000000,
+13 −7
Original line number Diff line number Diff line
@@ -432,7 +432,6 @@ static int omap1_clk_enable(struct clk *clk)
			}

			if (clk->flags & CLOCK_NO_IDLE_PARENT)
				if (!cpu_is_omap24xx())
				omap1_clk_deny_idle(clk->parent);
		}

@@ -454,7 +453,6 @@ static void omap1_clk_disable(struct clk *clk)
		if (likely(clk->parent)) {
			omap1_clk_disable(clk->parent);
			if (clk->flags & CLOCK_NO_IDLE_PARENT)
				if (!cpu_is_omap24xx())
				omap1_clk_allow_idle(clk->parent);
		}
	}
@@ -471,7 +469,7 @@ static int omap1_clk_enable_generic(struct clk *clk)
	if (unlikely(clk->enable_reg == 0)) {
		printk(KERN_ERR "clock.c: Enable for %s without enable code\n",
		       clk->name);
		return 0;
		return -EINVAL;
	}

	if (clk->flags & ENABLE_REG_32BIT) {
@@ -651,9 +649,17 @@ int __init omap1_clk_init(void)
	int crystal_type = 0; /* Default 12 MHz */
	u32 reg;

#ifdef CONFIG_DEBUG_LL
	/* Resets some clocks that may be left on from bootloader,
	 * but leaves serial clocks on.
 	 */
	omap_writel(0x3 << 29, MOD_CONF_CTRL_0);
#endif

	/* USB_REQ_EN will be disabled later if necessary (usb_dc_ck) */
	reg = omap_readw(SOFT_REQ_REG) & (1 << 4);
	omap_writew(reg, SOFT_REQ_REG);
	if (!cpu_is_omap15xx())
		omap_writew(0, SOFT_REQ_REG2);

	clk_init(&omap1_clk_functions);
@@ -685,7 +691,7 @@ int __init omap1_clk_init(void)

	info = omap_get_config(OMAP_TAG_CLOCK, struct omap_clock_config);
	if (info != NULL) {
		if (!cpu_is_omap1510())
		if (!cpu_is_omap15xx())
			crystal_type = info->system_clock_type;
	}

+1 −1
Original line number Diff line number Diff line
@@ -238,7 +238,7 @@ void __init omap_init_irq(void)

	if (cpu_is_omap730())
		omap_unmask_irq(INT_730_IH2_IRQ);
	else if (cpu_is_omap1510())
	else if (cpu_is_omap15xx())
		omap_unmask_irq(INT_1510_IH2_IRQ);
	else if (cpu_is_omap16xx())
		omap_unmask_irq(INT_1610_IH2_IRQ);
Loading