summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2012-05-29 20:30:05 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-04 07:56:24 -0300
commitfec88df01dc1045579aa56379fa962f9f9fd8542 (patch)
treeec7668375bd1603d41a513f906cda1e31102caae /drivers/media/dvb/dvb-usb
parente46c5b66da84d8eccf4566216f0582964a28b73e (diff)
[media] dvb_usb_v2: move 3 callbacks from the frontend to adapter
Move .frontend_attach(), .tuner_attach() and .streaming_ctrl() from the frontend to adapter. 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')
-rw-r--r--drivers/media/dvb/dvb-usb/dvb_usb.h12
-rw-r--r--drivers/media/dvb/dvb-usb/dvb_usb_dvb.c18
2 files changed, 13 insertions, 17 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h
index ee6df793ce1..6bab17b3e80 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb.h
+++ b/drivers/media/dvb/dvb-usb/dvb_usb.h
@@ -114,11 +114,6 @@ struct usb_data_stream_properties {
* @stream: configuration of the USB streaming
*/
struct dvb_usb_adapter_fe_properties {
- int (*streaming_ctrl) (struct dvb_usb_adapter *, int);
-
- int (*frontend_attach) (struct dvb_usb_adapter *);
- int (*tuner_attach) (struct dvb_usb_adapter *);
-
int size_of_priv;
};
@@ -136,9 +131,12 @@ struct dvb_usb_adapter_properties {
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 (*frontend_attach) (struct dvb_usb_adapter *);
+ int (*tuner_attach) (struct dvb_usb_adapter *);
+ int (*frontend_ctrl) (struct dvb_frontend *, int);
+ int (*streaming_ctrl) (struct dvb_usb_adapter *, int);
int (*fe_ioctl_override) (struct dvb_frontend *,
- unsigned int, void *, unsigned int);
+ unsigned int, void *, unsigned int);
int num_frontends;
struct dvb_usb_adapter_fe_properties fe[MAX_NO_OF_FE_PER_ADAP];
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
index 980a1d30a2c..9361598c6fd 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
+++ b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
@@ -83,9 +83,8 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
deb_ts("stop feeding\n");
usb_urb_kill(&adap->stream);
- if (adap->props.fe[adap->active_fe].streaming_ctrl != NULL) {
- ret = adap->props.fe[adap->active_fe].streaming_ctrl(
- adap, 0);
+ if (adap->props.streaming_ctrl != NULL) {
+ ret = adap->props.streaming_ctrl(adap, 0);
if (ret < 0) {
err("error while stopping stream.");
return ret;
@@ -159,9 +158,8 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
}
}
deb_ts("start feeding\n");
- if (adap->props.fe[adap->active_fe].streaming_ctrl != NULL) {
- ret = adap->props.fe[adap->active_fe].streaming_ctrl(
- adap, 1);
+ if (adap->props.streaming_ctrl != NULL) {
+ ret = adap->props.streaming_ctrl(adap, 1);
if (ret < 0) {
err("error while enabling fifo.");
return ret;
@@ -319,7 +317,7 @@ int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap)
/* register all given adapter frontends */
for (i = 0; i < adap->props.num_frontends; i++) {
- if (adap->props.fe[i].frontend_attach == NULL) {
+ if (adap->props.frontend_attach == NULL) {
err("strange: '%s' #%d,%d " \
"doesn't want to attach a frontend.",
adap->dev->name, adap->id, i);
@@ -327,7 +325,7 @@ int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap)
return 0;
}
- ret = adap->props.fe[i].frontend_attach(adap);
+ ret = adap->props.frontend_attach(adap);
if (ret || adap->fe_adap[i].fe == NULL) {
/* only print error when there is no FE at all */
if (i == 0)
@@ -359,8 +357,8 @@ int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap)
}
/* only attach the tuner if the demod is there */
- if (adap->props.fe[i].tuner_attach != NULL)
- adap->props.fe[i].tuner_attach(adap);
+ if (adap->props.tuner_attach != NULL)
+ adap->props.tuner_attach(adap);
adap->num_frontends_initialized++;
}