Re: [PATCH] mfd: axp20x: Add AXP288 volatile registers.

From: Lee Jones
Date: Fri Jan 13 2017 - 08:58:17 EST


On Wed, 11 Jan 2017, Christian Mauderer wrote:

> The axp288_fuelgauge driver and some other axp288_xxx are using a number
> of the registers of the chip that are changed by hardware (for example
> charge level). Because these registers are not marked as "volatile" in
> the regmap, a cached version is used instead of the correct register
> value. In case of the axp288_fuelgauge that leads to a battery level
> that only changes on reboot. This patch adds the volatile registers of
> the chip.
>
> Signed-off-by: Christian Mauderer <oss@xxxxxxxxxxxxx>
> ---
> drivers/mfd/axp20x.c | 3 +++
> 1 file changed, 3 insertions(+)

Applied, thanks.

> diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
> index ed918de84238..d74b3daca23f 100644
> --- a/drivers/mfd/axp20x.c
> +++ b/drivers/mfd/axp20x.c
> @@ -118,7 +118,10 @@ static const struct regmap_range axp288_writeable_ranges[] = {
> };
>
> static const struct regmap_range axp288_volatile_ranges[] = {
> + regmap_reg_range(AXP20X_PWR_INPUT_STATUS, AXP20X_PWR_OP_MODE),
> regmap_reg_range(AXP20X_IRQ1_EN, AXP20X_IPSOUT_V_HIGH_L),
> + regmap_reg_range(AXP20X_CC_CTRL, AXP288_FG_OCVL_REG),
> + regmap_reg_range(AXP288_FG_DES_CAP1_REG, AXP288_FG_CC_CAP_REG),
> };
>
> static const struct regmap_access_table axp288_writeable_table = {

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog