[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