提交 d5083677 编写于 作者: A Andi Shyti 提交者: Mauro Carvalho Chehab

[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: NAndi Shyti <andi.shyti@samsung.com>
Signed-off-by: NSean Young <sean@mess.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
上级 d34aee10
...@@ -502,6 +502,11 @@ int ir_raw_event_register(struct rc_dev *dev) ...@@ -502,6 +502,11 @@ 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);
/*
* 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, dev->raw->thread = kthread_run(ir_raw_event_thread, dev->raw,
"rc%u", dev->minor); "rc%u", dev->minor);
...@@ -509,6 +514,7 @@ int ir_raw_event_register(struct rc_dev *dev) ...@@ -509,6 +514,7 @@ int ir_raw_event_register(struct rc_dev *dev)
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);
list_add_tail(&dev->raw->list, &ir_raw_client_list); list_add_tail(&dev->raw->list, &ir_raw_client_list);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册