[media] dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()

Piggypag TS type callback to USB stream callback and change
callback name slightly to fit better.
Both of those are rather rare callback and has a relation. Transport
Stream, TS, is input stream and USB stream is output stream of
DVB USB bridge.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c
index 0f87eaf..101b399 100644
--- a/drivers/media/dvb/dvb-usb/af9015.c
+++ b/drivers/media/dvb/dvb-usb/af9015.c
@@ -599,7 +599,7 @@
 	return ret;
 }
 
-static int af9015_get_usb_stream_config(struct dvb_frontend *fe,
+static int af9015_get_stream_config(struct dvb_frontend *fe, u8 *ts_type,
 		struct usb_data_stream_properties *stream)
 {
 	deb_info("%s: adap=%d\n", __func__, fe_to_adap(fe)->id);
@@ -1304,7 +1304,7 @@
 	.tuner_attach = af9015_tuner_attach,
 	.init = af9015_init,
 	.get_rc_config = af9015_get_rc_config,
-	.get_usb_stream_config = af9015_get_usb_stream_config,
+	.get_stream_config = af9015_get_stream_config,
 
 	.get_adapter_count = af9015_get_adapter_count,
 	.adapter = {
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h
index 6b6b7da..3a54fc3 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb.h
+++ b/drivers/media/dvb/dvb-usb/dvb_usb.h
@@ -124,8 +124,6 @@
 #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;
 
@@ -228,9 +226,11 @@
 	int (*init) (struct dvb_usb_device *);
 	void (*disconnect) (struct dvb_usb_device *);
 	int (*get_rc_config) (struct dvb_usb_device *, struct dvb_usb_rc *);
-	int (*get_usb_stream_config) (struct dvb_frontend *,
+#define DVB_USB_FE_TS_TYPE_188        0
+#define DVB_USB_FE_TS_TYPE_204        1
+#define DVB_USB_FE_TS_TYPE_RAW        2
+	int (*get_stream_config) (struct dvb_frontend *,  u8 *,
 			struct usb_data_stream_properties *);
-	int (*get_ts_config) (struct dvb_frontend *, unsigned int *);
 
 	struct i2c_algorithm *i2c_algo;
 
@@ -301,7 +301,7 @@
 	const struct dvb_usb_adapter_properties *props;
 	struct usb_data_stream stream;
 	u8  id;
-
+	u8 ts_type;
 	int pid_filtering;
 	int feedcount;
 	int max_feed_count;
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
index 27139a2..f87319c 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
+++ b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
@@ -100,39 +100,34 @@
 	 */
 	if (adap->feedcount == onoff && adap->feedcount > 0) {
 		struct usb_data_stream_properties stream_props;
-		unsigned int ts_props;
 		mutex_lock(&adap->sync_mutex);
 
-		/* resolve TS configuration */
-		if (d->props->get_ts_config) {
-			ret = d->props->get_ts_config(adap->fe[adap->active_fe],
-					&ts_props);
-			if (ret < 0)
-				goto err_mutex_unlock;
-		} else {
-			ts_props = 0; /* normal 188 payload only TS */
-		}
-
-		if (ts_props & DVB_USB_ADAP_RECEIVES_204_BYTE_TS)
-			adap->stream.complete = dvb_usb_data_complete_204;
-		else if (ts_props & DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD)
-			adap->stream.complete = dvb_usb_data_complete_raw;
-		else
-			adap->stream.complete = dvb_usb_data_complete;
-
-		/* resolve USB stream configuration */
-		if (d->props->get_usb_stream_config) {
+		/* resolve input and output streaming paramters */
+		if (d->props->get_stream_config) {
 			memcpy(&stream_props, &adap->props->stream,
 				sizeof(struct usb_data_stream_properties));
-			ret = d->props->get_usb_stream_config(
+			ret = d->props->get_stream_config(
 					adap->fe[adap->active_fe],
-					&stream_props);
+					&adap->ts_type, &stream_props);
 			if (ret < 0)
 				goto err_mutex_unlock;
 		} else {
 			stream_props = adap->props->stream;
 		}
 
+		switch (adap->ts_type) {
+		case DVB_USB_FE_TS_TYPE_204:
+			adap->stream.complete = dvb_usb_data_complete_204;
+			break;
+		case DVB_USB_FE_TS_TYPE_RAW:
+			adap->stream.complete = dvb_usb_data_complete_raw;
+			break;
+		case DVB_USB_FE_TS_TYPE_188:
+		default:
+			adap->stream.complete = dvb_usb_data_complete;
+			break;
+		}
+
 		pr_debug("%s: submitting all URBs\n", __func__);
 		usb_urb_submitv2(&adap->stream, &stream_props);