linux/drivers/media/usb
Hans Verkuil 3aab15af9a media: add tuner standby op, use where needed
The v4l2_subdev core s_power op was used for two different things: power on/off
sensors or video decoders/encoders and to put a tuner in standby (and only the
tuner!). There is no 'tuner wakeup' op, that's done automatically when the tuner
is accessed.

The danger with calling (s_power, 0) to put a tuner into standby is that it is
usually broadcast for all subdevs. So a video receiver subdev that supports
s_power will also be powered off, and since there is no corresponding (s_power, 1)
they will never be powered on again.

In addition, this is specifically meant for tuners only since they draw the most
current.

This patch adds a new tuner op called 'standby' and replaces all calls to
(core, s_power, 0) by (tuner, standby). This prevents confusion between the two
uses of s_power. Note that there is no overlap: bridge drivers either just want
to put the tuner into standby, or they deal with powering on/off sensors. Never
both.

This also makes it easier to replace s_power for the remaining bridge drivers
with some PM code later.

Whether we want something cleaner for tuners in the future is a separate topic.
There is a lot of legacy code surrounding tuners, and I am very hesitant about
making changes there.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-03-21 12:05:39 -04:00
..
airspy media: usb: make video_device const 2017-08-27 08:45:32 -04:00
as102 media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
au0828 media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
b2c2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
cpia2 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
cx231xx media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
dvb-usb media: cxusb: restore RC_MAP for MyGica T230 2018-03-06 06:11:53 -05:00
dvb-usb-v2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
em28xx media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
go7007 media: usb: don't initialize vars if not needed 2018-03-06 10:39:59 -05:00
gspca media: gspca: dtcs033: use %*ph to print small buffer 2018-02-26 08:14:47 -05:00
hackrf media: usb: make video_device const 2017-08-27 08:45:32 -04:00
hdpvr vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
msi2500 media: usb: fix spelling mistake: "synchronuously" -> "synchronously" 2017-11-07 03:47:09 -05:00
pulse8-cec media: pulse8-cec: print time using time64_t 2017-12-08 11:08:22 -05:00
pvrusb2 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
pwc media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
rainshadow-cec media: usb: rainshadow-cec: constify serio_device_id 2017-08-20 08:27:29 -04:00
s2255 media: s2255drv: Remove unneeded if else blocks 2018-02-26 07:57:38 -05:00
siano media: siano: Fix coherent memory allocation failure on arm64 2018-03-06 12:46:15 -05:00
stk1160 media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
stkwebcam vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
tm6000 media: usb: don't initialize vars if not needed 2018-03-06 10:39:59 -05:00
ttusb-budget media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
ttusb-dec media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
usbtv media: usbtv: Add USB ID 1f71:3306 to the UTV007 driver 2018-02-26 07:42:47 -05:00
usbvision media: don't include drivers/media/i2c at cflags 2017-12-28 14:14:09 -05:00
uvc media: uvcvideo: Fixed ktime_t to ns conversion 2018-02-23 02:24:29 -05:00
zr364xx media: annotate ->poll() instances 2017-11-27 16:20:06 -05:00
Kconfig
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00