From: Mauro Carvalho Chehab Date: Mon, 28 Jul 2014 17:25:28 +0000 (-0300) Subject: upstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1042a606e771c8f1b75041c4a6b844e6ac4ba154;p=platform%2Fkernel%2Flinux-3.10.git upstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos On some hardware (au0828/au8522), the hardware is broken with regards to the initial pulse detection. So, the driver needs to produce a fake start pulse. That limits the acceptable protocols, as it is not possible to produce a fake pulse that would cover all supported protocols. So, allow the driver to explicitly set the allowed protocols. If the driver doesn't specify, keep the old behavior. Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=d24b69fc6b0a Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index ecbc20c..e4c8a0e 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -860,9 +860,11 @@ static ssize_t show_protocols(struct device *device, if (dev->driver_type == RC_DRIVER_SCANCODE || fattr->type == RC_FILTER_WAKEUP) allowed = dev->allowed_protocols[fattr->type]; - else if (dev->raw) - allowed = ir_raw_get_allowed_protocols(); - else { + else if (dev->raw) { + allowed = dev->allowed_protocols[fattr->type]; + if (!allowed) + allowed = ir_raw_get_allowed_protocols(); + } else { mutex_unlock(&dev->lock); return -ENODEV; }