Skip to content

Commit

Permalink
i2c: Prevent log spam on some DVB adapters
Browse files Browse the repository at this point in the history
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 messages 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@linux-fr.org>
Acked-by: Uwe Bugla <uwe.bugla@gmx.de>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed Aug 28, 2008
1 parent 96e21e4 commit 4329cf8
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions drivers/i2c/i2c-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1190,8 +1190,8 @@ int i2c_probe(struct i2c_adapter *adapter,
&& 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;
}

Expand Down Expand Up @@ -1352,6 +1352,10 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
}
}

/* 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
Expand All @@ -1364,10 +1368,6 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
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) {
Expand Down

0 comments on commit 4329cf8

Please sign in to comment.