summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/tuner-xc2028.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-23 16:24:06 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-23 16:24:06 -0200
commita1bf9e7b7282eca1a559270b1e3d39df743c52b3 (patch)
treebb9eb27f1727b706e3d0492fa0622b51e5c14cfd /linux/drivers/media/video/tuner-xc2028.h
parent63c63d931c469cf4cbda715ad4bc4a92783ce84b (diff)
downloadmediapointer-dvb-s2-a1bf9e7b7282eca1a559270b1e3d39df743c52b3.tar.gz
mediapointer-dvb-s2-a1bf9e7b7282eca1a559270b1e3d39df743c52b3.tar.bz2
Convert tuner-xc2028 driver to the newer hybrid approach
From: Mauro Carvalho Chehab <mchehab@infradead.org> 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 <mchehab@infradead.org> --- linux/drivers/media/Kconfig | 8 linux/drivers/media/video/Kconfig | 12 linux/drivers/media/video/Makefile | 5 linux/drivers/media/video/tuner-core.c | 12 linux/drivers/media/video/tuner-driver.h | 2 linux/drivers/media/video/tuner-xc2028.c | 424 ++++++++++++++----------------- linux/drivers/media/video/tuner-xc2028.h | 24 + 7 files changed, 248 insertions(+), 239 deletions(-)
Diffstat (limited to 'linux/drivers/media/video/tuner-xc2028.h')
-rw-r--r--linux/drivers/media/video/tuner-xc2028.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/linux/drivers/media/video/tuner-xc2028.h b/linux/drivers/media/video/tuner-xc2028.h
index 34ff4cba1..d5a18a37d 100644
--- a/linux/drivers/media/video/tuner-xc2028.h
+++ b/linux/drivers/media/video/tuner-xc2028.h
@@ -4,6 +4,11 @@
* This code is placed under the terms of the GNU General Public License v2
*/
+#ifndef __TUNER_XC2028_H__
+#define __TUNER_XC2028_H__
+
+#include "dvb_frontend.h"
+
/* xc2028 commands for callback */
#define XC2028_TUNER_RESET 0
#define XC2028_RESET_CLK 1
@@ -11,4 +16,21 @@
struct dvb_frontend;
struct i2c_client;
-int xc2028_attach(struct i2c_client *c, struct dvb_frontend *fe);
+#if defined(CONFIG_TUNER_XC2028) || (defined(CONFIG_TUNER_XC2028_MODULE) && defined(MODULE))
+int xc2028_attach(struct dvb_frontend *fe, struct i2c_adapter* i2c_adap,
+ u8 i2c_addr, struct device *dev, void *video_dev,
+ int (*tuner_callback) (void *dev, int command,int arg));
+
+#else
+static inline int xc2028_attach(struct dvb_frontend *fe,
+ struct i2c_adapter* i2c_adap,
+ u8 i2c_addr, struct device *dev, void *video_dev,
+ int (*tuner_callback) (void *dev, int command,int arg))
+{
+ printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
+ __FUNCTION__);
+ return -EINVAL;
+}
+#endif
+
+#endif /* __TUNER_XC2028_H__ */