i2c: riic: Simplify unsupported bus speed handling
authorGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 22 Aug 2024 14:45:54 +0000 (16:45 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Mon, 9 Sep 2024 22:36:43 +0000 (00:36 +0200)
Simplify checking for unsupported bus speeds and reporting errors by
factoring out the calculation of the maximum bus speed, and by using the
dev_err_probe() helper.

While at it, use "%u" for u32, and improve the error message.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-riic.c

index a6996f3c17110dd7ce9de67687971c8d3d3a0dad..c7f3a4c02470238c16b1402f9017e2aa9423a5e3 100644 (file)
@@ -316,16 +316,13 @@ static int riic_init_hw(struct riic_dev *riic)
        struct i2c_timings *t = &riic->i2c_t;
        struct device *dev = riic->adapter.dev.parent;
        bool fast_mode_plus = riic->info->fast_mode_plus;
+       u32 max_freq = fast_mode_plus ? I2C_MAX_FAST_MODE_PLUS_FREQ
+                                     : I2C_MAX_FAST_MODE_FREQ;
 
-       if ((!fast_mode_plus && t->bus_freq_hz > I2C_MAX_FAST_MODE_FREQ) ||
-           (fast_mode_plus && t->bus_freq_hz > I2C_MAX_FAST_MODE_PLUS_FREQ)) {
-               dev_err(&riic->adapter.dev,
-                       "unsupported bus speed (%dHz). %d max\n",
-                       t->bus_freq_hz,
-                       fast_mode_plus ? I2C_MAX_FAST_MODE_PLUS_FREQ :
-                                        I2C_MAX_FAST_MODE_FREQ);
-               return -EINVAL;
-       }
+       if (t->bus_freq_hz > max_freq)
+               return dev_err_probe(&riic->adapter.dev, -EINVAL,
+                                    "unsupported bus speed %uHz (%u max)\n",
+                                    t->bus_freq_hz, max_freq);
 
        rate = clk_get_rate(riic->clk);