[PATCH v2 0/4] PCI: of: warn on bogus device_type property

From: Alex Elder

Date: Wed Aug 12 2026 - 13:22:59 EST


The purpose of this series lies in its final patch, where a new check
is added whenever a PCI devicetree node is found to already exist when
one might otherwise be dynamically created.

PCI has a well-defined bus and device discovery process. The
PCI_DYNAMIC_OF_NODES Kconfig option allows PCI devices to *also*
have a devicetree node. This enables certain things that are
not possible with PCI enumeration alone.

While working on a Qualcomm platform, I learned that some PCI
endpoint nodes were defined with device_type = "pci" properties.
Herve Codina pointed out that this was not correct. Rob Herring
indicated that people seem to have trouble getting the PCI
devicetree nodes right, and asked whether we could warn if this
particular problem occurred.

The last patch in this series implements that check and warning.
The first three patches are fairly trivial changes to clean up
some related code. This is the only changed patch since v1.

-Alex

Between version 1 and version 2:
- Check the PCI devicetree node even when PCI_DYNAMIC_OF_NODES is
not enabled

Version 1 is available here:
https://lore.kernel.org/lkml/20260807194100.455599-1-elder@xxxxxxxxxxxx/

Alex Elder (4):
PCI: of: drop the reg_num argument to of_pci_set_address()
PCI: of: don't zero flags in of_pci_get_addr_flags()
PCI: of: make a flags argument optional
PCI: of: introduce of_pci_verify_node()

drivers/pci/bus.c | 1 +
drivers/pci/of.c | 26 ++++++++++++++++++++++++++
drivers/pci/of_property.c | 20 ++++++++++----------
drivers/pci/pci.h | 3 +++
4 files changed, 40 insertions(+), 10 deletions(-)


base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
--
2.53.0