diff mbox series

i2c: riic: Simplify unsupported bus speed handling

Message ID dc6b10a56be9c90f580c50c55d829766fe2956a7.1724337807.git.geert+renesas@glider.be (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show
Series i2c: riic: Simplify unsupported bus speed handling | expand

Commit Message

Geert Uytterhoeven Aug. 22, 2024, 2:45 p.m. UTC
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>
---
 drivers/i2c/busses/i2c-riic.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

Comments

Claudiu Beznea Aug. 22, 2024, 4:01 p.m. UTC | #1
On 22.08.2024 17:45, Geert Uytterhoeven wrote:
> 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>

> ---
>  drivers/i2c/busses/i2c-riic.c | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
> index a6996f3c17110dd7..c7f3a4c02470238c 100644
> --- a/drivers/i2c/busses/i2c-riic.c
> +++ b/drivers/i2c/busses/i2c-riic.c
> @@ -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);
>
Andi Shyti Aug. 23, 2024, 12:47 a.m. UTC | #2
Hi Geert,

On Thu, Aug 22, 2024 at 04:45:54PM GMT, Geert Uytterhoeven wrote:
> 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>

Thanks for the cleanup, I missed the cleaner way during code
review :-)

Merged to i2c/i2c-host.

Andi
Wolfram Sang Aug. 26, 2024, 9:12 a.m. UTC | #3
On Thu, Aug 22, 2024 at 04:45:54PM +0200, Geert Uytterhoeven wrote:
> 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>

Nice!

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
index a6996f3c17110dd7..c7f3a4c02470238c 100644
--- a/drivers/i2c/busses/i2c-riic.c
+++ b/drivers/i2c/busses/i2c-riic.c
@@ -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);