coreboot/src/include
Nicholas Chin 8651731537 sconfig: Move config_of_soc from device.h to static.h
Many sources include device.h and thus static.h, but many only need the
function declarations and type definitions, not the compiled devicetree
from sconfig. This causes many unnecessary recompiles whenever the
devicetree is updated due to the dependency. Address this by moving the
config_of_soc macro directly into the generated static.h header, as it
seems to be the only line in device.h that actually requires static.h.
For now, static.h remains included in device.h so that the build is not
affected. Subsequent commits will include static.h directly into sources
that actually need it, after which it can be dropped from device.h.

Some statistics for C objects:

Dell Latitude E6400 (GM45/ICH9):
669 total objects
181 depend on static.h
2 require static.h

Dell Latitude E6430 (Ivy Bridge/Panther Point):
693 total objects
199 depend on static.h
3 require static.h

Lenovo ThinkCentre M700 / M900 Tiny (Kaby Lake):
794 total objects
298 depend on static.h
23 objects require static.h

MSI PRO Z690-A (WIFI) DDR4 (Alder Lake):
959 total objects
319 depend on static.h
25 require static.h

The number of objects was determined by grepping the build log for
calls to CC, the number of objects that depend on static.h was
determined by grepping for calls to CC after touching static.h, and the
number of objects that actually require the static.h related lines from
device.h was determined by grepping for objects that failed to build
after removing the static.h lines from device.h and running make with
the --keep-going flag.

Change-Id: I7c40135bf2815093b81e47201c38b7d0a6ac8fa8
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84431
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2024-09-28 20:44:40 +00:00
..
acpi acpi: Add support for DRHD size reporting 2024-06-28 11:27:27 +00:00
arch-generic arch/io.h: Add port I/O functions to other architectures 2024-06-06 22:05:14 +00:00
boot drivers/efi/uefi_capsules.c: coalesce and store UEFI capsules 2024-08-30 15:48:25 +00:00
console include/console/system76_ec.h: Remove unused <stddef.h> 2024-09-10 03:12:10 +00:00
cpu soc/intel/xeon_sp/gnr: Move CPU ID definition to common header 2024-09-13 11:14:33 +00:00
device sconfig: Move config_of_soc from device.h to static.h 2024-09-28 20:44:40 +00:00
efi efi: Set EFIAPI to 32-bit ABI for FSP1_1 2024-09-20 23:25:30 +00:00
mipi drivers/soundwire: Support Realtek ALC722 codec 2024-08-20 03:59:32 +00:00
pc80 drivers/pc80/rtc/mc146818rtc: Add assertion of bank selection for AMD 2024-07-23 07:54:39 +00:00
smp
superio
sys
adainit.h Add option to use Ada code in romstage 2022-12-17 20:48:06 +00:00
asan.h
assert.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
b64_decode.h
base3.h
boardid.h
boot_device.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
bootblock_common.h
bootmem.h include/bootmem.h: Add comment 2024-01-18 15:30:35 +00:00
bootmode.h
bootsplash.h lib: Refactor bmp_load_logo() implementation 2024-04-06 04:31:50 +00:00
bootstate.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
cbfs.h
cbfs_glue.h vboot: Add VBOOT_CBFS_INTEGRATION support 2022-11-08 23:03:49 +00:00
cbmem.h cbmem.h: Change return type of cbmem_get_region 2024-08-29 13:58:21 +00:00
cper.h include/cper.h: Add CPER Memory Error Section definitions 2022-12-09 03:46:33 +00:00
crc_byte.h
ctype.h
delay.h
dimm_info_util.h
dp_aux.h
edid.h
elog.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
endian.h
espi.h
fallback.h
fit.h treewide: Move device_tree to commonlib 2024-06-22 04:02:04 +00:00
fmap.h
framebuffer_info.h drivers/intel/gma: Fix mismatching types for fb_add_framebuffer_info 2024-09-02 09:33:59 +00:00
fw_config.h lib/fw_config: Make fw_config_is_provisioned() always available 2023-06-17 02:40:57 +00:00
gpio.h soc/intel/common/gpio: Add function to read GPIO TX value 2023-01-25 14:33:06 +00:00
halt.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
identity.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
imd.h
imd_private.h include/imd_private.h: Use C99 flexible arrays 2023-07-30 09:58:12 +00:00
input-event-codes.h include/input-event-codes.h: Update to latest HID tree 2024-06-21 16:46:04 +00:00
inttypes.h
kconfig.h
lib.h
limits.h
main_decl.h
memlayout.h Allow to build romstage sources inside the bootblock 2023-11-09 13:20:18 +00:00
memory_info.h memory_info: Bump to 64 DIMMs 2023-07-18 15:06:05 +00:00
memrange.h include/memrange.h: Remove trailing semicolon 2022-09-28 16:12:04 +00:00
metadata_hash.h
mrc_cache.h drivers/intel/fsp2_0: Introduce MRC cache store after FSP-M/S APIs 2023-09-05 09:36:17 +00:00
mtcl.h drivers/wifi: Add MTCL function to ACPI SSDT 2024-02-06 03:37:19 +00:00
nhlt.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
option.h
post.h
program_loading.h
ramdetect.h
random.h arch/x86: Use 'enum cb_err' 2022-12-25 15:09:16 +00:00
reg_script.h tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
region_file.h
reset.h
rmodule.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
romstage_common.h
romstage_handoff.h
rtc.h
rules.h lib: Remove heap from rmodules 2024-02-26 10:10:07 +00:00
sar.h drivers/wifi: Support Radio Frequency Interference Mitigation 2024-07-15 18:15:40 +00:00
sdram_mode.h
smbios.h lib/smbios: Create SMBIOS type 4 entry 2024-07-22 22:30:47 +00:00
smmstore.h smmstorev2: Load the communication buffer at SMM setup 2024-04-05 07:10:17 +00:00
spd.h include/spd.h: Add SPD_MEMORY_TYPE_LPDDR3_INTEL into spd_memory_type 2024-05-09 11:24:40 +00:00
spd_bin.h spd_bin.h: Use same macro for DDR3 and LPDDR3 2024-05-28 03:21:37 +00:00
spd_cache.h
spi-generic.h drivers/spi: Add ISSI IS25WP256D flash 2023-12-18 20:27:52 +00:00
spi_bitbang.h
spi_flash.h spi: Add new struct spi_flash_bpbits for block protection bits 2023-10-05 12:51:38 +00:00
spi_sdcard.h
stage_cache.h
stdarg.h tree: Remove unused <stdarg.h> 2024-05-28 03:22:34 +00:00
stdbool.h include/stdbool: Don't unconditionally typedef bool 2024-09-25 01:05:32 +00:00
stddef.h include/stddef: define SIZE_MAX 2023-10-10 06:43:37 +00:00
stdint.h
stdio.h tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
stdlib.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
string.h commonlib/bsd: Add strlen() and strnlen() functions 2024-08-14 03:09:03 +00:00
swab.h
symbols.h symbols: Add __maybe_unused flag to region variable symbols 2024-03-18 16:53:36 +00:00
thread.h
timer.h
timestamp.h include: Add 'IWYU pragma: export' comment 2024-04-15 05:30:24 +00:00
types.h src/include: Introduce a new BIT_FLAG_32(x) macro 2024-09-04 18:31:25 +00:00
uuid.h
ux_locales.h lib: Support localized text of memory_training_desc in ux_locales.c 2023-06-04 19:00:18 +00:00
vbe.h
version.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
watchdog.h
wrdd.h
xxhash.h