linux/drivers/media
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
..
common [media] saa7146: remove deprecated IRQF_DISABLED 2013-10-17 06:07:50 -03:00
dvb-core [media] media: dvb-core: prepare for enabling irq in complete() 2013-10-02 06:48:13 -03:00
dvb-frontends [media] drxk_hard: fix sparse warnings 2013-10-17 05:54:46 -03:00
firewire firewire: introduce fw_driver.probe and .remove methods 2013-06-09 18:15:00 +02:00
i2c [media] imx074: fix error handling for failed async subdevice registration 2013-10-31 04:28:58 -02:00
mmc [media] siano: get rid of CammelCase from smscoreapi.h 2013-03-21 10:03:16 -03:00
parport [media] bw-qcam: fix timestamp handling 2013-05-27 09:30:19 -03:00
pci [media] cx25821: fix sparse warnings 2013-10-17 06:16:46 -03:00
platform [media] V4L2: soc-camera: work around unbalanced calls to .s_power() 2013-10-31 04:38:40 -02:00
radio [media] radio-si4713: remove deprecated IRQF_DISABLED 2013-10-17 05:55:59 -03:00
rc [media] winbond-cir: remove deprecated IRQF_DISABLED 2013-10-17 06:09:14 -03:00
tuners [media] tuner-xs2028.c: fix sparse warnings 2013-10-15 12:55:56 -03:00
usb [media] V4L2: em28xx: register a V4L2 clock source 2013-10-31 04:36:48 -02:00
v4l2-core [media] V4L2: add v4l2-clock helpers to register and unregister a fixed-rate clock 2013-10-31 04:31:30 -02:00
Kconfig [media] Fix build when drivers are builtin and frontend modules 2013-06-20 10:35:53 -03:00
Makefile
media-device.c [media] media: info leak in __media_device_enum_links() 2013-06-12 18:52:45 -03:00
media-devnode.c [media] media: Add 64--32 bit compat ioctl handler 2013-03-18 20:44:36 -03:00
media-entity.c [media] media: Add support for circular graph traversal 2013-08-18 07:16:48 -03:00