hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/i2c/busses/i2c-stm32f4.c
....@@ -232,10 +232,10 @@
232232 * In standard mode:
233233 * t_scl_high = t_scl_low = CCR * I2C parent clk period
234234 * So to reach 100 kHz, we have:
235
- * CCR = I2C parent rate / 100 kHz >> 1
235
+ * CCR = I2C parent rate / (100 kHz * 2)
236236 *
237237 * For example with parent rate = 2 MHz:
238
- * CCR = 2000000 / (100000 << 1) = 10
238
+ * CCR = 2000000 / (100000 * 2) = 10
239239 * t_scl_high = t_scl_low = 10 * (1 / 2000000) = 5000 ns
240240 * t_scl_high + t_scl_low = 10000 ns so 100 kHz is reached
241241 *
....@@ -243,7 +243,7 @@
243243 * parent rate is not higher than 46 MHz . As a result val
244244 * is at most 8 bits wide and so fits into the CCR bits [11:0].
245245 */
246
- val = i2c_dev->parent_rate / (100000 << 1);
246
+ val = i2c_dev->parent_rate / (I2C_MAX_STANDARD_MODE_FREQ * 2);
247247 } else {
248248 /*
249249 * In fast mode, we compute CCR with duty = 0 as with low
....@@ -263,7 +263,7 @@
263263 * parent rate is not higher than 46 MHz . As a result val
264264 * is at most 6 bits wide and so fits into the CCR bits [11:0].
265265 */
266
- val = DIV_ROUND_UP(i2c_dev->parent_rate, 400000 * 3);
266
+ val = DIV_ROUND_UP(i2c_dev->parent_rate, I2C_MAX_FAST_MODE_FREQ * 3);
267267
268268 /* Select Fast mode */
269269 ccr |= STM32F4_I2C_CCR_FS;
....@@ -797,8 +797,8 @@
797797
798798 rst = devm_reset_control_get_exclusive(&pdev->dev, NULL);
799799 if (IS_ERR(rst)) {
800
- dev_err(&pdev->dev, "Error: Missing controller reset\n");
801
- ret = PTR_ERR(rst);
800
+ ret = dev_err_probe(&pdev->dev, PTR_ERR(rst),
801
+ "Error: Missing reset ctrl\n");
802802 goto clk_free;
803803 }
804804 reset_control_assert(rst);
....@@ -807,7 +807,7 @@
807807
808808 i2c_dev->speed = STM32_I2C_SPEED_STANDARD;
809809 ret = of_property_read_u32(np, "clock-frequency", &clk_rate);
810
- if (!ret && clk_rate >= 400000)
810
+ if (!ret && clk_rate >= I2C_MAX_FAST_MODE_FREQ)
811811 i2c_dev->speed = STM32_I2C_SPEED_FAST;
812812
813813 i2c_dev->dev = &pdev->dev;