2014-01-16 13:07:59

by Geert Uytterhoeven

[permalink] [raw]
Subject: Multiple CCR definitions (was: Re: mmc: omap_hsmmc: use the generic config for omap2plus devices)

On Tue, Sep 10, 2013 at 11:05 PM, Linux Kernel Mailing List
<[email protected]> 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 <[email protected]>
> Cc: Ezequiel Garcia <[email protected]>
> Cc: Nishanth Menon <[email protected]>
> Acked-by: Felipe Balbi <[email protected]>
> Acked-by: Balaji T K <[email protected]>
> Signed-off-by: Chris Ball <[email protected]>
> ---
> 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 -- [email protected]

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


2014-01-16 18:40:03

by Nishanth Menon

[permalink] [raw]
Subject: Re: Multiple CCR definitions (was: Re: mmc: omap_hsmmc: use the generic config for omap2plus devices)

+linux-omap as well.

On Thu, Jan 16, 2014 at 7:07 AM, Geert Uytterhoeven
<[email protected]> wrote:
> On Tue, Sep 10, 2013 at 11:05 PM, Linux Kernel Mailing List
> <[email protected]> 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 <[email protected]>
>> Cc: Ezequiel Garcia <[email protected]>
>> Cc: Nishanth Menon <[email protected]>
>> Acked-by: Felipe Balbi <[email protected]>
>> Acked-by: Balaji T K <[email protected]>
>> Signed-off-by: Chris Ball <[email protected]>
>> ---
>> 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 -- [email protected]
>
> 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

2014-01-17 14:36:48

by Balaji T K

[permalink] [raw]
Subject: Re: Multiple CCR definitions

On Friday 17 January 2014 12:09 AM, Nishanth Menon wrote:
> +linux-omap as well.
>
> On Thu, Jan 16, 2014 at 7:07 AM, Geert Uytterhoeven
> <[email protected]> wrote:
>> On Tue, Sep 10, 2013 at 11:05 PM, Linux Kernel Mailing List
>> <[email protected]> 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 <[email protected]>
>>> Cc: Ezequiel Garcia <[email protected]>
>>> Cc: Nishanth Menon <[email protected]>
>>> Acked-by: Felipe Balbi <[email protected]>
>>> Acked-by: Balaji T K <[email protected]>
>>> Signed-off-by: Chris Ball <[email protected]>
>>> ---
>>> 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)

omap-dma.h will be needed until all OMAPs are converted to DT only boot.
So depends on ARCH_OMAP2PLUS || (COMPILE_TEST && ARM) looks good to me

>> 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 -- [email protected]
>>
>> 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-omap" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>