|
@@ -80,7 +80,8 @@ static int pnpacpi_get_resources(struct pnp_dev *dev)
|
|
|
|
|
|
static int pnpacpi_set_resources(struct pnp_dev *dev)
|
|
|
{
|
|
|
- acpi_handle handle = dev->data;
|
|
|
+ struct acpi_device *acpi_dev = dev->data;
|
|
|
+ acpi_handle handle = acpi_dev->handle;
|
|
|
struct acpi_buffer buffer;
|
|
|
int ret;
|
|
|
|
|
@@ -103,7 +104,8 @@ static int pnpacpi_set_resources(struct pnp_dev *dev)
|
|
|
|
|
|
static int pnpacpi_disable_resources(struct pnp_dev *dev)
|
|
|
{
|
|
|
- acpi_handle handle = dev->data;
|
|
|
+ struct acpi_device *acpi_dev = dev->data;
|
|
|
+ acpi_handle handle = acpi_dev->handle;
|
|
|
int ret;
|
|
|
|
|
|
dev_dbg(&dev->dev, "disable resources\n");
|
|
@@ -121,6 +123,8 @@ static int pnpacpi_disable_resources(struct pnp_dev *dev)
|
|
|
#ifdef CONFIG_ACPI_SLEEP
|
|
|
static int pnpacpi_suspend(struct pnp_dev *dev, pm_message_t state)
|
|
|
{
|
|
|
+ struct acpi_device *acpi_dev = dev->data;
|
|
|
+ acpi_handle handle = acpi_dev->handle;
|
|
|
int power_state;
|
|
|
|
|
|
power_state = acpi_pm_device_sleep_state(&dev->dev, NULL);
|
|
@@ -128,12 +132,15 @@ static int pnpacpi_suspend(struct pnp_dev *dev, pm_message_t state)
|
|
|
power_state = (state.event == PM_EVENT_ON) ?
|
|
|
ACPI_STATE_D0 : ACPI_STATE_D3;
|
|
|
|
|
|
- return acpi_bus_set_power((acpi_handle) dev->data, power_state);
|
|
|
+ return acpi_bus_set_power(handle, power_state);
|
|
|
}
|
|
|
|
|
|
static int pnpacpi_resume(struct pnp_dev *dev)
|
|
|
{
|
|
|
- return acpi_bus_set_power((acpi_handle) dev->data, ACPI_STATE_D0);
|
|
|
+ struct acpi_device *acpi_dev = dev->data;
|
|
|
+ acpi_handle handle = acpi_dev->handle;
|
|
|
+
|
|
|
+ return acpi_bus_set_power(handle, ACPI_STATE_D0);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
@@ -168,7 +175,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
|
|
|
if (!dev)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- dev->data = device->handle;
|
|
|
+ dev->data = device;
|
|
|
/* .enabled means the device can decode the resources */
|
|
|
dev->active = device->status.enabled;
|
|
|
status = acpi_get_handle(device->handle, "_SRS", &temp);
|