Skip to content

Commit 4b6847a

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 1620bed commit 4b6847a

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
@@ -2382,7 +2382,7 @@ static int __init __bcm2835_clk_driver_init(void)
23822382
{
23832383
return platform_driver_register(&bcm2835_clk_driver);
23842384
}
2385-
core_initcall(__bcm2835_clk_driver_init);
2385+
postcore_initcall(__bcm2835_clk_driver_init);
23862386

23872387
MODULE_AUTHOR("Eric Anholt <[email protected]>");
23882388
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)