Commit 0c87c66a authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 24b9f501
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
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
+9 −0
Original line number Diff line number Diff line
@@ -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
+12 −0
Original line number Diff line number Diff line
@@ -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)