diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2011-06-07 04:50:15 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-07-27 16:53:21 -0400 |
commit | 497833c6813dde5ca27cc94e28c973d601d601e1 (patch) | |
tree | b2a1fc546e217d78060e94261e9225dab8ad2be7 /drivers/media/video/pxa_camera.c | |
parent | 91401219c073a565af79223215a84250bbc8c79e (diff) |
[media] V4L: pxa-camera: switch to using subdev .s_power() core operation
soc-camera specific .suspend() and .resume() methods are deprecated
and should be replaced by the subdev standard .s_power() operation.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/pxa_camera.c')
-rw-r--r-- | drivers/media/video/pxa_camera.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c index c42aac132ebf..0c1946fa46c2 100644 --- a/drivers/media/video/pxa_camera.c +++ b/drivers/media/video/pxa_camera.c | |||
@@ -1589,8 +1589,12 @@ static int pxa_camera_suspend(struct soc_camera_device *icd, pm_message_t state) | |||
1589 | pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR3); | 1589 | pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR3); |
1590 | pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR4); | 1590 | pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR4); |
1591 | 1591 | ||
1592 | if ((pcdev->icd) && (pcdev->icd->ops->suspend)) | 1592 | if (pcdev->icd) { |
1593 | ret = pcdev->icd->ops->suspend(pcdev->icd, state); | 1593 | struct v4l2_subdev *sd = soc_camera_to_subdev(icd); |
1594 | ret = v4l2_subdev_call(sd, core, s_power, 0); | ||
1595 | if (ret == -ENOIOCTLCMD) | ||
1596 | ret = 0; | ||
1597 | } | ||
1594 | 1598 | ||
1595 | return ret; | 1599 | return ret; |
1596 | } | 1600 | } |
@@ -1611,8 +1615,12 @@ static int pxa_camera_resume(struct soc_camera_device *icd) | |||
1611 | __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR3); | 1615 | __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR3); |
1612 | __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR4); | 1616 | __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR4); |
1613 | 1617 | ||
1614 | if ((pcdev->icd) && (pcdev->icd->ops->resume)) | 1618 | if (pcdev->icd) { |
1615 | ret = pcdev->icd->ops->resume(pcdev->icd); | 1619 | struct v4l2_subdev *sd = soc_camera_to_subdev(icd); |
1620 | ret = v4l2_subdev_call(sd, core, s_power, 1); | ||
1621 | if (ret == -ENOIOCTLCMD) | ||
1622 | ret = 0; | ||
1623 | } | ||
1616 | 1624 | ||
1617 | /* Restart frame capture if active buffer exists */ | 1625 | /* Restart frame capture if active buffer exists */ |
1618 | if (!ret && pcdev->active) | 1626 | if (!ret && pcdev->active) |