RE: [PATCH net-next v2 5/5] PCI: Create OF node for NXP ENETC pseudo-MAC functions

From: Claudiu Manoil

Date: Tue Nov 03 2026 - 09:51:11 EST


From: netdev-bot+sashiko@xxxxxxxxxx <netdev-bot+sashiko@xxxxxxxxxx>
Sent: Friday, October 16, 2026 11:15 AM
> To: Claudiu Manoil <claudiu.manoil@xxxxxxx>
[...]
> Subject: Re: [PATCH net-next v2 5/5] PCI: Create OF node for NXP ENETC
> pseudo-MAC functions
>
> Thank you for your contribution! Sashiko AI review found 2 potential
> issue(s) to consider.
>
> Critical: 0 * High: 0 * Medium: 1 * Low: 1
>
> If you believe none of the issues are legitimate, please reply to each
> issue of Medium severity or higher and explain why the AI is wrong.
> If any of them are legitimate and you plan to respin, please let patchwork
> know by including "pw-bot: cr" as a separate line at the end of your reply
> (one such reply per series is enough).
>
> - [Medium] On the in-tree arm64 defconfig, the ENETCv4 pseudo-MAC (PPM)
> ports this series adds still fail to probe.
> - [Low] `enetc4_add_ppm_fixed_link()` and its teardown helper in
> drivers/net/ethernet/freescale/enetc/enetc4_pf.c call these changeset...
>
> --
>
> PCI: Create OF node for NXP ENETC pseudo-MAC functions
>
> This patch registers of_pci_make_dev_node() as a final fixup for the two
> ENETC4 PCI device IDs (0xe101 and 0xe110). The PCI core can then
> synthesize an OF node for ENETCv4 pseudo-MAC ports that have no static
> DT node. The ENETC4 driver needs that node so it can attach a fixed-link
> child to it.
>
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index de9bbccda21fd..86f0a182224b2 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -6391,6 +6391,8 @@
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_XILINX, 0x5020,
> of_pci_make_dev_node);
> > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_XILINX, 0x5021,
> of_pci_make_dev_node);
> > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_REDHAT, 0x0005,
> of_pci_make_dev_node);
> > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_EFAR, 0x9660,
> of_pci_make_dev_node);
> > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PHILIPS, 0xe101,
> of_pci_make_dev_node);
> > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PHILIPS, 0xe110,
> of_pci_make_dev_node);
>
> [Severity: Medium]
> With the in-tree arm64 defconfig, will the pseudo-MAC ports on
> S32N79-RDB still fail to probe?
>
> When CONFIG_PCI_DYNAMIC_OF_NODES is not set, these fixups end up
> calling the empty stub in drivers/pci/pci.h:
>
> static inline void of_pci_make_dev_node(struct pci_dev *pdev) { }
>
> PCI_DYNAMIC_OF_NODES is a plain bool with no default, and nothing in the
> tree selects it:
>
> config PCI_DYNAMIC_OF_NODES
> bool "Create Device tree nodes for PCI devices"
> depends on OF_IRQ
> select OF_DYNAMIC
>
> NXP_ENETC4 neither selects nor implies it. arch/arm64/configs/defconfig
> does not set it, but it does set CONFIG_ARCH_S32=y and
> CONFIG_NXP_ENETC4=m.
>
> The series enables &netc_iep18 in s32n79-rdb.dts. The
> netc_iep18: pcie@241200000 node in s32n79.dtsi has no child function
> nodes, so on that config each PPM PF enumerates with no OF node.
> enetc4_link_init() then calls enetc4_add_ppm_fixed_link(), which returns
> early:
>
> if (!np)
> return dev_err_probe(priv->dev, -ENODEV,
> "Missing of_node for Pseudo-MAC port\n");
>
> The commit message notes that the quirk "only takes effect when
> CONFIG_PCI_DYNAMIC_OF_NODES is enabled". The driver patch in this series
> also deliberately avoids a hard Kconfig dependency.
>
> Should the series also enable CONFIG_PCI_DYNAMIC_OF_NODES for this
> board? That could be a defconfig update, or a select/imply that does not
> break ports described by static DT.
>

CONFIG_PCI_DYNAMIC_OF_NODES is not a hard Kconfig dependency
because only the newly introduced S32N79 chip make use of this feature
currently. This is intentional.