Skip to content

Commit

Permalink
ARM: ux500: Fix initialisation order for UIBs
Browse files Browse the repository at this point in the history
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: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Lee Jones committed Nov 1, 2012
1 parent 809efa5 commit 0ddf855
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 9 deletions.
10 changes: 1 addition & 9 deletions arch/arm/mach-ux500/board-mop500.c
Original file line number Diff line number Diff line change
Expand Up @@ -618,8 +618,6 @@ static void __init mop500_init_machine(void)

/* This board has full regulator constraints */
regulator_has_full_constraints();

mop500_uib_init();
}

static void __init snowball_init_machine(void)
Expand Down Expand Up @@ -684,8 +682,6 @@ static void __init hrefv60_init_machine(void)

/* This board has full regulator constraints */
regulator_has_full_constraints();

mop500_uib_init();
}

MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
Expand Down Expand Up @@ -721,7 +717,7 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
.timer = &ux500_timer,
.handle_irq = gic_handle_irq,
.init_machine = snowball_init_machine,
.init_late = ux500_init_late,
.init_late = NULL,
MACHINE_END

#ifdef CONFIG_MACH_UX500_DT
Expand Down Expand Up @@ -811,8 +807,6 @@ static void __init u8500_init_machine(void)
i2c_register_board_info(2, mop500_i2c2_devices,
ARRAY_SIZE(mop500_i2c2_devices));

mop500_uib_init();

} else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
mop500_of_audio_init(parent);
} else if (of_machine_is_compatible("st-ericsson,hrefv60+")) {
Expand All @@ -824,8 +818,6 @@ static void __init u8500_init_machine(void)
mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
platform_add_devices(mop500_platform_devs,
ARRAY_SIZE(mop500_platform_devs));

mop500_uib_init();
}

/* This board has full regulator constraints */
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-ux500/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
#include <mach/setup.h>
#include <mach/devices.h>

#include "board-mop500.h"

void __iomem *_PRCMU_BASE;

/*
Expand Down Expand Up @@ -82,6 +84,7 @@ void __init ux500_init_irq(void)

void __init ux500_init_late(void)
{
mop500_uib_init();
}

static const char * __init ux500_get_machine(void)
Expand Down

0 comments on commit 0ddf855

Please sign in to comment.