[media] rc-ir-raw: do not generate any receiving thread for raw transmitters

Raw IR transmitters do not need any thread listening for
occurring events. Check the driver type before running the
thread.

Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Andi Shyti 2016-12-16 04:12:16 -02:00 committed by Mauro Carvalho Chehab
parent d34aee1018
commit d5083677b3

View File

@ -502,12 +502,18 @@ int ir_raw_event_register(struct rc_dev *dev)
dev->change_protocol = change_protocol; dev->change_protocol = change_protocol;
INIT_KFIFO(dev->raw->kfifo); INIT_KFIFO(dev->raw->kfifo);
dev->raw->thread = kthread_run(ir_raw_event_thread, dev->raw, /*
"rc%u", dev->minor); * raw transmitters do not need any event registration
* because the event is coming from userspace
*/
if (dev->driver_type != RC_DRIVER_IR_RAW_TX) {
dev->raw->thread = kthread_run(ir_raw_event_thread, dev->raw,
"rc%u", dev->minor);
if (IS_ERR(dev->raw->thread)) { if (IS_ERR(dev->raw->thread)) {
rc = PTR_ERR(dev->raw->thread); rc = PTR_ERR(dev->raw->thread);
goto out; goto out;
}
} }
mutex_lock(&ir_raw_handler_lock); mutex_lock(&ir_raw_handler_lock);