On 02/09/2013 01:03 AM, Mauro Carvalho Chehab wrote:
Em Fri,  8 Feb 2013 21:38:07 +0100
Sebastian Hesselbarth<sebastian.hesselba...@gmail.com>  escreveu:

This patch adds device tree parsing for gpio_ir_recv platform_data and
the mandatory binding documentation. It basically follows what we already
have for e.g. gpio_keys. All required device tree properties are OS
independent but an optional property allow linux specific support for rc
maps.

There was a similar patch sent by Matus Ujhelyi but that discussion
died after the first reviews.

Signed-off-by: Sebastian Hesselbarth<sebastian.hesselba...@gmail.com>
---
Changelog

v1->v2:
- get rid of ptr returned by _get_devtree_pdata()
- check for of_node instead for NULL pdata
- remove unneccessary double check for gpios property
- remove unneccessary #ifdef CONFIG_OF around match table

Cc: Grant Likely<grant.lik...@secretlab.ca>
Cc: Rob Herring<rob.herr...@calxeda.com>
Cc: Rob Landley<r...@landley.net>
Cc: Mauro Carvalho Chehab<mche...@redhat.com>
Cc: Sebastian Hesselbarth<sebastian.hesselba...@gmail.com>
Cc: Benoit Thebaudeau<benoit.thebaud...@advansee.com>
Cc: David Hardeman<da...@hardeman.nu>
Cc: Trilok Soni<ts...@codeaurora.org>
Cc: Sylwester Nawrocki<s.nawro...@samsung.com>
Cc: Matus Ujhelyi<ujhely...@gmail.com>
Cc: devicetree-discuss@lists.ozlabs.org
Cc: linux-...@vger.kernel.org
Cc: linux-ker...@vger.kernel.org
Cc: linux-me...@vger.kernel.org
---
  .../devicetree/bindings/media/gpio-ir-receiver.txt |   16 ++++++
  drivers/media/rc/gpio-ir-recv.c                    |   57 ++++++++++++++++++++
  2 files changed, 73 insertions(+)
  create mode 100644 
Documentation/devicetree/bindings/media/gpio-ir-receiver.txt

diff --git a/Documentation/devicetree/bindings/media/gpio-ir-receiver.txt 
b/Documentation/devicetree/bindings/media/gpio-ir-receiver.txt
new file mode 100644
index 0000000..8589f30
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/gpio-ir-receiver.txt
@@ -0,0 +1,16 @@
+Device-Tree bindings for GPIO IR receiver
+
+Required properties:
+       - compatible = "gpio-ir-receiver";
+       - gpios: OF device-tree gpio specification.
+
+Optional properties:
+       - linux,rc-map-name: Linux specific remote control map name.
+
+Example node:
+
+       ir: ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios =<&gpio0 19 1>;
+               linux,rc-map-name = "rc-rc6-mce";

Please change this to:
                linux,rc-map-name = RC_MAP_RC6_MCE;

(as defined at include/media/rc-map.h).

Mauro,

this is not possible in device tree bindings. Device tree properties
can only carry numeric or string types (and some other stuff) but no
OS specific enumerations. So using strings is the only option here.

The idea of having those strings defined at the same header file is to:

Unfortunately, device tree blobs don't know about linux header files.

That leaves two options:
- allow the user to supply a string of the map in his device tree description
  and risk that there may be a broken map name
- remove linux,rc-map-name from DT binding and let the user configure in
  from user space (which is propably best choice anyway)

I tried both, DT supplied map name and ir-keytable from userspace
both work fine.

Sebastian

        - make sure that the same keyboard is spelled at the same way on
all places;

        - avoid people to duplicate IR keytables, using different names;

        - help userspace to get the right table. In the future, the
plan is to remove all keytables from kernelspace, keeping there just the
name of the keytable. The existing userspace code (ir-keytables, part
of v4l-utils) use the keytable name to dynamically load the right table
in runtime and to switch the IR core to only handle the protocol that
it is associated with the loaded keytable.



_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to