alistair23-linux/include/media
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
..
blackfin License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
davinci media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS 2017-07-26 06:14:33 -04:00
drv-intf media: include: media: Add Renesas CEU driver interface 2018-02-26 08:59:41 -05:00
i2c media: i2c: tw9910: Remove soc_camera dependencies 2018-02-26 09:14:53 -05:00
tpg media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cec-notifier.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cec-pin.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
cec.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
demux.h media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dmxdev.h media: dmxdev: Fix the logic that enables DMA mmap support 2018-02-23 05:27:10 -05:00
dvb-usb-ids.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_ca_en50221.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_demux.h media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvb_frontend.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
dvb_math.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_net.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_ringbuffer.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_vb2.h media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvbdev.h media: dvbdev: fix building on ia64 2018-03-07 04:11:50 -05:00
imx.h [media] media: Add i.MX media core driver 2017-06-20 07:30:38 -03:00
media-device.h media: media-device: remove driver_version 2017-08-08 06:02:22 -04:00
media-devnode.h ->poll() methods should return __poll_t 2017-11-27 16:19:52 -05:00
media-entity.h media: entity: Add a nop variant of media_entity_cleanup 2018-01-23 08:12:01 -05:00
rc-core.h media: rc: remove IR_dprintk() from rc-core 2018-02-14 14:15:46 -05:00
rc-map.h media: rc: add new imon protocol decoder and encoder 2018-03-21 11:12:29 -04:00
rcar-fcp.h v4l: rcar-fcp: Add an API to retrieve the FCP device 2017-06-09 12:25:36 +01:00
soc_camera.h ->poll() methods should return __poll_t 2017-11-27 16:19:52 -05:00
tuner-types.h media: tuner-types: add kernel-doc markups for struct tunertype 2017-12-18 09:06:40 -05:00
tuner.h [media] v4l2-mc.h: move tuner PAD definitions to this new header 2016-02-01 07:19:44 -02:00
tveeprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
v4l2-async.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
v4l2-clk.h media: Convert to using %pOF instead of full_name 2017-08-20 08:20:20 -04:00
v4l2-common.h media: v4l: common: Remove v4l2_find_nearest_format 2018-03-21 11:21:33 -04:00
v4l2-ctrls.h media: v4l2-ctrls.h: fix wrong copy-and-paste comment 2018-02-26 08:03:26 -05:00
v4l2-dev.h media: v4l2-dev.h: fix symbol collision in media_entity_to_video_device() 2018-02-26 07:58:18 -05:00
v4l2-device.h media: v4l2-device.h: document helper macros 2017-12-29 07:11:22 -05:00
v4l2-dv-timings.h media: v4l2-dv-timings: add v4l2_hdmi_colorimetry() 2018-02-22 12:41:09 -05:00
v4l2-event.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
v4l2-fh.h media: v4l2_fh.h: add missing kconfig.h include 2018-02-26 08:05:10 -05:00
v4l2-flash-led-class.h media: v4l2-flash-led-class.h: add kernel-doc to two helper funcs 2017-12-18 10:40:41 -05:00
v4l2-fwnode.h media: v4l2-fwnode.h: better describe bus union at fwnode endpoint struct 2017-12-18 10:18:15 -05:00
v4l2-image-sizes.h
v4l2-ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
v4l2-mc.h [media] get rid of a number of problems at the cross references 2016-09-22 10:00:23 -03:00
v4l2-mediabus.h media: v4l2-dev: convert VFL_TYPE_* into an enum 2017-12-18 11:49:40 -05:00
v4l2-mem2mem.h media: annotate ->poll() instances 2017-11-27 16:20:06 -05:00
v4l2-rect.h media: include/(uapi/)media: add SPDX license info 2018-02-14 13:23:51 -05:00
v4l2-subdev.h media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
videobuf-core.h media: annotate ->poll() instances 2017-11-27 16:20:06 -05:00
videobuf-dma-contig.h
videobuf-dma-sg.h [media] videobuf: make unused exported functions static 2015-01-27 10:01:33 -02:00
videobuf-dvb.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
videobuf-vmalloc.h
videobuf2-core.h media: vb2-core: vb2_ops: document non-interrupt-context calling 2018-03-21 12:01:21 -04:00
videobuf2-dma-contig.h dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
videobuf2-dma-sg.h [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
videobuf2-dvb.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
videobuf2-memops.h media: vb2: add cross references at memops and v4l2 kernel-doc markups 2017-12-18 12:27:41 -05:00
videobuf2-v4l2.h media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
videobuf2-vmalloc.h [media] media: videobuf2: Replace videobuf2-core with videobuf2-v4l2 2015-10-01 08:48:18 -03:00
vsp1.h drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00