On Mon, Sep 10, 2012 at 01:04:00PM +0300, Lauri Hintsala wrote:
> >>@@ -187,6 +188,9 @@ static int mxs_mmc_get_cd(struct mmc_host *mmc)
> >> {
> >> struct mxs_mmc_host *host = mmc_priv(mmc);
> >>
> >>+ if (host->broken_cd)
> >>+ return -ENOSYS;
> >>+
> >
> >The .get_cd caller does not check for error. This change makes no
> >sense to me.
>
> In our case we don't want to read card detect bit and we have to
> continue MMC probing because card detect pin is routed nowhere.
>
> Could it be better to return zero instead of error? ENOSYS is used
> to indicate "unreachable card detect" in other drivers (e.g.
> atmel-mci, omap_hsmmc) and I followed them.
>
I was wrong. Even the kerneldoc of .get_cd suggests return -ENOSYS
for that case.
>
> >Instead, the driver needs to set MMC_CAP_NEEDS_POLL in
> >case of "broken-cd".
>
> MMC_CAP_NEEDS_POLL is always set in mxs-mmc.
>
Oops, I forgot that. But this is really something that needs to be
fixed. Per my understanding, flag MMC_CAP_NEEDS_POLL should only
be set when card-detect is not working.
Also the card-detect in gpio support is missing.
But for this patch:
Acked-by: Shawn Guo <[email protected]>
--
Regards,
Shawn
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html