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 newIf the capabilities are the other way around, then all existing drivers
capabilities we don't have to modify existing code to say that it
doesn't support the new capability.
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 ;-)