Skip to content

Commit

Permalink
spi: efm32: correct namespacing of location property
Browse files Browse the repository at this point in the history
Olof Johansson pointed out that usually the company name is picked as
namespace prefix to specific properties. So expect "energymicro,location"
but fall back to the previously introduced name "efm32,location".

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Uwe Kleine-König authored and Mark Brown committed Jul 11, 2014
1 parent 7171511 commit 10ed7e9
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
13 changes: 7 additions & 6 deletions Documentation/devicetree/bindings/spi/efm32-spi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ Required properties:
- cs-gpios: see spi-bus.txt

Recommended properties :
- efm32,location: Value to write to the ROUTE register's LOCATION bitfield to
configure the pinmux for the device, see datasheet for values.
If "efm32,location" property is not provided, keeping what is
already configured in the hardware, so its either the reset
default 0 or whatever the bootloader did.
- energymicro,location: Value to write to the ROUTE register's LOCATION
bitfield to configure the pinmux for the device, see
datasheet for values.
If this property is not provided, keeping what is
already configured in the hardware, so its either the
reset default 0 or whatever the bootloader did.

Example:

Expand All @@ -26,7 +27,7 @@ spi1: spi@0x4000c400 { /* USART1 */
interrupts = <15 16>;
clocks = <&cmu 20>;
cs-gpios = <&gpio 51 1>; // D3
efm32,location = <1>;
energymicro,location = <1>;
status = "ok";

ks8851@0 {
Expand Down
8 changes: 7 additions & 1 deletion drivers/spi/spi-efm32.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,16 @@ static void efm32_spi_probe_dt(struct platform_device *pdev,
u32 location;
int ret;

ret = of_property_read_u32(np, "efm32,location", &location);
ret = of_property_read_u32(np, "energymicro,location", &location);

if (ret)
/* fall back to wrongly namespaced property */
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 {
Expand Down

0 comments on commit 10ed7e9

Please sign in to comment.