i2c: cadence: Remove always false ternary operator
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 7 Jan 2023 21:18:13 +0000 (13:18 -0800)
committerWolfram Sang <wsa@kernel.org>
Thu, 16 Mar 2023 19:29:02 +0000 (20:29 +0100)
When selecting the clock dividers the Cadence I2C driver skips settings
where the resulting I2C bus frequency is larger than the requested
frequency.

If the resulting frequency is lower it will compute the error to actual
frequency. When calculating the difference it also handles the case where
the resulting frequency is larger.

Since the resulting frequency is always smaller or equal the computation of
the error can be simplified by only considering this case.

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

index b5d22e7282c227a1fb29d8dc43dc2bc3aacf8779..bec50bfe7aada29316e5e11a77ca69ac32f956aa 100644 (file)
@@ -1030,8 +1030,7 @@ static int cdns_i2c_calc_divs(unsigned long *f, unsigned long input_clk,
                if (actual_fscl > fscl)
                        continue;
 
-               current_error = ((actual_fscl > fscl) ? (actual_fscl - fscl) :
-                                                       (fscl - actual_fscl));
+               current_error = fscl - actual_fscl;
 
                if (last_error > current_error) {
                        calc_div_a = div_a;