This series moves the Arm FF-A core initialisation into the driver model by converting the core bring-up path to a platform driver probe/remove flow.
The first patch reverts the earlier rootfs_initcall change. That initcall ordering workaround is not a proper solution and potentially conflicts with pKVM FF-A proxy requirement. The FF-A core is then registered as a platform driver. For now, the driver creates a synthetic arm-ffa platform device internally to bind the driver. This is intended as a temporary bridge until ACPI and devicetree describe the FF-A core device or object directly, at which point the internal device creation can be dropped. The series also makes the synthetic core device the parent of enumerated FF-A partition devices, keeping the FF-A device hierarchy anchored under the core transport device. Finally, when protected KVM is enabled, FF-A probing is deferred until pKVM has completed initialisation. The kernel pKVM FF-A proxy must perform its own FF-A version negotiation and setup before the normal FF-A driver starts using the transport, so the platform driver probe path now allows the driver core to retry once that dependency is ready. Signed-off-by: Sudeep Holla <[email protected]> --- Sudeep Holla (3): firmware: arm_ffa: Register core as a platform driver firmware: arm_ffa: Set the core device as FF-A device parent firmware: arm_ffa: Defer probe until pKVM is initialized Yeoreum Yun (1): Revert "firmware: arm_ffa: Change initcall level of ffa_init() to rootfs_initcall" drivers/firmware/arm_ffa/bus.c | 3 +- drivers/firmware/arm_ffa/common.h | 4 +-- drivers/firmware/arm_ffa/driver.c | 64 ++++++++++++++++++++++++++++++++++----- drivers/firmware/arm_ffa/smccc.c | 2 +- include/linux/arm_ffa.h | 4 +-- 5 files changed, 63 insertions(+), 14 deletions(-) --- base-commit: 917719c412c48687d4a176965d1fa35320ec457c change-id: 20260508-b4-ffa_plat_dev-39b98bb79ae9 -- Regards, Sudeep

