On 18 October 2016 at 11:47, Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote: > Hi, > > On Tue, Oct 18, 2016 at 11:03:02AM +0200, Ulf Hansson wrote: >> On 18 October 2016 at 10:43, Maxime Ripard >> <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote: >> > mmc_regulator_get_supply might silently fail if the regulators are not >> > found, which is the right thing to do since both these regulators are >> > optional. >> > >> > However, the drivers then have no way to know whether or not they should >> > proceed and call mmc_regulator_set_ocr. And since this function doesn't >> >> Host drivers should check "if (!IS_ERR(mmc->supply.vmmc))" before >> invoking mmc_regulator_set_ocr(). I wasn't aware that some didn't. > > Ok, so the sunxi one definitely doesn't: > http://lxr.free-electrons.com/source/drivers/mmc/host/sunxi-mmc.c#L735 > >> My point is, that in some cases the regulator is optional, then a host >> driver need to take other actions to power on/off the card. > > What are those actions? Just power up the card through some other > mean, or is it more tied to the MMC protocol? Through some other way, which is managed by the internal logic of the mmc controller. > > Also, I'm wondering if VMMC is actually optional at all. In all cases > I can think of, it would be represented as a regulator anyway. Yes, you are right. For most cases, but not all. Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html