From 0c87c66aa383b045c437e7cf456eef28a8aa7b66 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Thu, 29 Nov 2012 00:05:35 -0300 Subject: [PATCH] [media] dvb_usb_v2: make remote controller optional Make it possible to compile dvb_usb_v2 driver without the remote controller (RC-core). Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- drivers/media/usb/dvb-usb-v2/Kconfig | 3 ++- drivers/media/usb/dvb-usb-v2/dvb_usb.h | 9 +++++++++ drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 12 ++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/drivers/media/usb/dvb-usb-v2/Kconfig b/drivers/media/usb/dvb-usb-v2/Kconfig index 3240d55..7b5773f 100644 --- a/drivers/media/usb/dvb-usb-v2/Kconfig +++ b/drivers/media/usb/dvb-usb-v2/Kconfig @@ -1,6 +1,6 @@ config DVB_USB_V2 tristate "Support for various USB DVB devices v2" - depends on DVB_CORE && USB && I2C && RC_CORE + depends on DVB_CORE && USB && I2C help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. @@ -113,6 +113,7 @@ config DVB_USB_IT913X config DVB_USB_LME2510 tristate "LME DM04/QQBOX DVB-S USB2.0 support" depends on DVB_USB_V2 + depends on RC_CORE select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb.h b/drivers/media/usb/dvb-usb-v2/dvb_usb.h index 059291b..e2678a7 100644 --- a/drivers/media/usb/dvb-usb-v2/dvb_usb.h +++ b/drivers/media/usb/dvb-usb-v2/dvb_usb.h @@ -400,4 +400,13 @@ extern int dvb_usbv2_reset_resume(struct usb_interface *); extern int dvb_usbv2_generic_rw(struct dvb_usb_device *, u8 *, u16, u8 *, u16); extern int dvb_usbv2_generic_write(struct dvb_usb_device *, u8 *, u16); +/* stub implementations that will be never called when RC-core is disabled */ +#if !defined(CONFIG_RC_CORE) && !defined(CONFIG_RC_CORE_MODULE) +#define rc_repeat(args...) +#define rc_keydown(args...) +#define rc_keydown_notimeout(args...) +#define rc_keyup(args...) +#define rc_g_keycode_from_table(args...) 0 +#endif + #endif diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c index 671b4fa..94f134c 100644 --- a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c @@ -102,6 +102,7 @@ static int dvb_usbv2_i2c_exit(struct dvb_usb_device *d) return 0; } +#if defined(CONFIG_RC_CORE) || defined(CONFIG_RC_CORE_MODULE) static void dvb_usb_read_remote_control(struct work_struct *work) { struct dvb_usb_device *d = container_of(work, @@ -202,6 +203,17 @@ static int dvb_usbv2_remote_exit(struct dvb_usb_device *d) return 0; } +#else +static int dvb_usbv2_remote_init(struct dvb_usb_device *d) +{ + return 0; +} + +static int dvb_usbv2_remote_exit(struct dvb_usb_device *d) +{ + return 0; +} +#endif static void dvb_usb_data_complete(struct usb_data_stream *stream, u8 *buf, size_t len) -- 2.7.4