diff options
author | Igor M. Liplianin <liplianin@me.by> | 2011-02-25 16:41:23 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:32:27 -0400 |
commit | e8f5055ac85fb68eeaa335f0dae14b31cc037f6d (patch) | |
tree | 6cb6981b96210fdb1d018b4fca99268b20b934e1 /drivers/media/dvb/dvb-usb | |
parent | 5a530cbecaa5a21d185e0549ea9a866483661f6f (diff) |
[media] dw2102: add support for the TeVii S480 PCIe
The card consists of a PCI-e to USB Host Controller and
two TeVii S660 equivalent cards.
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dw2102.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/drivers/media/dvb/dvb-usb/dw2102.c b/drivers/media/dvb/dvb-usb/dw2102.c index 893149170faa..c5a0921204bd 100644 --- a/drivers/media/dvb/dvb-usb/dw2102.c +++ b/drivers/media/dvb/dvb-usb/dw2102.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* DVB USB framework compliant Linux driver for the | 1 | /* DVB USB framework compliant Linux driver for the |
2 | * DVBWorld DVB-S 2101, 2102, DVB-S2 2104, DVB-C 3101, | 2 | * DVBWorld DVB-S 2101, 2102, DVB-S2 2104, DVB-C 3101, |
3 | * TeVii S600, S630, S650, | 3 | * TeVii S600, S630, S650, S480 |
4 | * Prof 1100, 7500, | 4 | * Prof 1100, 7500, |
5 | * Geniatech SU3000 Cards | 5 | * Geniatech SU3000 Cards |
6 | * Copyright (C) 2008,2009 Igor M. Liplianin (liplianin@me.by) | 6 | * Copyright (C) 2008,2009 Igor M. Liplianin (liplianin@me.by) |
@@ -56,6 +56,14 @@ | |||
56 | #define USB_PID_TEVII_S660 0xd660 | 56 | #define USB_PID_TEVII_S660 0xd660 |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #ifndef USB_PID_TEVII_S480_1 | ||
60 | #define USB_PID_TEVII_S480_1 0xd481 | ||
61 | #endif | ||
62 | |||
63 | #ifndef USB_PID_TEVII_S480_2 | ||
64 | #define USB_PID_TEVII_S480_2 0xd482 | ||
65 | #endif | ||
66 | |||
59 | #ifndef USB_PID_PROF_1100 | 67 | #ifndef USB_PID_PROF_1100 |
60 | #define USB_PID_PROF_1100 0xb012 | 68 | #define USB_PID_PROF_1100 0xb012 |
61 | #endif | 69 | #endif |
@@ -1430,6 +1438,8 @@ static struct usb_device_id dw2102_table[] = { | |||
1430 | {USB_DEVICE(0x3034, 0x7500)}, | 1438 | {USB_DEVICE(0x3034, 0x7500)}, |
1431 | {USB_DEVICE(0x1f4d, 0x3000)}, | 1439 | {USB_DEVICE(0x1f4d, 0x3000)}, |
1432 | {USB_DEVICE(USB_VID_TERRATEC, 0x00a8)}, | 1440 | {USB_DEVICE(USB_VID_TERRATEC, 0x00a8)}, |
1441 | {USB_DEVICE(0x9022, USB_PID_TEVII_S480_1)}, | ||
1442 | {USB_DEVICE(0x9022, USB_PID_TEVII_S480_2)}, | ||
1433 | { } | 1443 | { } |
1434 | }; | 1444 | }; |
1435 | 1445 | ||
@@ -1748,6 +1758,18 @@ static struct dvb_usb_device_description d660 = { | |||
1748 | {NULL}, | 1758 | {NULL}, |
1749 | }; | 1759 | }; |
1750 | 1760 | ||
1761 | static struct dvb_usb_device_description d480_1 = { | ||
1762 | "TeVii S480.1 USB", | ||
1763 | {&dw2102_table[12], NULL}, | ||
1764 | {NULL}, | ||
1765 | }; | ||
1766 | |||
1767 | static struct dvb_usb_device_description d480_2 = { | ||
1768 | "TeVii S480.2 USB", | ||
1769 | {&dw2102_table[13], NULL}, | ||
1770 | {NULL}, | ||
1771 | }; | ||
1772 | |||
1751 | struct dvb_usb_device_properties *p7500; | 1773 | struct dvb_usb_device_properties *p7500; |
1752 | static struct dvb_usb_device_description d7500 = { | 1774 | static struct dvb_usb_device_description d7500 = { |
1753 | "Prof 7500 USB DVB-S2", | 1775 | "Prof 7500 USB DVB-S2", |
@@ -1828,7 +1850,10 @@ static int dw2102_probe(struct usb_interface *intf, | |||
1828 | memcpy(s660, &s6x0_properties, | 1850 | memcpy(s660, &s6x0_properties, |
1829 | sizeof(struct dvb_usb_device_properties)); | 1851 | sizeof(struct dvb_usb_device_properties)); |
1830 | s660->firmware = "dvb-usb-s660.fw"; | 1852 | s660->firmware = "dvb-usb-s660.fw"; |
1853 | s660->num_device_descs = 3; | ||
1831 | s660->devices[0] = d660; | 1854 | s660->devices[0] = d660; |
1855 | s660->devices[1] = d480_1; | ||
1856 | s660->devices[2] = d480_2; | ||
1832 | s660->adapter->frontend_attach = ds3000_frontend_attach; | 1857 | s660->adapter->frontend_attach = ds3000_frontend_attach; |
1833 | 1858 | ||
1834 | p7500 = kzalloc(sizeof(struct dvb_usb_device_properties), GFP_KERNEL); | 1859 | p7500 = kzalloc(sizeof(struct dvb_usb_device_properties), GFP_KERNEL); |
@@ -1893,7 +1918,7 @@ module_exit(dw2102_module_exit); | |||
1893 | MODULE_AUTHOR("Igor M. Liplianin (c) liplianin@me.by"); | 1918 | MODULE_AUTHOR("Igor M. Liplianin (c) liplianin@me.by"); |
1894 | MODULE_DESCRIPTION("Driver for DVBWorld DVB-S 2101, 2102, DVB-S2 2104," | 1919 | MODULE_DESCRIPTION("Driver for DVBWorld DVB-S 2101, 2102, DVB-S2 2104," |
1895 | " DVB-C 3101 USB2.0," | 1920 | " DVB-C 3101 USB2.0," |
1896 | " TeVii S600, S630, S650, S660 USB2.0," | 1921 | " TeVii S600, S630, S650, S660, S480," |
1897 | " Prof 1100, 7500 USB2.0," | 1922 | " Prof 1100, 7500 USB2.0," |
1898 | " Geniatech SU3000 devices"); | 1923 | " Geniatech SU3000 devices"); |
1899 | MODULE_VERSION("0.1"); | 1924 | MODULE_VERSION("0.1"); |