mbox series

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

Message ID 20250416070409.1867862-1-andriy.shevchenko@linux.intel.com
Headers show
Series i2c: core: Move client towards fwnode | expand

Message

Andy Shevchenko April 16, 2025, 7:01 a.m. UTC
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(-)

Comments

Wolfram Sang April 16, 2025, 4:11 p.m. UTC | #1
On Wed, Apr 16, 2025 at 10:01:30AM +0300, Andy Shevchenko wrote:
> 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
> 

Works at least on my OF-based platform. Let's go CI.

Applied to for-next, thanks!