public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/21] ACPI / PM: Switch ACPI bus type and drivers to dev_pm_ops
@ 2012-06-23 21:06 Rafael J. Wysocki
  2012-06-23 21:08 ` [PATCH 1/21] ACPI / PM: Drop pm_message_t argument from device suspend callback Rafael J. Wysocki
                   ` (23 more replies)
  0 siblings, 24 replies; 32+ messages in thread
From: Rafael J. Wysocki @ 2012-06-23 21:06 UTC (permalink / raw)
  To: Linux PM list
  Cc: ACPI Devel Mailing List, LKML, Len Brown, Matthew Garrett,
	platform-driver-x86, Eric Piel, Mattia Dongili, Harald Welte

Hi all,

The following patchset converts the ACPI bus type and all of the ACPI drivers
to the power management handling based on struct dev_pm_ops.  It does that in
the following way:

(1) The (unused) pm_message_t argument is dropped from the ACPI driver suspend
    callback throughout the tree (patch [1/21]).

(2) A struct dev_pm_ops object is defined for the ACPI bus type (patches
    [2-3/21]) in such a way that
    (a) driver callbacks from struct acpi_device_ops are executed for drivers
        that provide them,
    (b) driver callbacks from struct dev_pm_ops are executed for drivers that
        provide them,
    (c) 0 is returned for the remaining drivers.
    Only suspend/resume, freeze/thaw, poweroff/restore bus type callbacks are
    defined, because they are sufficient for the transition (they are removed
    later on anyway).

(3) All ACPI drivers that use PM callbacks are converted to the PM handling
    based on struct dev_pm_ops (patches [4-18/21]).

(4) The ACPI bus type is modified not to execute driver callbacks from
    struct acpi_device_ops any more (patch [19/21]).  This affects several
    x86 platform drivers and the ACPI power meter driver too.

(5) The driver PM callbacks in struct acpi_device_ops are removed
    (patch [20/21]).

(6) The ACPI bus type PM callbacks added in step (2) are dropped, because they
    aren't necessary any more (the PM core will execute the driver callbacks
    directly now).

As a result, the redundant bus type level of PM handling between ACPI drivers
and the PM core is eliminated and the ACPI drivers are now able to define
runtime PM callbacks, proper hibernation callbacks and late/early callbacks
for system suspend/resume.

The patchset has been tested on Toshiba Portege R500 and more testing is in
the works.  If there are no objections, I'd like to push if for 3.6 through
the linux-pm tree.

If you want to give it a go, it's available from the pm-acpi branch of the
linux-pm tree.  Please note, however, that this branch will be rebased, because
it is based on the linux-pm tree's linux-next branch at the moment.

Thanks,
Rafael


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2012-07-19  9:05 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-23 21:06 [PATCH 0/21] ACPI / PM: Switch ACPI bus type and drivers to dev_pm_ops Rafael J. Wysocki
2012-06-23 21:08 ` [PATCH 1/21] ACPI / PM: Drop pm_message_t argument from device suspend callback Rafael J. Wysocki
2012-06-23 21:08 ` [PATCH 2/21] ACPI / PM: Make acpi_bus_type use struct dev_pm_ops for PM handling Rafael J. Wysocki
2012-06-23 21:09 ` [PATCH 3/21] ACPI / PM: Make acpi_bus_type use driver struct dev_pm_ops callbacks Rafael J. Wysocki
2012-06-23 21:10 ` [PATCH 4/21] ACPI: Use struct dev_pm_ops for power management in the fan driver Rafael J. Wysocki
2012-06-23 21:11 ` [PATCH 5/21] ACPI: Use struct dev_pm_ops for power management in the thermal driver Rafael J. Wysocki
2012-06-23 21:11 ` [PATCH 6/21] ACPI: Use struct dev_pm_ops for power management in processor driver Rafael J. Wysocki
2012-06-23 21:12 ` [PATCH 7/21] ACPI: Use struct dev_pm_ops for power management in the AC driver Rafael J. Wysocki
2012-06-23 21:13 ` [PATCH 8/21] ACPI: Use struct dev_pm_ops for power management in the battery driver Rafael J. Wysocki
2012-06-23 21:13 ` [PATCH 9/21] ACPI: Use struct dev_pm_ops for power management in the button driver Rafael J. Wysocki
2012-06-23 21:14 ` [PATCH 10/21] ACPI: Use struct dev_pm_ops for power management in the power driver Rafael J. Wysocki
2012-06-23 21:14 ` [PATCH 11/21] ACPI: Use struct dev_pm_ops for power management in the SBS driver Rafael J. Wysocki
2012-06-23 21:15 ` [PATCH 12/21] toshiba_acpi: Use struct dev_pm_ops for power management Rafael J. Wysocki
2012-06-23 21:16 ` [PATCH 13/21] hp_accel: " Rafael J. Wysocki
2012-06-24 20:00   ` Éric Piel
2012-06-24 20:14     ` Rafael J. Wysocki
2012-06-23 21:17 ` [PATCH 14/21] sony-laptop: " Rafael J. Wysocki
2012-06-23 21:17 ` [PATCH 15/21] panasonic-laptop: " Rafael J. Wysocki
2012-06-23 21:18 ` [PATCH 16/21] toshiba_bluetooth: " Rafael J. Wysocki
2012-06-24 12:40   ` Vikram Dhillon
2012-06-24 20:00     ` Rafael J. Wysocki
2012-06-23 21:18 ` [PATCH 17/21] xo15-ebook: " Rafael J. Wysocki
2012-06-23 21:19 ` [PATCH 18/21] acpi_power_meter: " Rafael J. Wysocki
2012-06-23 21:20 ` [PATCH 19/21] ACPI / PM: Do not execute legacy driver PM callbacks Rafael J. Wysocki
2012-06-23 21:21 ` [PATCH 20/21] ACPI / PM: Drop legacy driver PM callbacks that are not used any more Rafael J. Wysocki
2012-06-23 21:22 ` [PATCH 21/21] ACPI / PM: Drop PM callbacks from the ACPI bus type Rafael J. Wysocki
2012-06-28 22:11 ` [PATCH missing/21] classmate-laptop: Use struct dev_pm_ops for power management Rafael J. Wysocki
2012-06-29 11:39   ` Thadeu Cascardo
2012-06-29 21:52     ` Rafael J. Wysocki
2012-06-28 22:26 ` [PATCH missing 2/21] fujitsu-tablet: " Rafael J. Wysocki
2012-07-19  5:04 ` [PATCH 0/21] ACPI / PM: Switch ACPI bus type and drivers to dev_pm_ops Len Brown
2012-07-19  9:11   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox