Re: [PATCH 32/32] ARM: OMAP: RX51: set MMC capabilities and power-saving flag

Matt Fleming
2009-07-27T08:27:48Z

On Mon, Jul 27, 2009 at 10:58:56AM +0300, Adrian Hunter wrote:
> Matt Fleming wrote:
>> On Fri, Jul 10, 2009 at 03:43:53PM +0300, Adrian Hunter wrote:
>>> >From 3865867159f25cf706480236f6d4f0e4adde5dac Mon Sep 17 00:00:00 2001
>>> From: Adrian Hunter <adrian.hunter@nokia.com>
>>> Date: Fri, 10 Jul 2009 10:32:44 +0300
>>> Subject: [PATCH] ARM: OMAP: RX51: set MMC capabilities and power-saving flag
>>>
>>> Specify MMC capabilities and set the power-saving flag
>>> for RX51.
>>>
>>
>> After the changes to [PATCH 7/32], this becomes,
>
> I think this will leave every other board that uses omap_hsmmc
> without any card caps.
>

Doh. You're right, good catch!

> What about adding something like this:
>
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 8900bae..f2548f1 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1720,6 +1720,11 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
> mmc->caps |= MMC_CAP_4_BIT_DATA;
>
> mmc->caps |= mmc_slot(host).caps;
> + /* If no card caps specified then assume them all */
> + if (!((mmc->caps & MMC_CAP_SD) ||
> + (mmc->caps & MMC_CAP_MMC) ||
> + (mmc->caps & MMC_CAP_SDIO)))
> + mmc->caps |= MMC_CAP_SD & MMC_CAP_MMC & MMC_CAP_SDIO;
>
> omap_hsmmc_conf_bus_power(host);
>

Those & should be |

/* If no card caps specified then assume them all */
if (!((mmc->caps & MMC_CAP_SD) ||
(mmc->caps & MMC_CAP_MMC) ||
(mmc->caps & MMC_CAP_SDIO)))
mmc->caps |= MMC_CAP_SD | MMC_CAP_MMC | MMC_CAP_SDIO;

or more compactly,

/* If no card caps specified then assume them all */
if (!(mmc->caps & (MMC_CAP_SD | MMC_CAP_SDIO | MMC_CAP_MMC)))
mmc->caps |= MMC_CAP_SD | MMC_CAP_MMC | MMC_CAP_SDIO;