]> git.ipfire.org Git - thirdparty/linux.git/commit
of: Factor arguments passed to of_map_id() into a struct
authorCharan Teja Kalla <charan.kalla@oss.qualcomm.com>
Wed, 3 Jun 2026 07:13:13 +0000 (12:43 +0530)
committerRob Herring (Arm) <robh@kernel.org>
Fri, 12 Jun 2026 15:25:39 +0000 (10:25 -0500)
commitf71f07bee9b56b94f7828cf3082ea19ec590de36
tree0fd9749888bfa250e92eb91eaef45b678cafe415
parentd4b52f83f198310c871aa71816a26152eb3898c2
of: Factor arguments passed to of_map_id() into a struct

Change of_map_id() to take a pointer to struct of_phandle_args
instead of passing target device node and translated IDs separately.
Update all callers accordingly.

Add an explicit filter_np parameter to of_map_id() and of_map_msi_id()
to separate the filter input from the output. Previously, the target
parameter served dual purpose: as an input filter (if non-NULL, only
match entries targeting that node) and as an output (receiving the
matched node with a reference held). Now filter_np is the explicit
input filter and arg->np is the pure output.

Previously, of_map_id() would call of_node_put() on the matched node
when a filter was provided, making reference ownership inconsistent.
Remove this internal of_node_put() call so that of_map_id() now always
transfers ownership of the matched node reference to the caller via
arg->np. Callers are now consistently responsible for releasing this
reference with of_node_put(arg->np) when done.

Acked-by: Frank Li <Frank.Li@nxp.com>
Suggested-by: Rob Herring (Arm) <robh@kernel.org>
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Link: https://patch.msgid.link/20260603-parse_iommu_cells-v16-2-dc509dacb19a@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
drivers/cdx/cdx_msi.c
drivers/iommu/of_iommu.c
drivers/irqchip/irq-gic-its-msi-parent.c
drivers/of/base.c
drivers/of/irq.c
drivers/pci/controller/dwc/pci-imx6.c
drivers/pci/controller/pcie-apple.c
drivers/xen/grant-dma-ops.c
include/linux/of.h