[PATCH 1/3] mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators

Doug Anderson dianders at chromium.org
Wed Jun 25 10:28:50 PDT 2014


On Wed, Jun 25, 2014 at 4:18 AM, Seungwon Jeon <tgih.jun at samsung.com> wrote:
>> >> +       case MMC_POWER_ON:
>> >> +               if (!IS_ERR(mmc->supply.vqmmc) &&
>> >> +                               !test_bit(DW_MMC_IO_POWERED, &slot->flags)) {
> You can use regulator_is_enabled() instead of flag bit, DW_MMC_IO_POWERED.

I'd be a little worried about regulator_is_enabled() since regulators
are reference counted.  What if someone else is sharing this
regulator?  The regulator might happen to be enabled when you check it
but unless you add your own dw_mmc reference count they might turn it

> Important thing is that if powering vmmc failed at MMC_POWER_UP, vqmmc should not be powered.

Good point.

More information about the linux-arm-kernel mailing list