serial: efm32: properly namespace location property
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 14 Mar 2014 20:42:11 +0000 (21:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Mar 2014 23:13:23 +0000 (16:13 -0700)
While reviewing an i2c driver for efm32 that needs a similar property
Wolfram Sang pointed out that "location" is a too generic name for something
that is efm32 specific. So add an appropriate namespace and fall back to the
generic name in case of failure.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/serial/efm32-uart.txt
drivers/tty/serial/efm32-uart.c

index 8e080b893b49fc3a811357e04c056f3d5d8002ae..1984bdfbd545c7649fccebcb1c585e5d97affaa6 100644 (file)
@@ -6,7 +6,7 @@ Required properties:
 - interrupts : Should contain uart interrupt
 
 Optional properties:
-- location : Decides the location of the USART I/O pins.
+- efm32,location : Decides the location of the USART I/O pins.
   Allowed range : [0 .. 5]
   Default: 0
 
@@ -16,5 +16,5 @@ uart@0x4000c400 {
        compatible = "efm32,uart";
        reg = <0x4000c400 0x400>;
        interrupts = <15>;
-       location = <0>;
+       efm32,location = <0>;
 };
index 0eb5b5673ede505e04491d83656c02d6af93e770..028582e924a5fbff4394993e1102f4456e9b6ff5 100644 (file)
@@ -671,7 +671,10 @@ static int efm32_uart_probe_dt(struct platform_device *pdev,
        if (!np)
                return 1;
 
-       ret = of_property_read_u32(np, "location", &location);
+       ret = of_property_read_u32(np, "efm32,location", &location);
+       if (ret)
+               /* fall back to old and (wrongly) generic property "location" */
+               ret = of_property_read_u32(np, "location", &location);
        if (!ret) {
                if (location > 5) {
                        dev_err(&pdev->dev, "invalid location\n");