[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250103091900.428729-1-prabhakar.mahadev-lad.rj@bp.renesas.com>
Date: Fri, 3 Jan 2025 09:18:51 +0000
From: Prabhakar <prabhakar.csengg@...il.com>
To: Chris Brandt <chris.brandt@...esas.com>,
Andi Shyti <andi.shyti@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Philipp Zabel <p.zabel@...gutronix.de>
Cc: linux-renesas-soc@...r.kernel.org,
linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org,
Prabhakar <prabhakar.csengg@...il.com>,
Biju Das <biju.das.jz@...renesas.com>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: [PATCH v4 0/9] i2c: riic: driver cleanup and improvements
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
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
Powered by blists - more mailing lists