diff options
author | Lee Jones <lee.jones@linaro.org> | 2012-03-15 20:46:17 +0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-16 23:46:13 +0400 |
commit | 7e0ce270b2ef3d0d00c3f0725f48aa3127d73edf (patch) | |
tree | 554deb8c395f901c217f948671822dce634aab77 /arch/arm/mach-ux500 | |
parent | 5d0769f063c87ff4a3d123e4e256f5b19c9e68bd (diff) | |
download | linux-7e0ce270b2ef3d0d00c3f0725f48aa3127d73edf.tar.xz |
ARM: ux500: db8500: list most devices in the snowball device tree
This adds all devices that are normally present through the
u8500_init_machine function in the device tree as well, which
will duplicate the devices that are visible.
This will not do much by itself because the device from the
device tree are not matched by any device driver until they
are converted as well. The next step is to move over one
device at a time to actually be used from the device tree
instead of the hardcoded device using auxdata to pass the
correct platform_data.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index e2932fcba75e..482b86ef757d 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -621,6 +621,7 @@ static void __init mop500_init_machine(void) mop500_pins_init(); + /* FIXME: parent of ab8500 should be prcmu */ for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) mop500_platform_devs[i]->dev.parent = parent; @@ -743,6 +744,17 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") MACHINE_END #ifdef CONFIG_MACH_UX500_DT + +struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = { + {}, +}; + +static const struct of_device_id u8500_soc_node[] = { + /* only create devices below soc node */ + { .compatible = "stericsson,db8500", }, + { }, +}; + static void __init u8500_init_machine(void) { struct device *parent = NULL; @@ -757,6 +769,8 @@ static void __init u8500_init_machine(void) for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) snowball_platform_devs[i]->dev.parent = parent; + /* automatically probe child nodes of db8500 device */ + of_platform_populate(NULL, u8500_soc_node, u8500_auxdata_lookup, parent); if (of_machine_is_compatible("st-ericsson,mop500")) { mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; |