sunxi: board: Only try to use the MMC related functions if enabled
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 15 Oct 2015 20:04:06 +0000 (22:04 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 20 Oct 2015 20:48:28 +0000 (22:48 +0200)
So far, even if CONFIG_MMC was not enabled the board code was trying to use
the MMC-related functions, resulting in linker errors.

Protect those calls by an ifdef.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/cpu/armv7/sunxi/board.c

index 1d79ba1126ae7a9f157843ec0dc2ed6149b37d39..4785ac68a9a2241a05b53d96f60b8d674c9e69b1 100644 (file)
@@ -136,7 +136,7 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 u32 spl_boot_device(void)
 {
-       struct mmc *mmc0, *mmc1;
+       __maybe_unused struct mmc *mmc0, *mmc1;
        /*
         * When booting from the SD card or NAND memory, the "eGON.BT0"
         * signature is expected to be found in memory at the address 0x0004
@@ -157,15 +157,18 @@ u32 spl_boot_device(void)
                return BOOT_DEVICE_BOARD;
 
        /* The BROM will try to boot from mmc0 first, so try that first. */
+#ifdef CONFIG_MMC
        mmc_initialize(gd->bd);
        mmc0 = find_mmc_device(0);
        if (sunxi_mmc_has_egon_boot_signature(mmc0))
                return BOOT_DEVICE_MMC1;
+#endif
 
        /* Fallback to booting NAND if enabled. */
        if (IS_ENABLED(CONFIG_SPL_NAND_SUPPORT))
                return BOOT_DEVICE_NAND;
 
+#ifdef CONFIG_MMC
        if (CONFIG_MMC_SUNXI_SLOT_EXTRA == 2) {
                mmc1 = find_mmc_device(1);
                if (sunxi_mmc_has_egon_boot_signature(mmc1)) {
@@ -179,6 +182,7 @@ u32 spl_boot_device(void)
                        return BOOT_DEVICE_MMC2;
                }
        }
+#endif
 
        panic("Could not determine boot source\n");
        return -1;              /* Never reached */