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