Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 215b95ba authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB (6430): Convert tuner-xc2028 driver to the newer hybrid approach



This changeset converts tuner-xc2028 to the newer hybrid approach. It also
prevents creating twice the xc3028 private struct by both DVB and V4L parts.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 3b20532c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ source "drivers/media/common/Kconfig"
config VIDEO_TUNER
	tristate
	depends on I2C
	select TUNER_XC2028 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_MT20XX if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TDA8290 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TEA5761 if !VIDEO_TUNER_CUSTOMIZE
@@ -89,6 +90,13 @@ menuconfig VIDEO_TUNER_CUSTOMIZE

if VIDEO_TUNER_CUSTOMIZE

config TUNER_XC2028
	tristate "XCeive xc2028/xc3028 tuners"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the xc2028/xc3028 tuners.

config TUNER_MT20XX
	tristate "Microtune 2032 / 2050 tuners"
	depends on I2C
+0 −12
Original line number Diff line number Diff line
@@ -505,18 +505,6 @@ config TUNER_3036
	  Say Y here to include support for Philips SAB3036 compatible tuners.
	  If in doubt, say N.

config TUNER_XC2028
	tristate "Xceive xc2028 support for tm5600/tm6000 driver"
	depends on I2C
	select VIDEO_TUNER
	help
	  Say Y here to include support for Xceive xc2028 tuner. This is
	  required on a few tm5600/tm6000 designs. You should notice
	  that this module currently works only with the special
	  firmware versions used on those Trident chips.

	  If in doubt, say N.

config VIDEO_VINO
	tristate "SGI Vino Video For Linux (EXPERIMENTAL)"
	depends on I2C && SGI_IP22 && EXPERIMENTAL && VIDEO_V4L2
+1 −4
Original line number Diff line number Diff line
@@ -6,10 +6,6 @@ zr36067-objs := zoran_procfs.o zoran_device.o \
			zoran_driver.o zoran_card.o
tuner-objs	:=	tuner-core.o tuner-types.o tda9887.o

ifneq ($(CONFIG_TUNER_XC2028),)
  tuner-objs	+=	tuner-xc2028.o
endif

msp3400-objs	:=	msp3400-driver.o msp3400-kthreads.o

obj-$(CONFIG_VIDEO_DEV) += videodev.o v4l2-common.o compat_ioctl32.o \
@@ -85,6 +81,7 @@ obj-$(CONFIG_TUNER_3036) += tuner-3036.o

obj-$(CONFIG_VIDEO_TUNER) += tuner.o

obj-$(CONFIG_TUNER_XC2028) += tuner-xc2028.o
obj-$(CONFIG_TUNER_SIMPLE) += tuner-simple.o
obj-$(CONFIG_TUNER_MT20XX) += mt20xx.o
obj-$(CONFIG_TUNER_TDA8290) += tda8290.o
+11 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include "tda8290.h"
#include "tea5761.h"
#include "tea5767.h"
#include "tuner-xc2028.h"
#include "tuner-simple.h"

#define UNSET (-1U)
@@ -323,8 +324,17 @@ static void set_type(struct i2c_client *c, unsigned int type,
		attach_simple_tuner(t);
		break;
	case TUNER_XC2028:
		xc2028_tuner_init(c);
	{
		int rc=xc2028_attach(&t->fe, t->i2c.adapter, t->i2c.addr,
				     &c->dev, c->adapter->algo_data,
				     t->tuner_callback);
		if (rc<0) {
			t->type = TUNER_ABSENT;
			t->mode_mask = T_UNINITIALIZED;
			return;
		}
		break;
	}
	case TUNER_TDA9887:
		tda9887_tuner_init(t);
		break;
+0 −2
Original line number Diff line number Diff line
@@ -70,8 +70,6 @@ struct tuner {
	struct tuner_operations ops;
};

extern int xc2028_tuner_init(struct i2c_client *c);

/* ------------------------------------------------------------------------ */

extern int tda9887_tuner_init(struct tuner *t);
Loading