diff mbox series

hwmon: Drop non-functional I2C_CLASS_HWMON support for drivers w/o detect()

Message ID 13ce7c11-a958-4892-ada9-faf5bfdcb89d@gmail.com (mailing list archive)
State Accepted
Headers show
Series hwmon: Drop non-functional I2C_CLASS_HWMON support for drivers w/o detect() | expand

Commit Message

Heiner Kallweit Jan. 27, 2024, 5:45 p.m. UTC
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>
---
 Documentation/hwmon/emc2305.rst | 1 -
 drivers/hwmon/adt7410.c         | 2 --
 drivers/hwmon/emc2305.c         | 5 -----
 3 files changed, 8 deletions(-)

Comments

Guenter Roeck Jan. 27, 2024, 5:51 p.m. UTC | #1
On Sat, Jan 27, 2024 at 06:45:00PM +0100, Heiner Kallweit wrote:
> 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>

Applied.

Thanks a lot for the cleanup, appreciated!

Guenter
diff mbox series

Patch

diff --git a/Documentation/hwmon/emc2305.rst b/Documentation/hwmon/emc2305.rst
index 2403dbaf2..d0bfffe46 100644
--- a/Documentation/hwmon/emc2305.rst
+++ b/Documentation/hwmon/emc2305.rst
@@ -6,7 +6,6 @@  Kernel driver emc2305
 Supported chips:
    Microchip EMC2305, EMC2303, EMC2302, EMC2301
 
-   Addresses scanned: I2C 0x27, 0x2c, 0x2d, 0x2e, 0x2f, 0x4c, 0x4d
    Prefixes: 'emc2305'
 
    Datasheet: Publicly available at the Microchip website :
diff --git a/drivers/hwmon/adt7410.c b/drivers/hwmon/adt7410.c
index 952506779..fd214d9b3 100644
--- a/drivers/hwmon/adt7410.c
+++ b/drivers/hwmon/adt7410.c
@@ -95,14 +95,12 @@  static const struct i2c_device_id adt7410_ids[] = {
 MODULE_DEVICE_TABLE(i2c, adt7410_ids);
 
 static struct i2c_driver adt7410_driver = {
-	.class		= I2C_CLASS_HWMON,
 	.driver = {
 		.name	= "adt7410",
 		.pm	= pm_sleep_ptr(&adt7x10_dev_pm_ops),
 	},
 	.probe		= adt7410_i2c_probe,
 	.id_table	= adt7410_ids,
-	.address_list	= I2C_ADDRS(0x48, 0x49, 0x4a, 0x4b),
 };
 module_i2c_driver(adt7410_driver);
 
diff --git a/drivers/hwmon/emc2305.c b/drivers/hwmon/emc2305.c
index 29f0e4945..6ef733c0b 100644
--- a/drivers/hwmon/emc2305.c
+++ b/drivers/hwmon/emc2305.c
@@ -12,9 +12,6 @@ 
 #include <linux/platform_data/emc2305.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_VENDOR		0xfe
 #define EMC2305_FAN_MAX			0xff
@@ -611,14 +608,12 @@  static void emc2305_remove(struct i2c_client *client)
 }
 
 static struct i2c_driver emc2305_driver = {
-	.class  = I2C_CLASS_HWMON,
 	.driver = {
 		.name = "emc2305",
 	},
 	.probe = emc2305_probe,
 	.remove	  = emc2305_remove,
 	.id_table = emc2305_ids,
-	.address_list = emc2305_normal_i2c,
 };
 
 module_i2c_driver(emc2305_driver);