@@ -2408,7 +2408,11 @@ static int __init __bcm2835_clk_driver_init(void)
{
return platform_driver_register(&bcm2835_clk_driver);
}
+#ifdef CONFIG_IMA
+subsys_initcall(__bcm2835_clk_driver_init);
+#else
postcore_initcall(__bcm2835_clk_driver_init);
+#endif
MODULE_AUTHOR("Eric Anholt <eric@anholt.net>");
MODULE_DESCRIPTION("BCM2835 clock driver");
--
2.33.0
From aaba5263553b28540c8d5a923cadcb424d9b3d12 Mon Sep 17 00:00:00 2001
From: Scovotto Davide <scovottodavide@gmail.com>
Date: Wed, 20 Apr 2022 17:22:17 +0200
Subject: [PATCH 2/2] tpm_tis_spi_main: Force probe routine to run synchronously with driver and device registration when IMA is enabled
Co-authored-by: Alberto Solavagione <albertosolavagione30@gmail.com>
Co-developed-by: Alberto Solavagione <albertosolavagione30@gmail.com>
Signed-off-by: Alberto Solavagione <albertosolavagione30@gmail.com>
Signed-off-by: Davide Scovotto <scovottodavide@gmail.com>
---
drivers/char/tpm/tpm_tis_spi_main.c | 4 ++++
1 file changed, 4 insertions(+)
@@ -294,7 +294,11 @@ static struct spi_driver tpm_tis_spi_driver = {
.pm = &tpm_tis_pm,
.of_match_table = of_match_ptr(of_tis_spi_match),
.acpi_match_table = ACPI_PTR(acpi_tis_spi_match),
+#ifdef CONFIG_IMA
+ .probe_type = PROBE_FORCE_SYNCHRONOUS,
+#else
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
+#endif
},
.probe = tpm_tis_spi_driver_probe,
.remove = tpm_tis_spi_remove,