diff options
Diffstat (limited to 'drivers/media/usb/dvb-usb/cxusb.c')
| -rw-r--r-- | drivers/media/usb/dvb-usb/cxusb.c | 99 |
1 files changed, 28 insertions, 71 deletions
diff --git a/drivers/media/usb/dvb-usb/cxusb.c b/drivers/media/usb/dvb-usb/cxusb.c index 761992ad05e2..d0501c1e81d6 100644 --- a/drivers/media/usb/dvb-usb/cxusb.c +++ b/drivers/media/usb/dvb-usb/cxusb.c @@ -35,7 +35,7 @@ #include "mt352.h" #include "mt352_priv.h" #include "zl10353.h" -#include "tuner-xc2028.h" +#include "xc2028.h" #include "tuner-simple.h" #include "mxl5005s.h" #include "max2165.h" @@ -78,7 +78,7 @@ enum cxusb_table_index { NR__cxusb_table_index }; -static struct usb_device_id cxusb_table[]; +static const struct usb_device_id cxusb_table[]; int cxusb_ctrl_msg(struct dvb_usb_device *d, u8 cmd, const u8 *wbuf, int wlen, u8 *rbuf, int rlen) @@ -119,9 +119,8 @@ static void cxusb_gpio_tuner(struct dvb_usb_device *d, int onoff) o[0] = GPIO_TUNER; o[1] = onoff; - cxusb_ctrl_msg(d, CMD_GPIO_WRITE, o, 2, &i, 1); - if (i != 0x01) + if (!cxusb_ctrl_msg(d, CMD_GPIO_WRITE, o, 2, &i, 1) && i != 0x01) dev_info(&d->udev->dev, "gpio_write failed.\n"); st->gpio_write_state[GPIO_TUNER] = onoff; @@ -287,7 +286,7 @@ static u32 cxusb_i2c_func(struct i2c_adapter *adapter) return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; } -static struct i2c_algorithm cxusb_i2c_algo = { +static const struct i2c_algorithm cxusb_i2c_algo = { .master_xfer = cxusb_i2c_xfer, .functionality = cxusb_i2c_func, }; @@ -1692,72 +1691,30 @@ static void cxusb_disconnect(struct usb_interface *intf) dvb_usb_device_exit(intf); } -static struct usb_device_id cxusb_table[NR__cxusb_table_index + 1] = { - [MEDION_MD95700] = { - USB_DEVICE(USB_VID_MEDION, USB_PID_MEDION_MD95700) - }, - [DVICO_BLUEBIRD_LG064F_COLD] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_COLD) - }, - [DVICO_BLUEBIRD_LG064F_WARM] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_WARM) - }, - [DVICO_BLUEBIRD_DUAL_1_COLD] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_COLD) - }, - [DVICO_BLUEBIRD_DUAL_1_WARM] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_WARM) - }, - [DVICO_BLUEBIRD_LGZ201_COLD] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_COLD) - }, - [DVICO_BLUEBIRD_LGZ201_WARM] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_WARM) - }, - [DVICO_BLUEBIRD_TH7579_COLD] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_COLD) - }, - [DVICO_BLUEBIRD_TH7579_WARM] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_WARM) - }, - [DIGITALNOW_BLUEBIRD_DUAL_1_COLD] = { - USB_DEVICE(USB_VID_DVICO, - USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_COLD) - }, - [DIGITALNOW_BLUEBIRD_DUAL_1_WARM] = { - USB_DEVICE(USB_VID_DVICO, - USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_WARM) - }, - [DVICO_BLUEBIRD_DUAL_2_COLD] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_COLD) - }, - [DVICO_BLUEBIRD_DUAL_2_WARM] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_WARM) - }, - [DVICO_BLUEBIRD_DUAL_4] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4) - }, - [DVICO_BLUEBIRD_DVB_T_NANO_2] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2) - }, - [DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM] = { - USB_DEVICE(USB_VID_DVICO, - USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM) - }, - [AVERMEDIA_VOLAR_A868R] = { - USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_VOLAR_A868R) - }, - [DVICO_BLUEBIRD_DUAL_4_REV_2] = { - USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4_REV_2) - }, - [CONEXANT_D680_DMB] = { - USB_DEVICE(USB_VID_CONEXANT, USB_PID_CONEXANT_D680_DMB) - }, - [MYGICA_D689] = { - USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_D689) - }, - {} /* Terminating entry */ +static const struct usb_device_id cxusb_table[] = { + DVB_USB_DEV(MEDION, MEDION_MD95700), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LG064F_COLD), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LG064F_WARM), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_1_COLD), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_1_WARM), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LGZ201_COLD), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LGZ201_WARM), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_TH7579_COLD), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_TH7579_WARM), + DVB_USB_DEV(DVICO, DIGITALNOW_BLUEBIRD_DUAL_1_COLD), + DVB_USB_DEV(DVICO, DIGITALNOW_BLUEBIRD_DUAL_1_WARM), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_2_COLD), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_2_WARM), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_4), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DVB_T_NANO_2), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM), + DVB_USB_DEV(AVERMEDIA, AVERMEDIA_VOLAR_A868R), + DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_DUAL_4_REV_2), + DVB_USB_DEV(CONEXANT, CONEXANT_D680_DMB), + DVB_USB_DEV(CONEXANT, MYGICA_D689), + { } }; + MODULE_DEVICE_TABLE(usb, cxusb_table); static struct dvb_usb_device_properties cxusb_medion_properties = { @@ -1947,7 +1904,7 @@ static struct dvb_usb_device_properties cxusb_bluebird_lgz201_properties = { .size_of_priv = sizeof(struct cxusb_state), - .num_adapters = 2, + .num_adapters = 1, .adapter = { { .num_frontends = 1, |
