i2c: powermac: make use of the new infrastructure for quirks
authorWolfram Sang <wsa@the-dreams.de>
Wed, 7 Jan 2015 11:24:10 +0000 (12:24 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 13 Mar 2015 14:10:57 +0000 (15:10 +0100)
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-powermac.c

index 60a53c169ed2b3c8d3803411a310b752d8e1631b..6abcf696e3594b50b6feb2608a3eaa7d0a0ee7aa 100644 (file)
@@ -153,12 +153,6 @@ static int i2c_powermac_master_xfer(       struct i2c_adapter *adap,
        int                     read;
        int                     addrdir;
 
-       if (num != 1) {
-               dev_err(&adap->dev,
-                       "Multi-message I2C transactions not supported\n");
-               return -EOPNOTSUPP;
-       }
-
        if (msgs->flags & I2C_M_TEN)
                return -EINVAL;
        read = (msgs->flags & I2C_M_RD) != 0;
@@ -205,6 +199,9 @@ static const struct i2c_algorithm i2c_powermac_algorithm = {
        .functionality  = i2c_powermac_func,
 };
 
+static struct i2c_adapter_quirks i2c_powermac_quirks = {
+       .max_num_msgs = 1,
+};
 
 static int i2c_powermac_remove(struct platform_device *dev)
 {
@@ -434,6 +431,7 @@ static int i2c_powermac_probe(struct platform_device *dev)
 
        platform_set_drvdata(dev, adapter);
        adapter->algo = &i2c_powermac_algorithm;
+       adapter->quirks = &i2c_powermac_quirks;
        i2c_set_adapdata(adapter, bus);
        adapter->dev.parent = &dev->dev;