Message ID | 20170421190810.30628-1-chris.packham@alliedtelesis.co.nz (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Sat, Apr 22, 2017 at 07:08:09AM +1200, Chris Packham wrote: > The ADT7475 and ADT7476 have the STRT bit cleared by default[1]. Before any > monitoring activities the STRT bit needs to be set. Logically this needs > to happen before any of the sensors are read so the probe() function > seems the best place for it. > > [1] - https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF > > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Applied. Thanks, Guenter > --- > drivers/hwmon/adt7475.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c > index fcfa48222145..c803e3c5fcd4 100644 > --- a/drivers/hwmon/adt7475.c > +++ b/drivers/hwmon/adt7475.c > @@ -59,6 +59,8 @@ > #define REG_VENDID 0x3E > #define REG_DEVID2 0x3F > > +#define REG_CONFIG1 0x40 > + > #define REG_STATUS1 0x41 > #define REG_STATUS2 0x42 > > @@ -1371,6 +1373,17 @@ static int adt7475_probe(struct i2c_client *client, > for (i = 0; i < ADT7475_PWM_COUNT; i++) > adt7475_read_pwm(client, i); > > + /* Start monitoring */ > + switch (chip) { > + case adt7475: > + case adt7476: > + i2c_smbus_write_byte_data(client, REG_CONFIG1, > + adt7475_read(REG_CONFIG1) | 0x01); > + break; > + default: > + break; > + } > + > ret = sysfs_create_group(&client->dev.kobj, &adt7475_attr_group); > if (ret) > 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/adt7475.c b/drivers/hwmon/adt7475.c index fcfa48222145..c803e3c5fcd4 100644 --- a/drivers/hwmon/adt7475.c +++ b/drivers/hwmon/adt7475.c @@ -59,6 +59,8 @@ #define REG_VENDID 0x3E #define REG_DEVID2 0x3F +#define REG_CONFIG1 0x40 + #define REG_STATUS1 0x41 #define REG_STATUS2 0x42 @@ -1371,6 +1373,17 @@ static int adt7475_probe(struct i2c_client *client, for (i = 0; i < ADT7475_PWM_COUNT; i++) adt7475_read_pwm(client, i); + /* Start monitoring */ + switch (chip) { + case adt7475: + case adt7476: + i2c_smbus_write_byte_data(client, REG_CONFIG1, + adt7475_read(REG_CONFIG1) | 0x01); + break; + default: + break; + } + ret = sysfs_create_group(&client->dev.kobj, &adt7475_attr_group); if (ret) return ret;
The ADT7475 and ADT7476 have the STRT bit cleared by default[1]. Before any monitoring activities the STRT bit needs to be set. Logically this needs to happen before any of the sensors are read so the probe() function seems the best place for it. [1] - https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> --- drivers/hwmon/adt7475.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)