[PATCH v2 0/9] Add support for I2C bus recovery for riic driver

Prabhakar
2024-12-18T00:16:29Z

From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Hi All,

This patch series introduces support for I2C bus recovery in the RIIC
driver, which is utilized in RZ series SoCs. The addition of bus recovery
functionality enhances the reliability of the I2C interface by allowing it
to recover from error conditions that might leave the bus in an unusable
state.

Alongside the bus recovery implementation, the series includes several
cleanup and improvement patches that simplify and modernize the driver
code. These include replacing `dev_err` calls with `dev_err_probe`,
consistent usage of the `BIT` and `GENMASK` macros, leveraging devres
helpers for reset management, and improving code readability by marking
static data as `const`.

v1->v2
- Fixed review comments and collected RB tags from Geert

v1:
https://lore.kernel.org/all/20241213175828.909987-1-prabhakar.mahadev-lad.rj@bp.renesas.com/

Cheers,
Prabhakar

Lad Prabhakar (9):
i2c: riic: Replace dev_err with dev_err_probe in probe function
i2c: riic: Use local `dev` pointer in `dev_err_probe()`
i2c: riic: Use BIT macro consistently
i2c: riic: Use GENMASK() macro for bitmask definitions
i2c: riic: Make use of devres helper to request deasserted reset line
i2c: riic: Mark riic_irqs array as const
i2c: riic: Use predefined macro and simplify clock tick calculation
i2c: riic: Add `riic_bus_barrier()` to check bus availability
i2c: riic: Implement bus recovery

drivers/i2c/busses/i2c-riic.c | 222 ++++++++++++++++++++++++----------
1 file changed, 155 insertions(+), 67 deletions(-)

--
2.43.0