summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorNicholas Chin <nic.c3.14@gmail.com>2024-10-05 22:11:18 -0600
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-11-10 10:35:44 +0000
commit05a13e7ed9b97b23af69202bedf2ea42b57e633f (patch)
treea8e04a455c7881fd72e6da1f8680187957266052 /util
parent2834090e9921c755cb0fd263c941db70f0d1fcde (diff)
sconfig: Move (WEAK_)DEV_PTR from device.h to static.h
Similar to commit 865173153760 ("sconfig: Move config_of_soc from device.h to static.h"), move these macros to static.h to separate dependencies on device.h and static.h. These macros resolve to device alises that are declared in the generated static_devices.h header, so move them to static.h which includes static_devices.h. Since static.h remains included in device.h, any source that uses these macros should still compile correctly. Subsequent commits will add static.h to files that need them, after which static.h can be dropped from device.h. Change-Id: I1c76ad749769591da9c102b11eb618e93b68bd7c Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84676 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Diffstat (limited to 'util')
-rw-r--r--util/sconfig/main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 677b9d2122..fc2aa73151 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -1906,7 +1906,15 @@ static void generate_outputh(FILE *f, const char *fw_conf_header, const char *de
fprintf(f, "#include <%s>\n\n", device_header);
fprintf(f, "/* Returns pointer to config structure of root device (B:D:F = 0:00:0) */\n");
- fprintf(f, "#define config_of_soc() __pci_0_00_0_config\n");
+ fprintf(f, "#define config_of_soc() __pci_0_00_0_config\n\n");
+
+ fprintf(f, "/* Macro to generate `struct device *` name that points to a device with the given alias. */\n");
+ fprintf(f, "#define DEV_PTR(_alias) \t_dev_##_alias##_ptr\n\n");
+
+ fprintf(f, "/* Macro to generate weak `struct device *` definition that points to a device with the given\n");
+ fprintf(f, " alias. */\n");
+ fprintf(f, "#define WEAK_DEV_PTR(_alias)\t\t\t\\\n");
+ fprintf(f, "\t__weak DEVTREE_CONST struct device *const DEV_PTR(_alias)\n");
fprintf(f, "\n#endif /* __STATIC_DEVICE_TREE_H */\n");
}