On Wed, Jun 18, 2025 at 11:23:00AM +0100, Yeoreum Yun wrote: > To ensure the TPM device operating over the FF-A protocol with > the CRB interface is probed before IMA initialization, > the following conditions must be met: > > 1. The corresponding ffa_device must be registered, > which is done via ffa_init(). > > 2. The tpm_crb_driver must successfully probe this device via > tpm_crb_ffa_init(). > > 3. The tpm_crb driver using CRB over FF-A can then > be probed successfully. (See crb_acpi_add() and > tpm_crb_ffa_init() for reference.) > > Unfortunately, ffa_init(), tpm_crb_ffa_init(), and crb_acpi_driver_init() are > all registered with device_initcall, which means crb_acpi_driver_init() may > be invoked before ffa_init() and tpm_crb_ffa_init() are completed.
I get the ffa_init() part i.e, moving it earlier. However for tpm_crb_ffa_init() and crb_acpi_driver_init(), modules.dep takes care that they are loaded in order. For IMA you will need the driver as built-in but that should be handled via kernel config, not via code changes. BR, Jarkko