thermal/drivers/core: Add init section table for self-encapsulation
Currently the governors are declared in their respective files but they export their [un]register functions which in turn call the [un]register governors core's functions. That implies a cyclic dependency which is not desirable. There is a way to self-encapsulate the governors by letting them to declare themselves in a __init section table. Define the table in the asm generic linker description like the other tables and provide the specific macros to deal with. Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
This commit is contained in:

committed by
Zhang Rui

parent
4b972a01a7
commit
980af75ede
@@ -239,6 +239,16 @@
|
||||
#define ACPI_PROBE_TABLE(name)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_THERMAL
|
||||
#define THERMAL_TABLE(name) \
|
||||
. = ALIGN(8); \
|
||||
__##name##_thermal_table = .; \
|
||||
KEEP(*(__##name##_thermal_table)) \
|
||||
__##name##_thermal_table_end = .;
|
||||
#else
|
||||
#define THERMAL_TABLE(name)
|
||||
#endif
|
||||
|
||||
#define KERNEL_DTB() \
|
||||
STRUCT_ALIGN(); \
|
||||
__dtb_start = .; \
|
||||
@@ -608,6 +618,7 @@
|
||||
IRQCHIP_OF_MATCH_TABLE() \
|
||||
ACPI_PROBE_TABLE(irqchip) \
|
||||
ACPI_PROBE_TABLE(timer) \
|
||||
THERMAL_TABLE(governor) \
|
||||
EARLYCON_TABLE() \
|
||||
LSM_TABLE()
|
||||
|
||||
|
Reference in New Issue
Block a user