• Rafael J. Wysocki's avatar
    ACPI / scan: Treat power resources in a special way · 82c7d5ef
    Rafael J. Wysocki authored
    ACPI power resources need to be treated in a special way by the
    namespace scanning code, because they need to be ready to use as
    soon as they have been discovered (even before registering ACPI
    device nodes using them for power management).
    
    For this reason, it doesn't make sense to separate the preparation
    of struct acpi_device objects representing them in the device
    hierarchy from the creation of struct acpi_power_resource objects
    actually used for power resource manipulation.  Accordingly, it
    doesn't make sense to define non-empty .add() and .remove() callbacks
    in the power resources "driver" (in fact, it is questionable whether
    or not it is useful to register such a "driver" at all).
    
    Rearrange the code in scan.c and power.c so that power resources are
    initialized entirely by one routine, acpi_add_power_resource(), that
    also prepares their struct acpi_device objects and registers them
    with the driver core, telling it to use a special release routine,
    acpi_release_power_resource(), for removing objects that represent
    power resources from memory.  Make the ACPI namespace scanning code
    in scan.c always use acpi_add_power_resource() for preparing and
    registering objects that represent power resources.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    82c7d5ef
power.c 18.8 KB