u-boot/lib
Alexander Graf 47870afab9 initcall: Move to inline function
The board_r init function was complaining that we are looping through
an array, calling all our tiny init stubs sequentially via indirect
function calls (which can't be speculated, so they are slow).

The solution to that is pretty easy though. All we need to do is inline
the function that loops through the functions and the compiler will
automatically convert almost all indirect calls into direct inlined code.

With this patch, the overall code size drops (by 40 bytes on riscv64)
and boot time should become measurably faster for every target.

Signed-off-by: Alexander Graf <agraf@suse.de>
2019-02-09 07:50:58 -05:00
..
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dhry SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
efi efi_loader: typedef struct efi_object *efi_handle_t 2018-12-02 21:59:36 +01:00
efi_driver blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
efi_loader efi_loader: Add a wchar_t cast in efi_file_open() 2019-01-14 17:47:13 -07:00
efi_selftest efi_selftest: block device: avoid read after free 2018-12-23 02:04:25 +01:00
libavb libavb: Handle wrong hashtree_error_mode in avb_append_options() 2018-08-24 13:19:53 -04:00
libfdt fdt_region: Ensure that depth never goes below -1 2018-11-16 16:52:01 -05:00
lzma SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee optee: adjust dependencies and default values for dram 2018-10-22 14:37:28 +02:00
rsa rsa: add support of padding pss 2018-12-03 10:44:10 -05:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
addr_map.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asm-offsets.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bch.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c efi_loader: error handling in read_console() 2018-10-16 16:39:19 +02:00
circbuf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc16.c Roll CRC16-CCITT into the hash infrastructure 2018-12-08 20:18:44 -05:00
crc32.c lib: crc32: mark static variable as __efi_runtime_data 2018-12-23 02:39:52 +01:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
display_options.c lib: Allow using display_buffer() in SPL 2019-02-01 16:59:11 +01:00
div64.c lib: div64: sync with Linux 2017-04-13 09:41:10 -04:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
errno_str.c lib: errno: introduce errno_str(): returns errno related message 2014-12-11 13:18:41 -07:00
fdtdec.c lib: fdtdec: fdtdec_get_addr_size_fixed remove checks 2019-01-14 17:47:20 -07:00
fdtdec_common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fdtdec_test.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gunzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hang.c serial: Allow serial to be absent in TPL 2018-10-09 04:40:27 -06:00
hashtable.c hashtable: fix environment variable corruption 2019-02-09 07:50:54 -05:00
hexdump.c lib: Add hexdump 2018-06-13 07:49:12 -04:00
image-sparse.c mmc: Separate "mmc swrite" from fastboot 2018-05-30 11:59:21 +02:00
Kconfig lib: Kconfig: spelling fixes 2019-01-18 09:16:15 -05:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c Make kmalloc'ed memory really DMA-safe 2018-08-31 11:59:44 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
lmb.c lmb: handle more than one DRAM BANK 2019-02-02 08:19:17 -05:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
lz4_wrapper.c SPDX: Convert all of our multiple license tags to Linux Kernel style 2018-05-07 10:24:31 -04:00
Makefile initcall: Move to inline function 2019-02-09 07:50:58 -05:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
net_utils.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
of_live.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
panic.c Consolidate __assert_failed into one implementation 2018-04-28 18:32:23 -04:00
physmem.c sandbox: physmem: Use mapping to support sandbox 2018-12-05 06:01:34 -07:00
qsort.c Include common.h in qsort.c to fix build warning 2011-12-07 08:39:54 +01:00
rand.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
slre.c lib/slre: remove superfluous assignment 2018-09-05 16:02:34 -04:00
smbios.c sandbox: smbios: Update to support sandbox 2018-12-02 21:59:37 +01:00
string.c string: Include the config header 2018-11-20 19:14:22 -07:00
strmhz.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
strto.c lib: strto: fix metric suffix parsing in strtoul[l] 2018-09-20 20:11:01 +05:30
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tiny-printf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tpm-common.c tpm: Fix a logging warning in unpack_byte_string() 2018-12-05 06:01:34 -07:00
tpm-utils.h tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
tpm-v1.c tpm: Remove use of build-time TPM versions 2018-12-05 06:01:34 -07:00
tpm-v2.c tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
trace.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
uuid.c lib: uuid: Do not enable UUID command SPL 2019-01-15 15:28:45 -05:00
vsprintf.c lib: vsprintf: correct printing of Unicode strings 2018-09-23 21:55:29 +02:00