diff mbox

mmc: sdhci: Conditionalize regulator_get() on CONFIG_REGULATOR

Message ID m3r58k1hlc.fsf@pullcord.laptop.org (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Ball April 30, 2011, 4:35 a.m. UTC
The regulator subsystem provides stubbed out versions of its calls that
are always present (so that they can be used without needing #ifdefs).
But the regulator_get() stub always returns an error value according
to IS_ERR(), which leads sdhci to print messages like "mmc0: no vmmc
regulator found" on every boot, even if CONFIG_REGULATOR is not set.

This patch fixes that (and removes the unwanted message) by having
the regulator_get() call occur inside an #ifdef CONFIG_REGULATOR.

Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
---
 drivers/mmc/host/sdhci.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Lars-Peter Clausen April 30, 2011, 3:06 p.m. UTC | #1
On 04/30/2011 06:35 AM, Chris Ball wrote:
> The regulator subsystem provides stubbed out versions of its calls that
> are always present (so that they can be used without needing #ifdefs).
> But the regulator_get() stub always returns an error value according
> to IS_ERR(), which leads sdhci to print messages like "mmc0: no vmmc
> regulator found" on every boot, even if CONFIG_REGULATOR is not set.
> 
> This patch fixes that (and removes the unwanted message) by having
> the regulator_get() call occur inside an #ifdef CONFIG_REGULATOR.

Shouldn't the stubbed version of regulator_get return NULL, which is not
treated as an error by IS_ERR?

- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chris Ball April 30, 2011, 4:03 p.m. UTC | #2
Hi Lars,

On Sat, Apr 30 2011, Lars-Peter Clausen wrote:
> On 04/30/2011 06:35 AM, Chris Ball wrote:
>> The regulator subsystem provides stubbed out versions of its calls that
>> are always present (so that they can be used without needing #ifdefs).
>> But the regulator_get() stub always returns an error value according
>> to IS_ERR(), which leads sdhci to print messages like "mmc0: no vmmc
>> regulator found" on every boot, even if CONFIG_REGULATOR is not set.
>> 
>> This patch fixes that (and removes the unwanted message) by having
>> the regulator_get() call occur inside an #ifdef CONFIG_REGULATOR.
>
> Shouldn't the stubbed version of regulator_get return NULL, which is not
> treated as an error by IS_ERR?

Oops, thanks -- you're right, of course.  I withdraw the patch.

- Chris.
diff mbox

Patch

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index e5cfe70..e29e77a 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2059,15 +2059,17 @@  int sdhci_add_host(struct sdhci_host *host)
 		mmc_hostname(mmc), host);
 	if (ret)
 		goto untasklet;
 
+#ifdef CONFIG_REGULATOR
 	host->vmmc = regulator_get(mmc_dev(mmc), "vmmc");
 	if (IS_ERR(host->vmmc)) {
 		printk(KERN_INFO "%s: no vmmc regulator found\n", mmc_hostname(mmc));
 		host->vmmc = NULL;
 	} else {
 		regulator_enable(host->vmmc);
 	}
+#endif /* CONFIG_REGULATOR */
 
 	sdhci_init(host, 0);
 
 #ifdef CONFIG_MMC_DEBUG