.. | .. |
---|
129 | 129 | * @frontend_ctrl: called to power on/off active frontend. |
---|
130 | 130 | * @streaming_ctrl: called to start and stop the MPEG2-TS streaming of the |
---|
131 | 131 | * device (not URB submitting/killing). |
---|
| 132 | + * This callback will be called without data URBs being active - data URBs |
---|
| 133 | + * will be submitted only after streaming_ctrl(1) returns successfully and |
---|
| 134 | + * they will be killed before streaming_ctrl(0) gets called. |
---|
132 | 135 | * @pid_filter_ctrl: called to en/disable the PID filter, if any. |
---|
133 | 136 | * @pid_filter: called to set/unset a PID for filtering. |
---|
134 | 137 | * @frontend_attach: called to attach the possible frontends (fill fe-field |
---|
.. | .. |
---|
234 | 237 | * |
---|
235 | 238 | * @size_of_priv: how many bytes shall be allocated for the private field |
---|
236 | 239 | * of struct dvb_usb_device. |
---|
| 240 | + * @priv_init: optional callback to initialize the variable that private field |
---|
| 241 | + * of struct dvb_usb_device has pointer to just after it had been allocated and |
---|
| 242 | + * zeroed. |
---|
| 243 | + * @priv_destroy: just like priv_init, only called before deallocating |
---|
| 244 | + * the memory pointed by private field of struct dvb_usb_device. |
---|
237 | 245 | * |
---|
238 | 246 | * @power_ctrl: called to enable/disable power of the device. |
---|
239 | 247 | * @read_mac_address: called to read the MAC address of the device. |
---|
.. | .. |
---|
275 | 283 | int no_reconnect; |
---|
276 | 284 | |
---|
277 | 285 | int size_of_priv; |
---|
| 286 | + int (*priv_init)(struct dvb_usb_device *); |
---|
| 287 | + void (*priv_destroy)(struct dvb_usb_device *); |
---|
278 | 288 | |
---|
279 | 289 | int num_adapters; |
---|
280 | 290 | struct dvb_usb_adapter_properties adapter[MAX_NO_OF_ADAPTER_PER_DEVICE]; |
---|
281 | 291 | |
---|
282 | 292 | int (*power_ctrl) (struct dvb_usb_device *, int); |
---|
283 | 293 | int (*read_mac_address) (struct dvb_usb_device *, u8 []); |
---|
284 | | - int (*identify_state) (struct usb_device *, struct dvb_usb_device_properties *, |
---|
285 | | - struct dvb_usb_device_description **, int *); |
---|
| 294 | + int (*identify_state)(struct usb_device *udev, |
---|
| 295 | + const struct dvb_usb_device_properties *props, |
---|
| 296 | + const struct dvb_usb_device_description **desc, |
---|
| 297 | + int *cold); |
---|
286 | 298 | |
---|
287 | 299 | struct { |
---|
288 | 300 | enum dvb_usb_mode mode; /* Drivers shouldn't touch on it */ |
---|
.. | .. |
---|
336 | 348 | * struct dvb_usb_adapter - a DVB adapter on a USB device |
---|
337 | 349 | * @id: index of this adapter (starting with 0). |
---|
338 | 350 | * |
---|
339 | | - * @feedcount: number of reqested feeds (used for streaming-activation) |
---|
| 351 | + * @feedcount: number of requested feeds (used for streaming-activation) |
---|
340 | 352 | * @pid_filtering: is hardware pid_filtering used or not. |
---|
341 | 353 | * |
---|
342 | 354 | * @pll_addr: I2C address of the tuner for programming |
---|
.. | .. |
---|
426 | 438 | */ |
---|
427 | 439 | struct dvb_usb_device { |
---|
428 | 440 | struct dvb_usb_device_properties props; |
---|
429 | | - struct dvb_usb_device_description *desc; |
---|
| 441 | + const struct dvb_usb_device_description *desc; |
---|
430 | 442 | |
---|
431 | 443 | struct usb_device *udev; |
---|
432 | 444 | |
---|
.. | .. |
---|
463 | 475 | }; |
---|
464 | 476 | |
---|
465 | 477 | extern int dvb_usb_device_init(struct usb_interface *, |
---|
466 | | - struct dvb_usb_device_properties *, |
---|
| 478 | + const struct dvb_usb_device_properties *, |
---|
467 | 479 | struct module *, struct dvb_usb_device **, |
---|
468 | 480 | short *adapter_nums); |
---|
469 | 481 | extern void dvb_usb_device_exit(struct usb_interface *); |
---|