RE: [PATCH 2/7] i2c-bfin-twi: Use struct dev_pm_ops for power management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Acked-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>

>-----Original Message-----
>From: Rafael J. Wysocki [mailto:rjw@xxxxxxx]
>Sent: Thursday, July 12, 2012 3:24 AM
>To: LKML
>Cc: Linux PM list; Linus Walleij; linux-i2c@xxxxxxxxxxxxxxx; 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@xxxxxxx>
>
>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@xxxxxxx>
>---
> 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,
>       },
> };
>
>

��.n��������+%������w��{.n�����{��-��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux