Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1560674 > unrolled thread

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

Started byLee Jones <lee.jones@linaro.org>
First post2017-01-17 16:00 +0100
Last post2017-01-17 21:00 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] mfd: axp20x: Add AXP288 volatile registers. Lee Jones <lee.jones@linaro.org> - 2017-01-17 16:00 +0100
    Re: [PATCH] mfd: axp20x: Add AXP288 volatile registers. Christian Mauderer <oss@c-mauderer.de> - 2017-01-17 21:00 +0100

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

FromLee Jones <lee.jones@linaro.org>
Date2017-01-17 16:00 +0100
SubjectRe: [PATCH] mfd: axp20x: Add AXP288 volatile registers.
Message-ID<t0DoS-8lp-15@gated-at.bofh.it>
On Fri, 13 Jan 2017, Lee Jones wrote:

> 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@c-mauderer.de>
> > ---
> >  drivers/mfd/axp20x.c | 3 +++
> >  1 file changed, 3 insertions(+)
> 
> Applied, thanks.

Change of plan.  This patch does not apply.

Please rebase it on top of the MFD tree.

> > 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

[toc] | [next] | [standalone]


#1560971

FromChristian Mauderer <oss@c-mauderer.de>
Date2017-01-17 21:00 +0100
Message-ID<t0I5b-2Md-13@gated-at.bofh.it>
In reply to#1560674
Am 17.01.2017 um 15:58 schrieb Lee Jones:
> On Fri, 13 Jan 2017, Lee Jones wrote:
> 
>> 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@c-mauderer.de>
>>> ---
>>>  drivers/mfd/axp20x.c | 3 +++
>>>  1 file changed, 3 insertions(+)
>>
>> Applied, thanks.
> 
> Change of plan.  This patch does not apply.
> 
> Please rebase it on top of the MFD tree.

It seems that there is already a similar patch on mfd/for-mfd-next. I
tried to apply my patch to the linux/master and 4.9, to some of the
linux-power-supply and to mfd/for-mfd-next-next branch. I totally missed
the for-mfd-next one. Sorry for that.

As far as I can tell, the other patch already does everything that I
would need and it even seems to be slightly more accurate. So you can
just ignore my patch.

I'll test the already existing patches in the next few days on my device
and only send a new patch if something goes wrong. But I'm quite
confident that it is not necessary.

Thanks again.

Christian Mauderer

> 
>>> 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 = {
>>
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web