diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-23 16:24:06 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-23 16:24:06 -0200 |
commit | a1bf9e7b7282eca1a559270b1e3d39df743c52b3 (patch) | |
tree | bb9eb27f1727b706e3d0492fa0622b51e5c14cfd /linux/drivers/media/video/tuner-xc2028.h | |
parent | 63c63d931c469cf4cbda715ad4bc4a92783ce84b (diff) | |
download | mediapointer-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.h | 24 |
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__ */ |