diff options
Diffstat (limited to 'arch/arm/mach-omap2/mmc-twl4030.c')
| -rw-r--r-- | 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 1541fd4c8d0..3c04c2f1b23 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  |