]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: Add interface to register/unregister device to/from power resources
authorLin Ming <ming.m.lin@intel.com>
Thu, 29 Mar 2012 06:09:39 +0000 (14:09 +0800)
committerLen Brown <len.brown@intel.com>
Fri, 30 Mar 2012 05:47:20 +0000 (01:47 -0400)
commit3a157479b8e9d806977f883e2de788f7c8cc22b7
treec8790571fb6cfe5ce8890706b5b44aed8005e900
parentfe573eb1ed689b4d99f8539143d927cca7abadeb
ACPI: Add interface to register/unregister device to/from power resources

Devices may share same list of power resources in _PR0, for example

Device(Dev0)
{
Name (_PR0, Package (0x01)
{
P0PR,
P1PR
})
}

Device(Dev1)
{
Name (_PR0, Package (0x01)
{
P0PR,
P1PR
}
}

Assume Dev0 and Dev1 were runtime suspended.
Then Dev0 is resumed first and it goes into D0 state.
But Dev1 is left in D0_Uninitialised state.

This is wrong. In this case, Dev1 must be resumed too.

In order to hand this case, each power resource maintains a list of
devices which relies on it.

When power resource is ON, it will check if the devices on its list
can be resumed. The device can only be resumed when all the power
resouces of its _PR0 are ON.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/power.c
include/acpi/acpi_bus.h