bus: imx-aipstz: allow creating pdevs for child buses
authorLaurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Mon, 7 Jul 2025 23:46:27 +0000 (19:46 -0400)
committerShawn Guo <shawnguo@kernel.org>
Fri, 11 Jul 2025 08:32:08 +0000 (16:32 +0800)
commit5080cf6339d387720cb8def1001c61c779d9edcb
treecd770533beb411e6c9c6f0c7f3b318d04630fc20
parent486225f952c04a618312e68a68044256559b974a
bus: imx-aipstz: allow creating pdevs for child buses

devm_of_platform_populate() passes a NULL as the bus OF match table
to the underlying of_platform_populate(), meaning child bus devices
of the AIPSTZ bridge will not have its children devices created. Since
some SoCs (e.g. i.MX8MP) use this particular setup (e.g. SPBA bus, which
is a child of AIPSTZ5 and has multiple child nodes), the driver needs to
support it.

Therefore, replace devm_of_platform_populate() with of_platform_populate()
and pass a reference to the bus OF match table to it. For now, the only
possible child buses are simple buses.

Since the usage of devres is dropped, the complementary operation of
of_platform_populate() needs to be called during the driver's removal.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Fixes: 796cba2dd4d9 ("bus: add driver for IMX AIPSTZ bridge")
Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Closes: https://lore.kernel.org/lkml/5029548.31r3eYUQgx@steina-w/#t
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/bus/imx-aipstz.c