* Roger Quadros <ext-roger.quadros@xxxxxxxxx> [090805 18:25]: > Tony, > > any comments on this? Thanks for pinging me, will add it to my omap-fixes queue. Tony > regards, > -roger > > ext Roger Quadros wrote: >> twl_mmc_cleanup() must free up the regulators that were >> allocated by twl_mmc_late_init(). >> This eliminates the below error when 'omap_hsmmc' module is >> repeatedly loaded and unloaded. >> >> "sysfs: cannot create duplicate filename '/devices/platform >> /mmci-omap-hs.0/microamps_requested_vmmc'" >> >> Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> >> --- >> arch/arm/mach-omap2/mmc-twl4030.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c >> index 06b252f..0007115 100644 >> --- a/arch/arm/mach-omap2/mmc-twl4030.c >> +++ b/arch/arm/mach-omap2/mmc-twl4030.c >> @@ -119,6 +119,7 @@ static int twl_mmc_late_init(struct device *dev) >> if (i != 0) >> break; >> ret = PTR_ERR(reg); >> + hsmmc[i].vcc = NULL; >> goto err; >> } >> hsmmc[i].vcc = reg; >> @@ -165,8 +166,13 @@ done: >> static void twl_mmc_cleanup(struct device *dev) >> { >> struct omap_mmc_platform_data *mmc = dev->platform_data; >> + int i; >> gpio_free(mmc->slots[0].switch_pin); >> + for(i = 0; i < ARRAY_SIZE(hsmmc); i++) { >> + regulator_put(hsmmc[i].vcc); >> + regulator_put(hsmmc[i].vcc_aux); >> + } >> } >> #ifdef CONFIG_PM > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html