[PATCHv2] support PMIC mc13892

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Dec 7 09:48:19 EST 2010


On Tue, Dec 07, 2010 at 04:01:45PM +0800, b00984 at freescale.com wrote:

> +	mc13xxx_lock(priv->mc13xxx);
> +	ret = mc13xxx_reg_read(priv->mc13xxx,
> +				mc13892_regulators[id].vsel_reg, &val);
> +	mc13xxx_unlock(priv->mc13xxx);
> +	if (ret)
> +		return ret;
> +
> +	hi  = val & MC13892_SWITCHERS0_SWxHI;
> +	if (value > 1375)
> +		hi = 1;
> +	if (value < 1100)
> +		hi = 0;
> +
> +	if (hi) {
> +		value = (value - 1100000) / 25000;
> +		value |= MC13892_SWITCHERS0_SWxHI;
> +	} else
> +		value = (value - 600000) / 25000;
> +
> +	mask = mc13892_regulators[id].vsel_mask | MC13892_SWITCHERS0_SWxHI;
> +	mc13xxx_lock(priv->mc13xxx);
> +	ret = mc13xxx_reg_rmw(priv->mc13xxx, mc13892_regulators[id].vsel_reg,
> +			mask,
> +			value << mc13892_regulators[id].vsel_shift);
> +	mc13xxx_unlock(priv->mc13xxx);

This section here reads like it's all one big read/modify/write cycle
and therefore the mutex ought to be held throughout?  

Otherwise the patch looks good.



More information about the linux-arm-kernel mailing list