OSDN Git Service

spi: efm32: properly namespace location property
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 14 Mar 2014 20:34:22 +0000 (21:34 +0100)
committerMark Brown <broonie@linaro.org>
Fri, 14 Mar 2014 20:36:48 +0000 (20:36 +0000)
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: Mark Brown <broonie@linaro.org>
Documentation/devicetree/bindings/spi/efm32-spi.txt
drivers/spi/spi-efm32.c

index a590ca5..25c02ba 100644 (file)
@@ -8,7 +8,7 @@ Required properties:
 - interrupts: pair specifying rx and tx irq
 - clocks: phandle to the spi clock
 - cs-gpios: see spi-bus.txt
-- location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values.
+- efm32,location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values.
 
 Example:
 
@@ -20,7 +20,7 @@ spi1: spi@0x4000c400 { /* USART1 */
        interrupts = <15 16>;
        clocks = <&cmu 20>;
        cs-gpios = <&gpio 51 1>; // D3
-       location = <1>;
+       efm32,location = <1>;
        status = "ok";
 
        ks8851@0 {
index 0512fed..fdb6fce 100644 (file)
@@ -294,7 +294,10 @@ static void efm32_spi_probe_dt(struct platform_device *pdev,
        u32 location;
        int ret;
 
-       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) {
                dev_dbg(&pdev->dev, "using location %u\n", location);
        } else {