diff options
author | Antti Palosaari <crope@iki.fi> | 2011-07-25 19:16:13 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-07-31 00:41:32 -0400 |
commit | 9bd9e3bd2c57530dfe3057dd0aa9bdb37824925d (patch) | |
tree | 5ca8af70f78533698257caddccac7ab05ce02c94 /drivers/media/dvb/dvb-usb/dvb-usb.h | |
parent | bfd4500c9abf3e70e9c563bcba5675bd302f5a4e (diff) |
[media] dvb-usb: multi-frontend support (MFE)
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dvb-usb.h')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb-usb.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb.h b/drivers/media/dvb/dvb-usb/dvb-usb.h index 2e57bffad3e3..a3e77b2e2261 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb.h +++ b/drivers/media/dvb/dvb-usb/dvb-usb.h | |||
@@ -124,6 +124,8 @@ struct usb_data_stream_properties { | |||
124 | * @caps: capabilities of the DVB USB device. | 124 | * @caps: capabilities of the DVB USB device. |
125 | * @pid_filter_count: number of PID filter position in the optional hardware | 125 | * @pid_filter_count: number of PID filter position in the optional hardware |
126 | * PID-filter. | 126 | * PID-filter. |
127 | * @num_frontends: number of frontends of the DVB USB adapter. | ||
128 | * @frontend_ctrl: called to power on/off active frontend. | ||
127 | * @streaming_ctrl: called to start and stop the MPEG2-TS streaming of the | 129 | * @streaming_ctrl: called to start and stop the MPEG2-TS streaming of the |
128 | * device (not URB submitting/killing). | 130 | * device (not URB submitting/killing). |
129 | * @pid_filter_ctrl: called to en/disable the PID filter, if any. | 131 | * @pid_filter_ctrl: called to en/disable the PID filter, if any. |
@@ -141,7 +143,9 @@ struct dvb_usb_adapter_properties { | |||
141 | #define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08 | 143 | #define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08 |
142 | int caps; | 144 | int caps; |
143 | int pid_filter_count; | 145 | int pid_filter_count; |
146 | int num_frontends; | ||
144 | 147 | ||
148 | int (*frontend_ctrl) (struct dvb_frontend *, int); | ||
145 | int (*streaming_ctrl) (struct dvb_usb_adapter *, int); | 149 | int (*streaming_ctrl) (struct dvb_usb_adapter *, int); |
146 | int (*pid_filter_ctrl) (struct dvb_usb_adapter *, int); | 150 | int (*pid_filter_ctrl) (struct dvb_usb_adapter *, int); |
147 | int (*pid_filter) (struct dvb_usb_adapter *, int, u16, int); | 151 | int (*pid_filter) (struct dvb_usb_adapter *, int, u16, int); |
@@ -345,6 +349,7 @@ struct usb_data_stream { | |||
345 | * | 349 | * |
346 | * @stream: the usb data stream. | 350 | * @stream: the usb data stream. |
347 | */ | 351 | */ |
352 | #define MAX_NO_OF_FE_PER_ADAP 2 | ||
348 | struct dvb_usb_adapter { | 353 | struct dvb_usb_adapter { |
349 | struct dvb_usb_device *dev; | 354 | struct dvb_usb_device *dev; |
350 | struct dvb_usb_adapter_properties props; | 355 | struct dvb_usb_adapter_properties props; |
@@ -363,11 +368,11 @@ struct dvb_usb_adapter { | |||
363 | struct dmxdev dmxdev; | 368 | struct dmxdev dmxdev; |
364 | struct dvb_demux demux; | 369 | struct dvb_demux demux; |
365 | struct dvb_net dvb_net; | 370 | struct dvb_net dvb_net; |
366 | struct dvb_frontend *fe[1]; | 371 | struct dvb_frontend *fe[MAX_NO_OF_FE_PER_ADAP]; |
367 | int max_feed_count; | 372 | int max_feed_count; |
368 | 373 | ||
369 | int (*fe_init) (struct dvb_frontend *); | 374 | int (*fe_init[MAX_NO_OF_FE_PER_ADAP]) (struct dvb_frontend *); |
370 | int (*fe_sleep) (struct dvb_frontend *); | 375 | int (*fe_sleep[MAX_NO_OF_FE_PER_ADAP]) (struct dvb_frontend *); |
371 | 376 | ||
372 | struct usb_data_stream stream; | 377 | struct usb_data_stream stream; |
373 | 378 | ||