summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/bt8xx/bttv-cards.c15
-rw-r--r--include/media/tvaudio.h19
2 files changed, 21 insertions, 13 deletions
diff --git a/drivers/media/video/bt8xx/bttv-cards.c b/drivers/media/video/bt8xx/bttv-cards.c
index 58fb93ee5500..fdb4adff3d28 100644
--- a/drivers/media/video/bt8xx/bttv-cards.c
+++ b/drivers/media/video/bt8xx/bttv-cards.c
@@ -3324,17 +3324,6 @@ void __devinit bttv_init_card1(struct bttv *btv)
 /* initialization part two -- after registering i2c bus */
 void __devinit bttv_init_card2(struct bttv *btv)
 {
-	static const unsigned short tvaudio_addrs[] = {
-		I2C_ADDR_TDA8425   >> 1,
-		I2C_ADDR_TEA6300   >> 1,
-		I2C_ADDR_TEA6420   >> 1,
-		I2C_ADDR_TDA9840   >> 1,
-		I2C_ADDR_TDA985x_L >> 1,
-		I2C_ADDR_TDA985x_H >> 1,
-		I2C_ADDR_TDA9874   >> 1,
-		I2C_ADDR_PIC16C54  >> 1,
-		I2C_CLIENT_END
-	};
 	int addr=ADDR_UNSET;
 
 	btv->tuner_type = UNSET;
@@ -3621,7 +3610,7 @@ void __devinit bttv_init_card2(struct bttv *btv)
 	case 3: {
 		/* The user specified that we should probe for tvaudio */
 		btv->sd_tvaudio = v4l2_i2c_new_probed_subdev(&btv->c.v4l2_dev,
-			&btv->c.i2c_adap, "tvaudio", "tvaudio", tvaudio_addrs);
+			&btv->c.i2c_adap, "tvaudio", "tvaudio", tvaudio_addrs());
 		if (btv->sd_tvaudio)
 			return;
 		goto no_audio;
@@ -3667,7 +3656,7 @@ void __devinit bttv_init_card2(struct bttv *btv)
 
 	/* Now see if we can find one of the tvaudio devices. */
 	btv->sd_tvaudio = v4l2_i2c_new_probed_subdev(&btv->c.v4l2_dev,
-		&btv->c.i2c_adap, "tvaudio", "tvaudio", tvaudio_addrs);
+		&btv->c.i2c_adap, "tvaudio", "tvaudio", tvaudio_addrs());
 	if (btv->sd_tvaudio)
 		return;
 
diff --git a/include/media/tvaudio.h b/include/media/tvaudio.h
index 6915aafc875a..1ac8184693f8 100644
--- a/include/media/tvaudio.h
+++ b/include/media/tvaudio.h
@@ -21,10 +21,29 @@
 #ifndef _TVAUDIO_H
 #define _TVAUDIO_H
 
+#include <media/i2c-addr.h>
+
 /* The tvaudio module accepts the following inputs: */
 #define TVAUDIO_INPUT_TUNER  0
 #define TVAUDIO_INPUT_RADIO  1
 #define TVAUDIO_INPUT_EXTERN 2
 #define TVAUDIO_INPUT_INTERN 3
 
+static inline const unsigned short *tvaudio_addrs(void)
+{
+	static const unsigned short addrs[] = {
+		I2C_ADDR_TDA8425   >> 1,
+		I2C_ADDR_TEA6300   >> 1,
+		I2C_ADDR_TEA6420   >> 1,
+		I2C_ADDR_TDA9840   >> 1,
+		I2C_ADDR_TDA985x_L >> 1,
+		I2C_ADDR_TDA985x_H >> 1,
+		I2C_ADDR_TDA9874   >> 1,
+		I2C_ADDR_PIC16C54  >> 1,
+		I2C_CLIENT_END
+	};
+
+	return addrs;
+}
+
 #endif