[media] rc-main: allow raw protocol drivers to restrict the allowed protos
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Mon, 28 Jul 2014 17:25:28 +0000 (14:25 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 30 Jul 2014 18:45:48 +0000 (15:45 -0300)
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.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/rc/rc-main.c

index dfceeb4e34a8dfa1d19013bc52f0d030477ea121..a7991c7d010af0bc487db2fb6a8ca94bb08723ad 100644 (file)
@@ -859,10 +859,9 @@ static ssize_t show_protocols(struct device *device,
 
        if (fattr->type == RC_FILTER_NORMAL) {
                enabled = dev->enabled_protocols;
-               if (dev->raw)
+               allowed = dev->allowed_protocols;
+               if (dev->raw && !allowed)
                        allowed = ir_raw_get_allowed_protocols();
-               else
-                       allowed = dev->allowed_protocols;
        } else {
                enabled = dev->enabled_wakeup_protocols;
                allowed = dev->allowed_wakeup_protocols;