diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2006-09-30 05:53:48 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-10-03 14:10:54 -0400 |
commit | 4d43e13f723e12734257277cc38497fab1efc605 (patch) | |
tree | 7debc4f9b7997f7d768dcf387210436b532198f4 /drivers/media/dvb/dvb-usb/dibusb-mc.c | |
parent | 8ccb3dcd1f8e80e8702642e1de26541b52f6bb7c (diff) |
V4L/DVB (4643): Multi-input patch for DVB-USB device
This patch is the first commit of the Multiple Input Patch for the DVB-USB frame
work.
It changes the DVB-USB-device to be able to have more than one streaming input
(e.g. multiple DVB-T sources) on one device. This is a necessary feature for
the upcoming DiB7700 driven devices.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dibusb-mc.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dibusb-mc.c | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/drivers/media/dvb/dvb-usb/dibusb-mc.c b/drivers/media/dvb/dvb-usb/dibusb-mc.c index eca4082a61ae..d823e7d5b260 100644 --- a/drivers/media/dvb/dvb-usb/dibusb-mc.c +++ b/drivers/media/dvb/dvb-usb/dibusb-mc.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include "dibusb.h" | 15 | #include "dibusb.h" |
16 | 16 | ||
17 | /* USB Driver stuff */ | 17 | /* USB Driver stuff */ |
18 | static struct dvb_usb_properties dibusb_mc_properties; | 18 | static struct dvb_usb_device_properties dibusb_mc_properties; |
19 | 19 | ||
20 | static int dibusb_mc_probe(struct usb_interface *intf, | 20 | static int dibusb_mc_probe(struct usb_interface *intf, |
21 | const struct usb_device_id *id) | 21 | const struct usb_device_id *id) |
@@ -43,33 +43,27 @@ static struct usb_device_id dibusb_dib3000mc_table [] = { | |||
43 | }; | 43 | }; |
44 | MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table); | 44 | MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table); |
45 | 45 | ||
46 | static struct dvb_usb_properties dibusb_mc_properties = { | 46 | static struct dvb_usb_device_properties dibusb_mc_properties = { |
47 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_PID_FILTER_CAN_BE_TURNED_OFF | DVB_USB_IS_AN_I2C_ADAPTER, | 47 | .caps = DVB_USB_IS_AN_I2C_ADAPTER, |
48 | .pid_filter_count = 32, | ||
49 | 48 | ||
50 | .usb_ctrl = CYPRESS_FX2, | 49 | .usb_ctrl = CYPRESS_FX2, |
51 | .firmware = "dvb-usb-dibusb-6.0.0.8.fw", | 50 | .firmware = "dvb-usb-dibusb-6.0.0.8.fw", |
52 | 51 | ||
53 | .size_of_priv = sizeof(struct dibusb_state), | ||
54 | 52 | ||
53 | .num_adapters = 1, | ||
54 | .adapter = { | ||
55 | { | ||
56 | .caps = DVB_USB_ADAP_HAS_PID_FILTER | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, | ||
57 | .pid_filter_count = 32, | ||
55 | .streaming_ctrl = dibusb2_0_streaming_ctrl, | 58 | .streaming_ctrl = dibusb2_0_streaming_ctrl, |
56 | .pid_filter = dibusb_pid_filter, | 59 | .pid_filter = dibusb_pid_filter, |
57 | .pid_filter_ctrl = dibusb_pid_filter_ctrl, | 60 | .pid_filter_ctrl = dibusb_pid_filter_ctrl, |
58 | .power_ctrl = dibusb2_0_power_ctrl, | ||
59 | .frontend_attach = dibusb_dib3000mc_frontend_attach, | 61 | .frontend_attach = dibusb_dib3000mc_frontend_attach, |
60 | .tuner_attach = dibusb_dib3000mc_tuner_attach, | 62 | .tuner_attach = dibusb_dib3000mc_tuner_attach, |
61 | 63 | ||
62 | .rc_interval = DEFAULT_RC_INTERVAL, | ||
63 | .rc_key_map = dibusb_rc_keys, | ||
64 | .rc_key_map_size = 111, /* FIXME */ | ||
65 | .rc_query = dibusb_rc_query, | ||
66 | |||
67 | .i2c_algo = &dibusb_i2c_algo, | ||
68 | |||
69 | .generic_bulk_ctrl_endpoint = 0x01, | ||
70 | /* parameter for the MPEG2-data transfer */ | 64 | /* parameter for the MPEG2-data transfer */ |
71 | .urb = { | 65 | .stream = { |
72 | .type = DVB_USB_BULK, | 66 | .type = USB_BULK, |
73 | .count = 7, | 67 | .count = 7, |
74 | .endpoint = 0x06, | 68 | .endpoint = 0x06, |
75 | .u = { | 69 | .u = { |
@@ -78,6 +72,19 @@ static struct dvb_usb_properties dibusb_mc_properties = { | |||
78 | } | 72 | } |
79 | } | 73 | } |
80 | }, | 74 | }, |
75 | .size_of_priv = sizeof(struct dibusb_state), | ||
76 | } | ||
77 | }, | ||
78 | .power_ctrl = dibusb2_0_power_ctrl, | ||
79 | |||
80 | .rc_interval = DEFAULT_RC_INTERVAL, | ||
81 | .rc_key_map = dibusb_rc_keys, | ||
82 | .rc_key_map_size = 111, /* FIXME */ | ||
83 | .rc_query = dibusb_rc_query, | ||
84 | |||
85 | .i2c_algo = &dibusb_i2c_algo, | ||
86 | |||
87 | .generic_bulk_ctrl_endpoint = 0x01, | ||
81 | 88 | ||
82 | .num_device_descs = 7, | 89 | .num_device_descs = 7, |
83 | .devices = { | 90 | .devices = { |