Message ID | 20180929214407.27208-2-nicoleotsuka@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Add suspend and resume functions | expand |
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 --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), };
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(-)