Browse Source

[media] dvb_usb_v2: change streaming control callback parameter

Pass frontend instead of adapter as some drivers need to make
decisions based frontend.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari 13 years ago
parent
commit
a13a6e1f9d

+ 2 - 2
drivers/media/dvb/dvb-usb/anysee.c

@@ -187,11 +187,11 @@ static int anysee_get_hw_info(struct dvb_usb_device *d, u8 *id)
 	return anysee_ctrl_msg(d, buf, sizeof(buf), id, 3);
 }
 
-static int anysee_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
+static int anysee_streaming_ctrl(struct dvb_frontend *fe, int onoff)
 {
 	u8 buf[] = {CMD_STREAMING_CTRL, (u8)onoff, 0x00};
 	deb_info("%s: onoff:%02x\n", __func__, onoff);
-	return anysee_ctrl_msg(adap_to_d(adap), buf, sizeof(buf), NULL, 0);
+	return anysee_ctrl_msg(fe_to_d(fe), buf, sizeof(buf), NULL, 0);
 }
 
 static int anysee_led_ctrl(struct dvb_usb_device *d, u8 mode, u8 interval)

+ 1 - 1
drivers/media/dvb/dvb-usb/dvb_usb.h

@@ -246,7 +246,7 @@ struct dvb_usb_device_properties {
 	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 (*streaming_ctrl) (struct dvb_frontend *, int);
 	int (*fe_ioctl_override) (struct dvb_frontend *,
 			unsigned int, void *, unsigned int);
 	int (*init) (struct dvb_usb_device *);

+ 4 - 2
drivers/media/dvb/dvb-usb/dvb_usb_core.c

@@ -262,7 +262,8 @@ static inline int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed,
 		usb_urb_killv2(&adap->stream);
 
 		if (d->props->streaming_ctrl) {
-			ret = d->props->streaming_ctrl(adap, 0);
+			ret = d->props->streaming_ctrl(
+					adap->fe[adap->active_fe], 0);
 			if (ret < 0) {
 				pr_err("%s: streaming_ctrl() failed=%d\n",
 						KBUILD_MODNAME, ret);
@@ -330,7 +331,8 @@ static inline int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed,
 		}
 
 		if (d->props->streaming_ctrl) {
-			ret = d->props->streaming_ctrl(adap, 1);
+			ret = d->props->streaming_ctrl(
+					adap->fe[adap->active_fe], 1);
 			if (ret < 0) {
 				pr_err("%s: streaming_ctrl() failed=%d\n",
 						KBUILD_MODNAME, ret);

+ 2 - 2
drivers/media/dvb/dvb-usb/ec168.c

@@ -303,13 +303,13 @@ static int ec168_mxl5003s_tuner_attach(struct dvb_usb_adapter *adap)
 			&ec168_mxl5003s_config) == NULL ? -ENODEV : 0;
 }
 
-static int ec168_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
+static int ec168_streaming_ctrl(struct dvb_frontend *fe, int onoff)
 {
 	struct ec168_req req = {STREAMING_CTRL, 0x7f01, 0x0202, 0, NULL};
 	pr_debug("%s: onoff=%d\n", __func__, onoff);
 	if (onoff)
 		req.index = 0x0102;
-	return ec168_ctrl_msg(adap_to_d(adap), &req);
+	return ec168_ctrl_msg(fe_to_d(fe), &req);
 }
 
 /* DVB USB Driver stuff */