diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-22 13:36:52 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-22 13:36:52 -0700 | 
| commit | 7100e505b76b4e2efd88b2459d1a932214e29f8a (patch) | |
| tree | a8eae8687dc1511c89463b1eb93c8349a7471ab3 /drivers/acpi/fan.c | |
| parent | cb47c1831fa406c964468b259f2082c16cc3f757 (diff) | |
| parent | 75a4161a58dd157a2bd2dc8e9986e45b62ac46cf (diff) | |
| download | olio-linux-3.10-7100e505b76b4e2efd88b2459d1a932214e29f8a.tar.xz olio-linux-3.10-7100e505b76b4e2efd88b2459d1a932214e29f8a.zip  | |
Merge tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
 - ACPI conversion to PM handling based on struct dev_pm_ops.
 - Conversion of a number of platform drivers to PM handling based on
   struct dev_pm_ops and removal of empty legacy PM callbacks from a
   couple of PCI drivers.
 - Suspend-to-both for in-kernel hibernation from Bojan Smojver.
 - cpuidle fixes and cleanups from ShuoX Liu, Daniel Lezcano and Preeti
   Murthy.
 - cpufreq bug fixes from Jonghwa Lee and Stephen Boyd.
 - Suspend and hibernate fixes from Srivatsa Bhat and Colin Cross.
 - Generic PM domains framework updates.
 - RTC CMOS wakeup signaling update from Paul Fox.
 - sparse warnings fixes from Sachin Kamat.
 - Build warnings fixes for the generic PM domains framework and PM
   sysfs code.
 - sysfs switch for printing device suspend times from Sameer Nanda.
 - Documentation fix from Oskar Schirmer.
* tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)
  cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
  EXYNOS: bugfix on retrieving old_index from freqs.old
  PM / Sleep: call early resume handlers when suspend_noirq fails
  PM / QoS: Use NULL pointer instead of plain integer in qos.c
  PM / QoS: Use NULL pointer instead of plain integer in pm_qos.h
  PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock
  PM / Sleep: Add missing static storage class specifiers in main.c
  cpuilde / ACPI: remove time from acpi_processor_cx structure
  cpuidle / ACPI: remove usage from acpi_processor_cx structure
  cpuidle / ACPI : remove latency_ticks from acpi_processor_cx structure
  rtc-cmos: report wakeups from interrupt handler
  PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset
  PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset
  olpc-xo15-sci: Use struct dev_pm_ops for power management
  PM / Domains: Replace plain integer with NULL pointer in domain.c file
  PM / Domains: Add missing static storage class specifier in domain.c file
  PM / crypto / ux500: Use struct dev_pm_ops for power management
  PM / IPMI: Remove empty legacy PCI PM callbacks
  tpm_nsc: Use struct dev_pm_ops for power management
  tpm_tis: Use struct dev_pm_ops for power management
  ...
Diffstat (limited to 'drivers/acpi/fan.c')
| -rw-r--r-- | drivers/acpi/fan.c | 21 | 
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c index 0f0356ca1a9..669d9ee80d1 100644 --- a/drivers/acpi/fan.c +++ b/drivers/acpi/fan.c @@ -46,8 +46,6 @@ MODULE_LICENSE("GPL");  static int acpi_fan_add(struct acpi_device *device);  static int acpi_fan_remove(struct acpi_device *device, int type); -static int acpi_fan_suspend(struct acpi_device *device, pm_message_t state); -static int acpi_fan_resume(struct acpi_device *device);  static const struct acpi_device_id fan_device_ids[] = {  	{"PNP0C0B", 0}, @@ -55,6 +53,10 @@ static const struct acpi_device_id fan_device_ids[] = {  };  MODULE_DEVICE_TABLE(acpi, fan_device_ids); +static int acpi_fan_suspend(struct device *dev); +static int acpi_fan_resume(struct device *dev); +static SIMPLE_DEV_PM_OPS(acpi_fan_pm, acpi_fan_suspend, acpi_fan_resume); +  static struct acpi_driver acpi_fan_driver = {  	.name = "fan",  	.class = ACPI_FAN_CLASS, @@ -62,9 +64,8 @@ static struct acpi_driver acpi_fan_driver = {  	.ops = {  		.add = acpi_fan_add,  		.remove = acpi_fan_remove, -		.suspend = acpi_fan_suspend, -		.resume = acpi_fan_resume,  		}, +	.drv.pm = &acpi_fan_pm,  };  /* thermal cooling device callbacks */ @@ -183,24 +184,24 @@ static int acpi_fan_remove(struct acpi_device *device, int type)  	return 0;  } -static int acpi_fan_suspend(struct acpi_device *device, pm_message_t state) +static int acpi_fan_suspend(struct device *dev)  { -	if (!device) +	if (!dev)  		return -EINVAL; -	acpi_bus_set_power(device->handle, ACPI_STATE_D0); +	acpi_bus_set_power(to_acpi_device(dev)->handle, ACPI_STATE_D0);  	return AE_OK;  } -static int acpi_fan_resume(struct acpi_device *device) +static int acpi_fan_resume(struct device *dev)  {  	int result; -	if (!device) +	if (!dev)  		return -EINVAL; -	result = acpi_bus_update_power(device->handle, NULL); +	result = acpi_bus_update_power(to_acpi_device(dev)->handle, NULL);  	if (result)  		printk(KERN_ERR PREFIX "Error updating fan power state\n");  |