mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
hwmon: Drop non-functional I2C_CLASS_HWMON support for drivers w/o detect()
Class-based I2C probing requires detect() and address_list both to be set in the I2C client driver, see checks in i2c_detect(). It's misleading to declare I2C_CLASS_HWMON support if the driver doesn't implement detect(). Class-based probing is a legacy mechanism, in addition apparently nobody ever noticed that class-based probing has been non-functional in both drivers from the very beginning. So drop the fragments of class-based probing support. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Link: https://lore.kernel.org/r/13ce7c11-a958-4892-ada9-faf5bfdcb89d@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
3317f2385f
commit
7a0564448a
@ -6,7 +6,6 @@ Kernel driver emc2305
|
|||||||
Supported chips:
|
Supported chips:
|
||||||
Microchip EMC2305, EMC2303, EMC2302, EMC2301
|
Microchip EMC2305, EMC2303, EMC2302, EMC2301
|
||||||
|
|
||||||
Addresses scanned: I2C 0x27, 0x2c, 0x2d, 0x2e, 0x2f, 0x4c, 0x4d
|
|
||||||
Prefixes: 'emc2305'
|
Prefixes: 'emc2305'
|
||||||
|
|
||||||
Datasheet: Publicly available at the Microchip website :
|
Datasheet: Publicly available at the Microchip website :
|
||||||
|
@ -95,14 +95,12 @@ static const struct i2c_device_id adt7410_ids[] = {
|
|||||||
MODULE_DEVICE_TABLE(i2c, adt7410_ids);
|
MODULE_DEVICE_TABLE(i2c, adt7410_ids);
|
||||||
|
|
||||||
static struct i2c_driver adt7410_driver = {
|
static struct i2c_driver adt7410_driver = {
|
||||||
.class = I2C_CLASS_HWMON,
|
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "adt7410",
|
.name = "adt7410",
|
||||||
.pm = pm_sleep_ptr(&adt7x10_dev_pm_ops),
|
.pm = pm_sleep_ptr(&adt7x10_dev_pm_ops),
|
||||||
},
|
},
|
||||||
.probe = adt7410_i2c_probe,
|
.probe = adt7410_i2c_probe,
|
||||||
.id_table = adt7410_ids,
|
.id_table = adt7410_ids,
|
||||||
.address_list = I2C_ADDRS(0x48, 0x49, 0x4a, 0x4b),
|
|
||||||
};
|
};
|
||||||
module_i2c_driver(adt7410_driver);
|
module_i2c_driver(adt7410_driver);
|
||||||
|
|
||||||
|
@ -12,9 +12,6 @@
|
|||||||
#include <linux/platform_data/emc2305.h>
|
#include <linux/platform_data/emc2305.h>
|
||||||
#include <linux/thermal.h>
|
#include <linux/thermal.h>
|
||||||
|
|
||||||
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_DRIVE_FAIL_STATUS 0x27
|
||||||
#define EMC2305_REG_VENDOR 0xfe
|
#define EMC2305_REG_VENDOR 0xfe
|
||||||
#define EMC2305_FAN_MAX 0xff
|
#define EMC2305_FAN_MAX 0xff
|
||||||
@ -611,14 +608,12 @@ static void emc2305_remove(struct i2c_client *client)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct i2c_driver emc2305_driver = {
|
static struct i2c_driver emc2305_driver = {
|
||||||
.class = I2C_CLASS_HWMON,
|
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "emc2305",
|
.name = "emc2305",
|
||||||
},
|
},
|
||||||
.probe = emc2305_probe,
|
.probe = emc2305_probe,
|
||||||
.remove = emc2305_remove,
|
.remove = emc2305_remove,
|
||||||
.id_table = emc2305_ids,
|
.id_table = emc2305_ids,
|
||||||
.address_list = emc2305_normal_i2c,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module_i2c_driver(emc2305_driver);
|
module_i2c_driver(emc2305_driver);
|
||||||
|
Loading…
Reference in New Issue
Block a user