aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx23885')
-rw-r--r--drivers/media/video/cx23885/cx23885-cards.c20
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c4
-rw-r--r--drivers/media/video/cx23885/cx23885.h2
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 322static int cx23885_tuner_callback(struct cx23885_dev *dev, int port,
323 * for HVR1500Q, which has an xc5000 tuner. 323 int command, int arg)
324 */
325int 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
362int 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
366void cx23885_gpio_setup(struct cx23885_dev *dev) 370void 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 = {
188static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { 188static 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
194static struct xc5000_config dvico_xc5000_tunerconfig = { 194static 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
200static struct tda829x_config tda829x_no_probe = { 200static 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;
409extern struct cx23885_subid cx23885_subids[]; 409extern struct cx23885_subid cx23885_subids[];
410extern const unsigned int cx23885_idcount; 410extern const unsigned int cx23885_idcount;
411 411
412extern int cx23885_tuner_callback(void *priv, int command, int arg); 412extern int cx23885_xc5000_tuner_callback(void *priv, int command, int arg);
413extern void cx23885_card_list(struct cx23885_dev *dev); 413extern void cx23885_card_list(struct cx23885_dev *dev);
414extern int cx23885_ir_init(struct cx23885_dev *dev); 414extern int cx23885_ir_init(struct cx23885_dev *dev);
415extern void cx23885_gpio_setup(struct cx23885_dev *dev); 415extern void cx23885_gpio_setup(struct cx23885_dev *dev);