summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/power.c
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@linux.intel.com>2006-05-19 16:54:40 -0400
committerLen Brown <len.brown@intel.com>2006-06-30 02:32:21 -0400
commit415985728895ba3127116bc4f999caf94420ed85 (patch)
tree888b4709a2301efac74f53ec4e7ebd7fccee3134 /drivers/acpi/power.c
parent8348e1b19a06b1932f65e84e1d59be29e1626c2b (diff)
ACPI: power: add struct acpi_device to struct acpi_power_resource
- Use it instead of acpi_bus_get_device() where we can.. Signed-off-by: Patrick Mochel <mochel@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/power.c')
-rw-r--r--drivers/acpi/power.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 224f729f700..2b61719d680 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -71,6 +71,7 @@ static struct acpi_driver acpi_power_driver = {
struct acpi_power_resource {
acpi_handle handle;
+ struct acpi_device * device;
acpi_bus_id name;
u32 system_level;
u32 order;
@@ -203,10 +204,8 @@ static int acpi_power_on(acpi_handle handle)
return -ENOEXEC;
/* Update the power resource's _device_ power state */
- result = acpi_bus_get_device(resource->handle, &device);
- if (result)
- return result;
- device->power.state = ACPI_STATE_D0;
+ device = resource->device;
+ resource->device->power.state = ACPI_STATE_D0;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource [%s] turned on\n",
resource->name));
@@ -253,9 +252,7 @@ static int acpi_power_off_device(acpi_handle handle)
return -ENOEXEC;
/* Update the power resource's _device_ power state */
- result = acpi_bus_get_device(resource->handle, &device);
- if (result)
- return result;
+ device = resource->device;
device->power.state = ACPI_STATE_D3;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource [%s] turned off\n",
@@ -545,6 +542,7 @@ static int acpi_power_add(struct acpi_device *device)
memset(resource, 0, sizeof(struct acpi_power_resource));
resource->handle = device->handle;
+ resource->device = device;
strcpy(resource->name, device->pnp.bus_id);
strcpy(acpi_device_name(device), ACPI_POWER_DEVICE_NAME);
strcpy(acpi_device_class(device), ACPI_POWER_CLASS);