1. 30 Apr, 2007 4 commits
    • Johannes Berg's avatar
      power management: force pm_ops.valid callback to be assigned · 9684e51c
      Johannes Berg authored
      
      
      This patch changes the docs and behaviour from "all states valid" to "no
      states valid" if no .valid callback is assigned.  Users of pm_ops that only
      need mem sleep can assign pm_valid_only_mem without any overhead, others
      will require more elaborate callbacks.
      
      Now that all users of pm_ops have a .valid callback this is a safe thing to
      do and prevents things from getting messy again as they were before.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Looks-okay-to: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: <linux-pm@lists.linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9684e51c
    • Johannes Berg's avatar
      power management: implement pm_ops.valid for everybody · e8c9c502
      Johannes Berg authored
      
      
      Almost all users of pm_ops only support mem sleep, don't check in .valid and
      don't reject any others in .prepare so users can be confused if they check
      /sys/power/state, especially when new states are added (these would then
      result in s-t-r although they're supposed to be something different).
      
      This patch implements a generic pm_valid_only_mem function that is then
      exported for users and puts it to use in almost all existing pm_ops.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: David Brownell <david-b@pacbell.net>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: linux-pm@lists.linux-foundation.org
      Cc: Len Brown <lenb@kernel.org>
      Acked-by: default avatarRussell King <rmk@arm.linux.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e8c9c502
    • Johannes Berg's avatar
      power management: remove firmware disk mode · 11d77d0c
      Johannes Berg authored
      
      
      This patch removes the firmware disk suspend mode which is the wrong approach,
      it is supposed to be used for implementing firmware-based disk suspend but
      cannot actually be used for that.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: <linux-pm@lists.linux-foundation.org>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Len Brown <lenb@kernel.org>
      Acked-by: default avatarRussell King <rmk@arm.linux.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11d77d0c
    • Johannes Berg's avatar
      rework pm_ops pm_disk_mode, kill misuse · fe0c935a
      Johannes Berg authored
      
      
      This patch series cleans up some misconceptions about pm_ops.  Some users of
      the pm_ops structure attempt to use it to stop the user from entering suspend
      to disk, this, however, is not possible since the user can always use
      "shutdown" in /sys/power/disk and then the pm_ops are never invoked.  Also,
      platforms that don't support suspend to disk simply should not allow
      configuring SOFTWARE_SUSPEND (read the help text on it, it only selects
      suspend to disk and nothing else, all the other stuff depends on PM).
      
      The pm_ops structure is actually intended to provide a way to enter
      platform-defined sleep states (currently supported states are "standby" and
      "mem" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured)
      allows a platform to support a platform specific way to enter low-power mode
      once everything has been saved to disk.  This is currently only used by ACPI
      (S4).
      
      This patch:
      
      The pm_ops.pm_disk_mode is used in totally bogus ways since nobody really
      seems to understand what it actually does.
      
      This patch clarifies the pm_disk_mode description.
      
      It also removes all the arm and sh users that think they can veto suspend to
      disk via pm_ops; not so since the user can always do echo shutdown >
      /sys/power/disk, they need to find a better way involving Kconfig or such.
      
      ACPI is the only user left with a non-zero pm_disk_mode.
      
      The patch also sets the default mode to shutdown again, but when a new pm_ops
      is registered its pm_disk_mode is selected as default, that way the default
      stays for ACPI where it is apparently required.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: David Brownell <david-b@pacbell.net>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: <linux-pm@lists.linux-foundation.org>
      Cc: Len Brown <lenb@kernel.org>
      Acked-by: default avatarRussell King <rmk@arm.linux.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe0c935a
  2. 27 Apr, 2007 2 commits
  3. 23 Feb, 2007 1 commit
  4. 03 Nov, 2006 1 commit
    • Rafael J. Wysocki's avatar
      [PATCH] swsusp: debugging · b918f6e6
      Rafael J. Wysocki authored
      
      
      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: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b918f6e6
  5. 25 Sep, 2006 2 commits
    • David Brownell's avatar
      PM: define PM_EVENT_PRETHAW · 82bb67f2
      David Brownell authored
      
      
      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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      82bb67f2
    • Linus Torvalds's avatar
      Suspend infrastructure cleanup and extension · 7c8265f5
      Linus Torvalds authored
      
      
      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: default avatarLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7c8265f5
  6. 26 Apr, 2006 1 commit
  7. 14 Apr, 2006 1 commit
    • Andrew Morton's avatar
      [PATCH] pm: print name of failed suspend function · 02669492
      Andrew Morton authored
      
      
      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: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      02669492
  8. 23 Mar, 2006 1 commit
  9. 13 Nov, 2005 1 commit
  10. 30 Oct, 2005 1 commit
  11. 28 Oct, 2005 3 commits
    • Andrew Morton's avatar
      [PATCH] USB: fix pm patches with CONFIG_PM off part 2 · 9a7834d0
      Andrew Morton authored
      
      
      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: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9a7834d0
    • David Brownell's avatar
      [PATCH] one less word in struct device · e9b7bd4e
      David Brownell authored
      
      
      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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/base/power/main.c |   26 +++-----------------------
       include/linux/pm.h        |    1 -
       2 files changed, 3 insertions(+), 24 deletions(-)
      e9b7bd4e
    • David Brownell's avatar
      [PATCH] driver model wakeup flags · 0ac85241
      David Brownell authored
      
      
      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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0ac85241
  12. 05 Sep, 2005 1 commit
  13. 11 Jul, 2005 1 commit
  14. 25 Jun, 2005 1 commit
  15. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      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