diff options
Diffstat (limited to 'drivers/media/video/cx23885')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 20 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 4 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885.h | 2 |
3 files changed, 15 insertions, 11 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index c36d3f632104..e5e688e5e4b0 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -319,13 +319,9 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data) | |||
319 | dev->name, tv.model); | 319 | dev->name, tv.model); |
320 | } | 320 | } |
321 | 321 | ||
322 | /* Tuner callback function for cx23885 boards. Currently only needed | 322 | static int cx23885_tuner_callback(struct cx23885_dev *dev, int port, |
323 | * for HVR1500Q, which has an xc5000 tuner. | 323 | int command, int arg) |
324 | */ | ||
325 | int cx23885_tuner_callback(void *priv, int command, int arg) | ||
326 | { | 324 | { |
327 | struct cx23885_i2c *bus = priv; | ||
328 | struct cx23885_dev *dev = bus->dev; | ||
329 | u32 bitmask = 0; | 325 | u32 bitmask = 0; |
330 | 326 | ||
331 | if (command != 0) { | 327 | if (command != 0) { |
@@ -345,9 +341,9 @@ int cx23885_tuner_callback(void *priv, int command, int arg) | |||
345 | 341 | ||
346 | /* Two identical tuners on two different i2c buses, | 342 | /* Two identical tuners on two different i2c buses, |
347 | * we need to reset the correct gpio. */ | 343 | * we need to reset the correct gpio. */ |
348 | if (bus->nr == 0) | 344 | if (port == 0) |
349 | bitmask = 0x01; | 345 | bitmask = 0x01; |
350 | else if (bus->nr == 1) | 346 | else if (port == 1) |
351 | bitmask = 0x04; | 347 | bitmask = 0x04; |
352 | } | 348 | } |
353 | break; | 349 | break; |
@@ -363,6 +359,14 @@ int cx23885_tuner_callback(void *priv, int command, int arg) | |||
363 | return 0; | 359 | return 0; |
364 | } | 360 | } |
365 | 361 | ||
362 | int cx23885_xc5000_tuner_callback(void *priv, int command, int arg) | ||
363 | { | ||
364 | struct cx23885_i2c *bus = priv; | ||
365 | struct cx23885_dev *dev = bus->dev; | ||
366 | |||
367 | return cx23885_tuner_callback(dev, bus->nr, command, arg); | ||
368 | } | ||
369 | |||
366 | void cx23885_gpio_setup(struct cx23885_dev *dev) | 370 | void cx23885_gpio_setup(struct cx23885_dev *dev) |
367 | { | 371 | { |
368 | switch(dev->board) { | 372 | switch(dev->board) { |
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 291b9d008da8..bfe49df3f6dd 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -188,13 +188,13 @@ static struct s5h1411_config dvico_s5h1411_config = { | |||
188 | static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { | 188 | static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { |
189 | .i2c_address = 0x61, | 189 | .i2c_address = 0x61, |
190 | .if_khz = 5380, | 190 | .if_khz = 5380, |
191 | .tuner_callback = cx23885_tuner_callback | 191 | .tuner_callback = cx23885_xc5000_tuner_callback, |
192 | }; | 192 | }; |
193 | 193 | ||
194 | static struct xc5000_config dvico_xc5000_tunerconfig = { | 194 | static struct xc5000_config dvico_xc5000_tunerconfig = { |
195 | .i2c_address = 0x64, | 195 | .i2c_address = 0x64, |
196 | .if_khz = 5380, | 196 | .if_khz = 5380, |
197 | .tuner_callback = cx23885_tuner_callback | 197 | .tuner_callback = cx23885_xc5000_tuner_callback, |
198 | }; | 198 | }; |
199 | 199 | ||
200 | static struct tda829x_config tda829x_no_probe = { | 200 | static struct tda829x_config tda829x_no_probe = { |
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h index e23d97c071e0..c3478b24012a 100644 --- a/drivers/media/video/cx23885/cx23885.h +++ b/drivers/media/video/cx23885/cx23885.h | |||
@@ -409,7 +409,7 @@ extern const unsigned int cx23885_bcount; | |||
409 | extern struct cx23885_subid cx23885_subids[]; | 409 | extern struct cx23885_subid cx23885_subids[]; |
410 | extern const unsigned int cx23885_idcount; | 410 | extern const unsigned int cx23885_idcount; |
411 | 411 | ||
412 | extern int cx23885_tuner_callback(void *priv, int command, int arg); | 412 | extern int cx23885_xc5000_tuner_callback(void *priv, int command, int arg); |
413 | extern void cx23885_card_list(struct cx23885_dev *dev); | 413 | extern void cx23885_card_list(struct cx23885_dev *dev); |
414 | extern int cx23885_ir_init(struct cx23885_dev *dev); | 414 | extern int cx23885_ir_init(struct cx23885_dev *dev); |
415 | extern void cx23885_gpio_setup(struct cx23885_dev *dev); | 415 | extern void cx23885_gpio_setup(struct cx23885_dev *dev); |