[i2c] [PATCH] i2c: Prevent log spam on some DVB adapters

Jean Delvare khali at linux-fr.org
Thu Aug 21 15:15:56 CEST 2008


Some DVB adapters do not support the special I2C transaction that we
use for probing purposes. There's no point in logging this event, as
there's nothing the user can do and in general there is no actual
problem. So, degrade one of these message to a debug message, and
move the other one around so that it is only printed on bogus drivers.

Signed-off-by: Jean Delvare <khali at linux-fr.org>
Cc: Uwe Bugla <uwe.bugla at gmx.de>
---
 drivers/i2c/i2c-core.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- linux-2.6.27-rc4.orig/drivers/i2c/i2c-core.c	2008-08-21 14:04:03.000000000 +0200
+++ linux-2.6.27-rc4/drivers/i2c/i2c-core.c	2008-08-21 14:58:14.000000000 +0200
@@ -1190,8 +1190,8 @@ int i2c_probe(struct i2c_adapter *adapte
 		 && address_data->normal_i2c[0] == I2C_CLIENT_END)
 			return 0;
 
-		dev_warn(&adapter->dev, "SMBus Quick command not supported, "
-			 "can't probe for chips\n");
+		dev_dbg(&adapter->dev, "SMBus Quick command not supported, "
+			"can't probe for chips\n");
 		return -EOPNOTSUPP;
 	}
 
@@ -1352,6 +1352,10 @@ static int i2c_detect(struct i2c_adapter
 		}
 	}
 
+	/* Stop here if the classes do not match */
+	if (!(adapter->class & driver->class))
+		goto exit_free;
+
 	/* Stop here if we can't use SMBUS_QUICK */
 	if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) {
 		if (address_data->probe[0] == I2C_CLIENT_END
@@ -1364,10 +1368,6 @@ static int i2c_detect(struct i2c_adapter
 		goto exit_free;
 	}
 
-	/* Stop here if the classes do not match */
-	if (!(adapter->class & driver->class))
-		goto exit_free;
-
 	/* Probe entries are done second, and are not affected by ignore
 	   entries either */
 	for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) {


-- 
Jean Delvare



More information about the i2c mailing list