blob: c24479deb46052688860c11c518d7dd9ec75e44e [file] [log] [blame]
Angel Pons118a9c72020-04-02 23:48:34 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Elyes HAOUASe9a01302018-10-26 15:06:33 +02002
Aaron Durbindf3a1092013-03-13 12:41:44 -05003#include <cbmem.h>
Aaron Durbin0dff57d2015-03-05 21:18:33 -06004#include <bootstate.h>
Kyösti Mälkki4fbac462015-01-07 04:48:43 +02005#include <symbols.h>
Aaron Durbindf3a1092013-03-13 12:41:44 -05006
Aaron Durbin41607a42015-06-09 13:54:10 -05007void cbmem_run_init_hooks(int is_recovery)
Kyösti Mälkki823edda2014-12-18 18:30:29 +02008{
Lee Leahy73402172017-03-10 15:23:24 -08009 cbmem_init_hook_t *init_hook_ptr =
10 (cbmem_init_hook_t *)&_cbmem_init_hooks;
11 cbmem_init_hook_t *einit_hook_ptr =
12 (cbmem_init_hook_t *)&_ecbmem_init_hooks;
Kyösti Mälkki4d107502014-12-19 10:17:46 +020013
Julius Werner7e0dea62019-02-20 18:39:22 -080014 if (REGION_SIZE(cbmem_init_hooks) == 0)
Kyösti Mälkki4fbac462015-01-07 04:48:43 +020015 return;
16
17 while (init_hook_ptr != einit_hook_ptr) {
Aaron Durbin41607a42015-06-09 13:54:10 -050018 (*init_hook_ptr)(is_recovery);
Kyösti Mälkki4fbac462015-01-07 04:48:43 +020019 init_hook_ptr++;
20 }
Kyösti Mälkki823edda2014-12-18 18:30:29 +020021}