aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tvaudio.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
index ee6aca4ccd9f..5ec369d54e6e 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -112,8 +112,9 @@ static struct CHIPDESC chiplist[];
112struct CHIPSTATE { 112struct CHIPSTATE {
113 struct i2c_client *c; 113 struct i2c_client *c;
114 114
115 /* index into CHIPDESC array */ 115 /* chip-specific description - should point to
116 int type; 116 an entry at CHIPDESC table */
117 struct CHIPDESC *desc;
117 118
118 /* shadow register set */ 119 /* shadow register set */
119 audiocmd shadow; 120 audiocmd shadow;
@@ -264,7 +265,7 @@ static void chip_thread_wake(unsigned long data)
264static int chip_thread(void *data) 265static int chip_thread(void *data)
265{ 266{
266 struct CHIPSTATE *chip = data; 267 struct CHIPSTATE *chip = data;
267 struct CHIPDESC *desc = chiplist + chip->type; 268 struct CHIPDESC *desc = chip->desc;
268 int mode; 269 int mode;
269 270
270 v4l_dbg(1, debug, chip->c, "%s: thread started\n", chip->c->name); 271 v4l_dbg(1, debug, chip->c, "%s: thread started\n", chip->c->name);
@@ -1087,7 +1088,7 @@ static int tda8425_shift12(int val) { return (val >> 12) | 0xf0; }
1087 1088
1088static int tda8425_initialize(struct CHIPSTATE *chip) 1089static int tda8425_initialize(struct CHIPSTATE *chip)
1089{ 1090{
1090 struct CHIPDESC *desc = chiplist + chip->type; 1091 struct CHIPDESC *desc = chip->desc;
1091 int inputmap[4] = { /* tuner */ TDA8425_S1_CH2, /* radio */ TDA8425_S1_CH1, 1092 int inputmap[4] = { /* tuner */ TDA8425_S1_CH2, /* radio */ TDA8425_S1_CH1,
1092 /* extern */ TDA8425_S1_CH1, /* intern */ TDA8425_S1_OFF}; 1093 /* extern */ TDA8425_S1_CH1, /* intern */ TDA8425_S1_OFF};
1093 1094
@@ -1503,7 +1504,7 @@ static int chip_probe(struct i2c_client *client, const struct i2c_device_id *id)
1503 /* fill required data structures */ 1504 /* fill required data structures */
1504 if (!id) 1505 if (!id)
1505 strlcpy(client->name, desc->name, I2C_NAME_SIZE); 1506 strlcpy(client->name, desc->name, I2C_NAME_SIZE);
1506 chip->type = desc-chiplist; 1507 chip->desc = desc;
1507 chip->shadow.count = desc->registers+1; 1508 chip->shadow.count = desc->registers+1;
1508 chip->prevmode = -1; 1509 chip->prevmode = -1;
1509 chip->audmode = V4L2_TUNER_MODE_LANG1; 1510 chip->audmode = V4L2_TUNER_MODE_LANG1;
@@ -1590,7 +1591,7 @@ static int chip_remove(struct i2c_client *client)
1590static int tvaudio_get_ctrl(struct CHIPSTATE *chip, 1591static int tvaudio_get_ctrl(struct CHIPSTATE *chip,
1591 struct v4l2_control *ctrl) 1592 struct v4l2_control *ctrl)
1592{ 1593{
1593 struct CHIPDESC *desc = chiplist + chip->type; 1594 struct CHIPDESC *desc = chip->desc;
1594 1595
1595 switch (ctrl->id) { 1596 switch (ctrl->id) {
1596 case V4L2_CID_AUDIO_MUTE: 1597 case V4L2_CID_AUDIO_MUTE:
@@ -1630,7 +1631,7 @@ static int tvaudio_get_ctrl(struct CHIPSTATE *chip,
1630static int tvaudio_set_ctrl(struct CHIPSTATE *chip, 1631static int tvaudio_set_ctrl(struct CHIPSTATE *chip,
1631 struct v4l2_control *ctrl) 1632 struct v4l2_control *ctrl)
1632{ 1633{
1633 struct CHIPDESC *desc = chiplist + chip->type; 1634 struct CHIPDESC *desc = chip->desc;
1634 1635
1635 switch (ctrl->id) { 1636 switch (ctrl->id) {
1636 case V4L2_CID_AUDIO_MUTE: 1637 case V4L2_CID_AUDIO_MUTE:
@@ -1706,7 +1707,7 @@ static int chip_command(struct i2c_client *client,
1706 unsigned int cmd, void *arg) 1707 unsigned int cmd, void *arg)
1707{ 1708{
1708 struct CHIPSTATE *chip = i2c_get_clientdata(client); 1709 struct CHIPSTATE *chip = i2c_get_clientdata(client);
1709 struct CHIPDESC *desc = chiplist + chip->type; 1710 struct CHIPDESC *desc = chip->desc;
1710 1711
1711 v4l_dbg(1, debug, chip->c, "%s: chip_command 0x%x\n", chip->c->name, cmd); 1712 v4l_dbg(1, debug, chip->c, "%s: chip_command 0x%x\n", chip->c->name, cmd);
1712 1713