ACPI / fan: do nothing in suspend and poweroff callback

We put fans to full speed in acpi_fan_suspend(), but that is only
needed in the hibernation case when we are generating hibernation
image, so this patch removes that when we are about to suspend or
poweroff.

References: http://www.spinics.net/lists/linux-acpi/msg48636.html
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Aaron Lu 2014-02-19 12:16:48 +08:00 committed by Rafael J. Wysocki
parent 5e2e46e84b
commit b9b8515f34

View file

@ -55,11 +55,16 @@ MODULE_DEVICE_TABLE(acpi, fan_device_ids);
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
static int acpi_fan_suspend(struct device *dev); static int acpi_fan_suspend(struct device *dev);
static int acpi_fan_resume(struct device *dev); static int acpi_fan_resume(struct device *dev);
static struct dev_pm_ops acpi_fan_pm = {
.resume = acpi_fan_resume,
.freeze = acpi_fan_suspend,
.thaw = acpi_fan_resume,
.restore = acpi_fan_resume,
};
#define FAN_PM_OPS_PTR (&acpi_fan_pm)
#else #else
#define acpi_fan_suspend NULL #define FAN_PM_OPS_PTR NULL
#define acpi_fan_resume NULL
#endif #endif
static SIMPLE_DEV_PM_OPS(acpi_fan_pm, acpi_fan_suspend, acpi_fan_resume);
static struct acpi_driver acpi_fan_driver = { static struct acpi_driver acpi_fan_driver = {
.name = "fan", .name = "fan",
@ -69,7 +74,7 @@ static struct acpi_driver acpi_fan_driver = {
.add = acpi_fan_add, .add = acpi_fan_add,
.remove = acpi_fan_remove, .remove = acpi_fan_remove,
}, },
.drv.pm = &acpi_fan_pm, .drv.pm = FAN_PM_OPS_PTR,
}; };
/* thermal cooling device callbacks */ /* thermal cooling device callbacks */