Message ID | 1245762070-13302-1-git-send-email-ext-roger.quadros@nokia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8b28d125dcfa4a250a897baa2425d1f30dd56219 |
Headers | show |
Tony, any comments on this? 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@nokia.com> > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Roger Quadros <ext-roger.quadros@nokia.com> [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@nokia.com> >> --- >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
This patch has been applied to the linux-omap by youw fwiendly patch wobot. Branch in linux-omap: omap-fixes Initial commit ID (Likely to change): 8b28d125dcfa4a250a897baa2425d1f30dd56219 PatchWorks http://patchwork.kernel.org/patch/31970/ Git (Likely to change, and takes a while to get mirrored) http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=8b28d125dcfa4a250a897baa2425d1f30dd56219 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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
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@nokia.com> --- arch/arm/mach-omap2/mmc-twl4030.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)