diff options
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/hwmon.c | 1 | ||||
-rw-r--r-- | drivers/hwmon/max1619.c | 14 | ||||
-rw-r--r-- | drivers/hwmon/w83781d.c | 6 |
3 files changed, 9 insertions, 12 deletions
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c index 6f48579799b..dddd3eb9b38 100644 --- a/drivers/hwmon/hwmon.c +++ b/drivers/hwmon/hwmon.c @@ -16,6 +16,7 @@ #include <linux/kdev_t.h> #include <linux/idr.h> #include <linux/hwmon.h> +#include <linux/gfp.h> #define HWMON_ID_PREFIX "hwmon" #define HWMON_ID_FORMAT HWMON_ID_PREFIX "%d" diff --git a/drivers/hwmon/max1619.c b/drivers/hwmon/max1619.c index 6a82ffae1bf..69e7e125683 100644 --- a/drivers/hwmon/max1619.c +++ b/drivers/hwmon/max1619.c @@ -193,7 +193,7 @@ static int max1619_detect(struct i2c_adapter *adapter, int address, int kind) int err = 0; const char *name = ""; u8 reg_config=0, reg_convrate=0, reg_status=0; - u8 man_id, chip_id; + if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) goto exit; @@ -238,16 +238,15 @@ static int max1619_detect(struct i2c_adapter *adapter, int address, int kind) } if (kind <= 0) { /* identification */ + u8 man_id, chip_id; man_id = i2c_smbus_read_byte_data(new_client, MAX1619_REG_R_MAN_ID); chip_id = i2c_smbus_read_byte_data(new_client, MAX1619_REG_R_CHIP_ID); - if ((man_id == 0x4D) && (chip_id == 0x04)){ - kind = max1619; - } - } + if ((man_id == 0x4D) && (chip_id == 0x04)) + kind = max1619; if (kind <= 0) { /* identification failed */ dev_info(&adapter->dev, @@ -255,11 +254,10 @@ static int max1619_detect(struct i2c_adapter *adapter, int address, int kind) "chip_id=0x%02X).\n", man_id, chip_id); goto exit_free; } - + } - if (kind == max1619){ + if (kind == max1619) name = "max1619"; - } /* We can fill in the remaining client fields */ strlcpy(new_client->name, name, I2C_NAME_SIZE); diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c index 9265f32122f..ffdb3a03e2b 100644 --- a/drivers/hwmon/w83781d.c +++ b/drivers/hwmon/w83781d.c @@ -976,11 +976,9 @@ w83781d_detect_subclients(struct i2c_adapter *adapter, int address, int kind, ERROR_SC_3: i2c_detach_client(data->lm75[0]); ERROR_SC_2: - if (data->lm75[1]) - kfree(data->lm75[1]); + kfree(data->lm75[1]); ERROR_SC_1: - if (data->lm75[0]) - kfree(data->lm75[0]); + kfree(data->lm75[0]); ERROR_SC_0: return err; } |