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

[media] dvb_usb_v2: enable compile



Compilation was disabled as it was failing with allyesconfig.
Rename duplicate functions and enable building.

Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 3238aafb
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -13,6 +13,21 @@ config DVB_USB

	  Say Y if you own a USB DVB device.

config DVB_USB_V2
	tristate "Support for various USB DVB devices v2"
	depends on DVB_CORE && USB && I2C && RC_CORE
	help
	  By enabling this you will be able to choose the various supported
	  USB1.1 and USB2.0 DVB devices.

	  Almost every USB device needs a firmware, please look into
	  <file:Documentation/dvb/README.dvb-usb>.

	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
	  <http://www.linuxtv.org/wiki/index.php/DVB_USB>

	  Say Y if you own a USB DVB device.

config DVB_USB_DEBUG
	bool "Enable extended debug support for all DVB-USB devices"
	depends on DVB_USB
+3 −0
Original line number Diff line number Diff line
dvb-usb-objs = dvb-usb-firmware.o dvb-usb-init.o dvb-usb-urb.o dvb-usb-i2c.o dvb-usb-dvb.o dvb-usb-remote.o usb-urb.o
obj-$(CONFIG_DVB_USB) += dvb-usb.o

dvb_usbv2-objs = dvb_usb_init.o dvb_usb_urb.o dvb_usb_dvb.o dvb_usb_remote.o usb_urb.o
obj-$(CONFIG_DVB_USB_V2) += dvb_usbv2.o

dvb-usb-vp7045-objs = vp7045.o vp7045-fe.o
obj-$(CONFIG_DVB_USB_VP7045) += dvb-usb-vp7045.o

+14 −14
Original line number Diff line number Diff line
@@ -11,27 +11,27 @@

#include "dvb_usb.h"

extern int dvb_usb_disable_rc_polling;
extern int dvb_usbv2_disable_rc_polling;

/* commonly used  methods */
extern int dvb_usb_device_power_ctrl(struct dvb_usb_device *d, int onoff);
extern int dvb_usbv2_device_power_ctrl(struct dvb_usb_device *d, int onoff);

extern int usb_urb_init(struct usb_data_stream *stream,
extern int usb_urb_initv2(struct usb_data_stream *stream,
		struct usb_data_stream_properties *props);
extern int usb_urb_exit(struct usb_data_stream *stream);
extern int usb_urb_submit(struct usb_data_stream *stream,
extern int usb_urb_exitv2(struct usb_data_stream *stream);
extern int usb_urb_submitv2(struct usb_data_stream *stream,
		struct usb_data_stream_properties *props);
extern int usb_urb_kill(struct usb_data_stream *stream);
extern int usb_urb_killv2(struct usb_data_stream *stream);

extern int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap);
extern int dvb_usb_adapter_stream_exit(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_stream_init(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_stream_exit(struct dvb_usb_adapter *adap);

extern int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap);
extern int dvb_usb_adapter_dvb_exit(struct dvb_usb_adapter *adap);
extern int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap);
extern int dvb_usb_adapter_frontend_exit(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_dvb_exit(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_frontend_init(struct dvb_usb_adapter *adap);
extern int dvb_usbv2_adapter_frontend_exit(struct dvb_usb_adapter *adap);

extern int dvb_usb_remote_init(struct dvb_usb_device *);
extern int dvb_usb_remote_exit(struct dvb_usb_device *);
extern int dvb_usbv2_remote_init(struct dvb_usb_device *);
extern int dvb_usbv2_remote_exit(struct dvb_usb_device *);

#endif
+12 −12
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ static void dvb_usb_data_complete_raw(struct usb_data_stream *stream,
		dvb_dmx_swfilter_raw(&adap->demux, buffer, length);
}

int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_stream_init(struct dvb_usb_adapter *adap)
{
	int ret;
	struct usb_data_stream_properties stream_props;
@@ -53,12 +53,12 @@ int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap)
	/* FIXME: can be removed as set later in anyway */
	adap->stream.complete = dvb_usb_data_complete;

	return usb_urb_init(&adap->stream, &stream_props);
	return usb_urb_initv2(&adap->stream, &stream_props);
}

int dvb_usb_adapter_stream_exit(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_stream_exit(struct dvb_usb_adapter *adap)
{
	usb_urb_exit(&adap->stream);
	usb_urb_exitv2(&adap->stream);
	return 0;
}

@@ -78,7 +78,7 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)
	/* stop feed before setting a new pid if there will be no pid anymore */
	if (newfeedcount == 0) {
		pr_debug("%s: stop feeding\n", __func__);
		usb_urb_kill(&adap->stream);
		usb_urb_killv2(&adap->stream);

		if (adap->props.streaming_ctrl != NULL) {
			ret = adap->props.streaming_ctrl(adap, 0);
@@ -141,7 +141,7 @@ static int dvb_usb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff)

		pr_debug("%s: submitting all URBs\n", __func__);

		usb_urb_submit(&adap->stream, &stream_props);
		usb_urb_submitv2(&adap->stream, &stream_props);

		pr_debug("%s: controlling pid parser\n", __func__);
		if (adap->props.caps & DVB_USB_ADAP_HAS_PID_FILTER &&
@@ -187,7 +187,7 @@ static int dvb_usb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
	return dvb_usb_ctrl_feed(dvbdmxfeed, 0);
}

int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap)
{
	int ret = dvb_register_adapter(&adap->dvb_adap, adap->dev->name,
				       adap->dev->props.owner,
@@ -256,7 +256,7 @@ err:
	return ret;
}

int dvb_usb_adapter_dvb_exit(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_dvb_exit(struct dvb_usb_adapter *adap)
{
	if (adap->state & DVB_USB_ADAP_STATE_DVB) {
		pr_debug("%s: unregistering DVB part\n", __func__);
@@ -275,7 +275,7 @@ static int dvb_usb_fe_wakeup(struct dvb_frontend *fe)
	int ret;
	struct dvb_usb_adapter *adap = fe->dvb->priv;

	ret = dvb_usb_device_power_ctrl(adap->dev, 1);
	ret = dvb_usbv2_device_power_ctrl(adap->dev, 1);
	if (ret < 0)
		goto err;

@@ -316,7 +316,7 @@ static int dvb_usb_fe_sleep(struct dvb_frontend *fe)
			goto err;
	}

	ret = dvb_usb_device_power_ctrl(adap->dev, 0);
	ret = dvb_usbv2_device_power_ctrl(adap->dev, 0);
	if (ret < 0)
		goto err;

@@ -328,7 +328,7 @@ err:
	return ret;
}

int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_frontend_init(struct dvb_usb_adapter *adap)
{
	int ret, i, count_registered = 0;

@@ -397,7 +397,7 @@ err:
	return ret;
}

int dvb_usb_adapter_frontend_exit(struct dvb_usb_adapter *adap)
int dvb_usbv2_adapter_frontend_exit(struct dvb_usb_adapter *adap)
{
	int i;

+28 −28
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@
 */
#include "dvb_usb_common.h"

int dvb_usb_disable_rc_polling;
module_param_named(disable_rc_polling, dvb_usb_disable_rc_polling, int, 0644);
int dvb_usbv2_disable_rc_polling;
module_param_named(disable_rc_polling, dvb_usbv2_disable_rc_polling, int, 0644);
MODULE_PARM_DESC(disable_rc_polling,
		"disable remote control polling (default: 0).");

@@ -24,7 +24,7 @@ module_param_named(force_pid_filter_usage, dvb_usb_force_pid_filter_usage,
MODULE_PARM_DESC(force_pid_filter_usage, "force all dvb-usb-devices to use a" \
		" PID filter, if any (default: 0).");

int dvb_usb_download_firmware(struct dvb_usb_device *d)
int dvb_usbv2_download_firmware(struct dvb_usb_device *d)
{
	int ret;
	const struct firmware *fw = NULL;
@@ -68,7 +68,7 @@ err:
	return ret;
}

int dvb_usb_i2c_init(struct dvb_usb_device *d)
int dvb_usbv2_i2c_init(struct dvb_usb_device *d)
{
	int ret = 0;

@@ -91,7 +91,7 @@ int dvb_usb_i2c_init(struct dvb_usb_device *d)
	return ret;
}

int dvb_usb_i2c_exit(struct dvb_usb_device *d)
int dvb_usbv2_i2c_exit(struct dvb_usb_device *d)
{
	if (d->state & DVB_USB_STATE_I2C)
		i2c_del_adapter(&d->i2c_adap);
@@ -99,7 +99,7 @@ int dvb_usb_i2c_exit(struct dvb_usb_device *d)
	return 0;
}

static int dvb_usb_adapter_init(struct dvb_usb_device *d)
static int dvb_usbv2_adapter_init(struct dvb_usb_device *d)
{
	struct dvb_usb_adapter *adap;
	int ret, n, adapter_count;
@@ -154,15 +154,15 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d)
			adap->max_feed_count = adap->props.pid_filter_count;
		}

		ret = dvb_usb_adapter_stream_init(adap);
		ret = dvb_usbv2_adapter_stream_init(adap);
		if (ret)
			return ret;

		ret = dvb_usb_adapter_dvb_init(adap);
		ret = dvb_usbv2_adapter_dvb_init(adap);
		if (ret)
			return ret;

		ret = dvb_usb_adapter_frontend_init(adap);
		ret = dvb_usbv2_adapter_frontend_init(adap);
		if (ret)
			return ret;

@@ -180,14 +180,14 @@ err:
	return ret;
}

static int dvb_usb_adapter_exit(struct dvb_usb_device *d)
static int dvb_usbv2_adapter_exit(struct dvb_usb_device *d)
{
	int n;

	for (n = 0; n < d->num_adapters_initialized; n++) {
		dvb_usb_adapter_frontend_exit(&d->adapter[n]);
		dvb_usb_adapter_dvb_exit(&d->adapter[n]);
		dvb_usb_adapter_stream_exit(&d->adapter[n]);
		dvb_usbv2_adapter_frontend_exit(&d->adapter[n]);
		dvb_usbv2_adapter_dvb_exit(&d->adapter[n]);
		dvb_usbv2_adapter_stream_exit(&d->adapter[n]);

	}
	d->num_adapters_initialized = 0;
@@ -196,12 +196,12 @@ static int dvb_usb_adapter_exit(struct dvb_usb_device *d)
}

/* general initialization functions */
static int dvb_usb_exit(struct dvb_usb_device *d)
static int dvb_usbv2_exit(struct dvb_usb_device *d)
{
	pr_debug("%s: state before exiting everything: %x\n", __func__, d->state);
	dvb_usb_remote_exit(d);
	dvb_usb_adapter_exit(d);
	dvb_usb_i2c_exit(d);
	dvb_usbv2_remote_exit(d);
	dvb_usbv2_adapter_exit(d);
	dvb_usbv2_i2c_exit(d);
	pr_debug("%s: state should be zero now: %x\n", __func__, d->state);
	d->state = DVB_USB_STATE_INIT;
	kfree(d->priv);
@@ -209,14 +209,14 @@ static int dvb_usb_exit(struct dvb_usb_device *d)
	return 0;
}

static int dvb_usb_init(struct dvb_usb_device *d)
static int dvb_usbv2_init(struct dvb_usb_device *d)
{
	int ret = 0;

	d->state = DVB_USB_STATE_INIT;

	/* check the capabilities and set appropriate variables */
	dvb_usb_device_power_ctrl(d, 1);
	dvb_usbv2_device_power_ctrl(d, 1);

	/* read config */
	if (d->props.read_config) {
@@ -225,24 +225,24 @@ static int dvb_usb_init(struct dvb_usb_device *d)
			goto err;
	}

	ret = dvb_usb_i2c_init(d);
	ret = dvb_usbv2_i2c_init(d);
	if (ret == 0)
		ret = dvb_usb_adapter_init(d);
		ret = dvb_usbv2_adapter_init(d);

	if (ret) {
		dvb_usb_exit(d);
		dvb_usbv2_exit(d);
		return ret;
	}

	if (d->props.init)
		d->props.init(d);

	ret = dvb_usb_remote_init(d);
	ret = dvb_usbv2_remote_init(d);
	if (ret)
		pr_err("%s: could not initialize remote control\n",
				KBUILD_MODNAME);

	dvb_usb_device_power_ctrl(d, 0);
	dvb_usbv2_device_power_ctrl(d, 0);

	return 0;
err:
@@ -250,7 +250,7 @@ err:
	return ret;
}

int dvb_usb_device_power_ctrl(struct dvb_usb_device *d, int onoff)
int dvb_usbv2_device_power_ctrl(struct dvb_usb_device *d, int onoff)
{
	if (onoff)
		d->powered++;
@@ -308,7 +308,7 @@ static void dvb_usbv2_init_work(struct work_struct *work)
	if (cold) {
		pr_info("%s: found a '%s' in cold state\n",
				KBUILD_MODNAME, d->name);
		ret = dvb_usb_download_firmware(d);
		ret = dvb_usbv2_download_firmware(d);
		if (ret == 0) {
			;
		} else if (ret == RECONNECTS_USB) {
@@ -321,7 +321,7 @@ static void dvb_usbv2_init_work(struct work_struct *work)

	pr_info("%s: found a '%s' in warm state\n", KBUILD_MODNAME, d->name);

	ret = dvb_usb_init(d);
	ret = dvb_usbv2_init(d);
	if (ret < 0)
		goto err_usb_driver_release_interface;

@@ -413,7 +413,7 @@ void dvb_usbv2_disconnect(struct usb_interface *intf)
	usb_set_intfdata(intf, NULL);
	if (d) {
		name = d->name;
		dvb_usb_exit(d);
		dvb_usbv2_exit(d);
	}

	pr_info("%s: '%s' successfully deinitialized and disconnected\n",
Loading