diff mbox series

[v2,1/3] hwmon: ina3221: Add INA3221_CONFIG to volatile_table

Message ID 20180929214407.27208-2-nicoleotsuka@gmail.com (mailing list archive)
State Accepted
Headers show
Series Add suspend and resume functions | expand

Commit Message

Nicolin Chen Sept. 29, 2018, 9:44 p.m. UTC
The MSB (15th bit) of INA3221_CONFIG is a self-clear reset bit.
So this register should be added to the volatile_table of the
regmap_config. Otherwise, we will see this bit is sticky in the
regcache which might accidentally reset the chip when an actual
write happens to the register.

This might not be a severe bug for the current code line since
there's no second place touching the INA3221_CONFIG except the
reset routine in the probe().

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
---
 drivers/hwmon/ina3221.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Guenter Roeck Sept. 30, 2018, 3 p.m. UTC | #1
On Sat, Sep 29, 2018 at 02:44:05PM -0700, Nicolin Chen wrote:
> The MSB (15th bit) of INA3221_CONFIG is a self-clear reset bit.
> So this register should be added to the volatile_table of the
> regmap_config. Otherwise, we will see this bit is sticky in the
> regcache which might accidentally reset the chip when an actual
> write happens to the register.
> 
> This might not be a severe bug for the current code line since
> there's no second place touching the INA3221_CONFIG except the
> reset routine in the probe().
> 
> Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>

Applied to hwmon-next.

Thanks,
Guenter

> ---
>  drivers/hwmon/ina3221.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/ina3221.c b/drivers/hwmon/ina3221.c
> index e6b49500c52a..cfe65ff01051 100644
> --- a/drivers/hwmon/ina3221.c
> +++ b/drivers/hwmon/ina3221.c
> @@ -353,7 +353,7 @@ static struct attribute *ina3221_attrs[] = {
>  ATTRIBUTE_GROUPS(ina3221);
>  
>  static const struct regmap_range ina3221_yes_ranges[] = {
> -	regmap_reg_range(INA3221_SHUNT1, INA3221_BUS3),
> +	regmap_reg_range(INA3221_CONFIG, INA3221_BUS3),
>  	regmap_reg_range(INA3221_MASK_ENABLE, INA3221_MASK_ENABLE),
>  };
>
diff mbox series

Patch

diff --git a/drivers/hwmon/ina3221.c b/drivers/hwmon/ina3221.c
index e6b49500c52a..cfe65ff01051 100644
--- a/drivers/hwmon/ina3221.c
+++ b/drivers/hwmon/ina3221.c
@@ -353,7 +353,7 @@  static struct attribute *ina3221_attrs[] = {
 ATTRIBUTE_GROUPS(ina3221);
 
 static const struct regmap_range ina3221_yes_ranges[] = {
-	regmap_reg_range(INA3221_SHUNT1, INA3221_BUS3),
+	regmap_reg_range(INA3221_CONFIG, INA3221_BUS3),
 	regmap_reg_range(INA3221_MASK_ENABLE, INA3221_MASK_ENABLE),
 };