summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dvb_usb.h
diff options
context:
space:
mode:
authorAntti Palosaari2012-05-29 23:05:40 +0200
committerMauro Carvalho Chehab2012-08-04 12:56:24 +0200
commite46c5b66da84d8eccf4566216f0582964a28b73e (patch)
tree273c1eff34c2c988bc715bf118acb1fbfe3e53b1 /drivers/media/dvb/dvb-usb/dvb_usb.h
parent[media] dvb_usb_v2: move (struct usb_data_stream_properties) to upper level (diff)
downloadkernel-qcow2-linux-e46c5b66da84d8eccf4566216f0582964a28b73e.tar.gz
kernel-qcow2-linux-e46c5b66da84d8eccf4566216f0582964a28b73e.tar.xz
kernel-qcow2-linux-e46c5b66da84d8eccf4566216f0582964a28b73e.zip
[media] dvb_usb_v2: move PID filters from frontend to adapter
Filtering given PIDs from the transport stream is done by the DVB USB bridge. It is highly possible there is limitations what kind of stream DVB USB bridge can PID filter, but it still does not make sense to define filters for each frontend as frontend could offer different stream types for different standards. Likely new way is to enable / disable PID filters are needed to make decision at runtime (callback). PID filters are quite legacy stuff as those are aimed cut stream smaller to fit for the USB1.1... 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.h33
1 files changed, 15 insertions, 18 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h
index 6ce97975bd03..ee6df793ce1b 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb.h
+++ b/drivers/media/dvb/dvb-usb/dvb_usb.h
@@ -114,17 +114,7 @@ struct usb_data_stream_properties {
* @stream: configuration of the USB streaming
*/
struct dvb_usb_adapter_fe_properties {
-#define DVB_USB_ADAP_HAS_PID_FILTER 0x01
-#define DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF 0x02
-#define DVB_USB_ADAP_NEED_PID_FILTERING 0x04
-#define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08
-#define DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD 0x10
- int caps;
- int pid_filter_count;
-
int (*streaming_ctrl) (struct dvb_usb_adapter *, int);
- int (*pid_filter_ctrl) (struct dvb_usb_adapter *, int);
- int (*pid_filter) (struct dvb_usb_adapter *, int, u16, int);
int (*frontend_attach) (struct dvb_usb_adapter *);
int (*tuner_attach) (struct dvb_usb_adapter *);
@@ -134,8 +124,18 @@ struct dvb_usb_adapter_fe_properties {
#define MAX_NO_OF_FE_PER_ADAP 3
struct dvb_usb_adapter_properties {
+#define DVB_USB_ADAP_HAS_PID_FILTER 0x01
+#define DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF 0x02
+#define DVB_USB_ADAP_NEED_PID_FILTERING 0x04
+#define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08
+#define DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD 0x10
+ int caps;
int size_of_priv;
+ int pid_filter_count;
+ int (*pid_filter_ctrl) (struct dvb_usb_adapter *, int);
+ int (*pid_filter) (struct dvb_usb_adapter *, int, u16, int);
+
int (*frontend_ctrl) (struct dvb_frontend *, int);
int (*fe_ioctl_override) (struct dvb_frontend *,
unsigned int, void *, unsigned int);
@@ -314,24 +314,21 @@ struct dvb_usb_fe_adapter {
int (*fe_init) (struct dvb_frontend *);
int (*fe_sleep) (struct dvb_frontend *);
- int pid_filtering;
- int max_feed_count;
-
void *priv;
};
struct dvb_usb_adapter {
- struct dvb_usb_device *dev;
- struct dvb_usb_adapter_properties props;
- struct usb_data_stream stream;
-
#define DVB_USB_ADAP_STATE_INIT 0x000
#define DVB_USB_ADAP_STATE_DVB 0x001
int state;
-
+ struct dvb_usb_device *dev;
+ struct dvb_usb_adapter_properties props;
+ struct usb_data_stream stream;
u8 id;
+ int pid_filtering;
int feedcount;
+ int max_feed_count;
/* dvb */
struct dvb_adapter dvb_adap;