summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-06-23 17:06:23 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-07-02 08:24:08 +0200
commit165031246d25bda0eb829fb0d11d1468b37968db (patch)
treeb3330a772d4cd97dc77dd9161d13b5a640b6b8a0 /arch/arm
parentd1c3520011a7b704a74c83995d6fd242886e0b1a (diff)
downloadbarebox-165031246d25bda0eb829fb0d11d1468b37968db.tar.gz
barebox-165031246d25bda0eb829fb0d11d1468b37968db.tar.xz
ARM: i.MX6 realq7: prepare multiboard support
Protect initcalls with the corrent of compatible. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boards/dmo-mx6-realq7/board.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/arch/arm/boards/dmo-mx6-realq7/board.c b/arch/arm/boards/dmo-mx6-realq7/board.c
index 7983b8802e..9cf6c3175c 100644
--- a/arch/arm/boards/dmo-mx6-realq7/board.c
+++ b/arch/arm/boards/dmo-mx6-realq7/board.c
@@ -81,6 +81,9 @@ static int ksz9031rn_phy_fixup(struct phy_device *dev)
static int realq7_enet_init(void)
{
+ if (!of_machine_is_compatible("dmo,imx6q-realq7"))
+ return 0;
+
mxc_iomux_v3_setup_multiple_pads(realq7_pads_gpio, ARRAY_SIZE(realq7_pads_gpio));
gpio_direction_output(RQ7_GPIO_ENET_PHYADD2, 0);
gpio_direction_output(RQ7_GPIO_ENET_MODE0, 1);
@@ -102,19 +105,16 @@ static int realq7_enet_init(void)
}
fs_initcall(realq7_enet_init);
-static int realq7_devices_init(void)
+static int realq7_env_init(void)
{
+ if (!of_machine_is_compatible("dmo,imx6q-realq7"))
+ return 0;
+
imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox",
BBU_HANDLER_FLAG_DEFAULT, NULL, 0, 0x00907000);
imx6_bbu_internal_mmc_register_handler("mmc", "/dev/mmc3.barebox",
0, NULL, 0, 0x00907000);
- return 0;
-}
-device_initcall(realq7_devices_init);
-
-static int realq7_env_init(void)
-{
switch (bootsource_get()) {
case BOOTSOURCE_MMC:
device_detect_by_name("mmc3");
@@ -136,8 +136,11 @@ late_initcall(realq7_env_init);
static int realq7_console_init(void)
{
+ if (!of_machine_is_compatible("dmo,imx6q-realq7"))
+ return 0;
+
imx6_init_lowlevel();
return 0;
}
-core_initcall(realq7_console_init);
+postcore_initcall(realq7_console_init);