[PATCH 2/4] hwmon / abituguru3: Use struct dev_pm_ops for power management

From: Rafael J. Wysocki
Date: Sat Jul 07 2012 - 17:01:00 EST


From: Rafael J. Wysocki <rjw@xxxxxxx>

Make the Abit uGuru rev. 3 driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
drivers/hwmon/abituguru3.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)

Index: linux/drivers/hwmon/abituguru3.c
===================================================================
--- linux.orig/drivers/hwmon/abituguru3.c
+++ linux/drivers/hwmon/abituguru3.c
@@ -1142,9 +1142,11 @@ LEAVE_UPDATE:
}

#ifdef CONFIG_PM
-static int abituguru3_suspend(struct platform_device *pdev, pm_message_t state)
+static int abituguru3_suspend(struct device *dev)
{
- struct abituguru3_data *data = platform_get_drvdata(pdev);
+ struct abituguru3_data *data;
+
+ data = platform_get_drvdata(to_platform_device(dev));
/*
* make sure all communications with the uguru3 are done and no new
* ones are started
@@ -1153,26 +1155,29 @@ static int abituguru3_suspend(struct pla
return 0;
}

-static int abituguru3_resume(struct platform_device *pdev)
+static int abituguru3_resume(struct device *dev)
{
- struct abituguru3_data *data = platform_get_drvdata(pdev);
+ struct abituguru3_data *data;
+
+ data = platform_get_drvdata(to_platform_device(dev));
mutex_unlock(&data->update_lock);
return 0;
}
+
+static SIMPLE_DEV_PM_OPS(abituguru3_pm, abituguru3_suspend, abituguru3_resume);
+#define ABIT_UGURU3_PM (&abituguru3_pm)
#else
-#define abituguru3_suspend NULL
-#define abituguru3_resume NULL
+#define ABIT_UGURU3_PM NULL
#endif /* CONFIG_PM */

static struct platform_driver abituguru3_driver = {
.driver = {
.owner = THIS_MODULE,
.name = ABIT_UGURU3_NAME,
+ .pm = ABIT_UGURU3_PM
},
.probe = abituguru3_probe,
.remove = __devexit_p(abituguru3_remove),
- .suspend = abituguru3_suspend,
- .resume = abituguru3_resume
};

static int __init abituguru3_dmi_detect(void)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/