summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Lu <aaron.lu@intel.com>2013-11-19 15:43:52 +0800
committerZhang Rui <rui.zhang@intel.com>2014-10-10 13:57:12 +0800
commit2bb3a2bf9939f3361e25045f4ef7b136b864c3b8 (patch)
treed4132de91d6589e9c641e52023f90fceee8b8cb6
parent8dd41f78adebb57909cccb0272e74c79e38b5238 (diff)
ACPI / fan: use acpi_device_xxx_power instead of acpi_bus equivelant
When we have the acpi_device pointer, there is no need to pass the device's handle to the acpi_bus_xxx_power functions to get/set/update the device's power state, instead, use the acpi_device_xxx_power functions directly. To make this happen for fan module, export acpi_device_update_power. Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
-rw-r--r--drivers/acpi/device_pm.c1
-rw-r--r--drivers/acpi/fan.c10
-rw-r--r--drivers/acpi/internal.h2
-rw-r--r--include/acpi/acpi_bus.h1
4 files changed, 7 insertions, 7 deletions
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
index 67075f800e34..91775475e367 100644
--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -343,6 +343,7 @@ int acpi_device_update_power(struct acpi_device *device, int *state_p)
return 0;
}
+EXPORT_SYMBOL_GPL(acpi_device_update_power);
int acpi_bus_update_power(acpi_handle handle, int *state_p)
{
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index df861bbc73cc..fff9696bea25 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
@@ -92,7 +92,7 @@ static int fan_get_cur_state(struct thermal_cooling_device *cdev, unsigned long
if (!device)
return -EINVAL;
- result = acpi_bus_update_power(device->handle, &acpi_state);
+ result = acpi_device_update_power(device, &acpi_state);
if (result)
return result;
@@ -110,7 +110,7 @@ fan_set_cur_state(struct thermal_cooling_device *cdev, unsigned long state)
if (!device || (state != 0 && state != 1))
return -EINVAL;
- result = acpi_bus_set_power(device->handle,
+ result = acpi_device_set_power(device,
state ? ACPI_STATE_D0 : ACPI_STATE_D3_COLD);
return result;
@@ -134,7 +134,7 @@ static int acpi_fan_add(struct acpi_device *device)
strcpy(acpi_device_name(device), "Fan");
strcpy(acpi_device_class(device), ACPI_FAN_CLASS);
- result = acpi_bus_update_power(device->handle, NULL);
+ result = acpi_device_update_power(device, NULL);
if (result) {
printk(KERN_ERR PREFIX "Setting initial power state\n");
goto end;
@@ -186,7 +186,7 @@ static int acpi_fan_remove(struct acpi_device *device)
#ifdef CONFIG_PM_SLEEP
static int acpi_fan_suspend(struct device *dev)
{
- acpi_bus_set_power(to_acpi_device(dev)->handle, ACPI_STATE_D0);
+ acpi_device_set_power(to_acpi_device(dev), ACPI_STATE_D0);
return AE_OK;
}
@@ -195,7 +195,7 @@ static int acpi_fan_resume(struct device *dev)
{
int result;
- result = acpi_bus_update_power(to_acpi_device(dev)->handle, NULL);
+ result = acpi_device_update_power(to_acpi_device(dev), NULL);
if (result)
printk(KERN_ERR PREFIX "Error updating fan power state\n");
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index f221d1eb594a..447f6d679b29 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -104,8 +104,6 @@ int acpi_power_get_inferred_state(struct acpi_device *device, int *state);
int acpi_power_on_resources(struct acpi_device *device, int state);
int acpi_power_transition(struct acpi_device *device, int state);
-int acpi_device_update_power(struct acpi_device *device, int *state_p);
-
int acpi_wakeup_device_init(void);
#ifdef CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index bcfd808b1098..6ca32812f3da 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -435,6 +435,7 @@ int acpi_device_set_power(struct acpi_device *device, int state);
int acpi_bus_init_power(struct acpi_device *device);
int acpi_device_fix_up_power(struct acpi_device *device);
int acpi_bus_update_power(acpi_handle handle, int *state_p);
+int acpi_device_update_power(struct acpi_device *device, int *state_p);
bool acpi_bus_power_manageable(acpi_handle handle);
#ifdef CONFIG_PM