linux/drivers/media/tuners
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
..
e4000_priv.h [media] e4000: implement V4L2 subdevice tuner and core ops 2015-05-20 13:49:27 -03:00
e4000.c media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
e4000.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
fc001x-common.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
fc0011.c media: tw5864, fc0011: better handle WARN_ON() 2017-06-24 16:19:27 -03:00
fc0011.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
fc0012-priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
fc0012.c media: fc001[23]: make const gain table arrays static 2017-07-19 15:12:39 -04:00
fc0012.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
fc0013-priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
fc0013.c media: fc001[23]: make const gain table arrays static 2017-07-19 15:12:39 -04:00
fc0013.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
fc2580_priv.h [media] fc2580: implement V4L2 subdevice for SDR control 2015-05-18 15:58:10 -03:00
fc2580.c media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
fc2580.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
it913x.c [media] it913x: add chip device ids for binding 2017-01-31 10:50:34 -02:00
it913x.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
Kconfig media: tda18250: support for new silicon tuner 2017-12-13 08:12:47 -05:00
m88rs6000t.c [media] tuners: Refactoring for m88rs6000t_sleep() 2016-01-25 15:15:38 -02:00
m88rs6000t.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
Makefile media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
max2165_priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
max2165.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
max2165.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mc44s803_priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mc44s803.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mc44s803.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
msi001.c media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
mt20xx.c Revert "[media] dvb_frontend: merge duplicate dvb_tuner_ops.release implementations" 2016-11-18 20:44:33 -02:00
mt20xx.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mt2060_priv.h [media] mt2060: implement sleep 2017-02-03 06:55:46 -02:00
mt2060.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mt2060.h [media] mt2060: add param to split long i2c writes 2017-02-03 06:44:03 -02:00
mt2063.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
mt2063.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mt2131_priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mt2131.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mt2131.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mt2266.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mt2266.h [media] Add and use IS_REACHABLE macro 2015-04-08 15:02:07 -03:00
mxl301rf.c [media] mxl301rf: add driver for MaxLinear MxL301RF OFDM tuner 2014-09-23 17:03:59 -03:00
mxl301rf.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mxl5005s.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
mxl5005s.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
mxl5007t.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mxl5007t.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
qm1d1c0042.c [media] em28xx: add support for PLEX PX-BCUD (ISDB-S) 2016-05-06 23:51:47 -03:00
qm1d1c0042.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
qt1010_priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
qt1010.c media: qt1010: fix bogus warnings 2017-12-11 13:04:51 -05:00
qt1010.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
r820t.c media: r820t: fix r820t_write_reg for KASAN 2017-12-15 11:53:45 -05:00
r820t.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
si2157_priv.h [media] si2157: Add support for Si2141-A10 2017-04-14 22:27:47 -03:00
si2157.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
si2157.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda827x.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tda827x.h media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
tda8290.c media: tuners: tda8290: reduce stack usage with kasan 2017-12-14 12:16:05 -05:00
tda8290.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda9887.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
tda9887.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda18212.c [media] tuners: Drop owner assignment from i2c_driver 2015-08-11 13:01:32 -03:00
tda18212.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda18218_priv.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tda18218.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tda18218.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda18250_priv.h media: tda18250: support for new silicon tuner 2017-12-13 08:12:47 -05:00
tda18250.c media: tda18250: support for new silicon tuner 2017-12-13 08:12:47 -05:00
tda18250.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tda18271-common.c [media] tuners: don't break long lines 2016-10-21 10:08:13 -02:00
tda18271-fe.c [media] media drivers: annotate fall-through 2017-05-19 07:10:03 -03:00
tda18271-maps.c media: tuners: make snd_pcm_hardware const 2017-08-20 08:05:25 -04:00
tda18271-priv.h [media] tda18271: use prefix on all printk messages 2016-09-05 15:26:28 -03:00
tda18271.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tea5761.c media: tuners: add SPDX identifiers to the code I wrote 2017-12-11 07:39:42 -05:00
tea5761.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tea5767.c media: tuners: add SPDX identifiers to the code I wrote 2017-12-11 07:39:42 -05:00
tea5767.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tua9001_priv.h [media] tua9001: use div_u64() for frequency calculation 2015-05-18 15:55:14 -03:00
tua9001.c [media] tuners: Drop owner assignment from i2c_driver 2015-08-11 13:01:32 -03:00
tua9001.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tuner-i2c.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
tuner-simple.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
tuner-simple.h media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
tuner-types.c [media] tuner: add Sony BTF tuners 2013-03-24 12:11:35 -03:00
tuner-xc2028-types.h media: tuners: add SPDX identifiers to the code I wrote 2017-12-11 07:39:42 -05:00
tuner-xc2028.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
tuner-xc2028.h media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
xc4000.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
xc4000.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
xc5000.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
xc5000.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00