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/nova-t-usb2.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/nova-t-usb2.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/nova-t-usb2.c | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/drivers/media/dvb/dvb-usb/nova-t-usb2.c b/drivers/media/dvb/dvb-usb/nova-t-usb2.c index 79f0a02ce987..a9219bf69b89 100644 --- a/drivers/media/dvb/dvb-usb/nova-t-usb2.c +++ b/drivers/media/dvb/dvb-usb/nova-t-usb2.c | |||
@@ -135,7 +135,7 @@ static int nova_t_read_mac_address (struct dvb_usb_device *d, u8 mac[6]) | |||
135 | } | 135 | } |
136 | 136 | ||
137 | /* USB Driver stuff */ | 137 | /* USB Driver stuff */ |
138 | static struct dvb_usb_properties nova_t_properties; | 138 | static struct dvb_usb_device_properties nova_t_properties; |
139 | 139 | ||
140 | static int nova_t_probe(struct usb_interface *intf, | 140 | static int nova_t_probe(struct usb_interface *intf, |
141 | const struct usb_device_id *id) | 141 | const struct usb_device_id *id) |
@@ -151,34 +151,27 @@ static struct usb_device_id nova_t_table [] = { | |||
151 | }; | 151 | }; |
152 | MODULE_DEVICE_TABLE(usb, nova_t_table); | 152 | MODULE_DEVICE_TABLE(usb, nova_t_table); |
153 | 153 | ||
154 | static struct dvb_usb_properties nova_t_properties = { | 154 | static struct dvb_usb_device_properties nova_t_properties = { |
155 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_PID_FILTER_CAN_BE_TURNED_OFF | DVB_USB_IS_AN_I2C_ADAPTER, | 155 | .caps = DVB_USB_IS_AN_I2C_ADAPTER, |
156 | .pid_filter_count = 32, | ||
157 | 156 | ||
158 | .usb_ctrl = CYPRESS_FX2, | 157 | .usb_ctrl = CYPRESS_FX2, |
159 | .firmware = "dvb-usb-nova-t-usb2-02.fw", | 158 | .firmware = "dvb-usb-nova-t-usb2-02.fw", |
160 | 159 | ||
161 | .size_of_priv = sizeof(struct dibusb_state), | 160 | .num_adapters = 1, |
161 | .adapter = { | ||
162 | { | ||
163 | .caps = DVB_USB_ADAP_HAS_PID_FILTER | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, | ||
164 | .pid_filter_count = 32, | ||
162 | 165 | ||
163 | .streaming_ctrl = dibusb2_0_streaming_ctrl, | 166 | .streaming_ctrl = dibusb2_0_streaming_ctrl, |
164 | .pid_filter = dibusb_pid_filter, | 167 | .pid_filter = dibusb_pid_filter, |
165 | .pid_filter_ctrl = dibusb_pid_filter_ctrl, | 168 | .pid_filter_ctrl = dibusb_pid_filter_ctrl, |
166 | .power_ctrl = dibusb2_0_power_ctrl, | ||
167 | .frontend_attach = dibusb_dib3000mc_frontend_attach, | 169 | .frontend_attach = dibusb_dib3000mc_frontend_attach, |
168 | .tuner_attach = dibusb_dib3000mc_tuner_attach, | 170 | .tuner_attach = dibusb_dib3000mc_tuner_attach, |
169 | .read_mac_address = nova_t_read_mac_address, | ||
170 | |||
171 | .rc_interval = 100, | ||
172 | .rc_key_map = haupp_rc_keys, | ||
173 | .rc_key_map_size = ARRAY_SIZE(haupp_rc_keys), | ||
174 | .rc_query = nova_t_rc_query, | ||
175 | 171 | ||
176 | .i2c_algo = &dibusb_i2c_algo, | ||
177 | |||
178 | .generic_bulk_ctrl_endpoint = 0x01, | ||
179 | /* parameter for the MPEG2-data transfer */ | 172 | /* parameter for the MPEG2-data transfer */ |
180 | .urb = { | 173 | .stream = { |
181 | .type = DVB_USB_BULK, | 174 | .type = USB_BULK, |
182 | .count = 7, | 175 | .count = 7, |
183 | .endpoint = 0x06, | 176 | .endpoint = 0x06, |
184 | .u = { | 177 | .u = { |
@@ -188,6 +181,22 @@ static struct dvb_usb_properties nova_t_properties = { | |||
188 | } | 181 | } |
189 | }, | 182 | }, |
190 | 183 | ||
184 | .size_of_priv = sizeof(struct dibusb_state), | ||
185 | } | ||
186 | }, | ||
187 | |||
188 | .power_ctrl = dibusb2_0_power_ctrl, | ||
189 | .read_mac_address = nova_t_read_mac_address, | ||
190 | |||
191 | .rc_interval = 100, | ||
192 | .rc_key_map = haupp_rc_keys, | ||
193 | .rc_key_map_size = ARRAY_SIZE(haupp_rc_keys), | ||
194 | .rc_query = nova_t_rc_query, | ||
195 | |||
196 | .i2c_algo = &dibusb_i2c_algo, | ||
197 | |||
198 | .generic_bulk_ctrl_endpoint = 0x01, | ||
199 | |||
191 | .num_device_descs = 1, | 200 | .num_device_descs = 1, |
192 | .devices = { | 201 | .devices = { |
193 | { "Hauppauge WinTV-NOVA-T usb2", | 202 | { "Hauppauge WinTV-NOVA-T usb2", |