Skip to content

Commit

Permalink
[media] dvb_usb_v2: move 3 callbacks from the frontend to adapter
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent e46c5b6 commit fec88df
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 17 deletions.
12 changes: 5 additions & 7 deletions drivers/media/dvb/dvb-usb/dvb_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

Expand All @@ -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];
Expand Down
18 changes: 8 additions & 10 deletions drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -319,15 +317,15 @@ 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);

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)
Expand Down Expand Up @@ -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++;
}
Expand Down

0 comments on commit fec88df

Please sign in to comment.