From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Provide a separate section in which pointers to early platform driver structs will be stored. Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> --- include/asm-generic/vmlinux.lds.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index af240573e482..6b5205f30ef2 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -214,6 +214,16 @@ #define CPU_METHOD_OF_TABLES() OF_TABLE(CONFIG_SMP, cpu_method) #define CPUIDLE_METHOD_OF_TABLES() OF_TABLE(CONFIG_CPU_IDLE, cpuidle_method) +#ifdef CONFIG_EARLY_PLATFORM +#define EARLY_PLATFORM_DRIVERS_TABLE() \ + . = ALIGN(8); \ + VMLINUX_SYMBOL(__early_platform_drivers_table) = .; \ + KEEP(*(__early_platform_drivers_table)) \ + VMLINUX_SYMBOL(__early_platform_drivers_table_end) = .; +#else +#define EARLY_PLATFORM_DRIVERS_TABLE() +#endif + #ifdef CONFIG_ACPI #define ACPI_PROBE_TABLE(name) \ . = ALIGN(8); \ @@ -593,6 +603,7 @@ RESERVEDMEM_OF_TABLES() \ TIMER_OF_TABLES() \ IOMMU_OF_TABLES() \ + EARLY_PLATFORM_DRIVERS_TABLE() \ CPU_METHOD_OF_TABLES() \ CPUIDLE_METHOD_OF_TABLES() \ KERNEL_DTB() \ -- 2.17.0