[media] media: gpio-ir-recv: add allowed_protos for platform data
authorDu, Changbin <changbin.du@gmail.com>
Tue, 3 Jul 2012 09:27:19 +0000 (06:27 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 6 Jul 2012 21:21:53 +0000 (18:21 -0300)
It's better to give platform code a chance to specify the allowed
protocols to use.

[mchehab@redhat.com: fix merge conflict with a patch that made
 half of this change]
Signed-off-by: Du, Changbin <changbin.du@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/rc/gpio-ir-recv.c
include/media/gpio-ir-recv.h

index 59fe60cd1e0213e116472d13f2ab588eb194db4a..04cb272db16a37fb11e2cd2cdeadb75b3d7b3760 100644 (file)
@@ -84,7 +84,6 @@ static int __devinit gpio_ir_recv_probe(struct platform_device *pdev)
 
        rcdev->priv = gpio_dev;
        rcdev->driver_type = RC_DRIVER_IR_RAW;
-       rcdev->allowed_protos = RC_TYPE_ALL;
        rcdev->input_name = GPIO_IR_DEVICE_NAME;
        rcdev->input_phys = GPIO_IR_DEVICE_NAME "/input0";
        rcdev->input_id.bustype = BUS_HOST;
@@ -93,6 +92,10 @@ static int __devinit gpio_ir_recv_probe(struct platform_device *pdev)
        rcdev->input_id.version = 0x0100;
        rcdev->dev.parent = &pdev->dev;
        rcdev->driver_name = GPIO_IR_DRIVER_NAME;
+       if (pdata->allowed_protos)
+               rcdev->allowed_protos = pdata->allowed_protos;
+       else
+               rcdev->allowed_protos = RC_TYPE_ALL;
        rcdev->map_name = pdata->map_name ?: RC_MAP_EMPTY;
 
        gpio_dev->rcdev = rcdev;
index 91546f35b7e1c928017d3be7d0e5600337c468ed..0142736a59db86a3dff4c9592793c6f6f6193e72 100644 (file)
 #define __GPIO_IR_RECV_H__
 
 struct gpio_ir_recv_platform_data {
-       int gpio_nr;
-       bool active_low;
-       const char *map_name;
+       int             gpio_nr;
+       bool            active_low;
+       u64             allowed_protos;
+       const char      *map_name;
 };
 
 #endif /* __GPIO_IR_RECV_H__ */