Commit fec88df0 authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e46c5b66
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -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,7 +131,10 @@ 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_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);

+8 −10
Original line number Diff line number Diff line
@@ -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++;
	}