Hi, I will need for Andy's ack here because he had some comments. Thanks, Andi On Fri, Jan 03, 2025 at 09:18:51AM +0000, Prabhakar wrote: > 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 >