[PATCH v3 0/8] i2c: riic: driver cleanup and improvements

From: Prabhakar
Date: Fri Dec 27 2024 - 06:52:12 EST


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.

Lad Prabhakar (8):
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 | 123 ++++++++++++++++++----------------
1 file changed, 65 insertions(+), 58 deletions(-)

--
2.43.0