Skip to content

Commit 2c1a5da

Browse files
lukehindsPhil Elwell
authored andcommitted
Initialise rpi-firmware before clk-bcm2835
The IMA (Integrity Measurement Architecture) looks for a TPM (Trusted Platform Module) having been registered when it initialises; otherwise it assumes there is no TPM. It has been observed on BCM2835 that IMA is initialised before TPM, and that initialising the BCM2835 clock driver before the firmware driver has the effect of reversing this order. Change the firmware driver to initialise at core_initcall, delaying the BCM2835 clock driver to postcore_initcall. See: #3291 #3297 Signed-off-by: Luke Hinds <[email protected]> Co-authored-by: Phil Elwell <[email protected]>
1 parent f83583d commit 2c1a5da

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

drivers/clk/bcm/clk-bcm2835.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2384,7 +2384,7 @@ static int __init __bcm2835_clk_driver_init(void)
23842384
{
23852385
return platform_driver_register(&bcm2835_clk_driver);
23862386
}
2387-
core_initcall(__bcm2835_clk_driver_init);
2387+
postcore_initcall(__bcm2835_clk_driver_init);
23882388

23892389
MODULE_AUTHOR("Eric Anholt <[email protected]>");
23902390
MODULE_DESCRIPTION("BCM2835 clock driver");

drivers/firmware/raspberrypi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ static int __init rpi_firmware_init(void)
416416
out1:
417417
return ret;
418418
}
419-
subsys_initcall(rpi_firmware_init);
419+
core_initcall(rpi_firmware_init);
420420

421421
static void __init rpi_firmware_exit(void)
422422
{

0 commit comments

Comments
 (0)