1. 30 7月, 2007 1 次提交
    • R
      Introduce CONFIG_SUSPEND for suspend-to-Ram and standby · 296699de
      Rafael J. Wysocki 提交于
      Introduce CONFIG_SUSPEND representing the ability to enter system sleep
      states, such as the ACPI S3 state, and allow the user to choose SUSPEND
      and HIBERNATION independently of each other.
      
      Make HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has
      been chosen and the kernel is intended for SMP systems.
      
      Also, introduce CONFIG_PM_SLEEP which is automatically selected if
      CONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the
      code needed for both suspend and hibernation.
      
      The top-level power management headers and the ACPI code related to
      suspend and hibernation are modified to use the new definitions (the
      changes in drivers/acpi/sleep/main.c are, mostly, moving code to reduce
      the number of ifdefs).
      
      There are many other files in which CONFIG_PM can be replaced with
      CONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in
      the future.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      296699de
  2. 20 7月, 2007 1 次提交
  3. 19 7月, 2007 1 次提交
  4. 12 7月, 2007 3 次提交
  5. 02 7月, 2007 1 次提交
    • R
      PM: introduce set_target method in pm_ops · 2391dae3
      Rafael J. Wysocki 提交于
      Commit 52ade9b3 changed the suspend code
      ordering to execute pm_ops->prepare() after the device model per-device
      .suspend() calls in order to fix some ACPI-related issues.  Unfortunately, it
      broke the at91 platform which assumed that pm_ops->prepare() would be called
      before suspending devices.
      
      at91 used pm_ops->prepare() to get notified of the target system sleep state,
      so that it could use this information while suspending devices.  However, with
      the current suspend code ordering pm_ops->prepare() is called too late for
      this purpose.  Thus, at91 needs an additional method in 'struct pm_ops' that
      will be used for notifying the platform of the target system sleep state.
      Moreover, in the future such a method will also be needed by ACPI.
      
      This patch adds the .set_target() method to 'struct pm_ops' and makes the
      suspend code call it, if implemented, before executing the device model
      per-device .suspend() calls.  It also modifies the at91 code to use
      pm_ops->set_target() instead of pm_ops->prepare().
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2391dae3
  6. 10 5月, 2007 1 次提交
    • R
      PM: Separate hibernation code from suspend code · a3d25c27
      Rafael J. Wysocki 提交于
      [ With Johannes Berg <johannes@sipsolutions.net> ]
      
      Separate the hibernation (aka suspend to disk code) from the other suspend
      code.  In particular:
      
       * Remove the definitions related to hibernation from include/linux/pm.h
       * Introduce struct hibernation_ops and a new hibernate() function to hibernate
         the system, defined in include/linux/suspend.h
       * Separate suspend code in kernel/power/main.c from hibernation-related code
         in kernel/power/disk.c and kernel/power/user.c (with the help of
         hibernation_ops)
       * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Greg KH <greg@kroah.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Nigel Cunningham <nigel@nigel.suspend2.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a3d25c27
  7. 01 5月, 2007 5 次提交
  8. 28 4月, 2007 2 次提交
  9. 24 2月, 2007 1 次提交
  10. 04 11月, 2006 1 次提交
    • R
      [PATCH] swsusp: debugging · b918f6e6
      Rafael J. Wysocki 提交于
      Add a swsusp debugging mode.  This does everything that's needed for a suspend
      except for actually suspending.  So we can look in the log messages and work
      out a) what code is being slow and b) which drivers are misbehaving.
      
      (1)
      # echo testproc > /sys/power/disk
      # echo disk > /sys/power/state
      
      This should turn off the non-boot CPU, freeze all processes, wait for 5
      seconds and then thaw the processes and the CPU.
      
      (2)
      # echo test > /sys/power/disk
      # echo disk > /sys/power/state
      
      This should turn off the non-boot CPU, freeze all processes, shrink
      memory, suspend all devices, wait for 5 seconds, resume the devices etc.
      
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Stefan Seyfried <seife@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b918f6e6
  11. 26 9月, 2006 2 次提交
    • D
      PM: define PM_EVENT_PRETHAW · 82bb67f2
      David Brownell 提交于
      This adds a new pm_message_t event type to use when preparing to restore a
      swsusp snapshot.  Devices that have been initialized by Linux after resume
      (rather than left in power-up-reset state) may need to be reset; this new
      event type give drivers the chance to do that.
      
      The drivers that will care about this are those which understand more hardware
      states than just "on" and "reset", relying on hardware state during resume()
      methods to be either the state left by the preceding suspend(), or a
      power-lost reset.  The best current example of this class of drivers are USB
      host controller drivers, which currently do not work through swsusp when
      they're statically linked.
      
      When the swsusp freeze/thaw mechanism kicks in, a troublesome third state
      could exist: one state set up by a different kernel instance, before a
      snapshot image is resumed.  This mechanism lets drivers prevent that state.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      82bb67f2
    • L
      Suspend infrastructure cleanup and extension · 7c8265f5
      Linus Torvalds 提交于
      Allow devices to participate in the suspend process more intimately,
      in particular, allow the final phase (with interrupts disabled) to
      also be open to normal devices, not just system devices.
      
      Also, allow classes to participate in device suspend.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7c8265f5
  12. 26 4月, 2006 1 次提交
  13. 15 4月, 2006 1 次提交
    • A
      [PATCH] pm: print name of failed suspend function · 02669492
      Andrew Morton 提交于
      Print more diagnostic info to help identify the source of power management
      suspend failures.
      
      Example:
      
      usb_hcd_pci_suspend(): pci_set_power_state+0x0/0x1af() returns -22
      pci_device_suspend(): usb_hcd_pci_suspend+0x0/0x11b() returns -22
      suspend_device(): pci_device_suspend+0x0/0x34() returns -22
      
      Work-in-progress.  It needs lots more suspend_report_result() calls sprinkled
      everywhere.
      
      Cc: Patrick Mochel <mochel@digitalimplant.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Nigel Cunningham <nigel@suspend2.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      02669492
  14. 23 3月, 2006 1 次提交
  15. 14 11月, 2005 1 次提交
  16. 31 10月, 2005 1 次提交
  17. 29 10月, 2005 3 次提交
    • A
      [PATCH] USB: fix pm patches with CONFIG_PM off part 2 · 9a7834d0
      Andrew Morton 提交于
      With CONFIG_PM=n:
      
      drivers/built-in.o(.text+0x1098c): In function `hub_thread':
      drivers/usb/core/hub.c:2673: undefined reference to `.dpm_runtime_resume'
      drivers/built-in.o(.text+0x10998):drivers/usb/core/hub.c:2674: undefined reference to `.dpm_runtime_resume'
      
      Please, never ever ever put extern decls into .c files.  Use the darn header
      files :(
      
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9a7834d0
    • D
      [PATCH] one less word in struct device · e9b7bd4e
      David Brownell 提交于
      This saves a word from "struct device" ... there's a refcounting mechanism
      stub that's rather ineffective (the values are never even tested!), which
      can safely be deleted.  With this patch it uses normal device refcounting,
      so any potential users of the pm_parent mechanism will be more correct.
      (That mechanism is actually unusable for now though; it does nothing.)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/base/power/main.c |   26 +++-----------------------
       include/linux/pm.h        |    1 -
       2 files changed, 3 insertions(+), 24 deletions(-)
      e9b7bd4e
    • D
      [PATCH] driver model wakeup flags · 0ac85241
      David Brownell 提交于
      This is a refresh of an earlier patch to add "wakeup" support to the
      PM core model.  This provides per-device bus-neutral control of the
      use of wakeup events.
      
        * "struct device_pm_info" has two bits that are initialized as
          part of setting up the enclosing struct device:
            - "can_wakeup", reflecting hardware capabilities
            - "may_wakeup", the policy setting (when CONFIG_PM)
      
        * There's a writeable sysfs "wakeup" file, with one of two values:
            - "enabled", when the policy is to allow wakeup
            - "disabled", when the policy is not to allow it
            - "" if the device can't currently issue wakeups
      
      By default, wakeup is enabled on all devices that support it.  If its
      driver doesn't support it ... treat it as a bug.  :)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0ac85241
  18. 05 9月, 2005 1 次提交
  19. 12 7月, 2005 1 次提交
  20. 26 6月, 2005 1 次提交
  21. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4