• Greg Ungerer's avatar
    m68knommu: include SDHC support only when hardware has it · 322c512f
    Greg Ungerer authored
    The mere fact that the kernel has the MMC subsystem enabled (CONFIG_MMC
    enabled) does not mean that the underlying hardware platform has the
    SDHC hardware present. Within the ColdFire hardware defines that is
    signified by MCFSDHC_BASE being defined with an address.
    
    The platform data for the ColdFire parts is including the SDHC hardware
    if CONFIG_MMC is enabled, instead of MCFSDHC_BASE. This means that if
    you are compiling for a ColdFire target that does not support SDHC but
    enable CONFIG_MMC you will fail to compile with errors like this:
    
        arch/m68k/coldfire/device.c:565:12: error: ‘MCFSDHC_BASE’ undeclared here (not in a function)
           .start = MCFSDHC_BASE,
                ^
        arch/m68k/coldfire/device.c:566:25: error: ‘MCFSDHC_SIZE’ undeclared here (not in a function)
           .end = MCFSDHC_BASE + MCFSDHC_SIZE - 1,
                             ^
        arch/m68k/coldfire/device.c:569:12: error: ‘MCF_IRQ_SDHC’ undeclared here (not in a function)
           .start = MCF_IRQ_SDHC,
                ^
    
    Make the SDHC platform support depend on MCFSDHC_BASE, that is only
    include it if the specific ColdFire SoC has that hardware module.
    
    Fixes: 991f5c4d ("m68k: mcf5441x: add support for esdhc mmc controller")
    Signed-off-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
    Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarAngelo Dureghello <angelo.dureghello@timesys.com>
    Tested-by: default avatarAngelo Dureghello <angelo.dureghello@timesys.com>
    322c512f
device.c 14.1 KB