aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/tuners/Kconfig2
-rw-r--r--drivers/media/tuners/e4000.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/tuners/Kconfig b/drivers/media/tuners/Kconfig
index 85c0d96439a5..a1284889cd15 100644
--- a/drivers/media/tuners/Kconfig
+++ b/drivers/media/tuners/Kconfig
@@ -203,7 +203,7 @@ config MEDIA_TUNER_TDA18212
203 203
204config MEDIA_TUNER_E4000 204config MEDIA_TUNER_E4000
205 tristate "Elonics E4000 silicon tuner" 205 tristate "Elonics E4000 silicon tuner"
206 depends on MEDIA_SUPPORT && I2C && VIDEO_V4L2 206 depends on MEDIA_SUPPORT && I2C
207 select REGMAP_I2C 207 select REGMAP_I2C
208 default m if !MEDIA_SUBDRV_AUTOSELECT 208 default m if !MEDIA_SUBDRV_AUTOSELECT
209 help 209 help
diff --git a/drivers/media/tuners/e4000.c b/drivers/media/tuners/e4000.c
index 67ecf1bbfa1f..90d93348f20c 100644
--- a/drivers/media/tuners/e4000.c
+++ b/drivers/media/tuners/e4000.c
@@ -269,6 +269,7 @@ static int e4000_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
269 return 0; 269 return 0;
270} 270}
271 271
272#if IS_ENABLED(CONFIG_VIDEO_V4L2)
272static int e4000_set_lna_gain(struct dvb_frontend *fe) 273static int e4000_set_lna_gain(struct dvb_frontend *fe)
273{ 274{
274 struct e4000 *s = fe->tuner_priv; 275 struct e4000 *s = fe->tuner_priv;
@@ -456,6 +457,7 @@ static const struct v4l2_ctrl_ops e4000_ctrl_ops = {
456 .g_volatile_ctrl = e4000_g_volatile_ctrl, 457 .g_volatile_ctrl = e4000_g_volatile_ctrl,
457 .s_ctrl = e4000_s_ctrl, 458 .s_ctrl = e4000_s_ctrl,
458}; 459};
460#endif
459 461
460static const struct dvb_tuner_ops e4000_tuner_ops = { 462static const struct dvb_tuner_ops e4000_tuner_ops = {
461 .info = { 463 .info = {
@@ -522,6 +524,7 @@ static int e4000_probe(struct i2c_client *client,
522 if (ret) 524 if (ret)
523 goto err; 525 goto err;
524 526
527#if IS_ENABLED(CONFIG_VIDEO_V4L2)
525 /* Register controls */ 528 /* Register controls */
526 v4l2_ctrl_handler_init(&s->hdl, 9); 529 v4l2_ctrl_handler_init(&s->hdl, 9);
527 s->bandwidth_auto = v4l2_ctrl_new_std(&s->hdl, &e4000_ctrl_ops, 530 s->bandwidth_auto = v4l2_ctrl_new_std(&s->hdl, &e4000_ctrl_ops,
@@ -554,6 +557,7 @@ static int e4000_probe(struct i2c_client *client,
554 } 557 }
555 558
556 s->sd.ctrl_handler = &s->hdl; 559 s->sd.ctrl_handler = &s->hdl;
560#endif
557 561
558 dev_info(&s->client->dev, 562 dev_info(&s->client->dev,
559 "%s: Elonics E4000 successfully identified\n", 563 "%s: Elonics E4000 successfully identified\n",
@@ -584,7 +588,9 @@ static int e4000_remove(struct i2c_client *client)
584 588
585 dev_dbg(&client->dev, "%s:\n", __func__); 589 dev_dbg(&client->dev, "%s:\n", __func__);
586 590
591#if IS_ENABLED(CONFIG_VIDEO_V4L2)
587 v4l2_ctrl_handler_free(&s->hdl); 592 v4l2_ctrl_handler_free(&s->hdl);
593#endif
588 memset(&fe->ops.tuner_ops, 0, sizeof(struct dvb_tuner_ops)); 594 memset(&fe->ops.tuner_ops, 0, sizeof(struct dvb_tuner_ops));
589 fe->tuner_priv = NULL; 595 fe->tuner_priv = NULL;
590 kfree(s); 596 kfree(s);