From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Simplify and modernize the RIIC I2C driver with the following changes: 1. Refactor error handling in `riic_i2c_probe()` and `riic_init_hw()` by replacing `dev_err()` with `dev_err_probe()` and using a local `dev` pointer. 2. Use `BIT()` and `GENMASK()` macros for consistent and clear bit handling. 3. Manage reset lines with `devm_reset_control_get_exclusive()` to simplify resource handling. 4. Mark `riic_irqs` as `const` and simplify clock tick calculations with predefined macros. 5. Add `riic_bus_barrier()` to check bus availability and improve reliability. v3->v4 -> Created new patch 1/9 -> Dropped RB/TB tags from patch 8/9 -> Dropped `unsigned long` cast and updated the format specifier while printing bus frequency -> Included required headers -> Propogated the error Cheers, Prabhakar Lad Prabhakar (9): i2c: riic: Introduce a separate variable for IRQ i2c: riic: Use dev_err_probe in probe and riic_init_hw functions 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 drivers/i2c/busses/i2c-riic.c | 137 ++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 65 deletions(-) -- 2.43.0