linux/drivers/media/platform
Guennadi Liakhovetski 40f075330a [media] V4L2: soc-camera: work around unbalanced calls to .s_power()
Some non soc-camera drivers, e.g. em28xx, use subdevice drivers, originally
written for soc-camera, which use soc_camera_power_on() and
soc_camera_power_off() helpers to implement their .s_power() methods. Those
helpers in turn can enable and disable a clock, if it is supplied to them
as a parameter. This works well when camera host drivers balance their
calls to subdevices' .s_power() methods. However, some such drivers fail to
do that, which leads to unbalanced calls to v4l2_clk_enable() /
v4l2_clk_disable(), which then in turn produce kernel warnings. Such
behaviour is wrong and should be fixed, however, sometimes it is difficult,
because some of those drivers are rather old and use lots of subdevices,
which all should be tested after such a fix. To support such drivers this
patch adds a work-around, allowing host drivers or platforms to set a flag,
in which case soc-camera helpers will only enable the clock, if it is
disabled, and disable it only once on the first call to .s_power(0).

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-31 04:38:40 -02:00
..
blackfin [media] v4l2: use new V4L2_DV_BT_BLANKING/FRAME defines 2013-08-18 08:19:03 -03:00
davinci [media] davinci: remove deprecated IRQF_DISABLED 2013-10-03 14:11:18 -03:00
exynos4-is [media] media: Remove unnecessary semicolons 2013-10-17 05:51:57 -03:00
exynos-gsc [media] exynos-gsc: Handle ctx job finish when aborted 2013-10-28 15:21:58 -02:00
marvell-ccic [media] marvell-ccic: drop free_irq for devm_request_irq allocated irq 2013-10-17 11:28:09 -03:00
omap [media] omap_vout: fix compiler warning 2013-06-28 15:06:49 -03:00
omap3isp [media] media: Change media device link_notify behaviour 2013-06-12 22:16:27 -03:00
s3c-camif [media] s3c-camif: forever loop in camif_hw_set_source_format() 2013-08-24 04:53:58 -03:00
s5p-g2d [media] s5p-g2d: Remove casting the return value which is a void pointer 2013-10-28 15:20:07 -02:00
s5p-jpeg [media] s5p makefiles: don't override other selections on obj-[ym] 2013-06-20 05:46:00 -03:00
s5p-mfc [media] s5p-mfc: remove deprecated IRQF_DISABLED 2013-10-28 16:51:50 -02:00
s5p-tv [media] media: Remove unnecessary semicolons 2013-10-17 05:51:57 -03:00
soc_camera [media] V4L2: soc-camera: work around unbalanced calls to .s_power() 2013-10-31 04:38:40 -02:00
ti-vpe [media] v4l: ti-vpe: Add de-interlacer support in VPE 2013-10-28 15:19:38 -02:00
vsp1 [media] v4l: vsp1: Fix mutex double lock at streamon time 2013-08-28 05:40:07 -03:00
arv.c
coda.c [media] coda: v4l2-compliance fix: zero pixel format priv field 2013-10-28 16:50:50 -02:00
coda.h [media] coda: add CODA7541 decoding support 2013-07-31 15:56:44 -03:00
fsl-viu.c fsl-viu: cleanup clock API use 2013-08-23 23:18:57 +02:00
indycam.c [media] indycam: remove g_chip_ident op 2013-06-17 08:49:47 -03:00
indycam.h
Kconfig [media] platform: Kconfig: Select SRAM for VIDEO_CODA 2013-10-28 16:51:08 -02:00
m2m-deinterlace.c [media] m2m-deinterlace: Remove casting the return value which is a void pointer 2013-10-28 15:20:18 -02:00
Makefile [media] v4l: ti-vpe: Add VPE mem to mem driver 2013-10-28 15:17:30 -02:00
mem2mem_testdev.c [media] mem2mem_testdev: Remove casting the return value which is a void pointer 2013-10-28 15:20:27 -02:00
mx2_emmaprp.c [media] mem2mem: set missing v4l2_dev pointer 2013-06-28 15:09:43 -03:00
omap24xxcam-dma.c
omap24xxcam.c [media] omap24xxcam: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:05:16 -03:00
omap24xxcam.h [media] omap24xxcam: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:05:16 -03:00
sh_veu.c sh_veu: Replace PTR_RET with PTR_ERR_OR_ZERO 2013-07-16 16:06:01 +09:30
sh_vou.c [media] sh_vou: remove current_norm 2013-06-17 09:34:29 -03:00
timblogiw.c [media] timblogiw: fix two sparse warnings 2013-10-15 12:55:02 -03:00
via-camera.c [media] via-camera: replace current_norm by g_std 2013-06-17 09:33:49 -03:00
via-camera.h
vino.c
vino.h
vivi.c drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00