diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/tvaudio.c | 17 |
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[]; | |||
112 | struct CHIPSTATE { | 112 | struct 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) | |||
264 | static int chip_thread(void *data) | 265 | static 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 | ||
1088 | static int tda8425_initialize(struct CHIPSTATE *chip) | 1089 | static 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) | |||
1590 | static int tvaudio_get_ctrl(struct CHIPSTATE *chip, | 1591 | static 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, | |||
1630 | static int tvaudio_set_ctrl(struct CHIPSTATE *chip, | 1631 | static 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 | ||