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

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to