diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-05 18:57:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-05 18:57:35 -0400 |
commit | 03c0c29aff7e56b722eb6c47eace222b140d0377 (patch) | |
tree | 47267a19b523159cf36a050ef3c35f4dbdb33016 /drivers/of/of_spi.c | |
parent | c60c6a96b7bb0f1f8bb635fdfcf5b592aaf062b4 (diff) | |
parent | 7fb8f881c54beb05dd4d2c947dada1c636581d87 (diff) |
Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (63 commits)
of/platform: Register of_platform_drivers with an "of:" prefix
of/address: Clean up function declarations
of/spi: call of_register_spi_devices() from spi core code
of: Provide default of_node_to_nid() implementation.
of/device: Make of_device_make_bus_id() usable by other code.
of/irq: Fix endian issues in parsing interrupt specifiers
of: Fix phandle endian issues
of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string
of: remove of_default_bus_ids
of: make of_find_device_by_node generic
microblaze: remove references to of_device and to_of_device
sparc: remove references to of_device and to_of_device
powerpc: remove references to of_device and to_of_device
of/device: Replace of_device with platform_device in includes and core code
of/device: Protect against binding of_platform_drivers to non-OF devices
of: remove asm/of_device.h
of: remove asm/of_platform.h
of/platform: remove all of_bus_type and of_platform_bus_type references
of: Merge of_platform_bus_type with platform_bus_type
drivercore/of: Add OF style matching to platform bus
...
Fix up trivial conflicts in arch/microblaze/kernel/Makefile due to just
some obj-y removals by the devicetree branch, while the microblaze
updates added a new file.
Diffstat (limited to 'drivers/of/of_spi.c')
-rw-r--r-- | drivers/of/of_spi.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/of/of_spi.c b/drivers/of/of_spi.c index 5fed7e3c7da3..1dbce58a58b0 100644 --- a/drivers/of/of_spi.c +++ b/drivers/of/of_spi.c | |||
@@ -9,17 +9,17 @@ | |||
9 | #include <linux/of.h> | 9 | #include <linux/of.h> |
10 | #include <linux/device.h> | 10 | #include <linux/device.h> |
11 | #include <linux/spi/spi.h> | 11 | #include <linux/spi/spi.h> |
12 | #include <linux/of_irq.h> | ||
12 | #include <linux/of_spi.h> | 13 | #include <linux/of_spi.h> |
13 | 14 | ||
14 | /** | 15 | /** |
15 | * of_register_spi_devices - Register child devices onto the SPI bus | 16 | * of_register_spi_devices - Register child devices onto the SPI bus |
16 | * @master: Pointer to spi_master device | 17 | * @master: Pointer to spi_master device |
17 | * @np: parent node of SPI device nodes | ||
18 | * | 18 | * |
19 | * Registers an spi_device for each child node of 'np' which has a 'reg' | 19 | * Registers an spi_device for each child node of master node which has a 'reg' |
20 | * property. | 20 | * property. |
21 | */ | 21 | */ |
22 | void of_register_spi_devices(struct spi_master *master, struct device_node *np) | 22 | void of_register_spi_devices(struct spi_master *master) |
23 | { | 23 | { |
24 | struct spi_device *spi; | 24 | struct spi_device *spi; |
25 | struct device_node *nc; | 25 | struct device_node *nc; |
@@ -27,7 +27,10 @@ void of_register_spi_devices(struct spi_master *master, struct device_node *np) | |||
27 | int rc; | 27 | int rc; |
28 | int len; | 28 | int len; |
29 | 29 | ||
30 | for_each_child_of_node(np, nc) { | 30 | if (!master->dev.of_node) |
31 | return; | ||
32 | |||
33 | for_each_child_of_node(master->dev.of_node, nc) { | ||
31 | /* Alloc an spi_device */ | 34 | /* Alloc an spi_device */ |
32 | spi = spi_alloc_device(master); | 35 | spi = spi_alloc_device(master); |
33 | if (!spi) { | 36 | if (!spi) { |