* [PATCH 1/2] ds2760: switch to new dev_pm_ops
@ 2009-08-05 12:46 Daniel Mack
2009-08-05 14:57 ` Frans Pop
0 siblings, 1 reply; 4+ messages in thread
From: Daniel Mack @ 2009-08-05 12:46 UTC (permalink / raw)
To: linux-kernel; +Cc: Daniel Mack, Szabolcs Gyurko, Matt Reimer, Anton Vorontsov
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Szabolcs Gyurko <szabolcs.gyurko@tlt.hu>
Cc: Matt Reimer <mreimer@vpop.net>
Cc: Anton Vorontsov <cbou@mail.ru>
---
drivers/power/ds2760_battery.c | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/drivers/power/ds2760_battery.c b/drivers/power/ds2760_battery.c
index ca43b1c..ad2d615 100644
--- a/drivers/power/ds2760_battery.c
+++ b/drivers/power/ds2760_battery.c
@@ -557,19 +557,18 @@ static int ds2760_battery_remove(struct platform_device *pdev)
#ifdef CONFIG_PM
-static int ds2760_battery_suspend(struct platform_device *pdev,
- pm_message_t state)
+static int ds2760_battery_suspend(struct device *dev)
{
- struct ds2760_device_info *di = platform_get_drvdata(pdev);
+ struct ds2760_device_info *di = dev_get_drvdata(dev);
di->charge_status = POWER_SUPPLY_STATUS_UNKNOWN;
return 0;
}
-static int ds2760_battery_resume(struct platform_device *pdev)
+static int ds2760_battery_resume(struct device *dev)
{
- struct ds2760_device_info *di = platform_get_drvdata(pdev);
+ struct ds2760_device_info *di = dev_get_drvdata(dev);
di->charge_status = POWER_SUPPLY_STATUS_UNKNOWN;
power_supply_changed(&di->bat);
@@ -580,23 +579,27 @@ static int ds2760_battery_resume(struct platform_device *pdev)
return 0;
}
-#else
+static struct dev_pm_ops ds2760_battery_pm_ops = {
+ .suspend = ds2760_battery_suspend,
+ .resume = ds2760_battery_resume,
+};
-#define ds2760_battery_suspend NULL
-#define ds2760_battery_resume NULL
+#define DS2760_PM_OPS (&ds2760_battery_pm_ops)
+#else
+#define DS2760_PM_OPS NULL
#endif /* CONFIG_PM */
MODULE_ALIAS("platform:ds2760-battery");
static struct platform_driver ds2760_battery_driver = {
.driver = {
- .name = "ds2760-battery",
+ .owner = THIS_MODULE,
+ .name = "ds2760-battery",
+ .pm = DS2760_PM_OPS,
},
.probe = ds2760_battery_probe,
.remove = ds2760_battery_remove,
- .suspend = ds2760_battery_suspend,
- .resume = ds2760_battery_resume,
};
static int __init ds2760_battery_init(void)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ds2760: switch to new dev_pm_ops
2009-08-05 12:46 [PATCH 1/2] ds2760: switch to new dev_pm_ops Daniel Mack
@ 2009-08-05 14:57 ` Frans Pop
2009-08-05 15:41 ` Rafael J. Wysocki
2009-08-05 16:58 ` Daniel Mack
0 siblings, 2 replies; 4+ messages in thread
From: Frans Pop @ 2009-08-05 14:57 UTC (permalink / raw)
To: Daniel Mack; +Cc: linux-kernel, daniel, szabolcs.gyurko, mreimer, cbou
Daniel Mack wrote:
> +static struct dev_pm_ops ds2760_battery_pm_ops = {
> + .suspend = ds2760_battery_suspend,
> + .resume = ds2760_battery_resume,
> +};
Just to make sure...
Have you followed the earlier discussions on dev_pm_ops conversions and
are you aware that if done like this the driver no longer supports
hibernation?
If omitting hibernation is intentional, it should probably be justified in
the commit log.
See http://lkml.org/lkml/2009/7/25/118 for background.
Same goes for your patch for w1_gpio of course.
Cheers,
FJP
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ds2760: switch to new dev_pm_ops
2009-08-05 14:57 ` Frans Pop
@ 2009-08-05 15:41 ` Rafael J. Wysocki
2009-08-05 16:58 ` Daniel Mack
1 sibling, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2009-08-05 15:41 UTC (permalink / raw)
To: Frans Pop, Daniel Mack
Cc: linux-kernel, szabolcs.gyurko, mreimer, cbou, pm list
On Wednesday 05 August 2009, Frans Pop wrote:
> Daniel Mack wrote:
> > +static struct dev_pm_ops ds2760_battery_pm_ops = {
> > + .suspend = ds2760_battery_suspend,
> > + .resume = ds2760_battery_resume,
> > +};
>
> Just to make sure...
>
> Have you followed the earlier discussions on dev_pm_ops conversions and
> are you aware that if done like this the driver no longer supports
> hibernation?
>
> If omitting hibernation is intentional, it should probably be justified in
> the commit log.
>
> See http://lkml.org/lkml/2009/7/25/118 for background.
>
> Same goes for your patch for w1_gpio of course.
Frans, thanks for your vigilance. :-)
Daniel and everyone doing dev_pm_ops conversions or any other PM-related
things, please CC your patches to linux-pm@lists.linux-foundation.org .
Best,
Rafael
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ds2760: switch to new dev_pm_ops
2009-08-05 14:57 ` Frans Pop
2009-08-05 15:41 ` Rafael J. Wysocki
@ 2009-08-05 16:58 ` Daniel Mack
1 sibling, 0 replies; 4+ messages in thread
From: Daniel Mack @ 2009-08-05 16:58 UTC (permalink / raw)
To: Frans Pop; +Cc: linux-kernel, szabolcs.gyurko, mreimer, cbou
On Wed, Aug 05, 2009 at 04:57:47PM +0200, Frans Pop wrote:
> Daniel Mack wrote:
> > +static struct dev_pm_ops ds2760_battery_pm_ops = {
> > + .suspend = ds2760_battery_suspend,
> > + .resume = ds2760_battery_resume,
> > +};
>
> Just to make sure...
>
> Have you followed the earlier discussions on dev_pm_ops conversions and
> are you aware that if done like this the driver no longer supports
> hibernation?
>
> If omitting hibernation is intentional, it should probably be justified in
> the commit log.
>
> See http://lkml.org/lkml/2009/7/25/118 for background.
Hmm, I tested that on a embedded hardware platform which doesn't supoprt
hibernation anyway. But you're right, to prevent regressions, .freeze
and .thaw should probably be given as well.
I'll fix that and resend.
Thanks,
Daniel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-08-05 16:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-05 12:46 [PATCH 1/2] ds2760: switch to new dev_pm_ops Daniel Mack
2009-08-05 14:57 ` Frans Pop
2009-08-05 15:41 ` Rafael J. Wysocki
2009-08-05 16:58 ` Daniel Mack
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox