diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2007-10-21 19:48:48 -0400 |
---|---|---|
committer | Michael Krufky <mkrufky@linuxtv.org> | 2007-10-21 19:48:48 -0400 |
commit | f206890c29c965f6ef422b318895e11c4039800a (patch) | |
tree | c40cf231b67f9b0887290a9a912c121cea1638b6 /linux/drivers/media/video | |
parent | 4728a760179d2992de4fa160f0b1d474cb0c03d2 (diff) | |
download | mediapointer-dvb-s2-f206890c29c965f6ef422b318895e11c4039800a.tar.gz mediapointer-dvb-s2-f206890c29c965f6ef422b318895e11c4039800a.tar.bz2 |
make tda9887 build selectable via Kconfig
From: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/drivers/media/Kconfig | 10 +++++++++
linux/drivers/media/video/Makefile | 3 +-
linux/drivers/media/video/tda9887.c | 23 ++++++++++++++-------
linux/drivers/media/video/tda9887.h | 33 +++++++++++++++++++++++++++++++
linux/drivers/media/video/tuner-core.c | 3 +-
linux/drivers/media/video/tuner-driver.h | 4 ---
6 files changed, 62 insertions(+), 14 deletions(-)
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/Makefile | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/tda9887.c | 23 | ||||
-rw-r--r-- | linux/drivers/media/video/tda9887.h | 33 | ||||
-rw-r--r-- | linux/drivers/media/video/tuner-core.c | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/tuner-driver.h | 4 |
5 files changed, 52 insertions, 14 deletions
diff --git a/linux/drivers/media/video/Makefile b/linux/drivers/media/video/Makefile index 08ac197cc..8a2781821 100644 --- a/linux/drivers/media/video/Makefile +++ b/linux/drivers/media/video/Makefile @@ -4,7 +4,7 @@ zr36067-objs := zoran_procfs.o zoran_device.o \ zoran_driver.o zoran_card.o -tuner-objs := tuner-core.o tuner-types.o tda9887.o +tuner-objs := tuner-core.o tuner-types.o msp3400-objs := msp3400-driver.o msp3400-kthreads.o @@ -87,6 +87,7 @@ obj-$(CONFIG_TUNER_MT20XX) += mt20xx.o obj-$(CONFIG_TUNER_TDA8290) += tda8290.o obj-$(CONFIG_TUNER_TEA5767) += tea5767.o obj-$(CONFIG_TUNER_TEA5761) += tea5761.o +obj-$(CONFIG_TUNER_TDA9887) += tda9887.o obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o diff --git a/linux/drivers/media/video/tda9887.c b/linux/drivers/media/video/tda9887.c index 1edb1299f..48a7de63e 100644 --- a/linux/drivers/media/video/tda9887.c +++ b/linux/drivers/media/video/tda9887.c @@ -13,7 +13,7 @@ #endif #include <media/v4l2-common.h> #include <media/tuner.h> -#include "tuner-driver.h" +#include "tda9887.h" /* Chips: @@ -24,13 +24,18 @@ Used as part of several tuners */ +static int tda9887_debug; +module_param_named(debug, tda9887_debug, int, 0644); + #define tda9887_info(fmt, arg...) do {\ printk(KERN_INFO "%s %d-%04x: " fmt, priv->t->i2c.name, \ - i2c_adapter_id(priv->t->i2c.adapter), priv->t->i2c.addr , ##arg); } while (0) + i2c_adapter_id(priv->t->i2c.adapter), \ + priv->t->i2c.addr, ##arg); } while (0) #define tda9887_dbg(fmt, arg...) do {\ - if (tuner_debug) \ + if (tda9887_debug) \ printk(KERN_INFO "%s %d-%04x: " fmt, priv->t->i2c.name, \ - i2c_adapter_id(priv->t->i2c.adapter), priv->t->i2c.addr , ##arg); } while (0) + i2c_adapter_id(priv->t->i2c.adapter), \ + priv->t->i2c.addr, ##arg); } while (0) struct tda9887_priv { struct tuner_i2c_props i2c_props; @@ -584,13 +589,13 @@ static void tda9887_configure(struct dvb_frontend *fe) tda9887_dbg("writing: b=0x%02x c=0x%02x e=0x%02x\n", priv->data[1],priv->data[2],priv->data[3]); - if (tuner_debug > 1) + if (tda9887_debug > 1) dump_write_message(fe, priv->data); if (4 != (rc = tuner_i2c_xfer_send(&priv->i2c_props,priv->data,4))) tda9887_info("i2c i/o error: rc == %d (should be 4)\n",rc); - if (tuner_debug > 2) { + if (tda9887_debug > 2) { msleep_interruptible(1000); tda9887_status(fe); } @@ -601,7 +606,8 @@ static void tda9887_configure(struct dvb_frontend *fe) static void tda9887_tuner_status(struct dvb_frontend *fe) { struct tda9887_priv *priv = fe->analog_demod_priv; - tda9887_info("Data bytes: b=0x%02x c=0x%02x e=0x%02x\n", priv->data[1], priv->data[2], priv->data[3]); + tda9887_info("Data bytes: b=0x%02x c=0x%02x e=0x%02x\n", + priv->data[1], priv->data[2], priv->data[3]); } static int tda9887_get_afc(struct dvb_frontend *fe) @@ -647,7 +653,7 @@ static struct analog_tuner_ops tda9887_tuner_ops = { .release = tda9887_release, }; -int tda9887_tuner_init(struct tuner *t) +int tda9887_attach(struct tuner *t) { struct tda9887_priv *priv = NULL; @@ -669,6 +675,7 @@ int tda9887_tuner_init(struct tuner *t) return 0; } +EXPORT_SYMBOL_GPL(tda9887_attach); /* * Overrides for Emacs so that we follow Linus's tabbing style. diff --git a/linux/drivers/media/video/tda9887.h b/linux/drivers/media/video/tda9887.h new file mode 100644 index 000000000..b879f0ec2 --- /dev/null +++ b/linux/drivers/media/video/tda9887.h @@ -0,0 +1,33 @@ +/* + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __TDA9887_H__ +#define __TDA9887_H__ + +#include "tuner-driver.h" + +/* ------------------------------------------------------------------------ */ +#if defined(CONFIG_TUNER_TDA9887) || (defined(CONFIG_TUNER_TDA9887_MODULE) && defined(MODULE)) +extern int tda9887_attach(struct tuner *t); +#else +static inline int tda9887_attach(struct tuner *t) +{ + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); + return -EINVAL; +} +#endif + +#endif /* __TDA9887_H__ */ diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c index ccddf55eb..e78a5c43e 100644 --- a/linux/drivers/media/video/tuner-core.c +++ b/linux/drivers/media/video/tuner-core.c @@ -30,6 +30,7 @@ #include "tea5767.h" #include "tuner-xc2028.h" #include "tuner-simple.h" +#include "tda9887.h" #define UNSET (-1U) @@ -371,7 +372,7 @@ static void set_type(struct i2c_client *c, unsigned int type, break; } case TUNER_TDA9887: - tda9887_tuner_init(t); + tda9887_attach(t); break; default: attach_simple_tuner(t); diff --git a/linux/drivers/media/video/tuner-driver.h b/linux/drivers/media/video/tuner-driver.h index e9d7dc061..2794e718b 100644 --- a/linux/drivers/media/video/tuner-driver.h +++ b/linux/drivers/media/video/tuner-driver.h @@ -69,10 +69,6 @@ struct tuner { /* ------------------------------------------------------------------------ */ -extern int tda9887_tuner_init(struct tuner *t); - -/* ------------------------------------------------------------------------ */ - #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15) #define tuner_warn(fmt, arg...) do {\ printk(KERN_WARNING "%s %d-%04x: " fmt, t->i2c.driver->name, \ |