lkml.org 
[lkml]   [2012]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRE: [PATCH 2/7] i2c-bfin-twi: Use struct dev_pm_ops for power management
Acked-by: Sonic Zhang <sonic.zhang@analog.com>

>-----Original Message-----
>From: Rafael J. Wysocki [mailto:rjw@sisk.pl]
>Sent: Thursday, July 12, 2012 3:24 AM
>To: LKML
>Cc: Linux PM list; Linus Walleij; linux-i2c@vger.kernel.org; Zhang, Sonic; Jean
>Delvare; Ben Dooks; Wolfram Sang; Peter Korsgaard; Guan Xuetao; Vitaly Wool;
>Colin Cross; Stephen Warren
>Subject: [PATCH 2/7] i2c-bfin-twi: Use struct dev_pm_ops for power management
>
>From: Rafael J. Wysocki <rjw@sisk.pl>
>
>Make the Blackfin On-Chip Two Wire Interface 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@sisk.pl>
>---
> drivers/i2c/busses/i2c-bfin-twi.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
>Index: linux/drivers/i2c/busses/i2c-bfin-twi.c
>=============================================================
>======
>--- linux.orig/drivers/i2c/busses/i2c-bfin-twi.c
>+++ linux/drivers/i2c/busses/i2c-bfin-twi.c
>@@ -611,9 +611,9 @@ static struct i2c_algorithm bfin_twi_alg
> .functionality = bfin_twi_functionality,
> };
>
>-static int i2c_bfin_twi_suspend(struct platform_device *pdev, pm_message_t
>state)
>+static int i2c_bfin_twi_suspend(struct device *dev)
> {
>- struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
>+ struct bfin_twi_iface *iface = dev_get_drvdata(dev);
>
> iface->saved_clkdiv = read_CLKDIV(iface);
> iface->saved_control = read_CONTROL(iface);
>@@ -626,14 +626,14 @@ static int i2c_bfin_twi_suspend(struct p
> return 0;
> }
>
>-static int i2c_bfin_twi_resume(struct platform_device *pdev)
>+static int i2c_bfin_twi_resume(struct device *dev)
> {
>- struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
>+ struct bfin_twi_iface *iface = dev_get_drvdata(dev);
>
> int rc = request_irq(iface->irq, bfin_twi_interrupt_entry,
>- 0, pdev->name, iface);
>+ 0, to_platform_device(dev)->name, iface);
> if (rc) {
>- dev_err(&pdev->dev, "Can't get IRQ %d !\n", iface->irq);
>+ dev_err(dev, "Can't get IRQ %d !\n", iface->irq);
> return -ENODEV;
> }
>
>@@ -646,6 +646,9 @@ static int i2c_bfin_twi_resume(struct pl
> return 0;
> }
>
>+static SIMPLE_DEV_PM_OPS(i2c_bfin_twi_pm,
>+ i2c_bfin_twi_suspend, i2c_bfin_twi_resume);
>+
> static int i2c_bfin_twi_probe(struct platform_device *pdev)
> {
> struct bfin_twi_iface *iface;
>@@ -770,11 +773,10 @@ static int i2c_bfin_twi_remove(struct pl
> static struct platform_driver i2c_bfin_twi_driver = {
> .probe = i2c_bfin_twi_probe,
> .remove = i2c_bfin_twi_remove,
>- .suspend = i2c_bfin_twi_suspend,
>- .resume = i2c_bfin_twi_resume,
> .driver = {
> .name = "i2c-bfin-twi",
> .owner = THIS_MODULE,
>+ .pm = &i2c_bfin_twi_pm,
> },
> };
>
>

\
 
 \ /
  Last update: 2012-07-12 05:21    [W:0.077 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site