Browse Source

V4L/DVB (7125): tuner: build tuner-types independently of tuner-core

tuner-types is needed for tuner-simple, and does not need to be bound
to tuner-core.  Any caller of tuner-simple, including tuner-core, needs
to pass a structure from tuner-types into tuner-simple at attach-time.

Export the two needed symbols from tuner-types for now, so that card-level
drivers can attach tuner-simple for hybrid dvb_frontend devices.  We will
remove this dependency altogether as tuner refactoring phase 3 progresses.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky 17 years ago
parent
commit
82b3083d26
3 changed files with 21 additions and 1 deletions
  1. 5 0
      drivers/media/Kconfig
  2. 2 1
      drivers/media/video/Makefile
  3. 14 0
      drivers/media/video/tuner-types.c

+ 5 - 0
drivers/media/Kconfig

@@ -71,9 +71,13 @@ source "drivers/media/dvb/Kconfig"
 
 source "drivers/media/common/Kconfig"
 
+config VIDEO_TUNER_TYPES
+	tristate
+
 config VIDEO_TUNER
 	tristate
 	depends on I2C
+	select VIDEO_TUNER_TYPES
 	select TUNER_XC2028 if !VIDEO_TUNER_CUSTOMIZE
 	select TUNER_MT20XX if !VIDEO_TUNER_CUSTOMIZE
 	select TUNER_TDA8290 if !VIDEO_TUNER_CUSTOMIZE
@@ -136,6 +140,7 @@ config TUNER_TEA5767
 config TUNER_SIMPLE
 	tristate "Simple tuner support"
 	depends on I2C
+	select VIDEO_TUNER_TYPES
 	select TUNER_TDA9887
 	default m if VIDEO_TUNER_CUSTOMIZE
 	help

+ 2 - 1
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
+tuner-objs	:=	tuner-core.o
 
 msp3400-objs	:=	msp3400-driver.o msp3400-kthreads.o
 
@@ -84,6 +84,7 @@ obj-$(CONFIG_VIDEO_DPC) += dpc7146.o
 obj-$(CONFIG_TUNER_3036) += tuner-3036.o
 
 obj-$(CONFIG_VIDEO_TUNER) += tuner.o
+obj-$(CONFIG_VIDEO_TUNER_TYPES) += tuner-types.o
 
 obj-$(CONFIG_TUNER_XC2028) += tuner-xc2028.o
 obj-$(CONFIG_TUNER_SIMPLE) += tuner-simple.o

+ 14 - 0
drivers/media/video/tuner-types.c

@@ -1480,5 +1480,19 @@ struct tunertype tuners[] = {
 		/* see xc5000.c for details */
 	},
 };
+EXPORT_SYMBOL(tuners);
 
 unsigned const int tuner_count = ARRAY_SIZE(tuners);
+EXPORT_SYMBOL(tuner_count);
+
+MODULE_DESCRIPTION("Simple tuner device type database");
+MODULE_AUTHOR("Ralph Metzler, Gerd Knorr, Gunther Mayer");
+MODULE_LICENSE("GPL");
+
+/*
+ * Overrides for Emacs so that we follow Linus's tabbing style.
+ * ---------------------------------------------------------------------------
+ * Local variables:
+ * c-basic-offset: 8
+ * End:
+ */