]>
Commit | Line | Data |
---|---|---|
7691b2d1 GKH |
1 | From 3bfb317f97cfddbbec67bbe8e35ad38af3507397 Mon Sep 17 00:00:00 2001 |
2 | From: Mauro Carvalho Chehab <mchehab@redhat.com> | |
3 | Date: Fri, 3 Sep 2010 10:50:24 -0300 | |
4 | Subject: V4L/DVB: Don't identify PV SBTVD Hybrid as a DibCom device | |
5 | ||
6 | From: Mauro Carvalho Chehab <mchehab@redhat.com> | |
7 | ||
8 | commit 3bfb317f97cfddbbec67bbe8e35ad38af3507397 upstream. | |
9 | ||
10 | As reported by Carlos, Prolink Pixelview SBTVD Hybrid is based on | |
11 | Conexant cx231xx + Fujitsu 86A20S demodulator. However, both shares | |
12 | the same USB ID. So, we need to use USB bcdDevice, in order to | |
13 | properly discover what's the board. | |
14 | ||
15 | We know for sure that bcd 0x100 is used for a dib0700 device, while | |
16 | bcd 0x4001 is used for a cx23102 device. This patch reserves two ranges, | |
17 | the first one from 0x0000-0x3f00 for dib0700, and the second from | |
18 | 0x4000-0x4fff for cx231xx devices. | |
19 | ||
20 | This may need fixes in the future, as we get access to other devices. | |
21 | ||
22 | Thanks-to: Carlos Americo Domiciano <c_domiciano@yahoo.com.br> | |
23 | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> | |
24 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
25 | ||
26 | --- | |
27 | drivers/media/dvb/dvb-usb/dib0700_devices.c | 2 +- | |
28 | drivers/media/video/cx231xx/Makefile | 1 + | |
29 | drivers/media/video/cx231xx/cx231xx-cards.c | 3 +++ | |
30 | 3 files changed, 5 insertions(+), 1 deletion(-) | |
31 | ||
32 | --- a/drivers/media/dvb/dvb-usb/dib0700_devices.c | |
33 | +++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c | |
34 | @@ -2081,7 +2081,7 @@ struct usb_device_id dib0700_usb_id_tabl | |
35 | /* 60 */{ USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_XXS_2) }, | |
36 | { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_STK807XPVR) }, | |
37 | { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_STK807XP) }, | |
38 | - { USB_DEVICE(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD) }, | |
39 | + { USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x000, 0x3f00) }, | |
40 | { USB_DEVICE(USB_VID_EVOLUTEPC, USB_PID_TVWAY_PLUS) }, | |
41 | /* 65 */{ USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV73ESE) }, | |
42 | { USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV282E) }, | |
43 | --- a/drivers/media/video/cx231xx/Makefile | |
44 | +++ b/drivers/media/video/cx231xx/Makefile | |
45 | @@ -11,4 +11,5 @@ EXTRA_CFLAGS += -Idrivers/media/video | |
46 | EXTRA_CFLAGS += -Idrivers/media/common/tuners | |
47 | EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core | |
48 | EXTRA_CFLAGS += -Idrivers/media/dvb/frontends | |
49 | +EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-usb | |
50 | ||
51 | --- a/drivers/media/video/cx231xx/cx231xx-cards.c | |
52 | +++ b/drivers/media/video/cx231xx/cx231xx-cards.c | |
53 | @@ -32,6 +32,7 @@ | |
54 | #include <media/v4l2-chip-ident.h> | |
55 | ||
56 | #include <media/cx25840.h> | |
57 | +#include "dvb-usb-ids.h" | |
58 | #include "xc5000.h" | |
59 | ||
60 | #include "cx231xx.h" | |
61 | @@ -175,6 +176,8 @@ struct usb_device_id cx231xx_id_table[] | |
62 | .driver_info = CX231XX_BOARD_CNXT_RDE_250}, | |
63 | {USB_DEVICE(0x0572, 0x58A1), | |
64 | .driver_info = CX231XX_BOARD_CNXT_RDU_250}, | |
65 | + {USB_DEVICE_VER(USB_VID_PIXELVIEW, USB_PID_PIXELVIEW_SBTVD, 0x4000,0x4fff), | |
66 | + .driver_info = CX231XX_BOARD_UNKNOWN}, | |
67 | {}, | |
68 | }; | |
69 |