diff options
| author | Tom Rini <[email protected]> | 2026-02-17 13:51:26 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-02-17 13:51:26 -0600 |
| commit | 9ddccb51443d4856e5ad2f06cc3552627b86b3d9 (patch) | |
| tree | d42c5647f5f59098c626f8bd5d16e53b283f35f0 /common | |
| parent | 54f9b6528e34f1f75c2258ed29887f496a35dd6a (diff) | |
| parent | 0f90b1e715f8abe41b0875752eb184f46032ff11 (diff) | |
Merge patch series "treewide: Clean up usage of DECLARE_GLOBAL_DATA_PTR"
Peng Fan (OSS) <[email protected]> says:
This patch set primarily removes unused DECLARE_GLOBAL_DATA_PTR
instances.
Many files declare DECLARE_GLOBAL_DATA_PTR and include
asm/global_data.h even though gd is never used. In these cases,
asm/global_data.h is effectively treated as a proxy header, which is
not a good practice.
Following the Include What You Use principle, files should include
only the headers they actually depend on, rather than relying on
global_data.h indirectly. This approach is also adopted in Linux kernel
[1].
The first few patches are prepartion to avoid building break after
remove the including of global_data.h.
A script is for filtering the files:
list=`find . -name "*.[ch]"`
for source in ${list}
do
result=`sed -n '/DECLARE_GLOBAL_DATA_PTR/p' ${source}`
if [ "${result}" == "DECLARE_GLOBAL_DATA_PTR;" ]; then
echo "Found in ${source}"
result=`sed -n '/\<gd\>/p' ${source}`
result2=`sed -n '/\<gd_/p' ${source}`
result3=`sed -n '/\<gd->/p' ${source}`
if [ "${result}" == "" ] && [ "${result2}" == "" ] && [ "${result3}" == "" ];then
echo "Cleanup ${source}"
sed -i '/DECLARE_GLOBAL_DATA_PTR/{N;/\n[[:space:]]*$/d;s/.*\n//;}' ${source}
sed -i '/DECLARE_GLOBAL_DATA_PTR/d' ${source}
sed -i '/global_data.h/d' ${source}
git add ${source}
fi
fi
done
[1] https://lpc.events/event/17/contributions/1620/attachments/1228/2520/Linux%20Kernel%20Header%20Optimization.pdf
CI: https://github.com/u-boot/u-boot/pull/865
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'common')
| -rw-r--r-- | common/cli_hush.c | 4 | ||||
| -rw-r--r-- | common/stdio.c | 3 |
2 files changed, 1 insertions, 6 deletions
diff --git a/common/cli_hush.c b/common/cli_hush.c index 7bd6943d3ed..fe8fe93bd54 100644 --- a/common/cli_hush.c +++ b/common/cli_hush.c @@ -83,7 +83,7 @@ #include <cli.h> #include <cli_hush.h> #include <command.h> /* find_cmd */ -#include <asm/global_data.h> +#include <vsprintf.h> #endif #ifndef __U_BOOT__ #include <ctype.h> /* isalpha, isdigit */ @@ -124,8 +124,6 @@ #endif #ifdef __U_BOOT__ -DECLARE_GLOBAL_DATA_PTR; - #define EXIT_SUCCESS 0 #define EOF -1 #define syntax() syntax_err() diff --git a/common/stdio.c b/common/stdio.c index 3eeb289dd8b..fc965944209 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -18,11 +18,8 @@ #include <serial.h> #include <splash.h> #include <i2c.h> -#include <asm/global_data.h> #include <dm/device-internal.h> -DECLARE_GLOBAL_DATA_PTR; - static struct stdio_dev devs; struct stdio_dev *stdio_devices[] = { NULL, NULL, NULL }; char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" }; |
