diff options
author | Xingjiang Qiao <nanpuyue@gmail.com> | 2022-12-06 13:53:30 +0800 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2022-12-06 14:37:47 -0800 |
commit | 4d50591ebf60ccf79380fff3a4c23659c61c482f (patch) | |
tree | 79b1d4238ea3b7b2192be77d4ae4b85c2bd69939 /drivers/hwmon | |
parent | 688fcd047ef0f0aeee16d0fefaff065fa69eb642 (diff) | |
download | linux-stable-4d50591ebf60ccf79380fff3a4c23659c61c482f.tar.gz linux-stable-4d50591ebf60ccf79380fff3a4c23659c61c482f.tar.bz2 linux-stable-4d50591ebf60ccf79380fff3a4c23659c61c482f.zip |
hwmon: (emc2305) fix unable to probe emc2301/2/3
The definitions of 'EMC2305_REG_PRODUCT_ID' and 'EMC2305_REG_DEVICE' are
both '0xfd', they actually return the same value, but the values returned
by emc2301/2/3/5 are different, so probe emc2301/2/3 will fail, This patch
fixes that.
Signed-off-by: Xingjiang Qiao <nanpuyue@gmail.com>
Link: https://lore.kernel.org/r/20221206055331.170459-1-nanpuyue@gmail.com
Fixes: 0d8400c5a2ce1 ("hwmon: (emc2305) add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller.")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/emc2305.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/hwmon/emc2305.c b/drivers/hwmon/emc2305.c index f222fcf3b6aa..232238e3231b 100644 --- a/drivers/hwmon/emc2305.c +++ b/drivers/hwmon/emc2305.c @@ -16,7 +16,6 @@ static const unsigned short emc2305_normal_i2c[] = { 0x27, 0x2c, 0x2d, 0x2e, 0x2f, 0x4c, 0x4d, I2C_CLIENT_END }; #define EMC2305_REG_DRIVE_FAIL_STATUS 0x27 -#define EMC2305_REG_DEVICE 0xfd #define EMC2305_REG_VENDOR 0xfe #define EMC2305_FAN_MAX 0xff #define EMC2305_FAN_MIN 0x00 @@ -524,7 +523,7 @@ static int emc2305_probe(struct i2c_client *client) struct device *dev = &client->dev; struct emc2305_data *data; struct emc2305_platform_data *pdata; - int vendor, device; + int vendor; int ret; int i; @@ -535,10 +534,6 @@ static int emc2305_probe(struct i2c_client *client) if (vendor != EMC2305_VENDOR) return -ENODEV; - device = i2c_smbus_read_byte_data(client, EMC2305_REG_DEVICE); - if (device != EMC2305_DEVICE) - return -ENODEV; - data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM; |