spi/sc18is602: Return -EINVAL for probe failures due to I2C function mismatch
authorGuenter Roeck <linux@roeck-us.net>
Thu, 23 Aug 2012 00:28:55 +0000 (17:28 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 23 Aug 2012 11:13:54 +0000 (12:13 +0100)
If the I2C bus master driver does not support the required functionality,
the driver returns -ENODEV. This causes a silent probe failure without error
message. Since the device has to be explicitly instantiated, and the user
should know the correct bus, this event really reflects an error condition.
Replace error return value with -EINVAL to trigger an error message showing
that the probe function failed.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-sc18is602.c

index dd98964..9eda21d 100644 (file)
@@ -275,7 +275,7 @@ static int sc18is602_probe(struct i2c_client *client,
 
        if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C |
                                     I2C_FUNC_SMBUS_WRITE_BYTE_DATA))
-               return -ENODEV;
+               return -EINVAL;
 
        master = spi_alloc_master(dev, sizeof(struct sc18is602));
        if (!master)