]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: tegra: use core to detect 'no zero length' quirk
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 23 Jul 2018 20:26:12 +0000 (22:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:20:27 +0000 (08:20 +0100)
[ Upstream commit c96c0f2683804b710531e7b754dcd02b5ded6d4a ]

And don't reimplement in the driver.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-tegra.c

index ef13b6ce9d8debe8578a7af6589d102237517842..47d196c026ba6296120ce9b4f1bc7164c76fdc57 100644 (file)
@@ -684,9 +684,6 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
 
        tegra_i2c_flush_fifos(i2c_dev);
 
-       if (msg->len == 0)
-               return -EINVAL;
-
        i2c_dev->msg_buf = msg->buf;
        i2c_dev->msg_buf_remaining = msg->len;
        i2c_dev->msg_err = I2C_ERR_NONE;
@@ -831,6 +828,7 @@ static const struct i2c_algorithm tegra_i2c_algo = {
 
 /* payload size is only 12 bit */
 static const struct i2c_adapter_quirks tegra_i2c_quirks = {
+       .flags = I2C_AQ_NO_ZERO_LEN,
        .max_read_len = 4096,
        .max_write_len = 4096 - 12,
 };