Re: [PATCH 7/32] mmc: add host capabilities for SD only and MMC only

Matt Fleming
2009-07-25T18:40:55Z

On Sat, Jul 25, 2009 at 07:17:14PM +0300, Adrian Hunter wrote:
> Matt Fleming wrote:
>>
>> And by saying what capabilities a host supports, when we add new
>> capabilities we don't have to modify existing code to say that it
>> doesn't support the new capability.
>
> If the capabilities are the other way around, then all existing drivers
> must be changed. On the other hand, the if statement can easily be
> improved:
>
> #define mmc_cap_mmc(host) (!((host)->caps & MMC_CAP_NOT_MMC))
> #define mmc_cap_sd(host) (!((host)->caps & MMC_CAP_NOT_SD))
> #define mmc_cap_sdio(host) (!((host)->caps & MMC_CAP_NOT_SDIO))
>
> - mmc_send_if_cond(host, host->ocr_avail);
> + if (mmc_cap_sdio(host) || mmc_cap_sd(host))
> + mmc_send_if_cond(host, host->ocr_avail);
> +

OK, that's a fair point, all drivers would need to be changed. However,
I'm not adverse to making a one-time change to all drivers in the name
of sanity. Enumerating what cards a controller doesn't support just
doesn't sound correct to me.

It wouldn't be a complicated change either, I'd even be happy to write
the patch ;-)