1. 23 4月, 2014 1 次提交
    • S
      ARM: 8011/1: ARM hibernation / suspend-to-disk · 603fb42a
      Sebastian Capella 提交于
      Enable hibernation for ARM architectures and provide ARM
      architecture specific calls used during hibernation.
      
      The swsusp hibernation framework depends on the
      platform first having functional suspend/resume.
      
      Then, in order to enable hibernation on a given platform, a
      platform_hibernation_ops structure may need to be registered with
      the system in order to save/restore any SoC-specific / cpu specific
      state needing (re)init over a suspend-to-disk/resume-from-disk cycle.
      
      For example:
      
           - "secure" SoCs that have different sets of control registers
             and/or different CR reg access patterns.
      
           - SoCs with L2 caches as the activation sequence there is
             SoC-dependent; a full off-on cycle for L2 is not done
             by the hibernation support code.
      
           - SoCs requiring steps on wakeup _before_ the "generic" parts
             done by cpu_suspend / cpu_resume can work correctly.
      
           - SoCs having persistent state which is maintained during suspend
             and resume, but will be lost during the power off cycle after
             suspend-to-disk.
      
      This is a rebase/rework of Frank Hofmann's v5 hibernation patchset.
      Acked-by: NRuss Dill <Russ.Dill@ti.com>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Signed-off-by: NSebastian Capella <sebastian.capella@linaro.org>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Reviewed-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      [fixed duplicate virt_to_pfn() definition --rmk]
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      603fb42a