I am using mmc2 interface on am335x processor for SD card.
During device boot up below warning messages are observed.
[ 1.408233] _regulator_get: omap_hsmmc.2 supply vmmc not found, using dummy regulator
[ 1.416503] _regulator_get: omap_hsmmc.2 supply vmmc_aux not found, using dummy regulator
[ 1.430633] omap_hsmmc omap_hsmmc.2: could not set regulator OCR (-22)
[ 1.442993] ------------[ cut here ]------------
[ 1.447845] WARNING: at drivers/regulator/core.c:1446 _regulator_disable+0x104/0x16c()
[ 1.456085] unbalanced disables for dummy
[ 1.460266] Modules linked in:
[ 1.463470] Backtrace:
[ 1.466033] [<c0017978>] (dump_backtrace+0x0/0x110) from [<c0439fdc>] (dump_stack+0x18/0x1c)
[ 1.474853] r6:c06129dc r5:000005a6 r4:ce81dda0 r3:c06e9a08
[ 1.480773] [<c0439fc4>] (dump_stack+0x0/0x1c) from [<c003d584>] (warn_slowpath_common+0x5c/0x6c)
Please let me know what is the cause and how to resolve these warning.
I know this is a little old, but I think the problem is in the hsmmc file during the pdata_init. The code was probably originally for some other board, so mmc bus "3" (or MMC2) does not get fully initialized. Below is the diff output from my board changes. Note that it could break old code, so maybe it would be better to prevent the fallthrough in the case statement and do a separate check for cpu_is_am33xx() in case 3. I haven't had a chance to confirm it working with wl1271 or an SD card...
Index: arch/arm/mach-omap2/hsmmc.c===================================================================--- arch/arm/mach-omap2/hsmmc.c (revision 11)+++ arch/arm/mach-omap2/hsmmc.c (working copy)@@ -402,6 +402,8 @@ } break; case 2:+ /* FALLTHROUGH */+ case 3: if (cpu_is_omap3517() || cpu_is_omap3505()) mmc->slots[0].set_power = am35x_hsmmc2_set_power; @@ -414,8 +416,7 @@ c->caps &= ~MMC_CAP_8_BIT_DATA; c->caps |= MMC_CAP_4_BIT_DATA; }- /* FALLTHROUGH */- case 3:+ if (mmc->slots[0].features & HSMMC_HAS_PBIAS) { /* off-chip level shifting, or none */ mmc->slots[0].before_set_reg = hsmmc23_before_set_reg;
Thanks David.
This fixed the issue.