- May 10, 2010
-
-
Alan Stern authored
Improve the device power management document after it's been updated by the previous patch. Signed-off-by:
Alan Stern <stern@rowland.harvard.edu> Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
Rafael J. Wysocki authored
The device PM document, Documentation/power/devices.txt, is badly outdated and requires total rework to fit the current design of the PM framework. Make it more up to date. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Reviewed-by:
Randy Dunlap <randy.dunlap@oracle.com>
-
- Mar 06, 2010
-
-
Rafael J. Wysocki authored
There are subsystems whose power management callbacks only need to invoke the callbacks provided by device drivers. Still, their system sleep PM callbacks should play well with the runtime PM callbacks, so that devices suspended at run time can be left in that state for a system sleep transition. Provide a set of generic PM callbacks for such subsystems and define convenience macros for populating dev_pm_ops structures. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
Rafael J. Wysocki authored
The power.runtime_auto device flag and the helper functions pm_runtime_allow() and pm_runtime_forbid() used to modify it are a part of the run-time power management framework and therefore they should be described in Documentation/power/runtime_pm.txt. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
- Feb 05, 2010
-
-
Thadeu Lima de Souza Cascardo authored
Signed-off-by:
Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- Dec 22, 2009
-
-
Alan Stern authored
This patch (as1318) updates the runtime PM documentation, adding a section discussing the interaction between runtime PM and system sleep. [rjw: Rebased and made it agree with the other updates better.] Signed-off-by:
Alan Stern <stern@rowland.harvard.edu> Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
Rafael J. Wysocki authored
The power management of some devices is handled through device types and device classes rather than through bus types. Since these devices may also benefit from using the run-time power management core, extend it so that the device type and device class run-time PM callbacks can be taken into consideration by it if the bus type callback is not defined. Update the run-time PM core documentation to reflect this change. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
- Dec 06, 2009
-
-
Rafael J. Wysocki authored
Apparently, there are devices that can wake up the system from sleep states and yet are incapable of generating wake-up events at run time. Thus, introduce a flag indicating if given device is capable of generating run-time wake-up events. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
Rafael J. Wysocki authored
Currently the ->runtime_idle() callback is documented as having no return value, but in fact it returns int. Although its return value is ignored at the PM core level, it may be used by bus type routines executing the drivers' ->runtime_idle() callbacks. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Reported-by:
Alan Stern <stern@rowland.harvard.edu>
-
- Dec 04, 2009
-
-
Dr. David Alan Gilbert authored
Minor copy-and-pasteism in the regulator docs (against git from today): Signed-off-by:
Dave Gilbert <linux@treblig.org> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- Sep 22, 2009
-
-
Mark Brown authored
Provide some brief documentation of some of the design decisions that are made by the regulator API. Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Wolfram Sang authored
Fix a couple of typos I found while working with this subsystem. Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Wolfram Sang authored
Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Linus Walleij authored
This fixes a spelling error and an API function signature mismatch in the regulator documentation. Signed-off-by:
Linus Walleij <linus.walleij@stericsson.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
- Aug 22, 2009
-
-
Rafael J. Wysocki authored
Introduce a core framework for run-time power management of I/O devices. Add device run-time PM fields to 'struct dev_pm_info' and device run-time PM callbacks to 'struct dev_pm_ops'. Introduce a run-time PM workqueue and define some device run-time PM helper functions at the core level. Document all these things. Special thanks to Alan Stern for his help with the design and multiple detailed reviews of the pereceding versions of this patch and to Magnus Damm for testing feedback. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Magnus Damm <damm@igel.co.jp>
-
- Jul 02, 2009
-
-
Andres Salomon authored
This adds a new sysfs file called 'charge_type' which displays the type of charging (unknown, n/a, trickle charge, or fast charging). This allows things like battery diagnostics to determine what the battery/EC is doing without resorting to changing the 'status' sysfs output. Signed-off-by:
Andres Salomon <dilinger@collabora.co.uk> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Anton Vorontsov <cbouatmailru@gmail.com>
-
- Jun 30, 2009
-
-
Andres Salomon authored
This reverts commit 8efe4440 and 4cbc76ea. Richard@laptop.org was apparently using CAPACITY_LEVEL for debugging battery/EC problems, and was upset that it was removed. This readds it. Conflicts: Documentation/power_supply_class.txt Signed-off-by:
Andres Salomon <dilinger@collabora.co.uk> Signed-off-by:
Anton Vorontsov <cbouatmailru@gmail.com>
-
- Jun 12, 2009
-
-
Magnus Damm authored
Remove the ->suspend_late() and ->resume_early() callbacks from struct bus_type V2. These callbacks are legacy stuff at this point and since there seem to be no in-tree users we may as well remove them. New users should use dev_pm_ops. Signed-off-by:
Magnus Damm <damm@igel.co.jp> Acked-by:
Pavel Machek <pavel@ucw.cz> Acked-by:
Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl>
-
Matt LaPlante authored
Fix various typos in documentation txts. Signed-off-by:
Matt LaPlante <kernel1@cyberdogtech.com> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- Oct 16, 2008
-
-
Frans Pop authored
As pm_trace uses the system's hardware clock to save its magic value, users of that option should be warned that using this debug option will result in an incorrect system time after resume. Signed-off-by:
Frans Pop <elendil@planet.nl> Acked-by:
Pavel Machek <pavel@suse.cz> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Oct 13, 2008
-
-
Liam Girdwood authored
This improves the machine level API in order to configure regulator constraints and consumers as platform data and removes the old string based API that required several calls to set up each regulator. The intention is to create a struct regulator_init_data, populate it's fields with constraints, consumers devices, etc and then register the regulator device from board.c in the standard Linux way. e.g. regulator LDO2 (supplying codec and sim) platform data. /* regulator LDO2 consumer devices */ static struct regulator_consumer_supply ldo2_consumers[] = { { .dev = &platform_audio_device.dev, .supply = "codec_avdd", }, { .dev = &platform_sim_device.dev, .supply = "sim_vcc", } }; /* regulator LDO2 constraints */ static struct regulator_init_data ldo2_data = { .constraints = { .min_uV = 3300000, .max_uV = 3300000, .valid_modes_mask = REGULATOR_MODE_NORMAL, .apply_uV = 1, }, .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers), .consumer_supplies = ldo2_consumers, }; /* machine regulator devices with thier consumers and constraints */ static struct platform_device wm8350_regulator_devices[] = { { .name = "wm8350-regulator", .id = WM8350_LDO_2, .dev = { .platform_data = &ldo2_data, }, }, }; Changes in detail:- o Removed all const char* regulator config functions in machine API. o Created new struct regulator_init_data to contain regulator machine configuration constraints and consmuers. o Changed set_supply(), set_machine_constraints(), set_consumer_device_supply() to remove their string identifier parameters. Also made them static and moved functions nearer top of core.c. o Removed no longer used inline func to_rdev() o Added regulator_get_init_drvdata() to retrieve init data. o Added struct device* as parameter to regulator_register(). o Changed my email address. Signed-off-by:
Eric Miao <eric.miao@marvell.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
- Aug 05, 2008
-
-
Richard Hughes authored
A documentation cleanup patch. With a minor tweak to clarify units for kbs. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by:
mark gross <mgross@linux.intel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Jul 30, 2008
-
-
Liam Girdwood authored
This adds documenation describing the regulator machine interface. Signed-off-by:
Liam Girdwood <lg@opensource.wolfsonmicro.com>
-
Liam Girdwood authored
This adds documentation describing the regulator driver interface. Signed-off-by:
Liam Girdwood <lg@opensource.wolfsonmicro.com>
-
Liam Girdwood authored
This adds documentation describing the consumer device interface. Signed-off-by:
Liam Girdwood <lg@opensource.wolfsonmicro.com>
-
Liam Girdwood authored
This adds overview documentation describing the regulator framework and nomenclature used in the interface specific documentation and code. Signed-off-by:
Liam Girdwood <lg@opensource.wolfsonmicro.com>
-
- Jul 24, 2008
-
-
Rafael J. Wysocki authored
Remove some obsolete PM documentation. The majority of contents of Documentation/power/pm.txt are outdated. Remove the outdated parts of this file and move the rest to Documentation/power/apm-acpi.txt . Update the index in Documentation/power/ as appropriate. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Acked-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- May 13, 2008
-
-
Andres Salomon authored
This adds PROP_CHARGE_COUNTER to the power supply class (documenting it as well). The OLPC battery driver uses this for spitting out its ACR values (in uAh). We have some rounding errors (the data sheet claims 416.7, the math actually works out to 416.666667, so we're forced to choose between overflows or precision loss. I chose precision loss, and stuck w/ data sheet values), but I don't think anyone will care that much. Signed-off-by:
Andres Salomon <dilinger@debian.org> Signed-off-by:
Anton Vorontsov <cbouatmailru@gmail.com>
-
- Apr 19, 2008
-
-
Rafael J. Wysocki authored
Modify the PM core to protect its data structures, specifically the dpm_active list, from being corrupted if a child of the currently suspending device is registered concurrently with its ->suspend() callback. In that case, since the new device (the child) is added to dpm_active after its parent, the PM core will attempt to suspend it after the parent, which is wrong. Introduce a new member of struct dev_pm_info, called 'sleeping', and use it to check if the parent of the device being added to dpm_active has been suspended, in which case the device registration fails. Also, use 'sleeping' for checking if the ordering of devices on dpm_active is correct. Introduce variable 'all_sleeping' that will be set to 'true' once all devices have been suspended and make new device registrations fail until 'all_sleeping' is reset to 'false', in order to avoid having unsuspended devices around while the system is going into a sleep state. Remove pm_sleep_rwsem which is not necessary any more. Special thanks to Alan Stern for discussions and suggestions that lead to the creation of this patch. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- Mar 12, 2008
-
-
Randy Dunlap authored
Move 00-INDEX entries to power/00-INDEX (and add entry for pm_qos_interface.txt). Update references to moved filenames. Fix some trailing whitespace. Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- Feb 23, 2008
-
-
Rafael J. Wysocki authored
During the last step of hibernation in the "platform" mode (with the help of ACPI) we use the suspend code, including the devices' ->suspend() methods, to prepare the system for entering the ACPI S4 system sleep state. But at least for some devices the operations performed by the ->suspend() callback in that case must be different from its operations during regular suspend. For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and pass it to the device drivers' ->suspend() methods during the last phase of hibernation, so that they can distinguish this case and handle it as appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a special way and need to handle PM_EVENT_HIBERNATE in the same way. These changes are necessary to fix a hibernation regression related to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488 ). Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Tested-by:
Jeff Chua <jeff.chua.linux@gmail.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Feb 06, 2008
-
-
Pavel Machek authored
Signed-off-by:
Pavel Machek <pavel@suse.cz> Acked-by:
Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- Feb 01, 2008
-
-
David Brownell authored
The /sys/devices/.../power/state files have been gone for a while now, but I just noticed some documentation that still refers to them. (Fortunately described as DEPRECATED and WILL REMOVE). Time to remove that obsolete documentation too ... Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Update the suspend/hibernation debugging and testing documentation to describe the newly introduced testing facilities. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Alan Stern authored
Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers to the PM core, to be used in analogy with the existing PM_HIBERNATION_PREPARE and PM_POST_HIBERNATION notifiers. Signed-off-by:
Alan Stern <stern@rowland.harvard.edu> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
"Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Move the definitions of hibernation ioctls to a separate header file in include/linux, which can be exported to the user space. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Three ioctl numbers belonging to the hibernation userland interface, SNAPSHOT_ATOMIC_SNAPSHOT, SNAPSHOT_AVAIL_SWAP, SNAPSHOT_GET_SWAP_PAGE, are defined in a wrong way (eg. not portable). Provide new ioctl numbers for these ioctls and mark the existing ones as deprecated. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Mark the SNAPSHOT_SET_SWAP_FILE ioctl belonging to the hibernation userland interface as deprecated. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Modify the hibernation userland interface by adding two new ioctls to it, SNAPSHOT_PLATFORM_SUPPORT and SNAPSHOT_POWER_OFF, that can be used, respectively, to switch the hibernation platform support on/off and to make the kernel transition the system to the hibernation state (eg. ACPI S4) using the platform (eg. ACPI) driver. These ioctls are intended to replace the misdesigned SNAPSHOT_PMOPS ioctl, which from now is regarded as obsolete and will be removed in the future. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Rafael J. Wysocki authored
Add a new ioctl, SNAPSHOT_GET_IMAGE_SIZE, returning the size of the (just created) hibernation image, to the hibernation userland interface. This ioctl is necessary so that the userland utilities using the interface need not access the hibernation image header, owned by the kernel, in order to obtain the size of the image. Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Acked-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Len Brown <len.brown@intel.com>
-