aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-08-27 20:59:35 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:07:43 -0400
commitca805d57cf5ea7482ed3da28653f30621249ee45 (patch)
tree35e9051fb2e8be8c94c1b15a07c43f2303de3125 /drivers/media/video
parent4adad287de82703fd504fdab7aebe760196bb786 (diff)
V4L/DVB (6134): tuner: alter build to produce separate modules
Break tuner.ko into separate modules. This was a quick change - Tuner sub-drivers are still static-linked to tuner.ko, this will change after using dvb_attach and removing the probing functions. After this change, one can deselect undesired tuner sub-drivers via Kconfig. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: Mike Isely <isely@pobox.com> Acked-by: Steven Toth <stoth@hauppauge.com> Acked-by: Patrick Boettcher <pb@linuxtv.org> Acked-by: Jarod Wilson <jwilson@redhat.com> Acked-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/Kconfig9
-rw-r--r--drivers/media/video/Makefile12
-rw-r--r--drivers/media/video/mt20xx.h10
-rw-r--r--drivers/media/video/tda8290.h19
-rw-r--r--drivers/media/video/tea5761.h19
-rw-r--r--drivers/media/video/tea5767.h18
-rw-r--r--drivers/media/video/tuner-simple.h11
7 files changed, 85 insertions, 13 deletions
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index 0e1d2ccc4e81..04756c342cba 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -505,15 +505,6 @@ config TUNER_3036
505 Say Y here to include support for Philips SAB3036 compatible tuners. 505 Say Y here to include support for Philips SAB3036 compatible tuners.
506 If in doubt, say N. 506 If in doubt, say N.
507 507
508config TUNER_TEA5761
509 bool "TEA 5761 radio tuner (EXPERIMENTAL)"
510 depends on EXPERIMENTAL
511 depends on I2C
512 select VIDEO_TUNER
513 help
514 Say Y here to include support for Philips TEA5761 radio tuner.
515 If in doubt, say N.
516
517config VIDEO_VINO 508config VIDEO_VINO
518 tristate "SGI Vino Video For Linux (EXPERIMENTAL)" 509 tristate "SGI Vino Video For Linux (EXPERIMENTAL)"
519 depends on I2C && SGI_IP22 && EXPERIMENTAL && VIDEO_V4L2 510 depends on I2C && SGI_IP22 && EXPERIMENTAL && VIDEO_V4L2
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index 113e525f6dab..00699c36ec1a 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -4,10 +4,7 @@
4 4
5zr36067-objs := zoran_procfs.o zoran_device.o \ 5zr36067-objs := zoran_procfs.o zoran_device.o \
6 zoran_driver.o zoran_card.o 6 zoran_driver.o zoran_card.o
7tuner-objs := tuner-core.o tuner-types.o tuner-simple.o \ 7tuner-objs := tuner-core.o tuner-types.o tda9887.o
8 mt20xx.o tda8290.o tea5767.o tda9887.o
9
10tuner-$(CONFIG_TUNER_TEA5761) += tea5761.o
11 8
12msp3400-objs := msp3400-driver.o msp3400-kthreads.o 9msp3400-objs := msp3400-driver.o msp3400-kthreads.o
13 10
@@ -83,6 +80,13 @@ obj-$(CONFIG_VIDEO_DPC) += dpc7146.o
83obj-$(CONFIG_TUNER_3036) += tuner-3036.o 80obj-$(CONFIG_TUNER_3036) += tuner-3036.o
84 81
85obj-$(CONFIG_VIDEO_TUNER) += tuner.o 82obj-$(CONFIG_VIDEO_TUNER) += tuner.o
83
84obj-$(CONFIG_TUNER_SIMPLE) += tuner-simple.o
85obj-$(CONFIG_TUNER_MT20XX) += mt20xx.o
86obj-$(CONFIG_TUNER_TDA8290) += tda8290.o
87obj-$(CONFIG_TUNER_TEA5767) += tea5767.o
88obj-$(CONFIG_TUNER_TEA5761) += tea5761.o
89
86obj-$(CONFIG_VIDEO_BUF) += video-buf.o 90obj-$(CONFIG_VIDEO_BUF) += video-buf.o
87obj-$(CONFIG_VIDEO_BUF_DVB) += video-buf-dvb.o 91obj-$(CONFIG_VIDEO_BUF_DVB) += video-buf-dvb.o
88obj-$(CONFIG_VIDEO_BTCX) += btcx-risc.o 92obj-$(CONFIG_VIDEO_BTCX) += btcx-risc.o
diff --git a/drivers/media/video/mt20xx.h b/drivers/media/video/mt20xx.h
index 877dbef891ea..5e9c825d2e91 100644
--- a/drivers/media/video/mt20xx.h
+++ b/drivers/media/video/mt20xx.h
@@ -20,8 +20,18 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if defined(CONFIG_TUNER_MT20XX) || (defined(CONFIG_TUNER_MT20XX_MODULE) && defined(MODULE))
23extern struct dvb_frontend *microtune_attach(struct dvb_frontend *fe, 24extern struct dvb_frontend *microtune_attach(struct dvb_frontend *fe,
24 struct i2c_adapter* i2c_adap, 25 struct i2c_adapter* i2c_adap,
25 u8 i2c_addr); 26 u8 i2c_addr);
27#else
28static inline struct dvb_frontend *microtune_attach(struct dvb_frontend *fe,
29 struct i2c_adapter* i2c_adap,
30 u8 i2c_addr)
31{
32 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
33 return NULL;
34}
35#endif
26 36
27#endif /* __MT20XX_H__ */ 37#endif /* __MT20XX_H__ */
diff --git a/drivers/media/video/tda8290.h b/drivers/media/video/tda8290.h
index 815ca1c78f80..107b24b05aa1 100644
--- a/drivers/media/video/tda8290.h
+++ b/drivers/media/video/tda8290.h
@@ -26,10 +26,29 @@ struct tda8290_config
26 int (*tuner_callback) (void *dev, int command,int arg); 26 int (*tuner_callback) (void *dev, int command,int arg);
27}; 27};
28 28
29#if defined(CONFIG_TUNER_TDA8290) || (defined(CONFIG_TUNER_TDA8290_MODULE) && defined(MODULE))
29extern int tda8290_probe(struct i2c_adapter* i2c_adap, u8 i2c_addr); 30extern int tda8290_probe(struct i2c_adapter* i2c_adap, u8 i2c_addr);
31
30extern struct dvb_frontend *tda8290_attach(struct dvb_frontend *fe, 32extern struct dvb_frontend *tda8290_attach(struct dvb_frontend *fe,
31 struct i2c_adapter* i2c_adap, 33 struct i2c_adapter* i2c_adap,
32 u8 i2c_addr, 34 u8 i2c_addr,
33 struct tda8290_config *cfg); 35 struct tda8290_config *cfg);
36#else
37static inline int tda8290_probe(struct i2c_adapter* i2c_adap, u8 i2c_addr)
38{
39 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
40 __FUNCTION__);
41 return -EINVAL;
42}
43
44static inline struct dvb_frontend *tda8290_attach(struct dvb_frontend *fe,
45 struct i2c_adapter* i2c_adap,
46 u8 i2c_addr,
47 struct tda8290_config *cfg)
48{
49 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
50 return NULL;
51}
52#endif
34 53
35#endif /* __TDA8290_H__ */ 54#endif /* __TDA8290_H__ */
diff --git a/drivers/media/video/tea5761.h b/drivers/media/video/tea5761.h
index f287c0291bff..73a03b427843 100644
--- a/drivers/media/video/tea5761.h
+++ b/drivers/media/video/tea5761.h
@@ -20,9 +20,28 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if defined(CONFIG_TUNER_TEA5761) || (defined(CONFIG_TUNER_TEA5761_MODULE) && defined(MODULE))
23extern int tea5761_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 24extern int tea5761_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr);
25
24extern struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe, 26extern struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe,
25 struct i2c_adapter* i2c_adap, 27 struct i2c_adapter* i2c_adap,
26 u8 i2c_addr); 28 u8 i2c_addr);
29#else
30static inline int tea5761_autodetection(struct i2c_adapter* i2c_adap,
31 u8 i2c_addr)
32{
33 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
34 __FUNCTION__);
35 return -EINVAL;
36}
37
38static inline struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe,
39 struct i2c_adapter* i2c_adap,
40 u8 i2c_addr)
41{
42 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
43 return NULL;
44}
45#endif
27 46
28#endif /* __TEA5761_H__ */ 47#endif /* __TEA5761_H__ */
diff --git a/drivers/media/video/tea5767.h b/drivers/media/video/tea5767.h
index 68e9263badfd..5d78281adcc2 100644
--- a/drivers/media/video/tea5767.h
+++ b/drivers/media/video/tea5767.h
@@ -20,10 +20,28 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if defined(CONFIG_TUNER_TEA5767) || (defined(CONFIG_TUNER_TEA5767_MODULE) && defined(MODULE))
23extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 24extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr);
24 25
25extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 26extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
26 struct i2c_adapter* i2c_adap, 27 struct i2c_adapter* i2c_adap,
27 u8 i2c_addr); 28 u8 i2c_addr);
29#else
30static inline int tea5767_autodetection(struct i2c_adapter* i2c_adap,
31 u8 i2c_addr)
32{
33 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
34 __FUNCTION__);
35 return -EINVAL;
36}
37
38static inline struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
39 struct i2c_adapter* i2c_adap,
40 u8 i2c_addr)
41{
42 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
43 return NULL;
44}
45#endif
28 46
29#endif /* __TEA5767_H__ */ 47#endif /* __TEA5767_H__ */
diff --git a/drivers/media/video/tuner-simple.h b/drivers/media/video/tuner-simple.h
index 75cd45b7145d..9089939a8c02 100644
--- a/drivers/media/video/tuner-simple.h
+++ b/drivers/media/video/tuner-simple.h
@@ -27,9 +27,20 @@ struct simple_tuner_config
27 struct tunertype *tun; 27 struct tunertype *tun;
28}; 28};
29 29
30#if defined(CONFIG_TUNER_SIMPLE) || (defined(CONFIG_TUNER_SIMPLE_MODULE) && defined(MODULE))
30extern struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe, 31extern struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe,
31 struct i2c_adapter *i2c_adap, 32 struct i2c_adapter *i2c_adap,
32 u8 i2c_addr, 33 u8 i2c_addr,
33 struct simple_tuner_config *cfg); 34 struct simple_tuner_config *cfg);
35#else
36static inline struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe,
37 struct i2c_adapter *i2c_adap,
38 u8 i2c_addr,
39 struct simple_tuner_config *cfg)
40{
41 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
42 return NULL;
43}
44#endif
34 45
35#endif /* __TUNER_SIMPLE_H__ */ 46#endif /* __TUNER_SIMPLE_H__ */