Hi Guenter, On Sun, 16 Nov 2014 10:23:14 -0800, Guenter Roeck wrote: > LM95235 is register compatible to LM95245. > > Also update link to LM95245 data sheet. > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > Documentation/hwmon/lm95245 | 14 +++++++++----- > drivers/hwmon/lm95245.c | 31 ++++++++++++++++++++++++------- > 2 files changed, 33 insertions(+), 12 deletions(-) > > diff --git a/Documentation/hwmon/lm95245 b/Documentation/hwmon/lm95245 > index 77eaf28..d755901 100644 > --- a/Documentation/hwmon/lm95245 > +++ b/Documentation/hwmon/lm95245 > @@ -2,10 +2,14 @@ Kernel driver lm95245 > ================== > > Supported chips: > - * National Semiconductor LM95245 > + * TI LM95235 > + Addresses scanned: I2C 0x18, 0x29, 0x4c > + Datasheet: Publicly available at the TI website > + http://www.ti.com/lit/ds/symlink/lm95235.pdf > + * TI / National Semiconductor LM95245 > Addresses scanned: I2C 0x18, 0x19, 0x29, 0x4c, 0x4d > - Datasheet: Publicly available at the National Semiconductor website > - http://www.national.com/mpf/LM/LM95245.html > + Datasheet: Publicly available at the TI website > + http://www.ti.com/lit/ds/symlink/lm95245.pdf The old location is also listed at the top of drivers/hwmon/lm95245.c. I suggest that you drop that second reference, so that there's a single place to update when the datasheets move. > > > Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> > @@ -13,10 +17,10 @@ Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> > Description > ----------- > > -The LM95245 is an 11-bit digital temperature sensor with a 2-wire System > +LM95235 and LM95245 are 11-bit digital temperature sensors with a 2-wire System > Management Bus (SMBus) interface and TruTherm technology that can monitor > the temperature of a remote diode as well as its own temperature. > -The LM95245 can be used to very accurately monitor the temperature of > +The chips can be used to very accurately monitor the temperature of > external devices such as microprocessors. > > All temperature values are given in millidegrees Celsius. Local temperature > diff --git a/drivers/hwmon/lm95245.c b/drivers/hwmon/lm95245.c > index 0ae0dfd..a804651 100644 > --- a/drivers/hwmon/lm95245.c > +++ b/drivers/hwmon/lm95245.c > @@ -98,7 +98,8 @@ static const unsigned short normal_i2c[] = { > #define STATUS1_LOC 0x01 > > #define MANUFACTURER_ID 0x01 > -#define DEFAULT_REVISION 0xB3 > +#define LM95235_REVISION 0xB1 > +#define LM95245_REVISION 0xB3 > > static const u8 lm95245_reg_address[] = { > LM95245_REG_R_LOCAL_TEMPH_S, > @@ -427,17 +428,32 @@ static int lm95245_detect(struct i2c_client *new_client, > struct i2c_board_info *info) > { > struct i2c_adapter *adapter = new_client->adapter; > + int address = new_client->addr; > + const char *name; > + int rev, id; > > if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) > return -ENODEV; > > - if (i2c_smbus_read_byte_data(new_client, LM95245_REG_R_MAN_ID) > - != MANUFACTURER_ID > - || i2c_smbus_read_byte_data(new_client, LM95245_REG_R_CHIP_ID) > - != DEFAULT_REVISION) > + id = i2c_smbus_read_byte_data(new_client, LM95245_REG_R_MAN_ID); > + if (id != MANUFACTURER_ID) > return -ENODEV; > > - strlcpy(info->type, DEVNAME, I2C_NAME_SIZE); > + rev = i2c_smbus_read_byte_data(new_client, LM95245_REG_R_CHIP_ID); > + switch (rev) { > + case LM95235_REVISION: > + if (address != 0x18 && address != 0x29 && address != 0x4c) > + return -ENODEV; > + name = "lm95235"; > + break; > + case LM95245_REVISION: > + name = "lm95245"; > + break; > + default: > + return -ENODEV; > + } > + > + strlcpy(info->type, name, I2C_NAME_SIZE); > return 0; > } > > @@ -484,7 +500,8 @@ static int lm95245_probe(struct i2c_client *client, > > /* Driver data (common to all clients) */ > static const struct i2c_device_id lm95245_id[] = { > - { DEVNAME, 0 }, Please drop DEVNAME while you're here, there's a single occurrence left and it's not even used as a device name. > + { "lm95235", 0 }, > + { "lm95245", 1 }, That "1" serves no purpose as the driver makes no use if this field. > { } > }; > MODULE_DEVICE_TABLE(i2c, lm95245_id); Maybe update MODULE_DESCRIPTION too? Please also add the LM95235 to wiki/Devices. -- Jean Delvare SUSE L3 Support _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors