Multiple CCR definitions (was: Re: mmc: omap_hsmmc: use the generic config for omap2plus devices)

Geert Uytterhoeven geert at linux-m68k.org
Thu Jan 16 08:07:56 EST 2014


On Tue, Sep 10, 2013 at 11:05 PM, Linux Kernel Mailing List
<linux-kernel at vger.kernel.org> wrote:
>     mmc: omap_hsmmc: use the generic config for omap2plus devices
>
>     OMAP's hs_mmc driver is used for MMC controller operation on many
>     omap2plus SoCs (OMAP2430, OMAP3, 4, 5 and AM335x).
>
>     Considering that the device tree entries are already present for these,
>     allow the driver to be built using the config ARCH_OMAP2PLUS rather
>     than individually adding a config for each SoC to enable the
>     support.
>
>     Use COMPILE_TEST to enable the build for other platforms.
>
>     Signed-off-by: Amarinder Bindra <a-bindra at ti.com>
>     Cc: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
>     Cc: Nishanth Menon <nm at ti.com>
>     Acked-by: Felipe Balbi <balbi at ti.com>
>     Acked-by: Balaji T K <balajitk at ti.com>
>     Signed-off-by: Chris Ball <cjb at laptop.org>
> ---
>  drivers/mmc/host/Kconfig |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 84102bc..b8ce939 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -284,11 +284,11 @@ config MMC_OMAP
>
>  config MMC_OMAP_HS
>         tristate "TI OMAP High Speed Multimedia Card Interface support"
> -       depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
> +       depends on ARCH_OMAP2PLUS || COMPILE_TEST

sh-allmodconfig (http://kisskb.ellerman.id.au/kisskb/buildresult/10477672/):
include/linux/omap-dma.h:171:8: error: expected identifier before
numeric constant
make[4]: *** [drivers/mmc/host/omap_hsmmc.o] Error 1

It fails because sh #defines "CCR", which is one of the enum values in
include/linux/omap-dma.h.

I expect a similar failure on blackfin, which also has #define CCR.

Possible solutions:
  1. Rename CCR in sh/bfin to e.g. SH_CCR resp. BF_CCR.
  2. Use "depends on ARCH_OMAP2PLUS || (COMPILE_TEST && ARM)
  3. Stop using include/linux/omap-dma.h, as it says:

     *  Legacy OMAP DMA handling defines and functions
     *
     *  NOTE: Do not use these any longer.
     *
     *  Use the generic dmaengine functions as defined in
     *  include/linux/dmaengine.h.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-arm-kernel mailing list