Remote controller support should be optional on all drivers.
Make it optional at Siano's driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+# Used by common drivers, when they need to ask questions
+config MEDIA_COMMON_OPTIONS
+       bool
+
+comment "common driver options"
+       depends on MEDIA_COMMON_OPTIONS
+
 source "drivers/media/common/b2c2/Kconfig"
 source "drivers/media/common/saa7146/Kconfig"
 source "drivers/media/common/siano/Kconfig"
 
 
 config SMS_SIANO_MDTV
        tristate
-       depends on DVB_CORE && RC_CORE && HAS_DMA
+       depends on DVB_CORE && HAS_DMA
        depends on SMS_USB_DRV || SMS_SDIO_DRV
        default y
        ---help---
 
          Further documentation on this driver can be found on the WWW
          at http://www.siano-ms.com/
+config SMS_SIANO_RC
+       bool "Enable Remote Controller support for Siano devices"
+       depends on SMS_SIANO_MDTV && RC_CORE
+       depends on SMS_USB_DRV || SMS_SDIO_DRV
+       depends on MEDIA_COMMON_OPTIONS
+       default y
+       ---help---
+         Choose Y to select Remote Controller support for Siano driver.
 
-smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o smsir.o
+smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o
 
 obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o smsdvb.o
+obj-$(CONFIG_SMS_SIANO_RC) += smsir.o
 
 ccflags-y += -Idrivers/media/dvb-core
 ccflags-y += $(extra-cflags-y) $(extra-cflags-m)
 
        u32 controller;
 };
 
+#ifdef CONFIG_SMS_SIANO_RC
 int sms_ir_init(struct smscore_device_t *coredev);
 void sms_ir_exit(struct smscore_device_t *coredev);
 void sms_ir_event(struct smscore_device_t *coredev,
                        const char *buf, int len);
+#else
+inline static int sms_ir_init(struct smscore_device_t *coredev) {
+       return 0;
+}
+inline static void sms_ir_exit(struct smscore_device_t *coredev) {};
+inline static void sms_ir_event(struct smscore_device_t *coredev,
+                       const char *buf, int len) {};
+#endif
 
 #endif /* __SMS_IR_H__ */
 
 
        tristate "Siano SMS1xxx based MDTV via SDIO interface"
        depends on DVB_CORE && RC_CORE && HAS_DMA
        depends on MMC
+       select MEDIA_COMMON_OPTIONS
        ---help---
          Choose if you would like to have Siano's support for SDIO interface
 
 config SMS_USB_DRV
        tristate "Siano SMS1xxx based MDTV receiver"
        depends on DVB_CORE && RC_CORE && HAS_DMA
+       select MEDIA_COMMON_OPTIONS
        ---help---
          Choose if you would like to have Siano's support for USB interface