Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Linus Torvalds [Mon, 9 Jan 2012 22:39:59 +0000 (14:39 -0800)]
power management changes for omap and imx

A significant part of the changes for these two platforms went into
power management, so they are split out into a separate branch.

* tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
  ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
  ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
  ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
  ARM: imx6q: build pm code only when CONFIG_PM selected
  ARM: mx5: use generic irq chip pm interface for pm functions on
  ARM: omap: pass minimal SoC/board data for UART from dt
  arm/dts: Add minimal device tree support for omap2420 and omap2430
  omap-serial: Add minimal device tree support
  omap-serial: Use default clock speed (48Mhz) if not specified
  omap-serial: Get rid of all pdev->id usage
  ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
  ARM: OMAP4: PRM: use PRCM interrupt handler
  ARM: OMAP3: pm: use prcm chain handler
  ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
  ARM: OMAP2+: mux: add support for PAD wakeup interrupts
  ARM: OMAP: PRCM: add suspend prepare / finish support
  ARM: OMAP: PRCM: add support for chain interrupt handler
  ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
  ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
  ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
  ...

16 files changed:
1  2 
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/Makefile
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/prcm-common.h
arch/arm/plat-mxc/include/mach/common.h
arch/arm/plat-omap/include/plat/serial.h
arch/arm/plat-omap/sram.c
drivers/tty/serial/omap-serial.c

@@@ -596,7 -595,9 +596,8 @@@ comment "i.MX6 family:
  
  config SOC_IMX6Q
        bool "i.MX6 Quad support"
+       select ARM_CPU_SUSPEND if PM
        select ARM_GIC
 -      select CACHE_L2X0
        select CPU_V7
        select HAVE_ARM_SCU
        select HAVE_IMX_GPC
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -399,11 -433,14 +433,14 @@@ static unsigned int serial_omap_tx_empt
  static unsigned int serial_omap_get_mctrl(struct uart_port *port)
  {
        struct uart_omap_port *up = (struct uart_omap_port *)port;
 -      unsigned char status;
 +      unsigned int status;
        unsigned int ret = 0;
  
+       pm_runtime_get_sync(&up->pdev->dev);
        status = check_modem_status(up);
-       dev_dbg(up->port.dev, "serial_omap_get_mctrl+%d\n", up->pdev->id);
+       pm_runtime_put(&up->pdev->dev);
+       dev_dbg(up->port.dev, "serial_omap_get_mctrl+%d\n", up->port.line);
  
        if (status & UART_MSR_DCD)
                ret |= TIOCM_CAR;