Re: + mmc-use-regulator-framework-correctly.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5 Aug 2010, at 22:32, akpm@xxxxxxxxxxxxxxxxxxxx wrote:

> Subject: mmc: use regulator framework correctly
> From: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> Issues with the regulator framework no longer exist, so regulator_enable()
> / regulator_disable() should be used correctly.

There have been no changes in the regulator framework here. David had some strong ideas about what he wanted the regulator API to do which caused him to make a number of forceful statements but that's not the same thing.

> -	int			enabled;
> -
> -	enabled = regulator_is_enabled(supply);
> -	if (enabled < 0)
> -		return enabled;
> 
> 	if (vdd_bit) {
> 		int		tmp;
> @@ -819,9 +814,9 @@ int mmc_regulator_set_ocr(struct regulat
> 		else
> 			result = 0;
> 
> -		if (result == 0 && !enabled)
> +		if (result == 0)
> 			result = regulator_enable(supply);
> -	} else if (enabled) {
> +	} else {
> 		result = regulator_disable(supply);
> 	}

This is only going to do the right thing if we can rely on the MMC framework matching the number of enables it does with the number of disables, including handling of startup with an already enabled regulator causing the refcount to start at one if regulator_get_exclusive() is used (which the current code does rely on). I'd rather see the analysis in the changelog explaining why the new code is safe.--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux