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: 0d8400c5a2
("hwmon: (emc2305) add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller.")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Родитель
688fcd047e
Коммит
4d50591ebf
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче