提交 879f2a16 编写于 作者: L Luke Hinds 提交者: Zheng Zengkai

Initialise rpi-firmware before clk-bcm2835

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

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: https://github.com/raspberrypi/linux/issues/3291
     https://github.com/raspberrypi/linux/pull/3297Signed-off-by: NLuke Hinds <lhinds@redhat.com>
Co-authored-by: NPhil Elwell <phil@raspberrypi.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 65c12010
...@@ -2429,7 +2429,7 @@ static int __init __bcm2835_clk_driver_init(void) ...@@ -2429,7 +2429,7 @@ static int __init __bcm2835_clk_driver_init(void)
{ {
return platform_driver_register(&bcm2835_clk_driver); return platform_driver_register(&bcm2835_clk_driver);
} }
core_initcall(__bcm2835_clk_driver_init); postcore_initcall(__bcm2835_clk_driver_init);
MODULE_AUTHOR("Eric Anholt <eric@anholt.net>"); MODULE_AUTHOR("Eric Anholt <eric@anholt.net>");
MODULE_DESCRIPTION("BCM2835 clock driver"); MODULE_DESCRIPTION("BCM2835 clock driver");
......
...@@ -430,7 +430,7 @@ static int __init rpi_firmware_init(void) ...@@ -430,7 +430,7 @@ static int __init rpi_firmware_init(void)
out1: out1:
return ret; return ret;
} }
subsys_initcall(rpi_firmware_init); core_initcall(rpi_firmware_init);
static void __init rpi_firmware_exit(void) static void __init rpi_firmware_exit(void)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册