Re: [PATCH v12 2/3] of: Factor arguments passed to of_map_id() into a struct
From: Frank Li
Date: Tue Mar 31 2026 - 10:46:55 EST
On Tue, Mar 31, 2026 at 07:34:47PM +0530, Vijayanand Jitta wrote:
> From: Charan Teja Kalla <charan.kalla@xxxxxxxxxxxxxxxx>
>
> 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.
>
> Suggested-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> Signed-off-by: Charan Teja Kalla <charan.kalla@xxxxxxxxxxxxxxxx>
> Signed-off-by: Vijayanand Jitta <vijayanand.jitta@xxxxxxxxxxxxxxxx>
> ---
> drivers/cdx/cdx_msi.c | 7 ++--
> drivers/iommu/of_iommu.c | 4 +-
> drivers/irqchip/irq-gic-its-msi-parent.c | 11 ++++--
> drivers/of/base.c | 68 +++++++++++++++++---------------
> drivers/of/irq.c | 10 ++++-
> drivers/pci/controller/dwc/pci-imx6.c | 32 +++++++--------
>
> for imx part.
>
> Reviewed-by: Frank Li <Frank.Li@xxxxxxx>