Skip to content

Commit

Permalink
mmc: core: Replace MMC_CAP2_BROKEN_VOLTAGE with test for fixed regulator
Browse files Browse the repository at this point in the history
Before this patch, we were using MMC_CAP2_BROKEN_VOLTAGE as a way to
avoid calling regulator_set_voltage() on a fixed regulator, but that's
just duplicating information that already exists -- we should test
whether the regulator is fixed directly, instead of via a capability.

This patch implements that test.  We can't reclaim the capability bit
just yet, since there are still boards in arch/arm/ that reference it;
those references can be removed now.

Reported-by: Tomasz Figa <[email protected]>
Signed-off-by: Chris Ball <[email protected]>
  • Loading branch information
cjb committed Oct 7, 2012
1 parent f4f24ad commit 9cde5b7
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions drivers/mmc/core/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,8 @@ int mmc_regulator_set_ocr(struct mmc_host *mmc,
int tmp;
int voltage;

/* REVISIT mmc_vddrange_to_ocrmask() may have set some
/*
* REVISIT mmc_vddrange_to_ocrmask() may have set some
* bits this regulator doesn't quite support ... don't
* be too picky, most cards and regulators are OK with
* a 0.1V range goof (it's a small error percentage).
Expand All @@ -1127,12 +1128,13 @@ int mmc_regulator_set_ocr(struct mmc_host *mmc,
max_uV = min_uV + 100 * 1000;
}

/* avoid needless changes to this voltage; the regulator
* might not allow this operation
/*
* If we're using a fixed/static regulator, don't call
* regulator_set_voltage; it would fail.
*/
voltage = regulator_get_voltage(supply);

if (mmc->caps2 & MMC_CAP2_BROKEN_VOLTAGE)
if (regulator_count_voltages(supply) == 1)
min_uV = max_uV = voltage;

if (voltage < 0)
Expand Down

0 comments on commit 9cde5b7

Please sign in to comment.