diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2018-07-23 16:26:08 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2018-10-05 12:04:50 -0400 |
commit | f37b2bb6ac3e6ebf855d9d4f05cc6932a8e5b463 (patch) | |
tree | 9d5245017bdd08b99de705468d58d801bfdd5a68 | |
parent | 05552832204e37e038d550e1354300eb11a9e5ec (diff) |
i2c: omap: use core to detect 'no zero length' quirk
And don't reimplement in the driver.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 65d06a819307..b1086bfb0465 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c | |||
@@ -661,9 +661,6 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap, | |||
661 | dev_dbg(omap->dev, "addr: 0x%04x, len: %d, flags: 0x%x, stop: %d\n", | 661 | dev_dbg(omap->dev, "addr: 0x%04x, len: %d, flags: 0x%x, stop: %d\n", |
662 | msg->addr, msg->len, msg->flags, stop); | 662 | msg->addr, msg->len, msg->flags, stop); |
663 | 663 | ||
664 | if (msg->len == 0) | ||
665 | return -EINVAL; | ||
666 | |||
667 | omap->receiver = !!(msg->flags & I2C_M_RD); | 664 | omap->receiver = !!(msg->flags & I2C_M_RD); |
668 | omap_i2c_resize_fifo(omap, msg->len, omap->receiver); | 665 | omap_i2c_resize_fifo(omap, msg->len, omap->receiver); |
669 | 666 | ||
@@ -1179,6 +1176,10 @@ static const struct i2c_algorithm omap_i2c_algo = { | |||
1179 | .functionality = omap_i2c_func, | 1176 | .functionality = omap_i2c_func, |
1180 | }; | 1177 | }; |
1181 | 1178 | ||
1179 | static const struct i2c_adapter_quirks omap_i2c_quirks = { | ||
1180 | .flags = I2C_AQ_NO_ZERO_LEN, | ||
1181 | }; | ||
1182 | |||
1182 | #ifdef CONFIG_OF | 1183 | #ifdef CONFIG_OF |
1183 | static struct omap_i2c_bus_platform_data omap2420_pdata = { | 1184 | static struct omap_i2c_bus_platform_data omap2420_pdata = { |
1184 | .rev = OMAP_I2C_IP_VERSION_1, | 1185 | .rev = OMAP_I2C_IP_VERSION_1, |
@@ -1453,6 +1454,7 @@ omap_i2c_probe(struct platform_device *pdev) | |||
1453 | adap->class = I2C_CLASS_DEPRECATED; | 1454 | adap->class = I2C_CLASS_DEPRECATED; |
1454 | strlcpy(adap->name, "OMAP I2C adapter", sizeof(adap->name)); | 1455 | strlcpy(adap->name, "OMAP I2C adapter", sizeof(adap->name)); |
1455 | adap->algo = &omap_i2c_algo; | 1456 | adap->algo = &omap_i2c_algo; |
1457 | adap->quirks = &omap_i2c_quirks; | ||
1456 | adap->dev.parent = &pdev->dev; | 1458 | adap->dev.parent = &pdev->dev; |
1457 | adap->dev.of_node = pdev->dev.of_node; | 1459 | adap->dev.of_node = pdev->dev.of_node; |
1458 | adap->bus_recovery_info = &omap_i2c_bus_recovery_info; | 1460 | adap->bus_recovery_info = &omap_i2c_bus_recovery_info; |