diff options
author | Per Persson <per.xb.persson@stericsson.com> | 2011-10-18 10:05:25 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:04:16 +0200 |
commit | 654346981b43fcddfbb80fa1db63af55b8d482d7 (patch) | |
tree | 40cb295ca8d74d5a7deb9ecc546b8b43bef40df5 | |
parent | 2e1b095854195dbac290262e1e06d18916f19af5 (diff) |
video: av8100: Update suspend resume method
Driver is updated to use dev_pm_ops suspend/resume method.
ST-Ericsson ID: 368266
ST-Ericsson Linux next: Not tested
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ibaaeac502d30d8ee8484bce74e829f1fbe41ceed
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34494
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
-rw-r--r-- | drivers/video/av8100/av8100.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/drivers/video/av8100/av8100.c b/drivers/video/av8100/av8100.c index 36f86512a38..00995e8d02e 100644 --- a/drivers/video/av8100/av8100.c +++ b/drivers/video/av8100/av8100.c @@ -534,16 +534,16 @@ static int adev_to_devnr(struct av8100_device *adev) } #ifdef CONFIG_PM -static int av8100_suspend(struct i2c_client *i2c_client, pm_message_t state) +static int av8100_suspend(struct device *dev) { int ret = 0; struct av8100_device *adev; - adev = dev_to_adev(&i2c_client->dev); + adev = dev_to_adev(dev); if (!adev) return -EFAULT; - dev_dbg(adev->dev, "%s\n", __func__); + dev_dbg(dev, "%s\n", __func__); adev->params.pre_suspend_power = (av8100_status_get().av8100_state > AV8100_OPMODE_SHUTDOWN); @@ -551,34 +551,34 @@ static int av8100_suspend(struct i2c_client *i2c_client, pm_message_t state) if (adev->params.pre_suspend_power) { ret = av8100_powerdown(); if (ret) - dev_err(adev->dev, "av8100_powerdown failed\n"); + dev_err(dev, "av8100_powerdown failed\n"); } return ret; } -static int av8100_resume(struct i2c_client *i2c_client) +static int av8100_resume(struct device *dev) { int ret; u8 hpds = 0; struct av8100_device *adev; - adev = dev_to_adev(&i2c_client->dev); + adev = dev_to_adev(dev); if (!adev) return -EFAULT; - dev_dbg(adev->dev, "%s\n", __func__); + dev_dbg(dev, "%s\n", __func__); if (adev->params.pre_suspend_power) { ret = av8100_powerup(); if (ret) { - dev_err(adev->dev, "av8100_powerup failed\n"); + dev_err(dev, "av8100_powerup failed\n"); return ret; } /* Check HDMI plug status */ if (av8100_reg_stby_r(NULL, NULL, &hpds, NULL, NULL)) { - dev_warn(adev->dev, "av8100_reg_stby_r failed\n"); + dev_warn(dev, "av8100_reg_stby_r failed\n"); goto av8100_resume_end; } @@ -595,18 +595,21 @@ static int av8100_resume(struct i2c_client *i2c_client) av8100_resume_end: return 0; } -#else -#define av8100_suspend NULL -#define av8100_resume NULL + +static const struct dev_pm_ops av8100_dev_pm_ops = { + .suspend = av8100_suspend, + .resume = av8100_resume, +}; #endif static struct i2c_driver av8100_driver = { .probe = av8100_probe, .remove = av8100_remove, - .suspend = av8100_suspend, - .resume = av8100_resume, .driver = { .name = "av8100", +#ifdef CONFIG_PM + .pm = &av8100_dev_pm_ops, +#endif }, .id_table = av8100_id, }; |