Loading Documentation/hwmon/lm93 +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,10 @@ Supported chips: Prefix 'lm93' Addresses scanned: I2C 0x2c-0x2e Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf * National Semiconductor LM94 Prefix 'lm94' Addresses scanned: I2C 0x2c-0x2e Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf Authors: Mark M. Hoffman <mhoffman@lightlink.com> Loading Loading @@ -56,6 +60,9 @@ previous motherboard management ASICs and uses some of the LM85's features for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual processor Xeon class motherboard with a minimum of external components. LM94 is also supported in LM93 compatible mode. Extra sensors and features of LM94 are not supported. User Interface -------------- Loading drivers/hwmon/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -618,8 +618,8 @@ config SENSORS_LM93 depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM93 sensor chips. If you say yes here you get support for National Semiconductor LM93, LM94, and compatible sensor chips. This driver can also be built as a module. If so, the module will be called lm93. Loading drivers/hwmon/lm93.c +19 −2 Original line number Diff line number Diff line Loading @@ -135,6 +135,11 @@ #define LM93_MFR_ID 0x73 #define LM93_MFR_ID_PROTOTYPE 0x72 /* LM94 REGISTER VALUES */ #define LM94_MFR_ID_2 0x7a #define LM94_MFR_ID 0x79 #define LM94_MFR_ID_PROTOTYPE 0x78 /* SMBus capabilities */ #define LM93_SMBUS_FUNC_FULL (I2C_FUNC_SMBUS_BYTE_DATA | \ I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_BLOCK_DATA) Loading Loading @@ -2504,6 +2509,7 @@ static int lm93_detect(struct i2c_client *client, struct i2c_board_info *info) { struct i2c_adapter *adapter = client->adapter; int mfr, ver; const char *name; if (!i2c_check_functionality(adapter, LM93_SMBUS_FUNC_MIN)) return -ENODEV; Loading @@ -2517,13 +2523,23 @@ static int lm93_detect(struct i2c_client *client, struct i2c_board_info *info) } ver = lm93_read_byte(client, LM93_REG_VER); if (ver != LM93_MFR_ID && ver != LM93_MFR_ID_PROTOTYPE) { switch (ver) { case LM93_MFR_ID: case LM93_MFR_ID_PROTOTYPE: name = "lm93"; break; case LM94_MFR_ID_2: case LM94_MFR_ID: case LM94_MFR_ID_PROTOTYPE: name = "lm94"; break; default: dev_dbg(&adapter->dev, "detect failed, bad version id 0x%02x!\n", ver); return -ENODEV; } strlcpy(info->type, "lm93", I2C_NAME_SIZE); strlcpy(info->type, name, I2C_NAME_SIZE); dev_dbg(&adapter->dev,"loading %s at %d,0x%02x\n", client->name, i2c_adapter_id(client->adapter), client->addr); Loading Loading @@ -2602,6 +2618,7 @@ static int lm93_remove(struct i2c_client *client) static const struct i2c_device_id lm93_id[] = { { "lm93", 0 }, { "lm94", 0 }, { } }; MODULE_DEVICE_TABLE(i2c, lm93_id); Loading Loading
Documentation/hwmon/lm93 +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,10 @@ Supported chips: Prefix 'lm93' Addresses scanned: I2C 0x2c-0x2e Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf * National Semiconductor LM94 Prefix 'lm94' Addresses scanned: I2C 0x2c-0x2e Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf Authors: Mark M. Hoffman <mhoffman@lightlink.com> Loading Loading @@ -56,6 +60,9 @@ previous motherboard management ASICs and uses some of the LM85's features for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual processor Xeon class motherboard with a minimum of external components. LM94 is also supported in LM93 compatible mode. Extra sensors and features of LM94 are not supported. User Interface -------------- Loading
drivers/hwmon/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -618,8 +618,8 @@ config SENSORS_LM93 depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM93 sensor chips. If you say yes here you get support for National Semiconductor LM93, LM94, and compatible sensor chips. This driver can also be built as a module. If so, the module will be called lm93. Loading
drivers/hwmon/lm93.c +19 −2 Original line number Diff line number Diff line Loading @@ -135,6 +135,11 @@ #define LM93_MFR_ID 0x73 #define LM93_MFR_ID_PROTOTYPE 0x72 /* LM94 REGISTER VALUES */ #define LM94_MFR_ID_2 0x7a #define LM94_MFR_ID 0x79 #define LM94_MFR_ID_PROTOTYPE 0x78 /* SMBus capabilities */ #define LM93_SMBUS_FUNC_FULL (I2C_FUNC_SMBUS_BYTE_DATA | \ I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_BLOCK_DATA) Loading Loading @@ -2504,6 +2509,7 @@ static int lm93_detect(struct i2c_client *client, struct i2c_board_info *info) { struct i2c_adapter *adapter = client->adapter; int mfr, ver; const char *name; if (!i2c_check_functionality(adapter, LM93_SMBUS_FUNC_MIN)) return -ENODEV; Loading @@ -2517,13 +2523,23 @@ static int lm93_detect(struct i2c_client *client, struct i2c_board_info *info) } ver = lm93_read_byte(client, LM93_REG_VER); if (ver != LM93_MFR_ID && ver != LM93_MFR_ID_PROTOTYPE) { switch (ver) { case LM93_MFR_ID: case LM93_MFR_ID_PROTOTYPE: name = "lm93"; break; case LM94_MFR_ID_2: case LM94_MFR_ID: case LM94_MFR_ID_PROTOTYPE: name = "lm94"; break; default: dev_dbg(&adapter->dev, "detect failed, bad version id 0x%02x!\n", ver); return -ENODEV; } strlcpy(info->type, "lm93", I2C_NAME_SIZE); strlcpy(info->type, name, I2C_NAME_SIZE); dev_dbg(&adapter->dev,"loading %s at %d,0x%02x\n", client->name, i2c_adapter_id(client->adapter), client->addr); Loading Loading @@ -2602,6 +2618,7 @@ static int lm93_remove(struct i2c_client *client) static const struct i2c_device_id lm93_id[] = { { "lm93", 0 }, { "lm94", 0 }, { } }; MODULE_DEVICE_TABLE(i2c, lm93_id); Loading