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

From: Geert Uytterhoeven
Date: Thu Jan 16 2014 - 08:08:05 EST


On Tue, Sep 10, 2013 at 11:05 PM, Linux Kernel Mailing List
<linux-kernel@xxxxxxxxxxxxxxx> 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@xxxxxx>
> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx>
> Cc: Nishanth Menon <nm@xxxxxx>
> Acked-by: Felipe Balbi <balbi@xxxxxx>
> Acked-by: Balaji T K <balajitk@xxxxxx>
> Signed-off-by: Chris Ball <cjb@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxx

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/