Devicetree
 help / color / mirror / Atom feed
* [PATCH v3 0/4] PCI: of: warn on bogus device_type property
@ 2026-09-01  1:13 Alex Elder
  2026-09-01  1:13 ` [PATCH v3 1/4] PCI: of: drop the reg_num argument to of_pci_set_address() Alex Elder
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Alex Elder @ 2026-09-01  1:13 UTC (permalink / raw)
  To: bhelgaas, robh, saravanak
  Cc: herve.codina, daniel, mohd.anwar, lorenzo.bianconi, linux-pci,
	devicetree, linux-kernel

Add a check when adding a PCI device to ensure the device_type
property is (or is not) correctly defined when the device has
a non-null devicetree node pointer.

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.  During review, Herve Codina also
suggested that bridge nodes be checked to ensure they *do*
have the proper device_type property.

This series implements these checks.  A new patch in this version
removes a (now duplicate) warning issued by the devicetree code.

The first two patches are simple cleanups.  The third adds the new
PCI devicetree node checks and warnings, and the last removes the
duplicate warning message.

					-Alex

Between version 2 and version 3:
- Drop a patch that made a change only needed by a different series
- Switch a function header to use kernel-doc format
- Add a warning if a PCI bridge node has no device_type property
- Added a patch to remove a duplicate warning in the devicetree code

Version 2 is available here:
  https://lore.kernel.org/lkml/20260812172247.276554-1-elder@riscstar.com/

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@riscstar.com/

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: introduce of_pci_verify_node()
  of: address: kill of_node_is_pcie()

 drivers/of/address.c      | 12 +-----------
 drivers/pci/bus.c         |  1 +
 drivers/pci/of.c          | 31 +++++++++++++++++++++++++++++++
 drivers/pci/of_property.c | 14 ++++++--------
 drivers/pci/pci.h         |  3 +++
 5 files changed, 42 insertions(+), 19 deletions(-)


base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
-- 
2.53.0


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-09-02 12:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-01  1:13 [PATCH v3 0/4] PCI: of: warn on bogus device_type property Alex Elder
2026-09-01  1:13 ` [PATCH v3 1/4] PCI: of: drop the reg_num argument to of_pci_set_address() Alex Elder
2026-09-01  1:16   ` sashiko-bot
2026-09-01  1:13 ` [PATCH v3 2/4] PCI: of: don't zero flags in of_pci_get_addr_flags() Alex Elder
2026-09-01  1:20   ` sashiko-bot
2026-09-01  2:42     ` Alex Elder
2026-09-01  1:13 ` [PATCH v3 3/4] PCI: of: introduce of_pci_verify_node() Alex Elder
2026-09-01  1:21   ` sashiko-bot
2026-09-01  2:42     ` Alex Elder
2026-09-01 17:32       ` Rob Herring
2026-09-02 12:54         ` Alex Elder
2026-09-01  6:11   ` Herve Codina
2026-09-01  1:13 ` [PATCH v3 4/4] of: address: kill of_node_is_pcie() Alex Elder
2026-09-01  1:18   ` sashiko-bot
2026-09-01  2:03     ` Alex Elder
2026-09-01  6:45   ` Herve Codina
2026-09-01 14:58     ` Alex Elder
2026-09-01 15:15       ` Herve Codina
2026-09-01 15:25         ` Alex Elder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox