aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/v4l2-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/v4l2-common.c')
-rw-r--r--drivers/media/video/v4l2-common.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
index 0f450a73477a..26e162f13f7f 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -991,4 +991,40 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter,
991} 991}
992EXPORT_SYMBOL_GPL(v4l2_i2c_new_probed_subdev); 992EXPORT_SYMBOL_GPL(v4l2_i2c_new_probed_subdev);
993 993
994/* Return a list of I2C tuner addresses to probe. Use only if the tuner
995 addresses are unknown. */
996const unsigned short *v4l2_i2c_tuner_addrs(enum v4l2_i2c_tuner_type type)
997{
998 static const unsigned short radio_addrs[] = {
999#if defined(CONFIG_MEDIA_TUNER_TEA5761) || defined(CONFIG_MEDIA_TUNER_TEA5761_MODULE)
1000 0x10,
1001#endif
1002 0x60,
1003 I2C_CLIENT_END
1004 };
1005 static const unsigned short demod_addrs[] = {
1006 0x42, 0x43, 0x4a, 0x4b,
1007 I2C_CLIENT_END
1008 };
1009 static const unsigned short tv_addrs[] = {
1010 0x42, 0x43, 0x4a, 0x4b, /* tda8290 */
1011 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1012 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1013 I2C_CLIENT_END
1014 };
1015
1016 switch (type) {
1017 case ADDRS_RADIO:
1018 return radio_addrs;
1019 case ADDRS_DEMOD:
1020 return demod_addrs;
1021 case ADDRS_TV:
1022 return tv_addrs;
1023 case ADDRS_TV_WITH_DEMOD:
1024 return tv_addrs + 4;
1025 }
1026 return NULL;
1027}
1028EXPORT_SYMBOL_GPL(v4l2_i2c_tuner_addrs);
1029
994#endif 1030#endif