i2c: cadence: Remove redundant expression in if clause
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 7 Jan 2023 21:18:12 +0000 (13:18 -0800)
committerWolfram Sang <wsa@kernel.org>
Fri, 20 Jan 2023 08:55:52 +0000 (09:55 +0100)
In the mrecv() function the Cadence I2C driver has the following expression
in an if clause.

((id->p_msg->flags & I2C_M_RECV_LEN) != I2C_M_RECV_LEN) &&
 (id->recv_count <= CDNS_I2C_FIFO_DEPTH))

Earlier in the same function when I2C_M_RECV_LEN is set the recv_count is
initialized to a value that is larger than CDNS_I2C_FIFO_DEPTH. This means
if the first expression is false the second expression is also false.
Checking the first expression is thus redundant and can be removed.

This slightly simplifies the logic.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-cadence.c

index e2a4cb6..b5d22e7 100644 (file)
@@ -612,9 +612,7 @@ static void cdns_i2c_mrecv(struct cdns_i2c *id)
        }
 
        /* Determine hold_clear based on number of bytes to receive and hold flag */
-       if (!id->bus_hold_flag &&
-           ((id->p_msg->flags & I2C_M_RECV_LEN) != I2C_M_RECV_LEN) &&
-           (id->recv_count <= CDNS_I2C_FIFO_DEPTH)) {
+       if (!id->bus_hold_flag && id->recv_count <= CDNS_I2C_FIFO_DEPTH) {
                if (cdns_i2c_readreg(CDNS_I2C_CR_OFFSET) & CDNS_I2C_CR_HOLD) {
                        hold_clear = true;
                        if (id->quirks & CDNS_I2C_BROKEN_HOLD_BIT)