[PATCH] i2c: stm32f7_i2c: save some ms in stm32_i2c_choose_solution

Richard Genoud richard.genoud at bootlin.com
Fri Dec 5 14:36:41 CET 2025


In stm32_i2c_choose_solution, the double loop continues even after a
solution is found.

Breaking out of this double loop once a solution is found permits to
gain some precious ms.

This saves about 13ms in U-Boot.

Signed-off-by: Richard Genoud <richard.genoud at bootlin.com>
---
 drivers/i2c/stm32f7_i2c.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c
index 3f51b1dd1db4..cb5e2c0e31e5 100644
--- a/drivers/i2c/stm32f7_i2c.c
+++ b/drivers/i2c/stm32f7_i2c.c
@@ -651,11 +651,13 @@ static int stm32_i2c_choose_solution(u32 i2cclk,
 						v->sclh = h;
 						sol_found = true;
 						memcpy(s, v, sizeof(*s));
+						goto end_loop;
 					}
 				}
 			}
 		}
 	}
+end_loop:
 
 	if (!sol_found) {
 		log_err("no solution at all\n");

base-commit: c5e6d2ab7eba68cbfb600cdc131c0c375ced2ec9
-- 
2.47.3



More information about the U-Boot mailing list