summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski2013-10-21 11:28:06 +0200
committerMauro Carvalho Chehab2013-10-31 07:39:13 +0100
commitbe353fa188eed6731910ffd35135703eb032cff1 (patch)
tree352e262dcc4f8561472a16af0a06856a365e6d59
parent[media] V4L2: soc-camera: work around unbalanced calls to .s_power() (diff)
downloadkernel-qcow2-linux-be353fa188eed6731910ffd35135703eb032cff1.tar.gz
kernel-qcow2-linux-be353fa188eed6731910ffd35135703eb032cff1.tar.xz
kernel-qcow2-linux-be353fa188eed6731910ffd35135703eb032cff1.zip
[media] V4L2: em28xx: tell the ov2640 driver to balance clock enabling internally
The em28xx driver only calls subdevices' .s_power() method to power them down, relying on the hardware to wake up automatically, which is usually the case with tuners. This was acceptable with the old .standby() method, but is wrong with .s_power(). Fixing the driver would be difficult due to a broad supported hardware base. Instead this patch makes use of the unbalanced_power soc-camera subdevice flag to tell the ov2640 driver to balance calls to v4l2_clk_enable() and v4l2_clk_disable() internally. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/usb/em28xx/em28xx-camera.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-camera.c b/drivers/media/usb/em28xx/em28xx-camera.c
index 2f451e40edaf..d666741797d4 100644
--- a/drivers/media/usb/em28xx/em28xx-camera.c
+++ b/drivers/media/usb/em28xx/em28xx-camera.c
@@ -48,6 +48,7 @@ static struct soc_camera_link camlink = {
.bus_id = 0,
.flags = 0,
.module_name = "em28xx",
+ .unbalanced_power = true,
};