[PATCH v10 00/10] lan966x pci device: Add support for SFPs, PCI part

Herve Codina posted 10 patches 1 week ago
Only 7 patches received!
drivers/base/core.c                      |  4 ++--
drivers/pci/of.c                         | 24 ++++++++++++++++++------
drivers/pinctrl/cirrus/pinctrl-cs42l43.c |  2 +-
include/linux/fwnode.h                   |  6 ++++++
tools/testing/cxl/test/cxl.c             |  4 ++--
5 files changed, 29 insertions(+), 11 deletions(-)
[PATCH v10 00/10] lan966x pci device: Add support for SFPs, PCI part
Posted by Herve Codina 1 week ago
Hi,

Previously, I sent a big picture series adding support for SFP ports
available on the LAN966x PCI device [0].

In this series patches touch several parts and sub-system in the kernel.
Reviews have be done and it makes sense to split the series and send
parts separately.

This current series is the extraction of patches related to issues in
the PCI subsystem. It has to be seen as a continuation of the big
picture series but related to this specific core part.

Patches 1 to 6 introduce and use fw_devlink_set_device() in already
existing code. No functional change but the introduction of the
fw_devlink_set_device() wrapper.

Patch 7 avoid a dangling pointer.

Patches 8 and 9 fix fw_devlink issues specific to PCI and the
device-tree nodes created during enumeration.

Patch 10 adds a guards to prevent incorrect node removal.

[0] https://lore.kernel.org/all/20260325143555.451852-1-herve.codina@bootlin.com/

Best regards,
Hervé

Changes:

v9 -> v10
  v9: https://lore.kernel.org/all/20260708100302.517792-1-herve.codina@bootlin.com/

  - Patches 1 to 6
    No changes

  - Patch 7
    Clear fwnode->dev also on error path.

  - Patch 8
    Clear fwnode->dev also on error path.

  - Patch 9
    No changes

  - Patch 10 (New patch in v10)
    Guard against node removal with incorrect np->data.

v8 -> v9
  v8: https://lore.kernel.org/all/20260630102804.413563-1-herve.codina@bootlin.com/

  - Patch 7 (new patch in v9)
    Clear fwnode->dev during root bridge node removal (avoid a dangling
    pointer).

  - Patch 8 (patch 7 in v8)
    Clear fwnode->dev during PCI device node removal.

v7 -> v8
  v7: https://lore.kernel.org/all/20260511155930.34604-1-herve.codina@bootlin.com/

  Rebase on top of v7.2-rc1

  - patches 4 and 5
    Add 'Reviewed-by: Andy Shevchenko'

  - Other Patches
    No other changes

v6 -> v7

  Rebase on top of v7.1-rc1

  - Patch 1
     Add Cc stable. Needed for patches 11 and 12

  - Patches 2 to 5
    No changes

  - Patch 6
     Add Cc stable. Needed for patch 13
     Add 'Acked-by: Bjorn Helgaas'

  - Patch 7
     Fix a typo in commit log
     Add Fixes tag + Cc stable
     Add 'Acked-by: Bjorn Helgaas'

  - Patch 8
     Add Fixes tag + Cc stable
     Add 'Acked-by: Bjorn Helgaas'
Older iterations:
  Patches 6 to 13 in the big picture series
  https://lore.kernel.org/all/20260325143555.451852-1-herve.codina@bootlin.com/

Herve Codina (10):
  driver core: fw_devlink: Introduce fw_devlink_set_device()
  drivers: core: Use fw_devlink_set_device()
  pinctrl: cs42l43: Use fw_devlink_set_device()
  cxl/test: Use device_set_node()
  cxl/test: Use fw_devlink_set_device()
  PCI: of: Use fw_devlink_set_device()
  PCI: of: Clear fwnode->dev during root bridge node removal and error
    path
  PCI: of: Set fwnode device of newly created PCI device nodes
  PCI: of: Remove fwnode_dev_initialized() call for a PCI root bridge
    node
  PCI: of: Guard against node removal with incorrect np->data

 drivers/base/core.c                      |  4 ++--
 drivers/pci/of.c                         | 24 ++++++++++++++++++------
 drivers/pinctrl/cirrus/pinctrl-cs42l43.c |  2 +-
 include/linux/fwnode.h                   |  6 ++++++
 tools/testing/cxl/test/cxl.c             |  4 ++--
 5 files changed, 29 insertions(+), 11 deletions(-)

-- 
2.55.0

Re: [PATCH v10 00/10] lan966x pci device: Add support for SFPs, PCI part
Posted by Richard Cheng 3 days, 20 hours ago
On Fri, Jul 17, 2026 at 04:51:35PM +0800, Herve Codina wrote:
> Hi,
> 
> Previously, I sent a big picture series adding support for SFP ports
> available on the LAN966x PCI device [0].
> 
> In this series patches touch several parts and sub-system in the kernel.
> Reviews have be done and it makes sense to split the series and send
> parts separately.
> 
> This current series is the extraction of patches related to issues in
> the PCI subsystem. It has to be seen as a continuation of the big
> picture series but related to this specific core part.
> 
> Patches 1 to 6 introduce and use fw_devlink_set_device() in already
> existing code. No functional change but the introduction of the
> fw_devlink_set_device() wrapper.
> 
> Patch 7 avoid a dangling pointer.
> 
> Patches 8 and 9 fix fw_devlink issues specific to PCI and the
> device-tree nodes created during enumeration.
> 
> Patch 10 adds a guards to prevent incorrect node removal.
> 
> [0] https://lore.kernel.org/all/20260325143555.451852-1-herve.codina@bootlin.com/
> 
> Best regards,
> Hervé
>

Hello Herve,

Just a small question in patch 10.

Otherwise, LGTM.

Reviewed-by: Richard Cheng <icheng@nvidia.com>

Best regards,
Richard Cheng.
 
> Changes:
> 
> v9 -> v10
>   v9: https://lore.kernel.org/all/20260708100302.517792-1-herve.codina@bootlin.com/
> 
>   - Patches 1 to 6
>     No changes
> 
>   - Patch 7
>     Clear fwnode->dev also on error path.
> 
>   - Patch 8
>     Clear fwnode->dev also on error path.
> 
>   - Patch 9
>     No changes
> 
>   - Patch 10 (New patch in v10)
>     Guard against node removal with incorrect np->data.
> 
> v8 -> v9
>   v8: https://lore.kernel.org/all/20260630102804.413563-1-herve.codina@bootlin.com/
> 
>   - Patch 7 (new patch in v9)
>     Clear fwnode->dev during root bridge node removal (avoid a dangling
>     pointer).
> 
>   - Patch 8 (patch 7 in v8)
>     Clear fwnode->dev during PCI device node removal.
> 
> v7 -> v8
>   v7: https://lore.kernel.org/all/20260511155930.34604-1-herve.codina@bootlin.com/
> 
>   Rebase on top of v7.2-rc1
> 
>   - patches 4 and 5
>     Add 'Reviewed-by: Andy Shevchenko'
> 
>   - Other Patches
>     No other changes
> 
> v6 -> v7
> 
>   Rebase on top of v7.1-rc1
> 
>   - Patch 1
>      Add Cc stable. Needed for patches 11 and 12
> 
>   - Patches 2 to 5
>     No changes
> 
>   - Patch 6
>      Add Cc stable. Needed for patch 13
>      Add 'Acked-by: Bjorn Helgaas'
> 
>   - Patch 7
>      Fix a typo in commit log
>      Add Fixes tag + Cc stable
>      Add 'Acked-by: Bjorn Helgaas'
> 
>   - Patch 8
>      Add Fixes tag + Cc stable
>      Add 'Acked-by: Bjorn Helgaas'
> Older iterations:
>   Patches 6 to 13 in the big picture series
>   https://lore.kernel.org/all/20260325143555.451852-1-herve.codina@bootlin.com/
> 
> Herve Codina (10):
>   driver core: fw_devlink: Introduce fw_devlink_set_device()
>   drivers: core: Use fw_devlink_set_device()
>   pinctrl: cs42l43: Use fw_devlink_set_device()
>   cxl/test: Use device_set_node()
>   cxl/test: Use fw_devlink_set_device()
>   PCI: of: Use fw_devlink_set_device()
>   PCI: of: Clear fwnode->dev during root bridge node removal and error
>     path
>   PCI: of: Set fwnode device of newly created PCI device nodes
>   PCI: of: Remove fwnode_dev_initialized() call for a PCI root bridge
>     node
>   PCI: of: Guard against node removal with incorrect np->data
> 
>  drivers/base/core.c                      |  4 ++--
>  drivers/pci/of.c                         | 24 ++++++++++++++++++------
>  drivers/pinctrl/cirrus/pinctrl-cs42l43.c |  2 +-
>  include/linux/fwnode.h                   |  6 ++++++
>  tools/testing/cxl/test/cxl.c             |  4 ++--
>  5 files changed, 29 insertions(+), 11 deletions(-)
> 
> -- 
> 2.55.0
>