xref: /rk3399_rockchip-uboot/lib/initcall.c (revision 643aae1406c93ddc64fcf8c136b47cdffd9c8ccd)
1 /*
2  * Copyright (c) 2013 The Chromium OS Authors.
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #include <common.h>
8 #include <initcall.h>
9 
10 int initcall_run_list(init_fnc_t init_sequence[])
11 {
12 	init_fnc_t *init_fnc_ptr;
13 
14 	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
15 		debug("initcall: %p\n", *init_fnc_ptr);
16 		if ((*init_fnc_ptr)()) {
17 			debug("initcall sequence %p failed at call %p\n",
18 			      init_sequence, *init_fnc_ptr);
19 			return -1;
20 		}
21 	}
22 	return 0;
23 }
24