diff options
author | Alexander Sverdlin <alexander.sverdlin@sysgo.com> | 2012-11-29 08:59:29 +0100 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-11-29 17:36:57 +0000 |
commit | f3b6159e6a12136ac9c59aaa92ba9f3e484df650 (patch) | |
tree | 52b58760fbd3a3a427042670dee00761627e5d69 /drivers/spi | |
parent | e207e7619cc9be8dedd910d9c6ce3ee56c7f53d0 (diff) | |
download | linux-3.10-f3b6159e6a12136ac9c59aaa92ba9f3e484df650.tar.gz linux-3.10-f3b6159e6a12136ac9c59aaa92ba9f3e484df650.tar.bz2 linux-3.10-f3b6159e6a12136ac9c59aaa92ba9f3e484df650.zip |
of/spi: Honour "status=disabled" property of device
Currently of_register_spi_devices() function registers all SPI devices,
independetly from their status property in device tree. According to
"ePAPR 1.1" spec, device should only be registered if there is no
"status" property, or it has "ok" (or "okay") value (see
of_device_is_available()). In case of "platform devices",
of_platform_device_create_pdata() checks for "status" and ensures
that disabled devices are not pupulated. But such check for SPI buses
was missing until now. Fix it.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@sysgo.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 84c2861d6f4..d3e64080c40 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -819,7 +819,7 @@ static void of_register_spi_devices(struct spi_master *master) if (!master->dev.of_node) return; - for_each_child_of_node(master->dev.of_node, nc) { + for_each_available_child_of_node(master->dev.of_node, nc) { /* Alloc an spi_device */ spi = spi_alloc_device(master); if (!spi) { |