From: Mauro Carvalho Chehab Date: Tue, 23 Oct 2007 18:24:06 +0000 (-0300) Subject: V4L/DVB (6430): Convert tuner-xc2028 driver to the newer hybrid approach X-Git-Tag: v2.6.25-rc1~1235^2~480 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=215b95baf969c6f895969f0a4ae0479954fba7cd;p=pandora-kernel.git 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: Mauro Carvalho Chehab --- diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index 1604f0490404..dfb52592451f 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig @@ -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 diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index 454846355e93..ea5be3711a7d 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -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 diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index 1fd775e0a0b0..08ac197cc1dd 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -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 diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index ce817a17ccf1..13112732ed2c 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c @@ -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; Reading git-diff-tree failed