summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAaron Lu <aaron.lu@intel.com>2013-11-19 08:43:52 +0100
committerZhang Rui <rui.zhang@intel.com>2014-10-10 07:57:12 +0200
commit2bb3a2bf9939f3361e25045f4ef7b136b864c3b8 (patch)
treed4132de91d6589e9c641e52023f90fceee8b8cb6 /drivers
parentACPI / fan: remove no need check for device pointer (diff)
downloadlinux-2bb3a2bf9939f3361e25045f4ef7b136b864c3b8.tar.xz
linux-2bb3a2bf9939f3361e25045f4ef7b136b864c3b8.zip
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/device_pm.c1
-rw-r--r--drivers/acpi/fan.c10
-rw-r--r--drivers/acpi/internal.h2
3 files changed, 6 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