ARM: ux500: Only initialise STE's UIBs on boards which support them

ST-Ericsson uses User Interface Boards to extend functionality of
some of their development boards. However, these aren't compatible
with all the supported boards found in Mainline (Snowball for
instance). This patch ensures that the UIBs are only probed on
boards which can actually support them. This in turn saves lots of
unnecessary error messages normally found in Snowball's boot log.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Lee Jones 2012-05-02 09:53:48 +01:00 committed by Arnd Bergmann
parent 48a4ea626d
commit fd6948bb2a
3 changed files with 10 additions and 3 deletions

View file

@ -96,7 +96,7 @@ static void __init __mop500_uib_init(struct uib *uib, const char *why)
/*
* Detect the UIB attached based on the presence or absence of i2c devices.
*/
static int __init mop500_uib_init(void)
int __init mop500_uib_init(void)
{
struct uib *uib = mop500_uib;
struct i2c_adapter *i2c0;
@ -131,5 +131,3 @@ static int __init mop500_uib_init(void)
return 0;
}
module_init(mop500_uib_init);

View file

@ -716,6 +716,8 @@ 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)
@ -780,6 +782,8 @@ 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")
@ -883,6 +887,8 @@ 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")) {
/*
* Devices to be DT:ed:
@ -913,6 +919,8 @@ static void __init u8500_init_machine(void)
i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
i2c_register_board_info(2, mop500_i2c2_devices,
ARRAY_SIZE(mop500_i2c2_devices));
mop500_uib_init();
}
mop500_i2c_init(parent);

View file

@ -89,6 +89,7 @@ void __init mop500_pinmaps_init(void);
void __init snowball_pinmaps_init(void);
void __init hrefv60_pinmaps_init(void);
int __init mop500_uib_init(void);
void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
unsigned n);