Commit 0ddf855a authored by Lee Jones's avatar Lee Jones

ARM: ux500: Fix initialisation order for UIBs

An earlier change prevented User Interface Boards (UIBs) from being
initialised on boards which did not support them. This change had
the undesired effect of reordering the UIB initialisation calls with
I2C registration. Here we ensure UIBs are only setup after all
required infrastructure is already in place.
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 809efa56
...@@ -618,8 +618,6 @@ static void __init mop500_init_machine(void) ...@@ -618,8 +618,6 @@ static void __init mop500_init_machine(void)
/* This board has full regulator constraints */ /* This board has full regulator constraints */
regulator_has_full_constraints(); regulator_has_full_constraints();
mop500_uib_init();
} }
static void __init snowball_init_machine(void) static void __init snowball_init_machine(void)
...@@ -684,8 +682,6 @@ static void __init hrefv60_init_machine(void) ...@@ -684,8 +682,6 @@ static void __init hrefv60_init_machine(void)
/* This board has full regulator constraints */ /* This board has full regulator constraints */
regulator_has_full_constraints(); regulator_has_full_constraints();
mop500_uib_init();
} }
MACHINE_START(U8500, "ST-Ericsson MOP500 platform") MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
...@@ -721,7 +717,7 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") ...@@ -721,7 +717,7 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
.timer = &ux500_timer, .timer = &ux500_timer,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = snowball_init_machine, .init_machine = snowball_init_machine,
.init_late = ux500_init_late, .init_late = NULL,
MACHINE_END MACHINE_END
#ifdef CONFIG_MACH_UX500_DT #ifdef CONFIG_MACH_UX500_DT
...@@ -811,8 +807,6 @@ static void __init u8500_init_machine(void) ...@@ -811,8 +807,6 @@ static void __init u8500_init_machine(void)
i2c_register_board_info(2, mop500_i2c2_devices, i2c_register_board_info(2, mop500_i2c2_devices,
ARRAY_SIZE(mop500_i2c2_devices)); ARRAY_SIZE(mop500_i2c2_devices));
mop500_uib_init();
} else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
mop500_of_audio_init(parent); mop500_of_audio_init(parent);
} else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) {
...@@ -824,8 +818,6 @@ static void __init u8500_init_machine(void) ...@@ -824,8 +818,6 @@ static void __init u8500_init_machine(void)
mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
platform_add_devices(mop500_platform_devs, platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs)); ARRAY_SIZE(mop500_platform_devs));
mop500_uib_init();
} }
/* This board has full regulator constraints */ /* This board has full regulator constraints */
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include <mach/setup.h> #include <mach/setup.h>
#include <mach/devices.h> #include <mach/devices.h>
#include "board-mop500.h"
void __iomem *_PRCMU_BASE; void __iomem *_PRCMU_BASE;
/* /*
...@@ -82,6 +84,7 @@ void __init ux500_init_irq(void) ...@@ -82,6 +84,7 @@ void __init ux500_init_irq(void)
void __init ux500_init_late(void) void __init ux500_init_late(void)
{ {
mop500_uib_init();
} }
static const char * __init ux500_get_machine(void) static const char * __init ux500_get_machine(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment