diff mbox

media: gpio-ir-recv: add allowed_protos and map_name for platform data

Message ID 4ff2c90c.83e6440a.48b4.3727@mx.google.com (mailing list archive)
State New, archived
Headers show

Commit Message

Changbin Du July 3, 2012, 10:27 a.m. UTC
It's better to give platform code a chance to specify the allowed
protocols and which keymap to use.

Signed-off-by: Du, Changbin <changbin.du@gmail.com>
---
 drivers/media/rc/gpio-ir-recv.c |   10 ++++++++--
 include/media/gpio-ir-recv.h    |    6 ++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

Comments

Benoît Thébaudeau July 3, 2012, 11:19 a.m. UTC | #1
Hi Changbin,

On Tue, Jul 3, 2012 at 12:27:19PM +0200, Changbin Du wrote:
> It's better to give platform code a chance to specify the allowed
> protocols and which keymap to use.

Already half done here:
http://git.linuxtv.org/media_tree.git?a=commitdiff;h=2bd237b

Regards,
Benoît
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Changbin Du July 4, 2012, 3:08 a.m. UTC | #2
> Hi Changbin,
> 
> On Tue, Jul 3, 2012 at 12:27:19PM +0200, Changbin Du wrote:
> > It's better to give platform code a chance to specify the allowed
> > protocols and which keymap to use.
> 
> Already half done here:
> http://git.linuxtv.org/media_tree.git?a=commitdiff;h=2bd237b

Got it, thanks. 

[Du, ChangbinX] 
> Regards,
> Benoît

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/rc/gpio-ir-recv.c
b/drivers/media/rc/gpio-ir-recv.c
index 0d87545..f0d09af 100644
--- a/drivers/media/rc/gpio-ir-recv.c
+++ b/drivers/media/rc/gpio-ir-recv.c
@@ -83,11 +83,17 @@  static int __devinit gpio_ir_recv_probe(struct
platform_device *pdev)
 	}
 
 	rcdev->driver_type = RC_DRIVER_IR_RAW;
-	rcdev->allowed_protos = RC_TYPE_ALL;
 	rcdev->input_name = GPIO_IR_DEVICE_NAME;
 	rcdev->input_id.bustype = BUS_HOST;
 	rcdev->driver_name = GPIO_IR_DRIVER_NAME;
-	rcdev->map_name = RC_MAP_EMPTY;
+	if (pdata->allowed_protos)
+		rcdev->allowed_protos = pdata->allowed_protos;
+	else
+		rcdev->allowed_protos = RC_TYPE_ALL;
+	if (pdata->map_name)
+		rcdev->map_name = pdata->map_name;
+	else
+		rcdev->map_name = RC_MAP_EMPTY;
 
 	gpio_dev->rcdev = rcdev;
 	gpio_dev->gpio_nr = pdata->gpio_nr;
diff --git a/include/media/gpio-ir-recv.h b/include/media/gpio-ir-recv.h
index 67797bf..0142736 100644
--- a/include/media/gpio-ir-recv.h
+++ b/include/media/gpio-ir-recv.h
@@ -14,8 +14,10 @@ 
 #define __GPIO_IR_RECV_H__
 
 struct gpio_ir_recv_platform_data {
-	int gpio_nr;
-	bool active_low;
+	int		gpio_nr;
+	bool		active_low;
+	u64		allowed_protos;
+	const char	*map_name;
 };
 
 #endif /* __GPIO_IR_RECV_H__ */