> Subject: [PATCH 00/14] treewide: Clean up usage of
> DECLARE_GLOBAL_DATA_PTR
B4 fails to send the last 2 patches. And I am not sure how to send
patch 13 and 14 in the same thread. So just resend, but seems
resend still fails for patch 13 and 14. (:
Regards
Peng.
>
> 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/25
> 20/Linux%20Kernel%20Header%20Optimization.pdf
>
> CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-
> /pipelines/29177
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> Peng Fan (14):
> beacon: imx8mm/n: Drop useless files
> mediatek: mt7622: Drop useless board files
> common: cli_hush: Include vsprintf.h
> cmd: mem: Include vsprintf.h
> test: log_filter: Include vsprintf.h
> xtensa: relocate: Add missing headers
> toradex: common: Add missing headers
> tegra: pmc: Cleanup headers
> rockchip: evk_rk3308: Cleanup headers
> nxp: emc2305: Cleanup headers
> pci: layerspace: Add missing header files
> renesas: common: Include asm-generic/u-boot.h
> socfpga: clock_manager_s10: Add missing header files
> treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage
>
> arch/arc/lib/bootm.c | 3 ---
> arch/arm/cpu/armv7/s5p4418/cpu.c | 3 ---
> arch/arm/mach-aspeed/ast2600/spl.c | 3 ---
> arch/arm/mach-imx/imx8/clock.c | 3 ---
> arch/arm/mach-imx/imx8/fdt.c | 3 ---
> arch/arm/mach-imx/imx8/iomux.c | 3 ---
> arch/arm/mach-imx/imx8m/clock_imx8mm.c | 3 ---
> arch/arm/mach-imx/imx8ulp/cgc.c | 3 ---
> arch/arm/mach-imx/imx8ulp/clock.c | 3 ---
> arch/arm/mach-imx/imx9/clock.c | 3 ---
> arch/arm/mach-imx/imx9/clock_root.c | 3 ---
> arch/arm/mach-imx/misc.c | 3 ---
> arch/arm/mach-imx/spl_imx_romapi.c | 3 ---
> arch/arm/mach-meson/board-axg.c | 3 ---
> arch/arm/mach-meson/board-g12a.c | 3 ---
> arch/arm/mach-meson/board-gx.c | 3 ---
> arch/arm/mach-socfpga/clock_manager_agilex.c | 3 ---
> arch/arm/mach-socfpga/clock_manager_agilex5.c | 3 ---
> arch/arm/mach-socfpga/clock_manager_n5x.c | 3 ---
> arch/arm/mach-socfpga/clock_manager_s10.c | 5 ++---
> arch/arm/mach-socfpga/mailbox_s10.c | 3 ---
> arch/arm/mach-socfpga/misc_gen5.c | 3 ---
> arch/arm/mach-socfpga/misc_soc64.c | 3 ---
> arch/arm/mach-socfpga/mmu-arm64_s10.c | 3 ---
> arch/arm/mach-socfpga/reset_manager_s10.c | 3 ---
> arch/arm/mach-socfpga/spl_agilex.c | 3 ---
> arch/arm/mach-socfpga/spl_agilex5.c | 3 ---
> arch/arm/mach-socfpga/spl_agilex7m.c | 3 ---
> arch/arm/mach-socfpga/spl_gen5.c | 3 ---
> arch/arm/mach-socfpga/spl_n5x.c | 3 ---
> arch/arm/mach-socfpga/spl_s10.c | 3 ---
> arch/arm/mach-socfpga/system_manager_soc64.c | 3 ---
> arch/arm/mach-tegra/pmc.c | 4 +---
> arch/microblaze/lib/bootm.c | 3 ---
> arch/mips/mach-ath79/qca956x/ddr.c | 3 ---
> arch/mips/mach-mscc/cpu.c | 3 ---
> arch/mips/mach-mtmips/ddr_cal.c | 3 ---
> arch/mips/mach-octeon/cvmx-pko.c | 2 --
> arch/nios2/lib/bootm.c | 3 ---
> arch/riscv/cpu/andes/spl.c | 3 ---
> arch/riscv/cpu/cv1800b/dram.c | 3 ---
> arch/riscv/cpu/generic/dram.c | 3 ---
> arch/riscv/cpu/k230/dram.c | 3 ---
> arch/riscv/cpu/th1520/spl.c | 2 --
> arch/sh/lib/bootm.c | 3 ---
> arch/x86/cpu/ivybridge/model_206ax.c | 3 ---
> arch/x86/lib/init_helpers.c | 3 ---
> arch/x86/lib/zimage.c | 3 ---
> arch/xtensa/lib/relocate.c | 2 ++
> arch/xtensa/lib/time.c | 3 ---
> board/BuR/brsmarc1/board.c | 3 ---
> board/BuR/common/common.c | 3 ---
> board/Marvell/octeontx/smc.c | 3 ---
> board/Marvell/octeontx2/smc.c | 3 ---
> board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c | 2
> --
> board/advantech/imx8mp_rsb3720a1/spl.c | 2 --
> board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c |
> 2 --
> board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c |
> 3 ---
> board/andestech/voyager/voyager.c | 3 ---
> board/armltd/vexpress64/vexpress64.c | 3 ---
> board/beacon/imx8mm/Makefile | 1 -
> board/beacon/imx8mm/imx8mm_beacon.c | 8 --------
> board/beacon/imx8mm/spl.c | 3 ---
> board/beacon/imx8mn/Makefile | 1 -
> board/beacon/imx8mn/imx8mn_beacon.c | 8 --------
> board/beacon/imx8mn/spl.c | 3 ---
> board/beacon/imx8mp/spl.c | 3 ---
> board/beagle/beagleboneai64/beagleboneai64.c | 2 --
> board/beagle/beagleplay/beagleplay.c | 2 --
> board/broadcom/bcmns/ns.c | 3 ---
> board/cloos/imx8mm_phg/imx8mm_phg.c | 3 ---
> board/cloos/imx8mm_phg/spl.c | 3 ---
> board/compulab/imx8mm-cl-iot-gate/spl.c | 2 --
> board/coreboot/coreboot/coreboot.c | 3 ---
> board/cssi/cmpc885/cmpc885.c | 2 --
>
> board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sb
> c.c | 2 --
> board/data_modul/imx8mm_edm_sbc/spl.c | 2 --
>
> board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.
> c | 2 --
> board/data_modul/imx8mp_edm_sbc/spl.c | 2 --
> board/dhelectronics/dh_imx8mp/common.c | 2 --
> board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c | 2 --
> board/dhelectronics/dh_imx8mp/spl.c | 2 --
> board/emcraft/imx8mp_navqp/spl.c | 3 ---
> board/emulation/qemu-riscv/qemu-riscv.c | 2 --
> board/engicam/imx8mm/icore_mx8mm.c | 2 --
> board/engicam/imx8mm/spl.c | 2 --
> board/engicam/imx8mp/icore_mx8mp.c | 3 ---
> board/engicam/imx8mp/spl.c | 3 ---
> board/gdsys/mpc8308/gazerbeam.c | 3 ---
> board/google/imx8mq_phanbell/imx8mq_phanbell.c | 3 ---
> board/highbank/highbank.c | 3 ---
> board/kontron/osm-s-mx8mp/osm-s-mx8mp.c | 3 ---
> board/kontron/osm-s-mx93/osm-s-mx93.c | 3 ---
> board/kontron/pitx_imx8m/pitx_imx8m.c | 2 --
> board/mediatek/mt7622/Makefile | 2 +-
> board/mediatek/mt7622/mt7622_rfb.c | 12 ------------
> board/mntre/imx8mq_reform2/imx8mq_reform2.c | 3 ---
> board/msc/sm2s_imx8mp/sm2s_imx8mp.c | 2 --
> board/msc/sm2s_imx8mp/spl.c | 3 ---
> board/nxp/common/emc2305.c | 4 +---
> board/nxp/imx8mm_evk/imx8mm_evk.c | 3 ---
> board/nxp/imx8mm_evk/spl.c | 3 ---
> board/nxp/imx8mn_evk/spl.c | 3 ---
> board/nxp/imx8mp_evk/spl.c | 3 ---
> board/nxp/imx8qm_mek/imx8qm_mek.c | 3 ---
> board/nxp/imx8qxp_mek/imx8qxp_mek.c | 3 ---
> board/nxp/imx8ulp_evk/imx8ulp_evk.c | 2 --
> board/nxp/imx8ulp_evk/spl.c | 2 --
> board/nxp/imx93_frdm/imx93_frdm.c | 3 ---
> board/phytec/imx8mp-libra-fpsc/spl.c | 3 ---
> board/phytec/phycore_imx8mm/phycore-imx8mm.c | 3 ---
> board/phytec/phycore_imx8mm/spl.c | 3 ---
> board/phytec/phycore_imx8mp/phycore-imx8mp.c | 3 ---
> board/phytec/phycore_imx8mp/spl.c | 3 ---
> board/phytec/phycore_imx93/phycore-imx93.c | 3 ---
> board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c |
> 3 ---
> board/polyhex/imx8mp_debix_model_a/spl.c | 3 ---
> board/purism/librem5/librem5.c | 2 --
> board/purism/librem5/spl.c | 2 --
> board/qualcomm/dragonboard410c/dragonboard410c.c | 3 ---
> board/qualcomm/dragonboard820c/dragonboard820c.c | 3 ---
> board/renesas/common/gen3-common.c | 4 +---
> board/renesas/common/gen4-common.c | 4 +---
> board/renesas/common/gen5-common.c | 4 +---
> board/rockchip/evb_rk3308/evb_rk3308.c | 5 ++---
> board/ronetix/imx8mq-cm/imx8mq_cm.c | 2 --
> board/samsung/common/exynos5-dt.c | 3 ---
> board/samsung/common/misc.c | 3 ---
> board/st/stm32f429-discovery/stm32f429-discovery.c | 3 ---
> board/st/stm32f429-evaluation/stm32f429-evaluation.c | 3 ---
> board/st/stm32f469-discovery/stm32f469-discovery.c | 3 ---
> board/st/stm32f746-disco/stm32f746-disco.c | 3 ---
> board/st/stm32h743-disco/stm32h743-disco.c | 3 ---
> board/st/stm32h743-eval/stm32h743-eval.c | 3 ---
> board/st/stm32h747-disco/stm32h747-disco.c | 3 ---
> board/st/stm32h750-art-pi/stm32h750-art-pi.c | 3 ---
> board/technexion/pico-imx8mq/pico-imx8mq.c | 3 ---
> board/ti/am62x/evm.c | 2 --
> board/ti/am64x/evm.c | 2 --
> board/ti/j784s4/evm.c | 2 --
> board/toradex/apalis-imx8/apalis-imx8.c | 3 ---
> board/toradex/apalis_t30/apalis_t30.c | 3 ---
> board/toradex/colibri-imx8x/colibri-imx8x.c | 3 ---
> board/toradex/colibri_t20/colibri_t20.c | 3 ---
> board/toradex/common/tdx-cfg-block.c | 3 ---
> board/toradex/common/tdx-cfg-block.h | 2 ++
> board/toradex/common/tdx-common.h | 2 ++
> board/toradex/smarc-imx8mp/smarc-imx8mp.c | 3 ---
> board/toradex/smarc-imx8mp/spl.c | 3 ---
> board/toradex/verdin-imx8mm/spl.c | 3 ---
> board/toradex/verdin-imx8mm/verdin-imx8mm.c | 3 ---
> board/toradex/verdin-imx8mp/spl.c | 3 ---
> board/toradex/verdin-imx8mp/verdin-imx8mp.c | 3 ---
> board/xilinx/zynq/bootimg.c | 3 ---
> boot/bootmeth-uclass.c | 2 --
> boot/fdt_simplefb.c | 3 ---
> boot/image-sig.c | 2 --
> boot/image.c | 3 ---
> cmd/bloblist.c | 3 ---
> cmd/bootefi.c | 3 ---
> cmd/bootm.c | 3 ---
> cmd/date.c | 3 ---
> cmd/mem.c | 4 +---
> cmd/sound.c | 3 ---
> cmd/spl.c | 3 ---
> common/cli_hush.c | 4 +---
> common/stdio.c | 3 ---
> drivers/block/sandbox.c | 3 ---
> drivers/bootcount/pmic_pfuze100.c | 2 --
> drivers/cache/sandbox_cache.c | 3 ---
> drivers/clk/altera/clk-agilex.c | 3 ---
> drivers/clk/altera/clk-agilex5.c | 3 ---
> drivers/clk/altera/clk-mem-n5x.c | 3 ---
> drivers/clk/altera/clk-n5x.c | 3 ---
> drivers/clk/rockchip/clk_px30.c | 3 ---
> drivers/clk/rockchip/clk_rk3308.c | 3 ---
> drivers/clk/rockchip/clk_rk3528.c | 2 --
> drivers/clk/rockchip/clk_rk3568.c | 2 --
> drivers/clk/rockchip/clk_rk3576.c | 2 --
> drivers/clk/rockchip/clk_rk3588.c | 2 --
> drivers/clk/rockchip/clk_rv1108.c | 3 ---
> drivers/clk/rockchip/clk_rv1126.c | 2 --
> drivers/cpu/bcm283x_cpu.c | 3 ---
> drivers/cpu/cpu-uclass.c | 2 --
> drivers/cpu/imx8_cpu.c | 3 ---
> drivers/cpu/mtk_cpu.c | 3 ---
> drivers/firmware/arm-ffa/arm-ffa-uclass.c | 3 ---
> drivers/firmware/arm-ffa/arm-ffa.c | 3 ---
> drivers/firmware/arm-ffa/ffa-emul-uclass.c | 3 ---
> drivers/firmware/arm-ffa/sandbox_ffa.c | 3 ---
> drivers/gpio/gpio-uclass.c | 3 ---
> drivers/gpio/nx_gpio.c | 3 ---
> drivers/i2c/mxc_i2c.c | 3 ---
> drivers/i2c/nx_i2c.c | 3 ---
> drivers/i2c/ocores_i2c.c | 3 ---
> drivers/i2c/soft_i2c.c | 3 ---
> drivers/i2c/synquacer_i2c.c | 2 --
> drivers/mailbox/imx-mailbox.c | 2 --
> drivers/misc/atsha204a-i2c.c | 3 ---
> drivers/misc/fs_loader.c | 3 ---
> drivers/misc/imx8/fuse.c | 3 ---
> drivers/mmc/ca_dw_mmc.c | 3 ---
> drivers/mmc/f_sdh30.c | 2 --
> drivers/mmc/jz_mmc.c | 3 ---
> drivers/mmc/msm_sdhci.c | 3 ---
> drivers/mmc/mv_sdhci.c | 3 ---
> drivers/mtd/nand/raw/pxa3xx_nand.c | 3 ---
> drivers/mtd/nand/raw/tegra_nand.c | 3 ---
> drivers/mtd/nvmxip/nvmxip_qspi.c | 3 ---
> drivers/mtd/spi/sf-uclass.c | 3 ---
> drivers/net/dwmac_s700.c | 3 ---
> drivers/net/fec_mxc.c | 3 ---
> drivers/net/gmac_rockchip.c | 2 --
> drivers/net/mvneta.c | 3 ---
> drivers/net/octeontx/smi.c | 3 ---
> drivers/net/phy/fixed.c | 3 ---
> drivers/net/phy/phy.c | 3 ---
> drivers/net/phy/xilinx_gmii2rgmii.c | 3 ---
> drivers/net/sandbox-raw.c | 3 ---
> drivers/net/sandbox.c | 3 ---
> drivers/net/ti/keystone_net.c | 3 ---
> drivers/net/xilinx_axi_emac.c | 3 ---
> drivers/pci/pci_octeontx.c | 3 ---
> drivers/pci/pcie_dw_meson.c | 3 ---
> drivers/pci/pcie_dw_qcom.c | 3 ---
> drivers/pci/pcie_dw_rockchip.c | 3 ---
> drivers/pci/pcie_dw_ti.c | 3 ---
> drivers/pci/pcie_layerscape.c | 3 ---
> drivers/pci/pcie_layerscape.h | 4 +++-
> drivers/pci/pcie_starfive_jh7110.c | 3 ---
> drivers/pci_endpoint/pci_ep-uclass.c | 3 ---
> drivers/phy/marvell/comphy_core.c | 3 ---
> drivers/phy/omap-usb2-phy.c | 3 ---
> drivers/phy/rockchip/phy-rockchip-pcie.c | 3 ---
> drivers/phy/rockchip/phy-rockchip-typec.c | 3 ---
> drivers/pinctrl/mtmips/pinctrl-mt7628.c | 3 ---
> drivers/pinctrl/nexell/pinctrl-nexell.c | 3 ---
> drivers/pinctrl/nexell/pinctrl-s5pxx18.c | 3 ---
> drivers/pinctrl/nxp/pinctrl-imx-mmio.c | 3 ---
> drivers/pinctrl/nxp/pinctrl-imx.c | 3 ---
> drivers/pinctrl/nxp/pinctrl-imx8.c | 3 ---
> drivers/pinctrl/nxp/pinctrl-mxs.c | 3 ---
> drivers/power/domain/imx8m-power-domain.c | 3 ---
> drivers/power/pmic/bd71837.c | 3 ---
> drivers/power/pmic/mc34708.c | 3 ---
> drivers/power/pmic/mp5416.c | 3 ---
> drivers/power/pmic/pca9450.c | 3 ---
> drivers/power/regulator/pwm_regulator.c | 3 ---
> drivers/pwm/pwm-sifive.c | 3 ---
> drivers/pwm/rk_pwm.c | 3 ---
> drivers/pwm/sunxi_pwm.c | 3 ---
> drivers/ram/stm32mp1/stm32mp1_tests.c | 3 ---
> drivers/reboot-mode/reboot-mode-gpio.c | 2 --
> drivers/reboot-mode/reboot-mode-rtc.c | 2 --
> drivers/remoteproc/rproc-uclass.c | 2 --
> drivers/serial/ns16550.c | 3 ---
> drivers/serial/sandbox.c | 3 ---
> drivers/serial/serial_adi_uart4.c | 2 --
> drivers/serial/serial_htif.c | 3 ---
> drivers/serial/serial_xen.c | 3 ---
> drivers/smem/msm_smem.c | 3 ---
> drivers/spi/ca_sflash.c | 3 ---
> drivers/spi/microchip_coreqspi.c | 2 --
> drivers/spi/mvebu_a3700_spi.c | 3 ---
> drivers/spi/omap3_spi.c | 3 ---
> drivers/spi/spi-sunxi.c | 3 ---
> drivers/spi/spi-synquacer.c | 2 --
> drivers/spi/spi-uclass.c | 3 ---
> drivers/spi/tegra210_qspi.c | 3 ---
> drivers/spmi/spmi-msm.c | 3 ---
> drivers/thermal/imx_tmu.c | 3 ---
> drivers/timer/ostm_timer.c | 3 ---
> drivers/timer/sp804_timer.c | 3 ---
> drivers/usb/common/common.c | 3 ---
> drivers/usb/phy/rockchip_usb2_phy.c | 3 ---
> drivers/usb/tcpm/tcpm.c | 2 --
> drivers/video/hx8238d.c | 2 --
> drivers/video/imx/mxc_ipuv3_fb.c | 3 ---
> drivers/video/nexell_display.c | 3 ---
> drivers/video/rockchip/rk_lvds.c | 3 ---
> drivers/video/rockchip/rk_mipi.c | 3 ---
> drivers/video/sandbox_sdl.c | 3 ---
> drivers/video/tidss/tidss_drv.c | 2 --
> drivers/video/zynqmp/zynqmp_dpsub.c | 3 ---
> drivers/watchdog/armada-37xx-wdt.c | 3 ---
> drivers/watchdog/at91sam9_wdt.c | 3 ---
> drivers/watchdog/mt7621_wdt.c | 3 ---
> drivers/watchdog/orion_wdt.c | 3 ---
> drivers/watchdog/sbsa_gwdt.c | 3 ---
> drivers/watchdog/wdt-uclass.c | 3 ---
> fs/fs.c | 3 ---
> fs/ubifs/ubifs.c | 3 ---
> include/relocate.h | 2 --
> lib/efi_loader/efi_capsule.c | 3 ---
> lib/efi_loader/efi_gop.c | 3 ---
> lib/efi_loader/efi_rng.c | 3 ---
> net/eth-uclass.c | 3 ---
> net/tftp.c | 3 ---
> net/wget.c | 3 ---
> test/cmd/exit.c | 3 ---
> test/cmd/test_echo.c | 3 ---
> test/cmd/test_pause.c | 3 ---
> test/dm/blk.c | 3 ---
> test/dm/i3c.c | 2 --
> test/lib/test_print.c | 3 ---
> test/log/log_filter.c | 4 +---
> 306 files changed, 22 insertions(+), 867 deletions(-)
> ---
> base-commit: 1de103fc29761fa729dffaa15d0cfb2766be05e4
> change-id: 20260202-cleanup-560c900f7bc3
>
> Best regards,
> --
> Peng Fan <[email protected]>