]> 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)
commit8246c38e16f222b27f7eed5186bf1791adda5364
treec8790571fb6cfe5ce8890706b5b44aed8005e900
parentf47d73c55049d59037e678ddc3671aa5886bee0e
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