1. 23 Aug, 2009 4 commits
    • Magnus Damm's avatar
      video: Runtime PM for SuperH Mobile LCDC · 0246c471
      Magnus Damm authored
      This patch modifies the SuperH Mobile LCDC framebuffer driver
      to support Runtime PM. The driver is using the functions
      
       - pm_runtime_get_sync()
       - pm_runtime_put_sync()
      
      to inform the bus code if the hardware is idle or not. If the
      hardware is idle then the bus code may call the runtime dev_pm_ops
      callbacks to save and restore state. pm_runtime_resume() is used
      to allow the driver to access the hardware from probe().
      Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      0246c471
    • Magnus Damm's avatar
      i2c: Runtime PM for SuperH Mobile I2C · f1a3b994
      Magnus Damm authored
      This patch modifies the SuperH Mobile I2C driver to support
      Runtime PM. These changes is all that is needed for proper
      Runtime PM support in this driver. Driver callbacks for
      Runtime PM are empty because the device registers are always
      re-initialized after pm_runtime_get_sync().
      Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      f1a3b994
    • Magnus Damm's avatar
      sh: Runtime PM for SuperH Mobile platform bus devices · 6a93dde1
      Magnus Damm authored
      This patch is V3 of the SuperH Mobile Runtime PM platform bus
      implentation matching Rafael's Runtime PM v16.
      
      The code gets invoked from the SuperH specific Runtime PM
      platform bus functions that override the weak symbols for:
       - platform_pm_runtime_suspend()
       - platform_pm_runtime_resume()
       - platform_pm_runtime_idle()
      
      This Runtime PM implementation performs two levels of power
      management. At the time of platform bus runtime suspend the
      clock to the device is stopped instantly. Later on if all
      devices within the power domain has their clocks stopped
      then the device driver ->runtime_suspend() callbacks are
      used to save hardware register state for each device.
      
      Device driver ->runtime_suspend() calls are scheduled from
      cpuidle context using platform_pm_runtime_suspend_idle().
      When all devices have been fully suspended the processor
      is allowed to enter deep sleep from cpuidle.
      
      The runtime resume operation turns on clocks and also
      restores registers if needed. It is worth noting that the
      devices start in a suspended state and the device driver
      is responsible for calling runtime resume before accessing
      the actual hardware.
      
      In this particular platform bus implementation runtime
      resume is not allowed from interrupt context. Runtime
      suspend is however allowed from interrupt context as
      long as the synchronous functions are avoided.
      
      [ updated for v17 -- PFM. ]
      Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      6a93dde1
    • Paul Mundt's avatar
      Merge branch 'sh/hwblk' into sh/pm-runtime · 0858d9c0
      Paul Mundt authored
      0858d9c0
  2. 22 Aug, 2009 7 commits
  3. 21 Aug, 2009 9 commits
  4. 20 Aug, 2009 9 commits
  5. 19 Aug, 2009 11 commits