Message ID | 1468939406-25461-1-git-send-email-michael@walle.cc (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 07/19/2016 07:43 AM, Michael Walle wrote: > According to the datasheet you should only write 1 to this bit. If it is > not set, at least AIN3 will return bad values on newer silicon revisions. > > Fixes: d84ca5b345c2 ("hwmon: Add driver for ADT7411 voltage and temperature sensor") > Signed-off-by: Michael Walle <michael@walle.cc> Applied. Thanks, Guenter > --- > > This is v2 of the previous patch "hwmon: adt7411: add rev5 workaround". > > Changes since v1: > - use adt7411_modify_bit once with a bitmask > - change wording of the commit message and the comment. Just mention > that the datasheet requires to set this bit on writes. > > drivers/hwmon/adt7411.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/adt7411.c b/drivers/hwmon/adt7411.c > index 827c037..a7f8869 100644 > --- a/drivers/hwmon/adt7411.c > +++ b/drivers/hwmon/adt7411.c > @@ -30,6 +30,7 @@ > > #define ADT7411_REG_CFG1 0x18 > #define ADT7411_CFG1_START_MONITOR (1 << 0) > +#define ADT7411_CFG1_RESERVED_BIT3 (1 << 3) > > #define ADT7411_REG_CFG2 0x19 > #define ADT7411_CFG2_DISABLE_AVG (1 << 5) > @@ -296,8 +297,10 @@ static int adt7411_probe(struct i2c_client *client, > mutex_init(&data->device_lock); > mutex_init(&data->update_lock); > > + /* According to the datasheet, we must only write 1 to bit 3 */ > ret = adt7411_modify_bit(client, ADT7411_REG_CFG1, > - ADT7411_CFG1_START_MONITOR, 1); > + ADT7411_CFG1_RESERVED_BIT3 > + | ADT7411_CFG1_START_MONITOR, 1); > if (ret < 0) > return ret; > > -- To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/hwmon/adt7411.c b/drivers/hwmon/adt7411.c index 827c037..a7f8869 100644 --- a/drivers/hwmon/adt7411.c +++ b/drivers/hwmon/adt7411.c @@ -30,6 +30,7 @@ #define ADT7411_REG_CFG1 0x18 #define ADT7411_CFG1_START_MONITOR (1 << 0) +#define ADT7411_CFG1_RESERVED_BIT3 (1 << 3) #define ADT7411_REG_CFG2 0x19 #define ADT7411_CFG2_DISABLE_AVG (1 << 5) @@ -296,8 +297,10 @@ static int adt7411_probe(struct i2c_client *client, mutex_init(&data->device_lock); mutex_init(&data->update_lock); + /* According to the datasheet, we must only write 1 to bit 3 */ ret = adt7411_modify_bit(client, ADT7411_REG_CFG1, - ADT7411_CFG1_START_MONITOR, 1); + ADT7411_CFG1_RESERVED_BIT3 + | ADT7411_CFG1_START_MONITOR, 1); if (ret < 0) return ret;
According to the datasheet you should only write 1 to this bit. If it is not set, at least AIN3 will return bad values on newer silicon revisions. Fixes: d84ca5b345c2 ("hwmon: Add driver for ADT7411 voltage and temperature sensor") Signed-off-by: Michael Walle <michael@walle.cc> --- This is v2 of the previous patch "hwmon: adt7411: add rev5 workaround". Changes since v1: - use adt7411_modify_bit once with a bitmask - change wording of the commit message and the comment. Just mention that the datasheet requires to set this bit on writes. drivers/hwmon/adt7411.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)