mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
i2c-stu300: Use struct dev_pm_ops for power management
Make the ST-Ericsson U300 I2C controller 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> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
parent
b9f1b45bac
commit
4aacc4b1b1
1 changed files with 10 additions and 9 deletions
|
@ -979,31 +979,33 @@ stu300_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int stu300_suspend(struct platform_device *pdev, pm_message_t state)
|
||||
static int stu300_suspend(struct device *device)
|
||||
{
|
||||
struct stu300_dev *dev = platform_get_drvdata(pdev);
|
||||
struct stu300_dev *dev = dev_get_drvdata(device);
|
||||
|
||||
/* Turn off everything */
|
||||
stu300_wr8(0x00, dev->virtbase + I2C_CR);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int stu300_resume(struct platform_device *pdev)
|
||||
static int stu300_resume(struct device *device)
|
||||
{
|
||||
int ret = 0;
|
||||
struct stu300_dev *dev = platform_get_drvdata(pdev);
|
||||
struct stu300_dev *dev = dev_get_drvdata(device);
|
||||
|
||||
clk_enable(dev->clk);
|
||||
ret = stu300_init_hw(dev);
|
||||
clk_disable(dev->clk);
|
||||
|
||||
if (ret != 0)
|
||||
dev_err(&pdev->dev, "error re-initializing hardware.\n");
|
||||
dev_err(device, "error re-initializing hardware.\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
static SIMPLE_DEV_PM_OPS(stu300_pm, stu300_suspend, stu300_resume);
|
||||
#define STU300_I2C_PM (&stu300_pm)
|
||||
#else
|
||||
#define stu300_suspend NULL
|
||||
#define stu300_resume NULL
|
||||
#define STU300_I2C_PM NULL
|
||||
#endif
|
||||
|
||||
static int __exit
|
||||
|
@ -1028,10 +1030,9 @@ static struct platform_driver stu300_i2c_driver = {
|
|||
.driver = {
|
||||
.name = NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.pm = STU300_I2C_PM,
|
||||
},
|
||||
.remove = __exit_p(stu300_remove),
|
||||
.suspend = stu300_suspend,
|
||||
.resume = stu300_resume,
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue