[PATCH] i2c: Mark I2C_CLASS_DDC as deprecated and emit warning if adapters declare support for it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With removal of the legacy eeprom driver the only i2c client device
driver with I2C_CLASS_DDC is gone, so it's time to mark I2C_CLASS_DDC
as deprecated.
Use pr_warn_once, because graphics adapters can have several i2c
busses and we may see the warning multiple times otherwise.

Note:
Driver staging/olpc_dcon declares support for classes HWMON and DDC,
but only HWMON is used with the scx200_acb adapter driver on olpc
devices.

Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
---
 drivers/i2c/i2c-core-base.c | 4 ++++
 include/linux/i2c.h         | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 60746652f..34b475823 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -1487,6 +1487,10 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
 		goto out_list;
 	}
 
+	if (adap->class & I2C_CLASS_DDC)
+		pr_warn_once("adapter '%s': Probing for class DDC devices is deprecated\n",
+			     adap->name);
+
 	if (!adap->lock_ops)
 		adap->lock_ops = &i2c_adapter_lock_ops;
 
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 0dae9db27..dfbd121b7 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -850,7 +850,7 @@ static inline void i2c_mark_adapter_resumed(struct i2c_adapter *adap)
 
 /* i2c adapter classes (bitmask) */
 #define I2C_CLASS_HWMON		(1<<0)	/* lm_sensors, ... */
-#define I2C_CLASS_DDC		(1<<3)	/* DDC bus on graphics adapters */
+#define I2C_CLASS_DDC		(1<<3)	/* Deprecated: DDC bus on graphics adapters */
 #define I2C_CLASS_SPD		(1<<7)	/* Memory modules */
 /* Warn users that the adapter doesn't support classes anymore */
 #define I2C_CLASS_DEPRECATED	(1<<8)
-- 
2.42.0




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux