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

Andy Shevchenko
2025-04-16T07:04:18Z

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.

In v5:
- reformatted conditionals to make media CI happy (media CI)
- updated commit messages in patches 3 & 6 to make it more clear (Wolfram)

In v4:
- fixed spelling in the first patch commit message (Sakari)
- wrapped the commit message in the patch before the last (Sakari)
- added tag to the last patch (Tomi)

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