Gets rid of the following warning: Platform driver 'acer-wmi' needs updating - please use dev_pm_ops Take 2, thanks to Dmitry, Rafael and Frans for pointing out PM issue on hibernation when using dev_pm_ops blindly. This patch was tested against suspendand hibernation (Acer mail led status). Signed-off-by: Arnaud Faucher <arnaud.faucher@xxxxxxxxx> --- drivers/platform/x86/acer-wmi.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index be2fd6f..29374bc 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -1152,8 +1152,7 @@ static int acer_platform_remove(struct platform_device *device) return 0; } -static int acer_platform_suspend(struct platform_device *dev, -pm_message_t state) +static int acer_platform_suspend(struct device *dev) { u32 value; struct acer_data *data = &interface->data; @@ -1174,7 +1173,7 @@ pm_message_t state) return 0; } -static int acer_platform_resume(struct platform_device *device) +static int acer_platform_resume(struct device *dev) { struct acer_data *data = &interface->data; @@ -1190,15 +1189,23 @@ static int acer_platform_resume(struct platform_device *device) return 0; } +static struct dev_pm_ops acer_platform_pm_ops = { + .suspend = acer_platform_suspend, + .resume = acer_platform_resume, + .freeze = acer_platform_suspend, + .thaw = acer_platform_resume, + .poweroff = acer_platform_suspend, + .restore = acer_platform_resume, +}; + static struct platform_driver acer_platform_driver = { .driver = { .name = "acer-wmi", .owner = THIS_MODULE, + .pm = &acer_platform_pm_ops, }, .probe = acer_platform_probe, .remove = acer_platform_remove, - .suspend = acer_platform_suspend, - .resume = acer_platform_resume, }; static struct platform_device *acer_platform_device; -- 1.6.3.3