aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core/tuner-core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-04-03 20:16:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-04-03 20:16:59 -0400
commitef1c4a6fa91bbbe9b09f770d28eba31a9edf770c (patch)
tree52f5d175031c553160d14890e876ffc5432d2467 /drivers/media/v4l2-core/tuner-core.c
parent147a89bc71e7db40f011454a40add7ff2d10f8d8 (diff)
parentf8a695c4b43d02c89b8bba9ba6058fd5db1bc71d (diff)
Merge tag 'media/v4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - new CEC pin injection code for testing purposes - DVB frontend cxd2099 promoted from staging - new platform driver for Sony cxd2880 DVB devices - new sensor drivers: mt9t112, ov2685, ov5695, ov772x, tda1997x, tw9910.c - removal of unused cx18 and ivtv alsa mixers - the reneseas-ceu driver doesn't depend on soc_camera anymore and moved from staging - removed the mantis_vp3028 driver, unused since 2009 - s5p-mfc: add support for version 10 of the MSP - added a decoder for imon protocol - atomisp: lots of cleanups - imx074 and mt9t031: don't depend on soc_camera anymore, being promoted from staging - added helper functions to better support DVB I2C binding - lots of driver improvements and cleanups * tag 'media/v4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (438 commits) media: v4l2-ioctl: rename a temp var that stores _IOC_SIZE(cmd) media: fimc-capture: get rid of two warnings media: dvb-usb-v2: fix a missing dependency of I2C_MUX media: uvc: to the right check at uvc_ioctl_enum_framesizes() media: cec-core: fix a bug at cec_error_inj_write() media: tda9840: cleanup a warning media: tm6000: avoid casting just to print pointer address media: em28xx-input: improve error handling code media: zr364xx: avoid casting just to print pointer address media: vivid-radio-rx: add a cast to avoid a warning media: saa7134-alsa: don't use casts to print a buffer address media: solo6x10: get rid of an address space warning media: zoran: don't cast pointers to print them media: ir-kbd-i2c: change the if logic to avoid a warning media: ir-kbd-i2c: improve error handling code media: saa7134-input: improve error handling media: s2255drv: fix a casting warning media: ivtvfb: Cleanup some warnings media: videobuf-dma-sg: Fix a weird cast soc_camera: fix a weird cast on printk ...
Diffstat (limited to 'drivers/media/v4l2-core/tuner-core.c')
-rw-r--r--drivers/media/v4l2-core/tuner-core.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/media/v4l2-core/tuner-core.c b/drivers/media/v4l2-core/tuner-core.c
index 82852f23a3b6..7f858c39753c 100644
--- a/drivers/media/v4l2-core/tuner-core.c
+++ b/drivers/media/v4l2-core/tuner-core.c
@@ -1099,23 +1099,14 @@ static int tuner_s_radio(struct v4l2_subdev *sd)
1099 */ 1099 */
1100 1100
1101/** 1101/**
1102 * tuner_s_power - controls the power state of the tuner 1102 * tuner_standby - places the tuner in standby mode
1103 * @sd: pointer to struct v4l2_subdev 1103 * @sd: pointer to struct v4l2_subdev
1104 * @on: a zero value puts the tuner to sleep, non-zero wakes it up
1105 */ 1104 */
1106static int tuner_s_power(struct v4l2_subdev *sd, int on) 1105static int tuner_standby(struct v4l2_subdev *sd)
1107{ 1106{
1108 struct tuner *t = to_tuner(sd); 1107 struct tuner *t = to_tuner(sd);
1109 struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops; 1108 struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops;
1110 1109
1111 if (on) {
1112 if (t->standby && set_mode(t, t->mode) == 0) {
1113 dprintk("Waking up tuner\n");
1114 set_freq(t, 0);
1115 }
1116 return 0;
1117 }
1118
1119 dprintk("Putting tuner to sleep\n"); 1110 dprintk("Putting tuner to sleep\n");
1120 t->standby = true; 1111 t->standby = true;
1121 if (analog_ops->standby) 1112 if (analog_ops->standby)
@@ -1328,10 +1319,10 @@ static int tuner_command(struct i2c_client *client, unsigned cmd, void *arg)
1328 1319
1329static const struct v4l2_subdev_core_ops tuner_core_ops = { 1320static const struct v4l2_subdev_core_ops tuner_core_ops = {
1330 .log_status = tuner_log_status, 1321 .log_status = tuner_log_status,
1331 .s_power = tuner_s_power,
1332}; 1322};
1333 1323
1334static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = { 1324static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = {
1325 .standby = tuner_standby,
1335 .s_radio = tuner_s_radio, 1326 .s_radio = tuner_s_radio,
1336 .g_tuner = tuner_g_tuner, 1327 .g_tuner = tuner_g_tuner,
1337 .s_tuner = tuner_s_tuner, 1328 .s_tuner = tuner_s_tuner,