[PATCH 1/3] mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators
From: dianders@chromium.org (Doug Anderson)
Date: 2014-06-26 16:20:51
Also in:
linux-mmc, linux-samsung-soc
From: dianders@chromium.org (Doug Anderson)
Date: 2014-06-26 16:20:51
Also in:
linux-mmc, linux-samsung-soc
Seungwon, On Thu, Jun 26, 2014 at 3:30 AM, Seungwon Jeon [off-list ref] wrote:
Hi Doug, On Thu, June 26, 2014, Doug Anderson wrote:quoted
Seungwon, On Wed, Jun 25, 2014 at 4:18 AM, Seungwon Jeon [off-list ref] wrote:quoted
quoted
quoted
quoted
+ 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 off.Cool, that's a possibility. Some assumption may need. If mmc's core can guarantee its balance, I think we don't need to consider some flag.
I notice that the mmc core seems to keep a flag itself for vdd (the mmc->regulator_enabled flag). That would imply that the core thought it was important to have the extra flag and that we should keep our own flag for vqmmc. -Doug