[PATCH v3 0/7] i2c: core: Move client towards fwnode

From: Andy Shevchenko
Date: Mon Apr 07 2025 - 11:57:15 EST


The struct i2c_board_info has of_node and fwnode members. This is quite
confusing as they are of the same semantics and it's tend to have an issue
if user assigns both. Luckily there is only a single driver that does this
and fix is provided in the last patch. Nevertheless the series moves
the client handling code to use fwnode and deprecates the of_node member
in the respective documentation.

Tomi tested the last patch, but since it was separate there is no tag (yet).

In v3:
- fixed compile issues with i2c-core-slave.c (LKP)
- fixed compile issues with IRQ APIs, i.e. missing header (LKP)
- added patch for the only user which assigns two fields (Tomi)
- added tags (Tomi)

In v2:
- covered i2c-core-slave.c where it makes sense
- covered i2c-core-of.c where it makes sense
- rebased on top of the latest code base

Andy Shevchenko (7):
i2c: core: Drop duplicate check before calling OF APIs
i2c: core: Unify the firmware node type check
i2c: core: Switch to fwnode APIs to get IRQ
i2c: core: Reuse fwnode variable where it makes sense
i2c: core: Do not dereference fwnode in struct device
i2c: core: Deprecate of_node in struct i2c_board_info
media: i2c: ds90ub960: Remove of_node assignment

drivers/i2c/i2c-core-base.c | 61 +++++++++++++++++------------------
drivers/i2c/i2c-core-of.c | 1 -
drivers/i2c/i2c-core-slave.c | 12 ++++---
drivers/media/i2c/ds90ub960.c | 1 -
include/linux/i2c.h | 2 +-
5 files changed, 39 insertions(+), 38 deletions(-)

--
2.47.2