diff options
author | David Howells <dhowells@redhat.com> | 2015-02-17 09:30:34 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-04-08 11:36:37 -0400 |
commit | 974e08d8f02fdfc97915054d8e0c7d3cbe6b9e6e (patch) | |
tree | 1192e5587d74ed8b8e4b2e2350f01ab97789ae1a | |
parent | 67a260f1eb5020888b157794007b4bdabdd85898 (diff) |
[media] cxusb: Use enum to represent table offsets rather than hard-coding numbers
Use enum to represent table offsets rather than hard-coding numbers to avoid
problems with the numbers becoming out of sync with the table.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/usb/dvb-usb/cxusb.c | 155 |
1 files changed, 111 insertions, 44 deletions
diff --git a/drivers/media/usb/dvb-usb/cxusb.c b/drivers/media/usb/dvb-usb/cxusb.c index f327c49d7e09..ffc3704abded 100644 --- a/drivers/media/usb/dvb-usb/cxusb.c +++ b/drivers/media/usb/dvb-usb/cxusb.c | |||
@@ -1516,28 +1516,95 @@ static void cxusb_disconnect(struct usb_interface *intf) | |||
1516 | dvb_usb_device_exit(intf); | 1516 | dvb_usb_device_exit(intf); |
1517 | } | 1517 | } |
1518 | 1518 | ||
1519 | static struct usb_device_id cxusb_table [] = { | 1519 | enum cxusb_table_index { |
1520 | { USB_DEVICE(USB_VID_MEDION, USB_PID_MEDION_MD95700) }, | 1520 | MEDION_MD95700, |
1521 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_COLD) }, | 1521 | DVICO_BLUEBIRD_LG064F_COLD, |
1522 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_WARM) }, | 1522 | DVICO_BLUEBIRD_LG064F_WARM, |
1523 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_COLD) }, | 1523 | DVICO_BLUEBIRD_DUAL_1_COLD, |
1524 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_WARM) }, | 1524 | DVICO_BLUEBIRD_DUAL_1_WARM, |
1525 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_COLD) }, | 1525 | DVICO_BLUEBIRD_LGZ201_COLD, |
1526 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_WARM) }, | 1526 | DVICO_BLUEBIRD_LGZ201_WARM, |
1527 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_COLD) }, | 1527 | DVICO_BLUEBIRD_TH7579_COLD, |
1528 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_WARM) }, | 1528 | DVICO_BLUEBIRD_TH7579_WARM, |
1529 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_COLD) }, | 1529 | DIGITALNOW_BLUEBIRD_DUAL_1_COLD, |
1530 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_WARM) }, | 1530 | DIGITALNOW_BLUEBIRD_DUAL_1_WARM, |
1531 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_COLD) }, | 1531 | DVICO_BLUEBIRD_DUAL_2_COLD, |
1532 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_WARM) }, | 1532 | DVICO_BLUEBIRD_DUAL_2_WARM, |
1533 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4) }, | 1533 | DVICO_BLUEBIRD_DUAL_4, |
1534 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2) }, | 1534 | DVICO_BLUEBIRD_DVB_T_NANO_2, |
1535 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM) }, | 1535 | DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM, |
1536 | { USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_VOLAR_A868R) }, | 1536 | AVERMEDIA_VOLAR_A868R, |
1537 | { USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4_REV_2) }, | 1537 | DVICO_BLUEBIRD_DUAL_4_REV_2, |
1538 | { USB_DEVICE(USB_VID_CONEXANT, USB_PID_CONEXANT_D680_DMB) }, | 1538 | CONEXANT_D680_DMB, |
1539 | { USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_D689) }, | 1539 | MYGICA_D689, |
1540 | { USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230) }, | 1540 | MYGICA_T230, |
1541 | NR__cxusb_table_index | ||
1542 | }; | ||
1543 | |||
1544 | static struct usb_device_id cxusb_table[NR__cxusb_table_index + 1] = { | ||
1545 | [MEDION_MD95700] = { | ||
1546 | USB_DEVICE(USB_VID_MEDION, USB_PID_MEDION_MD95700) | ||
1547 | }, | ||
1548 | [DVICO_BLUEBIRD_LG064F_COLD] = { | ||
1549 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_COLD) | ||
1550 | }, | ||
1551 | [DVICO_BLUEBIRD_LG064F_WARM] = { | ||
1552 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LG064F_WARM) | ||
1553 | }, | ||
1554 | [DVICO_BLUEBIRD_DUAL_1_COLD] = { | ||
1555 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_COLD) | ||
1556 | }, | ||
1557 | [DVICO_BLUEBIRD_DUAL_1_WARM] = { | ||
1558 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_1_WARM) | ||
1559 | }, | ||
1560 | [DVICO_BLUEBIRD_LGZ201_COLD] = { | ||
1561 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_COLD) | ||
1562 | }, | ||
1563 | [DVICO_BLUEBIRD_LGZ201_WARM] = { | ||
1564 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_LGZ201_WARM) | ||
1565 | }, | ||
1566 | [DVICO_BLUEBIRD_TH7579_COLD] = { | ||
1567 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_COLD) | ||
1568 | }, | ||
1569 | [DVICO_BLUEBIRD_TH7579_WARM] = { | ||
1570 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_TH7579_WARM) | ||
1571 | }, | ||
1572 | [DIGITALNOW_BLUEBIRD_DUAL_1_COLD] = { | ||
1573 | USB_DEVICE(USB_VID_DVICO, USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_COLD) | ||
1574 | }, | ||
1575 | [DIGITALNOW_BLUEBIRD_DUAL_1_WARM] = { | ||
1576 | USB_DEVICE(USB_VID_DVICO, USB_PID_DIGITALNOW_BLUEBIRD_DUAL_1_WARM) | ||
1577 | }, | ||
1578 | [DVICO_BLUEBIRD_DUAL_2_COLD] = { | ||
1579 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_COLD) | ||
1580 | }, | ||
1581 | [DVICO_BLUEBIRD_DUAL_2_WARM] = { | ||
1582 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_2_WARM) | ||
1583 | }, | ||
1584 | [DVICO_BLUEBIRD_DUAL_4] = { | ||
1585 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4) | ||
1586 | }, | ||
1587 | [DVICO_BLUEBIRD_DVB_T_NANO_2] = { | ||
1588 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2) | ||
1589 | }, | ||
1590 | [DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM] = { | ||
1591 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM) | ||
1592 | }, | ||
1593 | [AVERMEDIA_VOLAR_A868R] = { | ||
1594 | USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_VOLAR_A868R) | ||
1595 | }, | ||
1596 | [DVICO_BLUEBIRD_DUAL_4_REV_2] = { | ||
1597 | USB_DEVICE(USB_VID_DVICO, USB_PID_DVICO_BLUEBIRD_DUAL_4_REV_2) | ||
1598 | }, | ||
1599 | [CONEXANT_D680_DMB] = { | ||
1600 | USB_DEVICE(USB_VID_CONEXANT, USB_PID_CONEXANT_D680_DMB) | ||
1601 | }, | ||
1602 | [MYGICA_D689] = { | ||
1603 | USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_D689) | ||
1604 | }, | ||
1605 | [MYGICA_T230] = { | ||
1606 | USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230) | ||
1607 | }, | ||
1541 | {} /* Terminating entry */ | 1608 | {} /* Terminating entry */ |
1542 | }; | 1609 | }; |
1543 | MODULE_DEVICE_TABLE (usb, cxusb_table); | 1610 | MODULE_DEVICE_TABLE (usb, cxusb_table); |
@@ -1581,7 +1648,7 @@ static struct dvb_usb_device_properties cxusb_medion_properties = { | |||
1581 | .devices = { | 1648 | .devices = { |
1582 | { "Medion MD95700 (MDUSBTV-HYBRID)", | 1649 | { "Medion MD95700 (MDUSBTV-HYBRID)", |
1583 | { NULL }, | 1650 | { NULL }, |
1584 | { &cxusb_table[0], NULL }, | 1651 | { &cxusb_table[MEDION_MD95700], NULL }, |
1585 | }, | 1652 | }, |
1586 | } | 1653 | } |
1587 | }; | 1654 | }; |
@@ -1637,8 +1704,8 @@ static struct dvb_usb_device_properties cxusb_bluebird_lgh064f_properties = { | |||
1637 | .num_device_descs = 1, | 1704 | .num_device_descs = 1, |
1638 | .devices = { | 1705 | .devices = { |
1639 | { "DViCO FusionHDTV5 USB Gold", | 1706 | { "DViCO FusionHDTV5 USB Gold", |
1640 | { &cxusb_table[1], NULL }, | 1707 | { &cxusb_table[DVICO_BLUEBIRD_LG064F_COLD], NULL }, |
1641 | { &cxusb_table[2], NULL }, | 1708 | { &cxusb_table[DVICO_BLUEBIRD_LG064F_WARM], NULL }, |
1642 | }, | 1709 | }, |
1643 | } | 1710 | } |
1644 | }; | 1711 | }; |
@@ -1693,16 +1760,16 @@ static struct dvb_usb_device_properties cxusb_bluebird_dee1601_properties = { | |||
1693 | .num_device_descs = 3, | 1760 | .num_device_descs = 3, |
1694 | .devices = { | 1761 | .devices = { |
1695 | { "DViCO FusionHDTV DVB-T Dual USB", | 1762 | { "DViCO FusionHDTV DVB-T Dual USB", |
1696 | { &cxusb_table[3], NULL }, | 1763 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_1_COLD], NULL }, |
1697 | { &cxusb_table[4], NULL }, | 1764 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_1_WARM], NULL }, |
1698 | }, | 1765 | }, |
1699 | { "DigitalNow DVB-T Dual USB", | 1766 | { "DigitalNow DVB-T Dual USB", |
1700 | { &cxusb_table[9], NULL }, | 1767 | { &cxusb_table[DIGITALNOW_BLUEBIRD_DUAL_1_COLD], NULL }, |
1701 | { &cxusb_table[10], NULL }, | 1768 | { &cxusb_table[DIGITALNOW_BLUEBIRD_DUAL_1_WARM], NULL }, |
1702 | }, | 1769 | }, |
1703 | { "DViCO FusionHDTV DVB-T Dual Digital 2", | 1770 | { "DViCO FusionHDTV DVB-T Dual Digital 2", |
1704 | { &cxusb_table[11], NULL }, | 1771 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_2_COLD], NULL }, |
1705 | { &cxusb_table[12], NULL }, | 1772 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_2_WARM], NULL }, |
1706 | }, | 1773 | }, |
1707 | } | 1774 | } |
1708 | }; | 1775 | }; |
@@ -1756,8 +1823,8 @@ static struct dvb_usb_device_properties cxusb_bluebird_lgz201_properties = { | |||
1756 | .num_device_descs = 1, | 1823 | .num_device_descs = 1, |
1757 | .devices = { | 1824 | .devices = { |
1758 | { "DViCO FusionHDTV DVB-T USB (LGZ201)", | 1825 | { "DViCO FusionHDTV DVB-T USB (LGZ201)", |
1759 | { &cxusb_table[5], NULL }, | 1826 | { &cxusb_table[DVICO_BLUEBIRD_LGZ201_COLD], NULL }, |
1760 | { &cxusb_table[6], NULL }, | 1827 | { &cxusb_table[DVICO_BLUEBIRD_LGZ201_WARM], NULL }, |
1761 | }, | 1828 | }, |
1762 | } | 1829 | } |
1763 | }; | 1830 | }; |
@@ -1812,8 +1879,8 @@ static struct dvb_usb_device_properties cxusb_bluebird_dtt7579_properties = { | |||
1812 | .num_device_descs = 1, | 1879 | .num_device_descs = 1, |
1813 | .devices = { | 1880 | .devices = { |
1814 | { "DViCO FusionHDTV DVB-T USB (TH7579)", | 1881 | { "DViCO FusionHDTV DVB-T USB (TH7579)", |
1815 | { &cxusb_table[7], NULL }, | 1882 | { &cxusb_table[DVICO_BLUEBIRD_TH7579_COLD], NULL }, |
1816 | { &cxusb_table[8], NULL }, | 1883 | { &cxusb_table[DVICO_BLUEBIRD_TH7579_WARM], NULL }, |
1817 | }, | 1884 | }, |
1818 | } | 1885 | } |
1819 | }; | 1886 | }; |
@@ -1865,7 +1932,7 @@ static struct dvb_usb_device_properties cxusb_bluebird_dualdig4_properties = { | |||
1865 | .devices = { | 1932 | .devices = { |
1866 | { "DViCO FusionHDTV DVB-T Dual Digital 4", | 1933 | { "DViCO FusionHDTV DVB-T Dual Digital 4", |
1867 | { NULL }, | 1934 | { NULL }, |
1868 | { &cxusb_table[13], NULL }, | 1935 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_4], NULL }, |
1869 | }, | 1936 | }, |
1870 | } | 1937 | } |
1871 | }; | 1938 | }; |
@@ -1918,7 +1985,7 @@ static struct dvb_usb_device_properties cxusb_bluebird_nano2_properties = { | |||
1918 | .devices = { | 1985 | .devices = { |
1919 | { "DViCO FusionHDTV DVB-T NANO2", | 1986 | { "DViCO FusionHDTV DVB-T NANO2", |
1920 | { NULL }, | 1987 | { NULL }, |
1921 | { &cxusb_table[14], NULL }, | 1988 | { &cxusb_table[DVICO_BLUEBIRD_DVB_T_NANO_2], NULL }, |
1922 | }, | 1989 | }, |
1923 | } | 1990 | } |
1924 | }; | 1991 | }; |
@@ -1972,8 +2039,8 @@ static struct dvb_usb_device_properties cxusb_bluebird_nano2_needsfirmware_prope | |||
1972 | .num_device_descs = 1, | 2039 | .num_device_descs = 1, |
1973 | .devices = { | 2040 | .devices = { |
1974 | { "DViCO FusionHDTV DVB-T NANO2 w/o firmware", | 2041 | { "DViCO FusionHDTV DVB-T NANO2 w/o firmware", |
1975 | { &cxusb_table[14], NULL }, | 2042 | { &cxusb_table[DVICO_BLUEBIRD_DVB_T_NANO_2], NULL }, |
1976 | { &cxusb_table[15], NULL }, | 2043 | { &cxusb_table[DVICO_BLUEBIRD_DVB_T_NANO_2_NFW_WARM], NULL }, |
1977 | }, | 2044 | }, |
1978 | } | 2045 | } |
1979 | }; | 2046 | }; |
@@ -2017,7 +2084,7 @@ static struct dvb_usb_device_properties cxusb_aver_a868r_properties = { | |||
2017 | .devices = { | 2084 | .devices = { |
2018 | { "AVerMedia AVerTVHD Volar (A868R)", | 2085 | { "AVerMedia AVerTVHD Volar (A868R)", |
2019 | { NULL }, | 2086 | { NULL }, |
2020 | { &cxusb_table[16], NULL }, | 2087 | { &cxusb_table[AVERMEDIA_VOLAR_A868R], NULL }, |
2021 | }, | 2088 | }, |
2022 | } | 2089 | } |
2023 | }; | 2090 | }; |
@@ -2071,7 +2138,7 @@ struct dvb_usb_device_properties cxusb_bluebird_dualdig4_rev2_properties = { | |||
2071 | .devices = { | 2138 | .devices = { |
2072 | { "DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)", | 2139 | { "DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)", |
2073 | { NULL }, | 2140 | { NULL }, |
2074 | { &cxusb_table[17], NULL }, | 2141 | { &cxusb_table[DVICO_BLUEBIRD_DUAL_4_REV_2], NULL }, |
2075 | }, | 2142 | }, |
2076 | } | 2143 | } |
2077 | }; | 2144 | }; |
@@ -2125,7 +2192,7 @@ static struct dvb_usb_device_properties cxusb_d680_dmb_properties = { | |||
2125 | { | 2192 | { |
2126 | "Conexant DMB-TH Stick", | 2193 | "Conexant DMB-TH Stick", |
2127 | { NULL }, | 2194 | { NULL }, |
2128 | { &cxusb_table[18], NULL }, | 2195 | { &cxusb_table[CONEXANT_D680_DMB], NULL }, |
2129 | }, | 2196 | }, |
2130 | } | 2197 | } |
2131 | }; | 2198 | }; |
@@ -2179,7 +2246,7 @@ static struct dvb_usb_device_properties cxusb_mygica_d689_properties = { | |||
2179 | { | 2246 | { |
2180 | "Mygica D689 DMB-TH", | 2247 | "Mygica D689 DMB-TH", |
2181 | { NULL }, | 2248 | { NULL }, |
2182 | { &cxusb_table[19], NULL }, | 2249 | { &cxusb_table[MYGICA_D689], NULL }, |
2183 | }, | 2250 | }, |
2184 | } | 2251 | } |
2185 | }; | 2252 | }; |
@@ -2232,7 +2299,7 @@ static struct dvb_usb_device_properties cxusb_mygica_t230_properties = { | |||
2232 | { | 2299 | { |
2233 | "Mygica T230 DVB-T/T2/C", | 2300 | "Mygica T230 DVB-T/T2/C", |
2234 | { NULL }, | 2301 | { NULL }, |
2235 | { &cxusb_table[20], NULL }, | 2302 | { &cxusb_table[MYGICA_T230], NULL }, |
2236 | }, | 2303 | }, |
2237 | } | 2304 | } |
2238 | }; | 2305 | }; |