Re: [PATCH] regulator: Update consumer state only after set voltage succeeds.

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

 



On Fri, Dec 17, 2010 at 02:44:28PM -0800, Saravana Kannan wrote:

>  static int regulator_check_consumers(struct regulator_dev *rdev,
> +				     struct regulator *ignore,
>  				     int *min_uV, int *max_uV)

This feels really invasive, and prone to robustness issues as we're just
randomly not checking one of the consumers on a single call, meaning we
skip some checking some of the time.  It's not going to make the code
more maintainable.

> -	regulator->min_uV = min_uV;
> -	regulator->max_uV = max_uV;
> -
> -	ret = regulator_check_consumers(rdev, &min_uV, &max_uV);
> +	ret = regulator_check_consumers(rdev, regulator, &min_uV, &max_uV);
>  	if (ret < 0)
>  		goto out;
>  
>  	ret = _regulator_do_set_voltage(rdev, min_uV, max_uV);
> +	if (!ret) {
> +		regulator->min_uV = min_uV;
> +		regulator->max_uV = max_uV;
> +	}

If you're going to do something probably unwinding the assignment on
error would cover it.
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux