summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-10-28 12:10:36 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-10-31 12:53:08 +0100
commit2fa5f069585d6755ff27321345d8c0940a4b88e2 (patch)
tree1f826b8a7613d0170043099955896cab21273f3e /drivers/spi
parentfb40dd5157f5045726c667a0216744189bea591c (diff)
downloadbarebox-2fa5f069585d6755ff27321345d8c0940a4b88e2.tar.gz
barebox-2fa5f069585d6755ff27321345d8c0940a4b88e2.tar.xz
spi: Get bus_num from devicetree
Get the bus_num from devicetree if a "spi" alias exists. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 64aa63e47a..ad65884fda 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -226,6 +226,9 @@ int spi_register_master(struct spi_master *master)
if (master->num_chipselect == 0)
return -EINVAL;
+ if ((master->bus_num < 0) && master->dev->device_node)
+ master->bus_num = of_alias_get_id(master->dev->device_node, "spi");
+
/* convention: dynamically assigned bus IDs count down from the max */
if (master->bus_num < 0)
master->bus_num = dyn_bus_id--;