Re: sdhci driver card-detect is broken because gpiolib can't fallback to _CRS?

From: Linus Walleij
Date: Fri Sep 28 2018 - 09:13:46 EST


On Fri, Sep 28, 2018 at 2:34 PM Rajat Jain <rajatxjain@xxxxxxxxx> wrote:

> > This is not looking good at all.
> >
> > Andy should we revert the patch or do you have some other
> > quick fix in mind we could do? It seems reverting the patch
> > could be bad for the mctrl patches IIUC, but this regression
> > seems even more serious.
>
> Sorry, I may have made it sound like more serious than it is. Yes,
> what I said is true, but we (Google) does not plan to update those
> devices to the latest kernel. That regression will only be seen by any
> developers who try to do it on their own.

Given the number of core kernel developers using chromebooks
and relying on them to be working as expected, these are the
users I am most worried about, really.

If only 3 users in the world can't read photos from their SD-cards
that may sound like a small problem, but if those 3 users are
core kernel developers reporting bugs, I as maintainer have a
big problem. So not all users are equal, or how should I put it.

> Also, the commit I mentioned above was put in long time back, and I
> think it is more reasonable to put a fix in the sdhci driver instead.

OK cool.

> - It seems that 1 SDHCI device may support multiple slots. It was not
> clear to me if they could share card detect interrupts, or should have
> separate ones? Also, the driver may not really know? So should I add 1
> or two pins using the devm_acpi_dev_add_driver_gpios().
>
> - I was unsure what should I set the active_low to.
>
> Given these concerns, it seemed the easiest fix to me, if we can call
> mmc_gpiod_request_cd() twice, once with "cd" and then with NULL as a
> fallback.

That sounds like a resonable fix to me.

Yours,
Linus Walleij