V4L/DVB: saa7134: split RC code into a different module
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 Sep 2010 17:41:52 +0000 (14:41 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 03:06:09 +0000 (01:06 -0200)
This allows the removal of CONFIG_INPUT from saa7134, and
helps to create a better Kconfig dependency hierarchy.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/saa7134/Kconfig
drivers/media/video/saa7134/Makefile
drivers/media/video/saa7134/saa7134-input.c
drivers/media/video/saa7134/saa7134.h

index fda005e..892b0b1 100644 (file)
@@ -1,8 +1,7 @@
 config VIDEO_SAA7134
        tristate "Philips SAA7134 support"
-       depends on VIDEO_DEV && PCI && I2C && INPUT
+       depends on VIDEO_DEV && PCI && I2C
        select VIDEOBUF_DMA_SG
-       depends on VIDEO_IR
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select CRC32
@@ -25,6 +24,17 @@ config VIDEO_SAA7134_ALSA
          To compile this driver as a module, choose M here: the
          module will be called saa7134-alsa.
 
+config VIDEO_SAA7134_RC
+       tristate "Philips SAA7134 Remote Controller support"
+       depends on VIDEO_IR
+       depends on VIDEO_SAA7134
+       default y
+       ---help---
+         Enables Remote Controller support for saa7134.
+
+         To compile this driver as a module, choose M here: the
+         module will be called saa7134-rc.
+
 config VIDEO_SAA7134_DVB
        tristate "DVB/ATSC Support for saa7134 based TV cards"
        depends on VIDEO_SAA7134 && DVB_CORE
index 604158a..5624468 100644 (file)
@@ -1,7 +1,9 @@
 
 saa7134-objs :=        saa7134-cards.o saa7134-core.o saa7134-i2c.o    \
                saa7134-ts.o saa7134-tvaudio.o saa7134-vbi.o    \
-               saa7134-video.o saa7134-input.o
+               saa7134-video.o
+
+saa7134-rc-objs := saa7134-input.o
 
 obj-$(CONFIG_VIDEO_SAA7134) +=  saa6752hs.o saa7134.o saa7134-empress.o
 
@@ -9,6 +11,8 @@ obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o
 
 obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o
 
+obj-$(CONFIG_VIDEO_SAA7134_RC) += saa7134-rc.o
+
 EXTRA_CFLAGS += -Idrivers/media/video
 EXTRA_CFLAGS += -Idrivers/media/common/tuners
 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
index 3a0ea56..a6ac462 100644 (file)
@@ -28,7 +28,7 @@
 #include "saa7134-reg.h"
 #include "saa7134.h"
 
-#define MODULE_NAME "saa7134"
+#define MODULE_NAME "saa7134-rc"
 
 static unsigned int disable_ir;
 module_param(disable_ir, int, 0444);
@@ -1211,3 +1211,6 @@ static int saa7134_nec_irq(struct saa7134_dev *dev)
 
        return 1;
 }
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>");
index c040a18..99f122b 100644 (file)
@@ -810,16 +810,18 @@ void saa7134_irq_oss_done(struct saa7134_dev *dev, unsigned long status);
 /* ----------------------------------------------------------- */
 /* saa7134-input.c                                             */
 
+#if defined(CONFIG_VIDEO_SAA7134_RC) || (defined(CONFIG_VIDEO_SAA7134_RC_MODULE) && defined(MODULE))
 int  saa7134_input_init1(struct saa7134_dev *dev);
 void saa7134_input_fini(struct saa7134_dev *dev);
 void saa7134_input_irq(struct saa7134_dev *dev);
 void saa7134_probe_i2c_ir(struct saa7134_dev *dev);
 int saa7134_ir_start(struct saa7134_dev *dev);
 void saa7134_ir_stop(struct saa7134_dev *dev);
-
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
+#else
+#define saa7134_input_init1(dev)       (0)
+#define saa7134_input_fini(dev)                (0)
+#define saa7134_input_irq(dev)         (0)
+#define saa7134_probe_i2c_ir(dev)      (0)
+#define saa7134_ir_start(dev)          (0)
+#define saa7134_ir_stop(dev)           (0)
+#endif