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 e2a4cb694cfbef8f5eff52815f2dd00763aaf534..b5d22e7282c227a1fb29d8dc43dc2bc3aacf8779 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)