diff options
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-i2c.c | 27 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 7 |
2 files changed, 20 insertions, 14 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-i2c.c b/linux/drivers/media/video/cx88/cx88-i2c.c index e88e9aaeb..7f1f4a6c5 100644 --- a/linux/drivers/media/video/cx88/cx88-i2c.c +++ b/linux/drivers/media/video/cx88/cx88-i2c.c @@ -1,5 +1,5 @@ /* - $Id: cx88-i2c.c,v 1.26 2005/07/02 15:24:11 nsh Exp $ + $Id: cx88-i2c.c,v 1.27 2005/07/03 13:41:38 mchehab Exp $ cx88-i2c.c -- all the i2c code is here @@ -94,26 +94,29 @@ static int attach_inform(struct i2c_client *client) struct tuner_addr tun_addr; struct cx88_core *core = i2c_get_adapdata(client->adapter); - dprintk(1, "i2c attach [addr=0x%x,client=%s]\n", - client->addr, i2c_clientname(client)); + dprintk(1, "%s i2c attach [addr=0x%x,client=%s]\n", + client->driver->name,client->addr,i2c_clientname(client)); if (!client->driver->command) return 0; if (core->radio_type != UNSET) { + if ((core->radio_addr==ADDR_UNSET)||(core->radio_addr==client->addr)) { + tun_addr.state = T_RADIO; + tun_addr.type = core->radio_type; + tun_addr.addr = core->radio_addr; - tun_addr.state = T_RADIO; - tun_addr.type = core->radio_type; - tun_addr.addr = core->radio_addr; - - client->driver->command(client,TUNER_SET_TYPE_ADDR, &tun_addr); + client->driver->command(client,TUNER_SET_TYPE_ADDR, &tun_addr); + } } if (core->tuner_type != UNSET) { + if ((core->tuner_addr==ADDR_UNSET)||(core->tuner_addr==client->addr)) { - tun_addr.state = T_ANALOG_TV; - tun_addr.type = core->tuner_type; - tun_addr.addr = core->tuner_addr; + tun_addr.state = T_ANALOG_TV; + tun_addr.type = core->tuner_type; + tun_addr.addr = core->tuner_addr; - client->driver->command(client,TUNER_SET_TYPE_ADDR, &tun_addr); + client->driver->command(client,TUNER_SET_TYPE_ADDR, &tun_addr); + } } if (core->tda9887_conf) diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c index 38609f609..5110ac203 100644 --- a/linux/drivers/media/video/cx88/cx88-video.c +++ b/linux/drivers/media/video/cx88/cx88-video.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-video.c,v 1.73 2005/07/02 15:24:11 nsh Exp $ + * $Id: cx88-video.c,v 1.74 2005/07/03 13:41:38 mchehab Exp $ * * device driver for Conexant 2388x based TV cards * video4linux video interface @@ -2020,7 +2020,9 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev, { struct cx8800_dev *dev; struct cx88_core *core; +#if 0 struct tuner_addr tun_addr; +#endif int err; dev = kmalloc(sizeof(*dev),GFP_KERNEL); @@ -2094,6 +2096,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev, request_module("tuner"); if (core->tda9887_conf) request_module("tda9887"); +#if 0 /* cx88-i2c has already this function */ if (core->radio_type != UNSET) { tun_addr.state = T_RADIO; tun_addr.type = core->radio_type; @@ -2111,7 +2114,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev, if (core->tda9887_conf) cx88_call_i2c_clients(dev->core,TDA9887_SET_CONFIG,&core->tda9887_conf); - +#endif /* register v4l devices */ dev->video_dev = cx88_vdev_init(core,dev->pci, &cx8800_video_template,"video"); |