public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH RESEND 13/14] socfpga: clock_manager_s10: Add missing header files
@ 2026-02-03 11:47 Peng Fan (OSS)
  2026-02-03 11:47 ` [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage Peng Fan (OSS)
  0 siblings, 1 reply; 5+ messages in thread
From: Peng Fan (OSS) @ 2026-02-03 11:47 UTC (permalink / raw)
  To: u-boot, Marek Vasut, Simon Goldschmidt, Tien Fong Chee, Tom Rini,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

struct udevice and u32 are used in this file. Add missing header to avoid
building break after asm/global_data.h is removed from this file.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm/mach-socfpga/clock_manager_s10.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-socfpga/clock_manager_s10.c b/arch/arm/mach-socfpga/clock_manager_s10.c
index 1e148947a33..d6c64e98010 100644
--- a/arch/arm/mach-socfpga/clock_manager_s10.c
+++ b/arch/arm/mach-socfpga/clock_manager_s10.c
@@ -4,6 +4,8 @@
  *
  */
 
+#include <compiler.h>
+#include <dm/device.h>
 #include <linux/errno.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage
  2026-02-03 11:47 [PATCH RESEND 13/14] socfpga: clock_manager_s10: Add missing header files Peng Fan (OSS)
@ 2026-02-03 11:47 ` Peng Fan (OSS)
  2026-02-03 12:44   ` Patrice CHOTARD
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Peng Fan (OSS) @ 2026-02-03 11:47 UTC (permalink / raw)
  To: u-boot, Alexey Brodkin, Eugeniy Paltsev, Tom Rini, Stefan Bosch,
	Ryan Chen, Chia-Wei Wang, Aspeed BMC SW team, Joel Stanley,
	Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
	Neil Armstrong, Marek Vasut, Simon Goldschmidt, Tien Fong Chee,
	Alif Zakuan Yuslaimi, Michal Simek, Daniel Schwierzeck,
	Gregory CLEMENT, Lars Povlsen, Horatiu Vultur, Weijie Gao,
	GSS_MTK_Uboot_upstream, Aaron Williams, Thomas Chou, Rick Chen,
	Leo, Yao Zi, Nobuhiro Iwamatsu, Simon Glass, Bin Meng,
	Max Filippov, Wolfgang Wallner, Ying-Chun Liu (PaulLiu),
	Oliver Graute, Randolph, David Feng, Linus Walleij, Peter Hoyes,
	Liviu Dudau, Adam Ford, Nishanth Menon, Robert Nelson,
	Christophe Leroy, Gilles Talis, Jagan Teki, Matteo Lisi,
	Manoj Sai, Mario Six, Marco Franchi, Alifer Moraes,
	Andre Przywara, Frieder Schrempf, Heiko Thiery, Lukas F. Hartmann,
	Patrick Wildt, Martyn Welch, Ian Ray, Peng Fan, Teresa Remmet,
	Mathieu Othacehe, Christoph Stoidner, Angus Ainslie,
	reviewer:PURISM LIBREM5 PHONE, Stephan Gerhold, Sam Day,
	Casey Connolly, Sumit Garg, Jorge Ramirez-Ortiz, Ilko Iliev,
	Kamil Lulko, Patrick Delaunay, Patrice Chotard, Dario Binacchi,
	Dillon Min, Bryan Brattlof, Vignesh Raghavendra, Apurva Nandan,
	Francesco Dolcini, Heinrich Schuchardt, Ilias Apalodimas,
	Lukasz Majewski, Philipp Tomsich, Kever Yang, Ryder Lee,
	Chunfeng Yun, Igor Belwon, Abdellatif El Khlifi, Heiko Schocher,
	Masahisa Kojima, Alex Nemirovsky, Jaehoon Chung,
	Michael Trimarchi, Tudor Ambarus, Joe Hershberger, Ramon Fried,
	Jerome Forissier, Minda Chen, Hal Feng, Stefan Roese,
	Nathan Barrett-Morrison, Greg Malysa, Ian Roberts,
	Vasileios Bimpikas, Utsav Agarwal, Arturs Artamonovs,
	Anastasiia Lukianenko, Oleksandr Andrushchenko, Thierry Reding,
	Svyatoslav Ryhel, Mateusz Kulikowski, Sebastian Reichel,
	Anatolij Gustschin, Brian Sune, Tingting Meng, Boon Khai Ng,
	Mahesh Rao, Ye Li, Naresh Kumar Ravulapalli, Jeremy Compostella,
	Bernhard Messerklinger, Debbie Horsfall, Harrison Mutai,
	Jonathan Humphreys, Mattijs Korpershoek, Wadim Egorov,
	Sam Protsenko, Anshul Dalal, Alice Guo, Francesco Valla,
	Mathieu Dubois-Briand, Benjamin Hahn, Yannic Moog, Primoz Fiser,
	Hai Pham, Guillaume La Roque (TI.com), Vishal Mahaveer, Keerthy,
	Andrew Halaney, Vitor Soares, Emanuele Ghidoli, Mayuresh Chitale,
	Maxim Moskalets, Jonas Karlman, Mark Kettenis, Adriano Cordova,
	Osama Abdelkader, Rasmus Villemoes, Anton Moryakov,
	Andrew Goodbody, Muhammad Hazim Izzat Zamri, Quentin Schulz,
	Joseph Chen, Finley Xiao, Elaine Zhang, Heiko Stuebner,
	David Zang, Viorel Suman, Sky Huang, Lucien.Jheng, Loic Poulain,
	Varadarajan Narayanan, Alexander Feilke, Markus Niebel,
	Alexander Stein, Christoph Fritz, Siddharth Vadapalli,
	Sai Varun Venkatapuram, E Shattow, Miquel Raynal, Paul Geurts,
	J. Neuschäfer, Aswin Murugan, Eoin Dickson, Brian Ruley,
	Swamil Jain, Zixun LI, Antonio Borneo, Gabriel Dalimonte,
	Sughosh Ganu, Timo tp Preißl, Alexander Graf,
	Alper Nebi Yasak, Alexander Sverdlin, Alvin Šipraga,
	Leonard Anderweit, Dinesh Maniyam, open list:ARC,
	open list:ARM AMLOGIC SOC SUPPORT,
	open list:DH electronics DHCOM i.MX8M Plus and matching c...,
	open list:Libra-i.MX 8M Plus, open list:ARM SNAPDRAGON,
	moderated list:ARM STM STM32MP, open list:ARM SC5XX
  Cc: kernel, uboot-snps-arc, u-boot-amlogic, u-boot, upstream,
	u-boot-qcom, uboot-stm32, adsp-linux

From: Peng Fan <peng.fan@nxp.com>

Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and
drop the unnecessary inclusion of asm/global_data.h.

Headers should be included directly by the files that need them,
rather than indirectly via global_data.h.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 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                   | 3 ---
 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/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/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/spl.c                                   | 3 ---
 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_sbc.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/mntre/imx8mq_reform2/imx8mq_reform2.c                 | 3 ---
 board/msc/sm2s_imx8mp/sm2s_imx8mp.c                         | 2 --
 board/msc/sm2s_imx8mp/spl.c                                 | 3 ---
 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                          | 3 ---
 board/renesas/common/gen4-common.c                          | 3 ---
 board/renesas/common/gen5-common.c                          | 3 ---
 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/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                                                   | 3 ---
 cmd/sound.c                                                 | 3 ---
 cmd/spl.c                                                   | 3 ---
 common/cli_hush.c                                           | 3 ---
 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_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                                       | 3 ---
 293 files changed, 826 deletions(-)

diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
index b143392ee6c..91bce5235a5 100644
--- a/arch/arc/lib/bootm.c
+++ b/arch/arc/lib/bootm.c
@@ -10,9 +10,6 @@
 #include <irq_func.h>
 #include <log.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static int cleanup_before_linux(void)
 {
diff --git a/arch/arm/cpu/armv7/s5p4418/cpu.c b/arch/arm/cpu/armv7/s5p4418/cpu.c
index 27ffb450378..2c550439559 100644
--- a/arch/arm/cpu/armv7/s5p4418/cpu.c
+++ b/arch/arm/cpu/armv7/s5p4418/cpu.c
@@ -7,7 +7,6 @@
 #include <command.h>
 #include <asm/system.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <asm/io.h>
 #include <asm/arch/nexell.h>
@@ -15,8 +14,6 @@
 #include <asm/arch/tieoff.h>
 #include <cpu_func.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef	CONFIG_ARCH_CPU_INIT
 #error must be define the macro "CONFIG_ARCH_CPU_INIT"
 #endif
diff --git a/arch/arm/mach-aspeed/ast2600/spl.c b/arch/arm/mach-aspeed/ast2600/spl.c
index 0c5a82ed094..60f2c5d291e 100644
--- a/arch/arm/mach-aspeed/ast2600/spl.c
+++ b/arch/arm/mach-aspeed/ast2600/spl.c
@@ -9,9 +9,6 @@
 #include <linux/err.h>
 #include <asm/io.h>
 #include <asm/arch/scu_ast2600.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 void board_init_f(ulong dummy)
 {
diff --git a/arch/arm/mach-imx/imx8/clock.c b/arch/arm/mach-imx/imx8/clock.c
index 4e49b5bf375..e37d3bf31e4 100644
--- a/arch/arm/mach-imx/imx8/clock.c
+++ b/arch/arm/mach-imx/imx8/clock.c
@@ -3,12 +3,9 @@
  * Copyright 2018 NXP
  */
 
-#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/arch/clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 mxc_get_clock(enum mxc_clock clk)
 {
 	switch (clk) {
diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
index ce78c8ce919..8337edc2f62 100644
--- a/arch/arm/mach-imx/imx8/fdt.c
+++ b/arch/arm/mach-imx/imx8/fdt.c
@@ -6,7 +6,6 @@
 #include <log.h>
 #include <firmware/imx/sci/sci.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
@@ -14,8 +13,6 @@
 #include <cpu.h>
 #include <dm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static bool check_owned_resource(sc_rsrc_t rsrc_id)
 {
 	bool owned;
diff --git a/arch/arm/mach-imx/imx8/iomux.c b/arch/arm/mach-imx/imx8/iomux.c
index 3e27d75827a..b6175a50226 100644
--- a/arch/arm/mach-imx/imx8/iomux.c
+++ b/arch/arm/mach-imx/imx8/iomux.c
@@ -4,13 +4,10 @@
  */
 
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/iomux.h>
 #include <firmware/imx/sci/sci.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * configures a single pad in the iomuxer
  */
diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
index 77c8efc7899..b7b3702041e 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
@@ -8,7 +8,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <errno.h>
@@ -16,8 +15,6 @@
 #include <linux/delay.h>
 #include <phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct anamix_pll *ana_pll = (struct anamix_pll *)ANATOP_BASE_ADDR;
 
 static u32 get_root_clk(enum clk_root_index clock_id);
diff --git a/arch/arm/mach-imx/imx8ulp/cgc.c b/arch/arm/mach-imx/imx8ulp/cgc.c
index f9d8ed5b048..69585a3605b 100644
--- a/arch/arm/mach-imx/imx8ulp/cgc.c
+++ b/arch/arm/mach-imx/imx8ulp/cgc.c
@@ -10,12 +10,9 @@
 #include <asm/arch/cgc.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <hang.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct cgc1_regs *cgc1_regs = (struct cgc1_regs *)0x292C0000UL;
 static struct cgc2_regs *cgc2_regs = (struct cgc2_regs *)0x2da60000UL;
 
diff --git a/arch/arm/mach-imx/imx8ulp/clock.c b/arch/arm/mach-imx/imx8ulp/clock.c
index c390f20d769..1b5cbd56f50 100644
--- a/arch/arm/mach-imx/imx8ulp/clock.c
+++ b/arch/arm/mach-imx/imx8ulp/clock.c
@@ -12,11 +12,8 @@
 #include <asm/arch/pcc.h>
 #include <asm/arch/cgc.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PLL_USB_EN_USB_CLKS_MASK	(0x01 << 6)
 #define PLL_USB_PWR_MASK		(0x01 << 12)
 #define PLL_USB_ENABLE_MASK		(0x01 << 13)
diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c
index e65cabef2c9..14a2bdf5762 100644
--- a/arch/arm/mach-imx/imx9/clock.c
+++ b/arch/arm/mach-imx/imx9/clock.c
@@ -10,7 +10,6 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/ccm_regs.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <errno.h>
@@ -19,8 +18,6 @@
 #include <log.h>
 #include <phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct anatop_reg *ana_regs = (struct anatop_reg *)ANATOP_BASE_ADDR;
 
 static struct imx_intpll_rate_table imx9_intpll_tbl[] = {
diff --git a/arch/arm/mach-imx/imx9/clock_root.c b/arch/arm/mach-imx/imx9/clock_root.c
index 5dbc398e97f..acf79a40584 100644
--- a/arch/arm/mach-imx/imx9/clock_root.c
+++ b/arch/arm/mach-imx/imx9/clock_root.c
@@ -11,11 +11,8 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <linux/iopoll.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct ccm_reg *ccm_reg = (struct ccm_reg *)CCM_BASE_ADDR;
 
 static enum ccm_clk_src clk_root_mux[][4] = {
diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c
index 7452b82f110..90d91b2300a 100644
--- a/arch/arm/mach-imx/misc.c
+++ b/arch/arm/mach-imx/misc.c
@@ -6,14 +6,11 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
 #include <asm/mach-imx/regs-common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* 1 second delay should be plenty of time for block reset. */
 #define	RESET_MAX_TIMEOUT	1000000
 
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index b7008df8e35..d36536e600e 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -7,13 +7,10 @@
 #include <image.h>
 #include <imx_container.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <spl.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Caller need ensure the offset and size to align with page size */
 ulong spl_romapi_raw_seekable_read(u32 offset, u32 size, void *buf)
 {
diff --git a/arch/arm/mach-meson/board-axg.c b/arch/arm/mach-meson/board-axg.c
index 6535539184c..542792cad1b 100644
--- a/arch/arm/mach-meson/board-axg.c
+++ b/arch/arm/mach-meson/board-axg.c
@@ -10,13 +10,10 @@
 #include <asm/arch/eth.h>
 #include <asm/arch/axg.h>
 #include <asm/arch/mem.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int meson_get_boot_device(void)
 {
 	return readl(AXG_AO_SEC_GP_CFG0) & AXG_AO_BOOT_DEVICE;
diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c
index dc4abe1e107..17722cb897d 100644
--- a/arch/arm/mach-meson/board-g12a.c
+++ b/arch/arm/mach-meson/board-g12a.c
@@ -12,13 +12,10 @@
 #include <asm/arch/g12a.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int meson_get_boot_device(void)
 {
 	return readl(G12A_AO_SEC_GP_CFG0) & G12A_AO_BOOT_DEVICE;
diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
index 0370ed57e20..d5c506df22b 100644
--- a/arch/arm/mach-meson/board-gx.c
+++ b/arch/arm/mach-meson/board-gx.c
@@ -11,14 +11,11 @@
 #include <asm/arch/gx.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/printk.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int meson_get_boot_device(void)
 {
 	return readl(GX_AO_SEC_GP_CFG0) & GX_AO_BOOT_DEVICE;
diff --git a/arch/arm/mach-socfpga/clock_manager_agilex.c b/arch/arm/mach-socfpga/clock_manager_agilex.c
index 9987d5bcee6..95c7f044952 100644
--- a/arch/arm/mach-socfpga/clock_manager_agilex.c
+++ b/arch/arm/mach-socfpga/clock_manager_agilex.c
@@ -10,12 +10,9 @@
 #include <malloc.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dt-bindings/clock/agilex-clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static ulong cm_get_rate_dm(u32 id)
 {
 	struct udevice *dev;
diff --git a/arch/arm/mach-socfpga/clock_manager_agilex5.c b/arch/arm/mach-socfpga/clock_manager_agilex5.c
index 7ec28d91ef3..fa068a9eeb1 100644
--- a/arch/arm/mach-socfpga/clock_manager_agilex5.c
+++ b/arch/arm/mach-socfpga/clock_manager_agilex5.c
@@ -14,7 +14,6 @@
 #include <stdio.h>
 #include <time.h>
 #include <vsprintf.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/kernel.h>
 #include <linux/string.h>
@@ -23,8 +22,6 @@
 #include <asm/arch/system_manager.h>
 #include <dt-bindings/clock/agilex5-clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static ulong cm_get_rate_dm(u32 id)
 {
 	struct udevice *dev;
diff --git a/arch/arm/mach-socfpga/clock_manager_n5x.c b/arch/arm/mach-socfpga/clock_manager_n5x.c
index c4c071330fc..8e47b4b8f5b 100644
--- a/arch/arm/mach-socfpga/clock_manager_n5x.c
+++ b/arch/arm/mach-socfpga/clock_manager_n5x.c
@@ -6,15 +6,12 @@
 
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <clk.h>
 #include <dm.h>
 #include <dt-bindings/clock/n5x-clock.h>
 #include <malloc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static ulong cm_get_rate_dm(u32 id)
 {
 	struct udevice *dev;
diff --git a/arch/arm/mach-socfpga/clock_manager_s10.c b/arch/arm/mach-socfpga/clock_manager_s10.c
index d6c64e98010..fd27470f967 100644
--- a/arch/arm/mach-socfpga/clock_manager_s10.c
+++ b/arch/arm/mach-socfpga/clock_manager_s10.c
@@ -7,14 +7,11 @@
 #include <compiler.h>
 #include <dm/device.h>
 #include <linux/errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/handoff_soc64.h>
 #include <asm/arch/system_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * function to write the bypass register which requires a poll of the
  * busy bit
diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
index f9c34e85711..5e8768168d3 100644
--- a/arch/arm/mach-socfpga/mailbox_s10.c
+++ b/arch/arm/mach-socfpga/mailbox_s10.c
@@ -8,15 +8,12 @@
 #include <asm/arch/mailbox_s10.h>
 #include <asm/arch/smc_api.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/secure.h>
 #include <asm/system.h>
 #include <hang.h>
 #include <wait_bit.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MBOX_READL(reg)			\
 	 readl(SOCFPGA_MAILBOX_ADDRESS + (reg))
 
diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
index 5259ef54d73..ae33051c00f 100644
--- a/arch/arm/mach-socfpga/misc_gen5.c
+++ b/arch/arm/mach-socfpga/misc_gen5.c
@@ -6,7 +6,6 @@
 #include <config.h>
 #include <cpu_func.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <env.h>
 #include <errno.h>
@@ -28,8 +27,6 @@
 
 #include <dt-bindings/reset/altr,rst-mgr.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pl310_regs *const pl310 =
 	(struct pl310_regs *)CFG_SYS_PL310_BASE;
 static struct nic301_registers *nic301_regs =
diff --git a/arch/arm/mach-socfpga/misc_soc64.c b/arch/arm/mach-socfpga/misc_soc64.c
index 5222b384434..356240a647e 100644
--- a/arch/arm/mach-socfpga/misc_soc64.c
+++ b/arch/arm/mach-socfpga/misc_soc64.c
@@ -17,11 +17,8 @@
 #include <asm/arch/system_manager.h>
 #include <asm/io.h>
 #include <asm/system.h>
-#include <asm/global_data.h>
 #include <mach/clock_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Agilex5 Sub Device Jtag ID List */
 #define A3690_JTAG_ID	0x036090DD
 #define A3694_JTAG_ID	0x436090DD
diff --git a/arch/arm/mach-socfpga/mmu-arm64_s10.c b/arch/arm/mach-socfpga/mmu-arm64_s10.c
index 1dc44ab4797..1a7f8d42415 100644
--- a/arch/arm/mach-socfpga/mmu-arm64_s10.c
+++ b/arch/arm/mach-socfpga/mmu-arm64_s10.c
@@ -5,9 +5,6 @@
  */
 
 #include <asm/armv8/mmu.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 #if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
 static struct mm_region socfpga_agilex5_mem_map[] = {
diff --git a/arch/arm/mach-socfpga/reset_manager_s10.c b/arch/arm/mach-socfpga/reset_manager_s10.c
index abb62a9b49f..7e1ecc1cd1d 100644
--- a/arch/arm/mach-socfpga/reset_manager_s10.c
+++ b/arch/arm/mach-socfpga/reset_manager_s10.c
@@ -7,7 +7,6 @@
 
 #include <errno.h>
 #include <hang.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/secure.h>
 #include <asm/arch/reset_manager.h>
@@ -20,8 +19,6 @@
 #include <linux/intel-smc.h>
 #include <wait_bit.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TIMEOUT_300MS     300
 
 /* F2S manager registers */
diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c
index 48f258a37b4..53a9aa55f80 100644
--- a/arch/arm/mach-socfpga/spl_agilex.c
+++ b/arch/arm/mach-socfpga/spl_agilex.c
@@ -7,7 +7,6 @@
 
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/utils.h>
 #include <hang.h>
@@ -22,8 +21,6 @@
 #include <wdt.h>
 #include <dm/uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 reset_flag(u32 flag)
 {
 	/* Check rstmgr.stat for warm reset status */
diff --git a/arch/arm/mach-socfpga/spl_agilex5.c b/arch/arm/mach-socfpga/spl_agilex5.c
index 1be347360f5..2c3e40b664a 100644
--- a/arch/arm/mach-socfpga/spl_agilex5.c
+++ b/arch/arm/mach-socfpga/spl_agilex5.c
@@ -6,7 +6,6 @@
  */
 
 #include <init.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hang.h>
 #include <spl.h>
@@ -19,8 +18,6 @@
 #include <wdt.h>
 #include <dm/uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 reset_flag(u32 flag)
 {
 	/* Check rstmgr.stat for warm reset status */
diff --git a/arch/arm/mach-socfpga/spl_agilex7m.c b/arch/arm/mach-socfpga/spl_agilex7m.c
index 90065ccee6f..7371202a712 100644
--- a/arch/arm/mach-socfpga/spl_agilex7m.c
+++ b/arch/arm/mach-socfpga/spl_agilex7m.c
@@ -15,14 +15,11 @@
 #include <asm/arch/misc.h>
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
 #include <dm/uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_init_f(ulong dummy)
 {
 	int ret;
diff --git a/arch/arm/mach-socfpga/spl_gen5.c b/arch/arm/mach-socfpga/spl_gen5.c
index df79cfe0f7f..08b756db2ca 100644
--- a/arch/arm/mach-socfpga/spl_gen5.c
+++ b/arch/arm/mach-socfpga/spl_gen5.c
@@ -6,7 +6,6 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/utils.h>
 #include <image.h>
@@ -25,8 +24,6 @@
 #include <dm/uclass.h>
 #include <linux/bitops.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 spl_boot_device(void)
 {
 	const u32 bsel = readl(socfpga_get_sysmgr_addr() +
diff --git a/arch/arm/mach-socfpga/spl_n5x.c b/arch/arm/mach-socfpga/spl_n5x.c
index 81283ef7162..a49be837921 100644
--- a/arch/arm/mach-socfpga/spl_n5x.c
+++ b/arch/arm/mach-socfpga/spl_n5x.c
@@ -10,7 +10,6 @@
 #include <asm/arch/misc.h>
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/utils.h>
 #include <dm/uclass.h>
@@ -20,8 +19,6 @@
 #include <spl.h>
 #include <watchdog.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_init_f(ulong dummy)
 {
 	int ret;
diff --git a/arch/arm/mach-socfpga/spl_s10.c b/arch/arm/mach-socfpga/spl_s10.c
index fa83ff96adc..a0d3c96d456 100644
--- a/arch/arm/mach-socfpga/spl_s10.c
+++ b/arch/arm/mach-socfpga/spl_s10.c
@@ -7,7 +7,6 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/utils.h>
 #include <debug_uart.h>
@@ -22,8 +21,6 @@
 #include <watchdog.h>
 #include <dm/uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_init_f(ulong dummy)
 {
 	const struct cm_config *cm_default_cfg = cm_get_default_config();
diff --git a/arch/arm/mach-socfpga/system_manager_soc64.c b/arch/arm/mach-socfpga/system_manager_soc64.c
index 913f93c8f94..a5c0387190b 100644
--- a/arch/arm/mach-socfpga/system_manager_soc64.c
+++ b/arch/arm/mach-socfpga/system_manager_soc64.c
@@ -6,12 +6,9 @@
 
 #include <asm/arch/handoff_soc64.h>
 #include <asm/arch/system_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitfield.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
 /*
  * Setting RESET_PULSE_OVERRIDE bit for successful reset staggering pulse
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index 4879a41aab3..2410515f4ac 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -17,12 +17,9 @@
 #include <image.h>
 #include <log.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void boot_jump_linux(struct bootm_headers *images, int flag)
 {
 	void (*thekernel)(char *cmdline, ulong rd, ulong dt);
diff --git a/arch/mips/mach-ath79/qca956x/ddr.c b/arch/mips/mach-ath79/qca956x/ddr.c
index 2e46e24f483..754e2573e37 100644
--- a/arch/mips/mach-ath79/qca956x/ddr.c
+++ b/arch/mips/mach-ath79/qca956x/ddr.c
@@ -5,7 +5,6 @@
  * Based on QSDK
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
@@ -182,8 +181,6 @@
 	DDR_CTL_CONFIG_MISC_SRC1_SRAM_SYNC_SET(0x1) | \
 	DDR_CTL_CONFIG_MISC_SRC2_SRAM_SYNC_SET(0x1)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void qca956x_ddr_init(void)
 {
 	u32 ddr_config, ddr_config2, ddr_config3, mod_val, \
diff --git a/arch/mips/mach-mscc/cpu.c b/arch/mips/mach-mscc/cpu.c
index 22b1b98e0ef..8ae6fb9437a 100644
--- a/arch/mips/mach-mscc/cpu.c
+++ b/arch/mips/mach-mscc/cpu.c
@@ -4,7 +4,6 @@
  */
 
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 #include <asm/io.h>
@@ -14,8 +13,6 @@
 #include <mach/tlb.h>
 #include <mach/ddr.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CFG_SYS_SDRAM_SIZE <= SZ_64M
 #define MSCC_RAM_TLB_SIZE   SZ_64M
 #define MSCC_ATTRIB2   MMU_REGIO_INVAL
diff --git a/arch/mips/mach-mtmips/ddr_cal.c b/arch/mips/mach-mtmips/ddr_cal.c
index e2e1760a646..5fc4e0c49e8 100644
--- a/arch/mips/mach-mtmips/ddr_cal.c
+++ b/arch/mips/mach-mtmips/ddr_cal.c
@@ -7,13 +7,10 @@
 
 #include <asm/addrspace.h>
 #include <asm/cacheops.h>
-#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <mach/mc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define COARSE_MIN_START	6
 #define FINE_MIN_START		15
 #define COARSE_MAX_START	7
diff --git a/arch/mips/mach-octeon/cvmx-pko.c b/arch/mips/mach-octeon/cvmx-pko.c
index 8a9181362bd..432488f7815 100644
--- a/arch/mips/mach-octeon/cvmx-pko.c
+++ b/arch/mips/mach-octeon/cvmx-pko.c
@@ -52,8 +52,6 @@
 #include <mach/cvmx-helper-pki.h>
 #include <mach/cvmx-helper-pko.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define CVMX_PKO_NQ_PER_PORT_MAX 32
 
 static cvmx_pko_return_value_t cvmx_pko2_config_port(short ipd_port,
diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c
index 71319839ba2..294ebfb508b 100644
--- a/arch/nios2/lib/bootm.c
+++ b/arch/nios2/lib/bootm.c
@@ -10,9 +10,6 @@
 #include <image.h>
 #include <irq_func.h>
 #include <log.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 #define NIOS_MAGIC 0x534f494e /* enable command line and initrd passing */
 
diff --git a/arch/riscv/cpu/andes/spl.c b/arch/riscv/cpu/andes/spl.c
index a13dc4095a4..1e19fad9288 100644
--- a/arch/riscv/cpu/andes/spl.c
+++ b/arch/riscv/cpu/andes/spl.c
@@ -8,11 +8,8 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/system.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(RAM_SUPPORT)
 struct legacy_img_hdr *spl_get_load_buffer(ssize_t offset, size_t size)
 {
diff --git a/arch/riscv/cpu/cv1800b/dram.c b/arch/riscv/cpu/cv1800b/dram.c
index 91007c0a3d3..5d7659887b9 100644
--- a/arch/riscv/cpu/cv1800b/dram.c
+++ b/arch/riscv/cpu/cv1800b/dram.c
@@ -5,11 +5,8 @@
 
 #include <fdtdec.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
diff --git a/arch/riscv/cpu/generic/dram.c b/arch/riscv/cpu/generic/dram.c
index 91007c0a3d3..5d7659887b9 100644
--- a/arch/riscv/cpu/generic/dram.c
+++ b/arch/riscv/cpu/generic/dram.c
@@ -5,11 +5,8 @@
 
 #include <fdtdec.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
diff --git a/arch/riscv/cpu/k230/dram.c b/arch/riscv/cpu/k230/dram.c
index b2d3e4fd6a9..5d7659887b9 100644
--- a/arch/riscv/cpu/k230/dram.c
+++ b/arch/riscv/cpu/k230/dram.c
@@ -3,13 +3,10 @@
  * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
  */
 
-#include <asm/global_data.h>
 #include <fdtdec.h>
 #include <init.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
diff --git a/arch/riscv/cpu/th1520/spl.c b/arch/riscv/cpu/th1520/spl.c
index b95470485f6..ceb934021d9 100644
--- a/arch/riscv/cpu/th1520/spl.c
+++ b/arch/riscv/cpu/th1520/spl.c
@@ -10,8 +10,6 @@
 #include <log.h>
 #include <init.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TH1520_SUBSYS_CLK		(void __iomem *)(0xffff011000 + 0x220)
 #define  TH1520_SUBSYS_CLK_VO_EN	BIT(2)
 #define  TH1520_SUBSYS_CLK_VI_EN	BIT(1)
diff --git a/arch/sh/lib/bootm.c b/arch/sh/lib/bootm.c
index bb0f59e0aa2..1c118870dad 100644
--- a/arch/sh/lib/bootm.c
+++ b/arch/sh/lib/bootm.c
@@ -13,11 +13,8 @@
 #include <env.h>
 #include <image.h>
 #include <asm/byteorder.h>
-#include <asm/global_data.h>
 #include <asm/zimage.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SH_SDRAM_OFFSET
 #define GET_INITRD_START(initrd, linux) (initrd - linux + CONFIG_SH_SDRAM_OFFSET)
 #else
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index b72de96a277..ed0ad686b3f 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -14,7 +14,6 @@
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
-#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
 #include <asm/mtrr.h>
@@ -23,8 +22,6 @@
 #include <asm/turbo.h>
 #include <asm/arch/model_206ax.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void enable_vmx(void)
 {
 	struct cpuid_result regs;
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
index bd0efde00c1..96943cb8c46 100644
--- a/arch/x86/lib/init_helpers.c
+++ b/arch/x86/lib/init_helpers.c
@@ -5,13 +5,10 @@
  */
 
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/mtrr.h>
 #include <asm/u-boot-x86.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int init_cache_f_r(void)
 {
 	bool do_mtrr = CONFIG_IS_ENABLED(X86_32BIT_INIT) ||
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 2ea9bcf59c2..a5f2231aa52 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -30,7 +30,6 @@
 #include <asm/bootm.h>
 #include <asm/bootparam.h>
 #include <asm/efi.h>
-#include <asm/global_data.h>
 #ifdef CONFIG_SYS_COREBOOT
 #include <asm/arch/timestamp.h>
 #endif
@@ -38,8 +37,6 @@
 #include <linux/ctype.h>
 #include <linux/libfdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Memory lay-out:
  *
diff --git a/arch/xtensa/lib/time.c b/arch/xtensa/lib/time.c
index 319635c6b09..1fe33a4c62b 100644
--- a/arch/xtensa/lib/time.c
+++ b/arch/xtensa/lib/time.c
@@ -5,12 +5,9 @@
 
 #include <clock_legacy.h>
 #include <time.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/stringify.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if XCHAL_HAVE_CCOUNT
 static ulong get_ccount(void)
 {
diff --git a/board/BuR/brsmarc1/board.c b/board/BuR/brsmarc1/board.c
index c05eec6b35e..01d7a8c39e2 100644
--- a/board/BuR/brsmarc1/board.c
+++ b/board/BuR/brsmarc1/board.c
@@ -18,7 +18,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/emif.h>
@@ -30,8 +29,6 @@
 /* -- defines for used GPIO Hardware -- */
 #define PER_RESET		(2 * 32 + 0)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_XPL_BUILD)
 static const struct ddr_data ddr3_data = {
 	.datardsratio0 = MT41K256M16HA125E_RD_DQS,
diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
index 3513f43a9f5..bbafecd7909 100644
--- a/board/BuR/common/common.c
+++ b/board/BuR/common/common.c
@@ -13,12 +13,9 @@
 #include <env.h>
 #include <fdtdec.h>
 #include <i2c.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "bur_common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* --------------------------------------------------------------------------*/
 
 int ft_board_setup(void *blob, struct bd_info *bd)
diff --git a/board/Marvell/octeontx/smc.c b/board/Marvell/octeontx/smc.c
index 8df32049bda..ab6284a732c 100644
--- a/board/Marvell/octeontx/smc.c
+++ b/board/Marvell/octeontx/smc.c
@@ -5,13 +5,10 @@
  * https://spdx.org/licenses
  */
 
-#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/arch/smc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 ssize_t smc_dram_size(unsigned int node)
 {
 	struct pt_regs regs;
diff --git a/board/Marvell/octeontx2/smc.c b/board/Marvell/octeontx2/smc.c
index 9e3169576c6..10645a74f69 100644
--- a/board/Marvell/octeontx2/smc.c
+++ b/board/Marvell/octeontx2/smc.c
@@ -5,15 +5,12 @@
  * https://spdx.org/licenses
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/psci.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/arch/smc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 ssize_t smc_dram_size(unsigned int node)
 {
 	struct pt_regs regs;
diff --git a/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c b/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
index 8c9e9830876..a9a12a4f659 100644
--- a/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
+++ b/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
@@ -26,8 +26,6 @@
 #include <linux/kernel.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_NAND_MXS
 static void setup_gpmi_nand(void)
 {
diff --git a/board/advantech/imx8mp_rsb3720a1/spl.c b/board/advantech/imx8mp_rsb3720a1/spl.c
index 1f7c1f25adc..fb8e8437759 100644
--- a/board/advantech/imx8mp_rsb3720a1/spl.c
+++ b/board/advantech/imx8mp_rsb3720a1/spl.c
@@ -29,8 +29,6 @@
 #include <power/pmic.h>
 #include <power/pca9450.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 #ifdef CONFIG_SPL_BOOTROM_SUPPORT
diff --git a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
index accd300df04..fbe8b247e69 100644
--- a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
+++ b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
@@ -16,8 +16,6 @@
 #include <asm/arch/sys_proto.h>
 /* #include <power-domain.h> */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
 			(SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			(SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
index 3def182f296..8214e627768 100644
--- a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
+++ b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
@@ -8,7 +8,6 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
@@ -19,8 +18,6 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
 			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/andestech/voyager/voyager.c b/board/andestech/voyager/voyager.c
index dc8f1347775..23fd0910ef8 100644
--- a/board/andestech/voyager/voyager.c
+++ b/board/andestech/voyager/voyager.c
@@ -5,7 +5,6 @@
  */
 
 #include <asm/csr.h>
-#include <asm/global_data.h>
 #include <asm/sbi.h>
 #include <config.h>
 #include <cpu_func.h>
@@ -19,8 +18,6 @@
 #include <net.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index e8f1c2fe9fe..d68da0e3d65 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -12,7 +12,6 @@
 #include <errno.h>
 #include <net.h>
 #include <netdev.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <linux/sizes.h>
@@ -24,8 +23,6 @@
 #include <virtio.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pl01x_serial_plat serial_plat = {
 	.base = V2M_UART0,
 	.type = TYPE_PL011,
diff --git a/board/beacon/imx8mm/spl.c b/board/beacon/imx8mm/spl.c
index 93ee5b7ee0c..1e5935788ff 100644
--- a/board/beacon/imx8mm/spl.c
+++ b/board/beacon/imx8mm/spl.c
@@ -5,7 +5,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
@@ -23,8 +22,6 @@
 #include <power/pmic.h>
 #include <power/bd71837.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	switch (boot_dev_spl) {
diff --git a/board/beacon/imx8mn/spl.c b/board/beacon/imx8mn/spl.c
index e91d3fdcf5e..46db42ec921 100644
--- a/board/beacon/imx8mn/spl.c
+++ b/board/beacon/imx8mn/spl.c
@@ -9,7 +9,6 @@
 #include <log.h>
 #include <asm/io.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mn_pins.h>
@@ -32,8 +31,6 @@
 #include <dm/uclass-internal.h>
 #include <dm/device-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/beacon/imx8mp/spl.c b/board/beacon/imx8mp/spl.c
index 027fae38278..e82e385b774 100644
--- a/board/beacon/imx8mp/spl.c
+++ b/board/beacon/imx8mp/spl.c
@@ -8,7 +8,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
@@ -22,8 +21,6 @@
 #include <dm/uclass.h>
 #include <dm/device.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/beagle/beagleboneai64/beagleboneai64.c b/board/beagle/beagleboneai64/beagleboneai64.c
index 500fcc58ed8..27b1f22562c 100644
--- a/board/beagle/beagleboneai64/beagleboneai64.c
+++ b/board/beagle/beagleboneai64/beagleboneai64.c
@@ -13,8 +13,6 @@
 #include <fdt_support.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct efi_fw_image fw_images[] = {
 	{
 		.image_type_id = BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID,
diff --git a/board/beagle/beagleplay/beagleplay.c b/board/beagle/beagleplay/beagleplay.c
index 9bc9ca30e95..70d296de9f8 100644
--- a/board/beagle/beagleplay/beagleplay.c
+++ b/board/beagle/beagleplay/beagleplay.c
@@ -14,8 +14,6 @@
 
 #include <asm/arch/hardware.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct efi_fw_image fw_images[] = {
 	{
 		.image_type_id = BEAGLEPLAY_TIBOOT3_IMAGE_GUID,
diff --git a/board/broadcom/bcmns/ns.c b/board/broadcom/bcmns/ns.c
index 47a01227a35..cb53ec68cf8 100644
--- a/board/broadcom/bcmns/ns.c
+++ b/board/broadcom/bcmns/ns.c
@@ -9,12 +9,9 @@
 #include <log.h>
 #include <ram.h>
 #include <serial.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	return fdtdec_setup_mem_size_base();
diff --git a/board/cloos/imx8mm_phg/imx8mm_phg.c b/board/cloos/imx8mm_phg/imx8mm_phg.c
index 091c9a59a52..1ca1c07e08e 100644
--- a/board/cloos/imx8mm_phg/imx8mm_phg.c
+++ b/board/cloos/imx8mm_phg/imx8mm_phg.c
@@ -7,14 +7,11 @@
 #include <init.h>
 #include <miiphy.h>
 #include <netdev.h>
-#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int setup_fec(void)
 {
 	struct iomuxc_gpr_base_regs *gpr =
diff --git a/board/cloos/imx8mm_phg/spl.c b/board/cloos/imx8mm_phg/spl.c
index b8892ed2fcc..b2340a0ded3 100644
--- a/board/cloos/imx8mm_phg/spl.c
+++ b/board/cloos/imx8mm_phg/spl.c
@@ -10,7 +10,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
@@ -28,8 +27,6 @@
 #include <power/pmic.h>
 #include <power/pca9450.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	switch (boot_dev_spl) {
diff --git a/board/compulab/imx8mm-cl-iot-gate/spl.c b/board/compulab/imx8mm-cl-iot-gate/spl.c
index 6d9af2538b6..daac6dca4ce 100644
--- a/board/compulab/imx8mm-cl-iot-gate/spl.c
+++ b/board/compulab/imx8mm-cl-iot-gate/spl.c
@@ -32,8 +32,6 @@
 
 #include "ddr/ddr.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	switch (boot_dev_spl) {
diff --git a/board/coreboot/coreboot/coreboot.c b/board/coreboot/coreboot/coreboot.c
index f2ca1076768..d0e8db6cdfe 100644
--- a/board/coreboot/coreboot/coreboot.c
+++ b/board/coreboot/coreboot/coreboot.c
@@ -7,9 +7,6 @@
 #include <init.h>
 #include <smbios.h>
 #include <asm/cb_sysinfo.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int board_early_init_r(void)
 {
diff --git a/board/cssi/cmpc885/cmpc885.c b/board/cssi/cmpc885/cmpc885.c
index 49c13056edc..552349d104a 100644
--- a/board/cssi/cmpc885/cmpc885.c
+++ b/board/cssi/cmpc885/cmpc885.c
@@ -26,8 +26,6 @@
 
 #include "../common/common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define ADDR_CPLD_R_RESET		((unsigned short __iomem *)CONFIG_CPLD_BASE)
 #define ADDR_CPLD_R_ETAT		((unsigned short __iomem *)(CONFIG_CPLD_BASE + 2))
 #define ADDR_CPLD_R_TYPE		((unsigned char  __iomem *)(CONFIG_CPLD_BASE + 3))
diff --git a/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c b/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
index e271d060efa..ab4a484d393 100644
--- a/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
+++ b/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
@@ -14,8 +14,6 @@
 
 #include "../common/common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_late_init(void)
 {
 	struct udevice *dev;
diff --git a/board/data_modul/imx8mm_edm_sbc/spl.c b/board/data_modul/imx8mm_edm_sbc/spl.c
index a9ef049652a..c6a5740c7a7 100644
--- a/board/data_modul/imx8mm_edm_sbc/spl.c
+++ b/board/data_modul/imx8mm_edm_sbc/spl.c
@@ -27,8 +27,6 @@
 
 #include "../common/common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int data_modul_imx_edm_sbc_board_power_init(void)
 {
 	struct udevice *dev;
diff --git a/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c b/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
index d6f0a917023..5c319df1cde 100644
--- a/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
+++ b/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
@@ -17,8 +17,6 @@
 
 #include "../common/common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void dmo_setup_second_mac_address(void)
 {
 	u8 enetaddr[6];
diff --git a/board/data_modul/imx8mp_edm_sbc/spl.c b/board/data_modul/imx8mp_edm_sbc/spl.c
index f81b7274556..314f7e87a9d 100644
--- a/board/data_modul/imx8mp_edm_sbc/spl.c
+++ b/board/data_modul/imx8mp_edm_sbc/spl.c
@@ -28,8 +28,6 @@
 
 #include "../common/common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int data_modul_imx_edm_sbc_board_power_init(void)
 {
 	struct udevice *dev;
diff --git a/board/dhelectronics/dh_imx8mp/common.c b/board/dhelectronics/dh_imx8mp/common.c
index f6db9f67804..5d89c94970d 100644
--- a/board/dhelectronics/dh_imx8mp/common.c
+++ b/board/dhelectronics/dh_imx8mp/common.c
@@ -8,8 +8,6 @@
 
 #include "lpddr4_timing.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u8 dh_get_memcfg(void)
 {
 	struct gpio_desc gpio[4];
diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
index 5c35a5bf447..3fe98d36f5b 100644
--- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
+++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
@@ -20,8 +20,6 @@
 #include "../common/dh_common.h"
 #include "../common/dh_imx.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int mach_cpu_init(void)
 {
 	icache_enable();
diff --git a/board/dhelectronics/dh_imx8mp/spl.c b/board/dhelectronics/dh_imx8mp/spl.c
index 714f846521e..727e1ff3774 100644
--- a/board/dhelectronics/dh_imx8mp/spl.c
+++ b/board/dhelectronics/dh_imx8mp/spl.c
@@ -29,8 +29,6 @@
 
 #include "lpddr4_timing.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE)
 
diff --git a/board/emcraft/imx8mp_navqp/spl.c b/board/emcraft/imx8mp_navqp/spl.c
index 7f30f3af742..5ee94d078f8 100644
--- a/board/emcraft/imx8mp_navqp/spl.c
+++ b/board/emcraft/imx8mp_navqp/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/sections.h>
 #include <dm/device.h>
@@ -20,8 +19,6 @@
 #include <power/pmic.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/emulation/qemu-riscv/qemu-riscv.c b/board/emulation/qemu-riscv/qemu-riscv.c
index 97c8211c100..ce5bc34ca71 100644
--- a/board/emulation/qemu-riscv/qemu-riscv.c
+++ b/board/emulation/qemu-riscv/qemu-riscv.c
@@ -15,8 +15,6 @@
 #include <virtio_types.h>
 #include <virtio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_MTD_NOR_FLASH)
 int is_flash_available(void)
 {
diff --git a/board/engicam/imx8mm/icore_mx8mm.c b/board/engicam/imx8mm/icore_mx8mm.c
index 236337546ae..bb70e7d4ff8 100644
--- a/board/engicam/imx8mm/icore_mx8mm.c
+++ b/board/engicam/imx8mm/icore_mx8mm.c
@@ -19,8 +19,6 @@
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_FEC_MXC)
 
 #define FEC_RST_PAD IMX_GPIO_NR(3, 7)
diff --git a/board/engicam/imx8mm/spl.c b/board/engicam/imx8mm/spl.c
index d51ae241e85..5a6bcb1747a 100644
--- a/board/engicam/imx8mm/spl.c
+++ b/board/engicam/imx8mm/spl.c
@@ -17,8 +17,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/sections.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	switch (boot_dev_spl) {
diff --git a/board/engicam/imx8mp/icore_mx8mp.c b/board/engicam/imx8mp/icore_mx8mp.c
index bfdc447c478..864afa92aee 100644
--- a/board/engicam/imx8mp/icore_mx8mp.c
+++ b/board/engicam/imx8mp/icore_mx8mp.c
@@ -14,7 +14,6 @@
 #include <miiphy.h>
 #include <netdev.h>
 #include <linux/delay.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm-generic/gpio.h>
 #include <asm/arch/imx8mp_pins.h>
@@ -22,8 +21,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-imx/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void setup_fec(void)
 {
 	struct iomuxc_gpr_base_regs *gpr =
diff --git a/board/engicam/imx8mp/spl.c b/board/engicam/imx8mp/spl.c
index cd31aa6041d..c1aa28a17bc 100644
--- a/board/engicam/imx8mp/spl.c
+++ b/board/engicam/imx8mp/spl.c
@@ -12,7 +12,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
@@ -24,8 +23,6 @@
 #include <power/pmic.h>
 #include <power/pca9450.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/gdsys/mpc8308/gazerbeam.c b/board/gdsys/mpc8308/gazerbeam.c
index 05e4d84460a..123dda21423 100644
--- a/board/gdsys/mpc8308/gazerbeam.c
+++ b/board/gdsys/mpc8308/gazerbeam.c
@@ -17,13 +17,10 @@
 #include <sysinfo.h>
 #include <tpm-v1.h>
 #include <video_osd.h>
-#include <asm/global_data.h>
 
 #include "../common/ihs_mdio.h"
 #include "../../../drivers/sysinfo/gazerbeam.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct ihs_mdio_info ihs_mdio_info[] = {
 	{ .fpga = NULL, .name = "ihs0", .base = 0x58 },
 	{ .fpga = NULL, .name = "ihs1", .base = 0x58 },
diff --git a/board/google/imx8mq_phanbell/imx8mq_phanbell.c b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
index 9544d6dd19a..2f16f1da26c 100644
--- a/board/google/imx8mq_phanbell/imx8mq_phanbell.c
+++ b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
@@ -7,7 +7,6 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
@@ -21,8 +20,6 @@
 #include <asm/arch/clock.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index 0ec88447384..62a7b5b0420 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -11,7 +11,6 @@
 #include <init.h>
 #include <net.h>
 #include <scsi.h>
-#include <asm/global_data.h>
 
 #include <linux/sizes.h>
 #include <asm/io.h>
@@ -37,8 +36,6 @@
 #define HB_SCU_A9_PWR_DORMANT		2
 #define HB_SCU_A9_PWR_OFF		3
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void cphy_disable_overrides(void);
 
 /*
diff --git a/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c b/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
index 3db7176f723..739a78d2c8b 100644
--- a/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
+++ b/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
@@ -5,7 +5,6 @@
 
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <dm/uclass.h>
@@ -22,8 +21,6 @@
 
 #include "../common/hw-uid.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_KONTRON_HW_UID)
 struct uid_otp_loc uid_otp_locations[] = {
 	{
diff --git a/board/kontron/osm-s-mx93/osm-s-mx93.c b/board/kontron/osm-s-mx93/osm-s-mx93.c
index d4645285771..b6feef549d1 100644
--- a/board/kontron/osm-s-mx93/osm-s-mx93.c
+++ b/board/kontron/osm-s-mx93/osm-s-mx93.c
@@ -6,7 +6,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <dm/uclass.h>
@@ -23,8 +22,6 @@
 
 #include "../common/hw-uid.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_early_init_f(void)
 {
 	return 0;
diff --git a/board/kontron/pitx_imx8m/pitx_imx8m.c b/board/kontron/pitx_imx8m/pitx_imx8m.c
index 2ee97169c6f..f71fa57b808 100644
--- a/board/kontron/pitx_imx8m/pitx_imx8m.c
+++ b/board/kontron/pitx_imx8m/pitx_imx8m.c
@@ -15,8 +15,6 @@
 #include <linux/delay.h>
 #include <linux/kernel.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
 
diff --git a/board/mntre/imx8mq_reform2/imx8mq_reform2.c b/board/mntre/imx8mq_reform2/imx8mq_reform2.c
index 6ee1c5c52a1..bcb31564a73 100644
--- a/board/mntre/imx8mq_reform2/imx8mq_reform2.c
+++ b/board/mntre/imx8mq_reform2/imx8mq_reform2.c
@@ -8,7 +8,6 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
@@ -26,8 +25,6 @@
 #include <linux/delay.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
 
 static iomux_v3_cfg_t const wdog_pads[] = {
diff --git a/board/msc/sm2s_imx8mp/sm2s_imx8mp.c b/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
index b1ce014bd55..b2f763dcc02 100644
--- a/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
+++ b/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
@@ -18,8 +18,6 @@
 #include <asm-generic/gpio.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void setup_fec(void)
 {
 	struct iomuxc_gpr_base_regs *gpr =
diff --git a/board/msc/sm2s_imx8mp/spl.c b/board/msc/sm2s_imx8mp/spl.c
index b1b5561838d..902179aad29 100644
--- a/board/msc/sm2s_imx8mp/spl.c
+++ b/board/msc/sm2s_imx8mp/spl.c
@@ -17,7 +17,6 @@
 #include <log.h>
 #include <mmc.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/ddr.h>
@@ -33,8 +32,6 @@
 #include <power/pmic.h>
 #include <power/rn5t567_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/nxp/imx8mm_evk/imx8mm_evk.c b/board/nxp/imx8mm_evk/imx8mm_evk.c
index ecc20768cb5..a8c1ef287e5 100644
--- a/board/nxp/imx8mm_evk/imx8mm_evk.c
+++ b/board/nxp/imx8mm_evk/imx8mm_evk.c
@@ -9,14 +9,11 @@
 #include <init.h>
 #include <miiphy.h>
 #include <netdev.h>
-#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
 #define IMX_BOOT_IMAGE_GUID \
 	EFI_GUID(0xead2005e, 0x7780, 0x400b, 0x93, 0x48, \
diff --git a/board/nxp/imx8mm_evk/spl.c b/board/nxp/imx8mm_evk/spl.c
index cd251d274ff..5c588046ff4 100644
--- a/board/nxp/imx8mm_evk/spl.c
+++ b/board/nxp/imx8mm_evk/spl.c
@@ -10,7 +10,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
@@ -28,8 +27,6 @@
 #include <power/pmic.h>
 #include <power/pca9450.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	switch (boot_dev_spl) {
diff --git a/board/nxp/imx8mn_evk/spl.c b/board/nxp/imx8mn_evk/spl.c
index f96f5c45789..6554d445a59 100644
--- a/board/nxp/imx8mn_evk/spl.c
+++ b/board/nxp/imx8mn_evk/spl.c
@@ -11,7 +11,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
@@ -32,8 +31,6 @@
 #include <fsl_esdhc_imx.h>
 #include <mmc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/nxp/imx8mp_evk/spl.c b/board/nxp/imx8mp_evk/spl.c
index 12da1b2abfb..25abf6b589e 100644
--- a/board/nxp/imx8mp_evk/spl.c
+++ b/board/nxp/imx8mp_evk/spl.c
@@ -8,7 +8,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
@@ -22,8 +21,6 @@
 #include <dm/uclass.h>
 #include <dm/device.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/nxp/imx8qm_mek/imx8qm_mek.c b/board/nxp/imx8qm_mek/imx8qm_mek.c
index 72527f774ca..56f577714e7 100644
--- a/board/nxp/imx8qm_mek/imx8qm_mek.c
+++ b/board/nxp/imx8qm_mek/imx8qm_mek.c
@@ -7,7 +7,6 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/io.h>
@@ -18,8 +17,6 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
 			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/nxp/imx8qxp_mek/imx8qxp_mek.c b/board/nxp/imx8qxp_mek/imx8qxp_mek.c
index adb9556a021..4bf6645b893 100644
--- a/board/nxp/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/nxp/imx8qxp_mek/imx8qxp_mek.c
@@ -7,7 +7,6 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <fsl_esdhc_imx.h>
@@ -21,8 +20,6 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GPIO_PAD_CTRL	((SC_PAD_CONFIG_NORMAL << PADRING_CONFIG_SHIFT) | \
 			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/nxp/imx8ulp_evk/imx8ulp_evk.c b/board/nxp/imx8ulp_evk/imx8ulp_evk.c
index 4bf77a488cc..cd17f6960c7 100644
--- a/board/nxp/imx8ulp_evk/imx8ulp_evk.c
+++ b/board/nxp/imx8ulp_evk/imx8ulp_evk.c
@@ -14,8 +14,6 @@
 #include <netdev.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_FEC_MXC)
 #define ENET_CLK_PAD_CTRL	(PAD_CTL_PUS_UP | PAD_CTL_DSE | PAD_CTL_IBE_ENABLE)
 static iomux_cfg_t const enet_clk_pads[] = {
diff --git a/board/nxp/imx8ulp_evk/spl.c b/board/nxp/imx8ulp_evk/spl.c
index fe637077928..656c2723494 100644
--- a/board/nxp/imx8ulp_evk/spl.c
+++ b/board/nxp/imx8ulp_evk/spl.c
@@ -21,8 +21,6 @@
 #include <asm/mach-imx/ele_api.h>
 #include <asm/sections.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void spl_dram_init(void)
 {
 	/* Reboot in dual boot setting no need to init ddr again */
diff --git a/board/nxp/imx93_frdm/imx93_frdm.c b/board/nxp/imx93_frdm/imx93_frdm.c
index cfbcde2e1a5..d97720795d6 100644
--- a/board/nxp/imx93_frdm/imx93_frdm.c
+++ b/board/nxp/imx93_frdm/imx93_frdm.c
@@ -7,7 +7,6 @@
 #include <efi_loader.h>
 #include <i2c.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch-imx9/imx93_pins.h>
 #include <asm/arch/clock.h>
@@ -15,8 +14,6 @@
 #include <dm/device.h>
 #include <dm/uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)
 #define IMX_BOOT_IMAGE_GUID \
 	EFI_GUID(0xbc550d86, 0xda26, 0x4b70, 0xac, 0x05, \
diff --git a/board/phytec/imx8mp-libra-fpsc/spl.c b/board/phytec/imx8mp-libra-fpsc/spl.c
index d704d588579..08111641aa6 100644
--- a/board/phytec/imx8mp-libra-fpsc/spl.c
+++ b/board/phytec/imx8mp-libra-fpsc/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/mxc_i2c.h>
@@ -24,8 +23,6 @@
 #include "../common/imx8m_som_detection.h"
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EEPROM_ADDR		0x51
 
 int spl_board_boot_device(enum boot_device boot_dev_spl)
diff --git a/board/phytec/phycore_imx8mm/phycore-imx8mm.c b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
index f6ae0bf0308..9f6a4ec704d 100644
--- a/board/phytec/phycore_imx8mm/phycore-imx8mm.c
+++ b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
@@ -5,14 +5,11 @@
  */
 
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
 #include <miiphy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int setup_fec(void)
 {
 	struct iomuxc_gpr_base_regs *gpr =
diff --git a/board/phytec/phycore_imx8mm/spl.c b/board/phytec/phycore_imx8mm/spl.c
index faff064779c..e688793bc74 100644
--- a/board/phytec/phycore_imx8mm/spl.c
+++ b/board/phytec/phycore_imx8mm/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mm_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/sections.h>
@@ -19,8 +18,6 @@
 
 #include "../common/imx8m_som_detection.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EEPROM_ADDR		0x51
 #define EEPROM_ADDR_FALLBACK	0x59
 
diff --git a/board/phytec/phycore_imx8mp/phycore-imx8mp.c b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
index b345dc7c985..5f0a7ee6a94 100644
--- a/board/phytec/phycore_imx8mp/phycore-imx8mp.c
+++ b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
@@ -5,7 +5,6 @@
  */
 
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
@@ -17,8 +16,6 @@
 
 #include "../common/imx8m_som_detection.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EEPROM_ADDR		0x51
 #define EEPROM_ADDR_FALLBACK	0x59
 
diff --git a/board/phytec/phycore_imx8mp/spl.c b/board/phytec/phycore_imx8mp/spl.c
index cb8e450b995..fc7aefd0073 100644
--- a/board/phytec/phycore_imx8mp/spl.c
+++ b/board/phytec/phycore_imx8mp/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/mxc_i2c.h>
@@ -23,8 +22,6 @@
 #include "lpddr4_timing.h"
 #include "../common/imx8m_som_detection.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EEPROM_ADDR		0x51
 #define EEPROM_ADDR_FALLBACK	0x59
 
diff --git a/board/phytec/phycore_imx93/phycore-imx93.c b/board/phytec/phycore_imx93/phycore-imx93.c
index cfc6d91f20f..cdaedd52c14 100644
--- a/board/phytec/phycore_imx93/phycore-imx93.c
+++ b/board/phytec/phycore_imx93/phycore-imx93.c
@@ -7,15 +7,12 @@
  */
 
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
 #include <fdt_support.h>
 
 #include "../common/imx93_som_detection.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EEPROM_ADDR            0x50
 
 int board_init(void)
diff --git a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
index c709d017483..7f0925074fa 100644
--- a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
+++ b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
@@ -8,7 +8,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <env.h>
@@ -18,8 +17,6 @@
 #include <miiphy.h>
 #include <netdev.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void setup_fec(void)
 {
 	struct iomuxc_gpr_base_regs *gpr =
diff --git a/board/polyhex/imx8mp_debix_model_a/spl.c b/board/polyhex/imx8mp_debix_model_a/spl.c
index 6cbd1815cad..c154ad7a1ce 100644
--- a/board/polyhex/imx8mp_debix_model_a/spl.c
+++ b/board/polyhex/imx8mp_debix_model_a/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/sections.h>
 #include <dm/device.h>
@@ -20,8 +19,6 @@
 #include <power/pmic.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/purism/librem5/librem5.c b/board/purism/librem5/librem5.c
index 5178ee6929d..a2bc0c08f0b 100644
--- a/board/purism/librem5/librem5.c
+++ b/board/purism/librem5/librem5.c
@@ -31,8 +31,6 @@
 #include <usb/xhci.h>
 #include "librem5.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_early_init_f(void)
 {
 	return 0;
diff --git a/board/purism/librem5/spl.c b/board/purism/librem5/spl.c
index ed57554a2bc..568224f9732 100644
--- a/board/purism/librem5/spl.c
+++ b/board/purism/librem5/spl.c
@@ -29,8 +29,6 @@
 #include <linux/usb/gadget.h>
 #include "librem5.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void spl_dram_init(void)
 {
 	/* ddr init */
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
index 4698b9d5e3e..36e4d49046e 100644
--- a/board/qualcomm/dragonboard410c/dragonboard410c.c
+++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
@@ -15,13 +15,10 @@
 #include <net.h>
 #include <usb.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <fdt_support.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static u32 msm_board_serial(void)
 {
 	struct mmc *mmc_dev;
diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c b/board/qualcomm/dragonboard820c/dragonboard820c.c
index 12a9273ec4b..236022a99f1 100644
--- a/board/qualcomm/dragonboard820c/dragonboard820c.c
+++ b/board/qualcomm/dragonboard820c/dragonboard820c.c
@@ -10,7 +10,6 @@
 #include <init.h>
 #include <env.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 #include <linux/psci.h>
 #include <dm.h>
@@ -24,8 +23,6 @@
 /* Strength (sdc1) */
 #define SDC1_HDRV_PULL_CTL_REG          (TLMM_BASE_ADDR + 0x0012D000)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void sdhci_power_init(void)
 {
 	const u32 TLMM_PULL_MASK = 0x3;
diff --git a/board/renesas/common/gen3-common.c b/board/renesas/common/gen3-common.c
index f89ae81e95e..5c543807b64 100644
--- a/board/renesas/common/gen3-common.c
+++ b/board/renesas/common/gen3-common.c
@@ -12,15 +12,12 @@
 #include <fdt_support.h>
 #include <hang.h>
 #include <init.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/uclass-internal.h>
 #include <asm/arch/renesas.h>
 #include <asm-generic/u-boot.h>
 #include <linux/libfdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* If the firmware passed a device tree use it for e.g. U-Boot DRAM setup. */
 extern u64 rcar_atf_boot_args[];
 
diff --git a/board/renesas/common/gen4-common.c b/board/renesas/common/gen4-common.c
index 81c6f6f4c6d..ac87f2f08e3 100644
--- a/board/renesas/common/gen4-common.c
+++ b/board/renesas/common/gen4-common.c
@@ -8,7 +8,6 @@
 #include <asm/arch/renesas.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/armv8/mmu.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/processor.h>
@@ -17,8 +16,6 @@
 #include <image.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void init_generic_timer(void)
 {
 	const u32 freq = CONFIG_SYS_CLK_FREQ;
diff --git a/board/renesas/common/gen5-common.c b/board/renesas/common/gen5-common.c
index 3b724e59049..c60a76c5038 100644
--- a/board/renesas/common/gen5-common.c
+++ b/board/renesas/common/gen5-common.c
@@ -5,7 +5,6 @@
 
 #include <asm/arch/renesas.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/processor.h>
@@ -13,8 +12,6 @@
 #include <asm-generic/u-boot.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void init_generic_timer(void)
 {
 	const u32 freq = CONFIG_SYS_CLK_FREQ;
diff --git a/board/ronetix/imx8mq-cm/imx8mq_cm.c b/board/ronetix/imx8mq-cm/imx8mq_cm.c
index 602216854ba..e41cfefe375 100644
--- a/board/ronetix/imx8mq-cm/imx8mq_cm.c
+++ b/board/ronetix/imx8mq-cm/imx8mq_cm.c
@@ -10,8 +10,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 68edd1ec282..2ba2d6330fd 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -9,7 +9,6 @@
 #include <env.h>
 #include <fdtdec.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <i2c.h>
@@ -36,8 +35,6 @@
 #include <samsung/misc.h>
 #include <tmu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int exynos_set_regulator(const char *name, uint uv)
 {
 	struct udevice *dev;
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index c134a9d70e2..85e564f27ee 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -8,7 +8,6 @@
 #include <command.h>
 #include <env.h>
 #include <libtizen.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/printk.h>
 #include <samsung/misc.h>
@@ -37,8 +36,6 @@
 #include <power/pmic.h>
 #include <mmc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SET_DFU_ALT_INFO
 void set_dfu_alt_info(char *interface, char *devstr)
 {
diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c
index 4b0defda1ec..333b78c27f3 100644
--- a/board/st/stm32f429-discovery/stm32f429-discovery.c
+++ b/board/st/stm32f429-discovery/stm32f429-discovery.c
@@ -14,13 +14,10 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	int rv;
diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
index 88c825334a8..feba46d38e4 100644
--- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c
+++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
@@ -8,13 +8,10 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	int rv;
diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c
index 7aab7f71d0c..d153efdc2b4 100644
--- a/board/st/stm32f469-discovery/stm32f469-discovery.c
+++ b/board/st/stm32f469-discovery/stm32f469-discovery.c
@@ -8,13 +8,10 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 	int rv;
diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c
index 07bc8a5f0a2..4b1e443100d 100644
--- a/board/st/stm32f746-disco/stm32f746-disco.c
+++ b/board/st/stm32f746-disco/stm32f746-disco.c
@@ -15,7 +15,6 @@
 #include <spl.h>
 #include <splash.h>
 #include <video.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 #include <asm/arch/stm32.h>
@@ -23,8 +22,6 @@
 #include <asm/gpio.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dram_init(void)
 {
 #ifndef CONFIG_XPL_BUILD
diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c
index d00f55379c5..6c5c6710926 100644
--- a/board/st/stm32h743-disco/stm32h743-disco.c
+++ b/board/st/stm32h743-disco/stm32h743-disco.c
@@ -7,9 +7,6 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c
index d00f55379c5..6c5c6710926 100644
--- a/board/st/stm32h743-eval/stm32h743-eval.c
+++ b/board/st/stm32h743-eval/stm32h743-eval.c
@@ -7,9 +7,6 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
diff --git a/board/st/stm32h747-disco/stm32h747-disco.c b/board/st/stm32h747-disco/stm32h747-disco.c
index 645685a64f1..24a229bf0a2 100644
--- a/board/st/stm32h747-disco/stm32h747-disco.c
+++ b/board/st/stm32h747-disco/stm32h747-disco.c
@@ -8,9 +8,6 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
diff --git a/board/st/stm32h750-art-pi/stm32h750-art-pi.c b/board/st/stm32h750-art-pi/stm32h750-art-pi.c
index 31c85c6816e..244bb5eefb3 100644
--- a/board/st/stm32h750-art-pi/stm32h750-art-pi.c
+++ b/board/st/stm32h750-art-pi/stm32h750-art-pi.c
@@ -7,9 +7,6 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
diff --git a/board/technexion/pico-imx8mq/pico-imx8mq.c b/board/technexion/pico-imx8mq/pico-imx8mq.c
index 1659db112fa..5515fc09f99 100644
--- a/board/technexion/pico-imx8mq/pico-imx8mq.c
+++ b/board/technexion/pico-imx8mq/pico-imx8mq.c
@@ -7,7 +7,6 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
@@ -24,8 +23,6 @@
 #include <spl.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 
 #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 2e8336900d1..49e58ad6d6c 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -32,8 +32,6 @@
 #define board_is_am62x_lp_skevm()  board_ti_k3_is("AM62-LP-SKEVM")
 #define board_is_am62x_sip_skevm()  board_ti_k3_is("AM62SIP-SKEVM")
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(SPLASH_SCREEN)
 static struct splash_location default_splash_locations[] = {
 	{
diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c
index 25076a8a588..764e3011bac 100644
--- a/board/ti/am64x/evm.c
+++ b/board/ti/am64x/evm.c
@@ -27,8 +27,6 @@
 #define board_is_am64x_skevm() (board_ti_k3_is("AM64-SKEVM") || \
 				board_ti_k3_is("AM64B-SKEVM"))
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct efi_fw_image fw_images[] = {
 	{
 		.image_type_id = AM64X_SK_TIBOOT3_IMAGE_GUID,
diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c
index cabb3017ee1..8a4d40a5a95 100644
--- a/board/ti/j784s4/evm.c
+++ b/board/ti/j784s4/evm.c
@@ -14,8 +14,6 @@
 #include <asm/arch/k3-ddr.h>
 #include "../common/fdt_ops.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct efi_fw_image fw_images[] = {
 	{
 		.image_type_id = AM69_SK_TIBOOT3_IMAGE_GUID,
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index a8c38208693..b915673d9e3 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -5,7 +5,6 @@
 
 #include <cpu_func.h>
 #include <init.h>
-#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
@@ -24,8 +23,6 @@
 
 #include "../common/tdx-cfg-block.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
 			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index 2c785da41ea..8dad41f4122 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -11,7 +11,6 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/tegra.h>
-#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <dm.h>
@@ -23,8 +22,6 @@
 
 #include "pinmux-config-apalis_t30.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PMU_I2C_ADDRESS		0x2D
 #define MAX_I2C_RETRY		3
 
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index 2a71e7b92de..0a86420700d 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -5,7 +5,6 @@
 
 #include <cpu_func.h>
 #include <init.h>
-#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
@@ -21,8 +20,6 @@
 
 #include "../common/tdx-cfg-block.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
 			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
 			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index 05c3377a60b..ccfe2c4933c 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -13,7 +13,6 @@
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/board.h>
 #include <asm/arch-tegra/tegra.h>
-#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <i2c.h>
@@ -21,8 +20,6 @@
 #include <linux/delay.h>
 #include "../common/tdx-common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PMU_I2C_ADDRESS		0x34
 #define MAX_I2C_RETRY		3
 #define PMU_SUPPLYENE		0x14
diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index 0fc3759695f..e53530175ae 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -4,7 +4,6 @@
  */
 
 #include <config.h>
-#include <asm/global_data.h>
 #include "tdx-cfg-block.h"
 #include "tdx-eeprom.h"
 
@@ -22,8 +21,6 @@
 #include <nand.h>
 #include <asm/mach-types.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TAG_VALID	0xcf01
 #define TAG_MAC		0x0000
 #define TAG_CAR_SERIAL	0x0021
diff --git a/board/toradex/smarc-imx8mp/smarc-imx8mp.c b/board/toradex/smarc-imx8mp/smarc-imx8mp.c
index 915b413b15e..38fb3d61f5b 100644
--- a/board/toradex/smarc-imx8mp/smarc-imx8mp.c
+++ b/board/toradex/smarc-imx8mp/smarc-imx8mp.c
@@ -2,14 +2,11 @@
 /* Copyright (C) 2024 Toradex */
 
 #include <init.h>
-#include <asm/global_data.h>
 #include <asm-generic/gpio.h>
 #include <linux/errno.h>
 
 #include "../common/tdx-cfg-block.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_phys_sdram_size(phys_size_t *size)
 {
 	if (!size)
diff --git a/board/toradex/smarc-imx8mp/spl.c b/board/toradex/smarc-imx8mp/spl.c
index 32233c0e1ab..511f62e871b 100644
--- a/board/toradex/smarc-imx8mp/spl.c
+++ b/board/toradex/smarc-imx8mp/spl.c
@@ -8,7 +8,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/ddr.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <dm/device.h>
 #include <power/pmic.h>
@@ -16,8 +15,6 @@
 
 #include "lpddr4_timing.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/toradex/verdin-imx8mm/spl.c b/board/toradex/verdin-imx8mm/spl.c
index 3c2d0ba1dd4..10b9991e3bf 100644
--- a/board/toradex/verdin-imx8mm/spl.c
+++ b/board/toradex/verdin-imx8mm/spl.c
@@ -11,7 +11,6 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mm_pins.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
@@ -27,8 +26,6 @@
 #include <power/pmic.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define I2C_PMIC_BUS_ID        1
 
 int spl_board_boot_device(enum boot_device boot_dev_spl)
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index b4402415845..b56f5bf30a8 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -7,7 +7,6 @@
 #include <init.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hang.h>
 #include <i2c.h>
@@ -17,8 +16,6 @@
 
 #include "../common/tdx-cfg-block.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define I2C_PMIC	0
 
 enum pcb_rev_t {
diff --git a/board/toradex/verdin-imx8mp/spl.c b/board/toradex/verdin-imx8mp/spl.c
index 8628112a782..b39058b1b5d 100644
--- a/board/toradex/verdin-imx8mp/spl.c
+++ b/board/toradex/verdin-imx8mp/spl.c
@@ -7,7 +7,6 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
-#include <asm/global_data.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
@@ -22,8 +21,6 @@
 #include <power/pca9450.h>
 #include "lpddr4_timing.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spl_board_boot_device(enum boot_device boot_dev_spl)
 {
 	return BOOT_DEVICE_BOOTROM;
diff --git a/board/toradex/verdin-imx8mp/verdin-imx8mp.c b/board/toradex/verdin-imx8mp/verdin-imx8mp.c
index 34ce25512e8..59b4607f065 100644
--- a/board/toradex/verdin-imx8mp/verdin-imx8mp.c
+++ b/board/toradex/verdin-imx8mp/verdin-imx8mp.c
@@ -8,7 +8,6 @@
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
 #include <asm-generic/gpio.h>
-#include <asm/global_data.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <errno.h>
@@ -21,8 +20,6 @@
 
 #include "../common/tdx-cfg-block.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
 
 /* Verdin UART_3, Console/Debug UART */
diff --git a/board/xilinx/zynq/bootimg.c b/board/xilinx/zynq/bootimg.c
index 9eb0735f55d..52400672799 100644
--- a/board/xilinx/zynq/bootimg.c
+++ b/board/xilinx/zynq/bootimg.c
@@ -5,15 +5,12 @@
 
 #include <log.h>
 #include <part.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
 #include <u-boot/md5.h>
 #include <zynq_bootimg.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define ZYNQ_IMAGE_PHDR_OFFSET		0x09C
 #define ZYNQ_IMAGE_FSBL_LEN_OFFSET	0x040
 #define ZYNQ_PART_HDR_CHKSUM_WORD_COUNT	0x0F
diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c
index a9709465f6e..c841dd0d6d4 100644
--- a/boot/bootmeth-uclass.c
+++ b/boot/bootmeth-uclass.c
@@ -19,8 +19,6 @@
 #include <mapmem.h>
 #include <dm/uclass-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int bootmeth_get_state_desc(struct udevice *dev, char *buf, int maxsize)
 {
 	const struct bootmeth_ops *ops = bootmeth_get_ops(dev);
diff --git a/boot/fdt_simplefb.c b/boot/fdt_simplefb.c
index 5822131767d..69c7c2e24c0 100644
--- a/boot/fdt_simplefb.c
+++ b/boot/fdt_simplefb.c
@@ -8,14 +8,11 @@
 
 #include <dm.h>
 #include <fdt_support.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <video.h>
 #include <spl.h>
 #include <bloblist.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int fdt_simplefb_configure_node(void *blob, int off)
 {
 	int xsize, ysize;
diff --git a/boot/image-sig.c b/boot/image-sig.c
index 6bc74866eae..4eab017bc2d 100644
--- a/boot/image-sig.c
+++ b/boot/image-sig.c
@@ -5,8 +5,6 @@
 
 #include <log.h>
 #include <malloc.h>
-#include <asm/global_data.h>
-DECLARE_GLOBAL_DATA_PTR;
 #include <image.h>
 #include <relocate.h>
 #include <u-boot/ecdsa.h>
diff --git a/boot/image.c b/boot/image.c
index dd96f712b6f..3f745254763 100644
--- a/boot/image.c
+++ b/boot/image.c
@@ -24,12 +24,9 @@
 #include <fdt_support.h>
 #endif
 
-#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Set this if we have less than 4 MB of malloc() space */
 #if CONFIG_SYS_MALLOC_LEN < (4096 * 1024)
 #define CONSERVE_MEMORY		true
diff --git a/cmd/bloblist.c b/cmd/bloblist.c
index 333ae558142..318a1af0220 100644
--- a/cmd/bloblist.c
+++ b/cmd/bloblist.c
@@ -8,9 +8,6 @@
 
 #include <bloblist.h>
 #include <command.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static int do_bloblist_info(struct cmd_tbl *cmdtp, int flag, int argc,
 			    char *const argv[])
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index b8f5bb35950..85f41c3b0a0 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -17,11 +17,8 @@
 #include <mapmem.h>
 #include <vsprintf.h>
 #include <asm-generic/sections.h>
-#include <asm/global_data.h>
 #include <linux/string.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct efi_device_path *test_image_path;
 static struct efi_device_path *test_device_path;
 
diff --git a/cmd/bootm.c b/cmd/bootm.c
index 2c5aea26d98..ca7cec91fad 100644
--- a/cmd/bootm.c
+++ b/cmd/bootm.c
@@ -15,14 +15,11 @@
 #include <malloc.h>
 #include <nand.h>
 #include <asm/byteorder.h>
-#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/err.h>
 #include <u-boot/zlib.h>
 #include <mapmem.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_CMD_IMI)
 static int image_info(unsigned long addr);
 #endif
diff --git a/cmd/date.c b/cmd/date.c
index 8614f022761..d047872289c 100644
--- a/cmd/date.c
+++ b/cmd/date.c
@@ -11,9 +11,6 @@
 #include <dm.h>
 #include <rtc.h>
 #include <i2c.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static const char * const weekdays[] = {
 	"Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur",
diff --git a/cmd/mem.c b/cmd/mem.c
index 8690fc1e4e6..68eb6989b94 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -28,15 +28,12 @@
 #include <time.h>
 #include <vsprintf.h>
 #include <watchdog.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
 #include <linux/ctype.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Create a compile-time value */
 #if MEM_SUPPORT_64BIT_DATA
 #define HELP_Q ", .q"
diff --git a/cmd/sound.c b/cmd/sound.c
index 8f67cbd96e1..7546059022f 100644
--- a/cmd/sound.c
+++ b/cmd/sound.c
@@ -8,9 +8,6 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <sound.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 /* Initilaise sound subsystem */
 static int do_init(struct cmd_tbl *cmdtp, int flag, int argc,
diff --git a/cmd/spl.c b/cmd/spl.c
index f591dc07fb6..ddbbd4a8172 100644
--- a/cmd/spl.c
+++ b/cmd/spl.c
@@ -9,11 +9,8 @@
 #include <env.h>
 #include <image.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char **subcmd_list[] = {
 
 	[SPL_EXPORT_FDT] = (const char * []) {
diff --git a/common/cli_hush.c b/common/cli_hush.c
index fb087960c92..fe8fe93bd54 100644
--- a/common/cli_hush.c
+++ b/common/cli_hush.c
@@ -84,7 +84,6 @@
 #include <cli_hush.h>
 #include <command.h>        /* find_cmd */
 #include <vsprintf.h>
-#include <asm/global_data.h>
 #endif
 #ifndef __U_BOOT__
 #include <ctype.h>     /* isalpha, isdigit */
@@ -125,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" };
diff --git a/drivers/block/sandbox.c b/drivers/block/sandbox.c
index 9cb27561a97..4b3de0529ce 100644
--- a/drivers/block/sandbox.c
+++ b/drivers/block/sandbox.c
@@ -10,13 +10,10 @@
 #include <os.h>
 #include <malloc.h>
 #include <sandbox_host.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/device-internal.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static unsigned long host_block_read(struct udevice *dev,
 				     lbaint_t start, lbaint_t blkcnt,
 				     void *buffer)
diff --git a/drivers/bootcount/pmic_pfuze100.c b/drivers/bootcount/pmic_pfuze100.c
index 8c529f5592b..dd11344322b 100644
--- a/drivers/bootcount/pmic_pfuze100.c
+++ b/drivers/bootcount/pmic_pfuze100.c
@@ -13,8 +13,6 @@
 #include <power/pmic.h>
 #include <power/pfuze100_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PFUZE_BC_MAGIC 0xdead
 
 struct bootcount_pmic_priv {
diff --git a/drivers/cache/sandbox_cache.c b/drivers/cache/sandbox_cache.c
index 375892fafb0..b27960f1bfa 100644
--- a/drivers/cache/sandbox_cache.c
+++ b/drivers/cache/sandbox_cache.c
@@ -6,9 +6,6 @@
 #include <cache.h>
 #include <dm.h>
 #include <errno.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static int sandbox_get_info(struct udevice *dev, struct cache_info *info)
 {
diff --git a/drivers/clk/altera/clk-agilex.c b/drivers/clk/altera/clk-agilex.c
index fdbf834bb2f..9d49561512b 100644
--- a/drivers/clk/altera/clk-agilex.c
+++ b/drivers/clk/altera/clk-agilex.c
@@ -6,7 +6,6 @@
 
 #include <log.h>
 #include <wait_bit.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/system.h>
 #include <clk-uclass.h>
@@ -19,8 +18,6 @@
 
 #include <asm/arch/clock_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct socfpga_clk_plat {
 	void __iomem *regs;
 	int pllgrp;
diff --git a/drivers/clk/altera/clk-agilex5.c b/drivers/clk/altera/clk-agilex5.c
index fb1e72ffc5c..92b91a9dfc8 100644
--- a/drivers/clk/altera/clk-agilex5.c
+++ b/drivers/clk/altera/clk-agilex5.c
@@ -12,7 +12,6 @@
 #include <stdio.h>
 #include <time.h>
 #include <vsprintf.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/system.h>
 #include <dm/lists.h>
@@ -26,8 +25,6 @@
 #include <wait_bit.h>
 #include <clk-uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define CLKMGR_CTRL_SWCTRLBTCLKEN_MASK		BIT(8)
 #define CLKMGR_CTRL_SWCTRLBTCLKSEL_MASK		BIT(9)
 
diff --git a/drivers/clk/altera/clk-mem-n5x.c b/drivers/clk/altera/clk-mem-n5x.c
index b75f52d203b..ac59571a853 100644
--- a/drivers/clk/altera/clk-mem-n5x.c
+++ b/drivers/clk/altera/clk-mem-n5x.c
@@ -4,7 +4,6 @@
  */
 
 #include <asm/arch/clock_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include "clk-mem-n5x.h"
 #include <clk-uclass.h>
@@ -13,8 +12,6 @@
 #include <dm/util.h>
 #include <dt-bindings/clock/n5x-clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct socfpga_mem_clk_plat {
 	void __iomem *regs;
 };
diff --git a/drivers/clk/altera/clk-n5x.c b/drivers/clk/altera/clk-n5x.c
index 9e4e7a1d908..185c9028a78 100644
--- a/drivers/clk/altera/clk-n5x.c
+++ b/drivers/clk/altera/clk-n5x.c
@@ -4,7 +4,6 @@
  */
 
 #include <asm/arch/clock_manager.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <clk-uclass.h>
 #include <dm.h>
@@ -12,8 +11,6 @@
 #include <dm/util.h>
 #include <dt-bindings/clock/n5x-clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct socfpga_clk_plat {
 	void __iomem *regs;
 };
diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
index b5054e84c32..d143a6b85ee 100644
--- a/drivers/clk/rockchip/clk_px30.c
+++ b/drivers/clk/rockchip/clk_px30.c
@@ -13,15 +13,12 @@
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/cru_px30.h>
 #include <asm/arch-rockchip/hardware.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dt-bindings/clock/px30-cru.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 3200U * 1000000,
 	VCO_MIN_HZ	= 800 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rk3308.c b/drivers/clk/rockchip/clk_rk3308.c
index e73bb6790af..97043b8693c 100644
--- a/drivers/clk/rockchip/clk_rk3308.c
+++ b/drivers/clk/rockchip/clk_rk3308.c
@@ -10,7 +10,6 @@
 #include <log.h>
 #include <malloc.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/cru_rk3308.h>
 #include <asm/arch-rockchip/hardware.h>
@@ -19,8 +18,6 @@
 #include <dt-bindings/clock/rk3308-cru.h>
 #include <linux/bitops.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 3200U * 1000000,
 	VCO_MIN_HZ	= 800 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rk3528.c b/drivers/clk/rockchip/clk_rk3528.c
index d58557ff56d..bcdc0f930d2 100644
--- a/drivers/clk/rockchip/clk_rk3528.c
+++ b/drivers/clk/rockchip/clk_rk3528.c
@@ -17,8 +17,6 @@
 #include <dt-bindings/clock/rockchip,rk3528-cru.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
 
 /*
diff --git a/drivers/clk/rockchip/clk_rk3568.c b/drivers/clk/rockchip/clk_rk3568.c
index 533031caead..bb49af358e6 100644
--- a/drivers/clk/rockchip/clk_rk3568.c
+++ b/drivers/clk/rockchip/clk_rk3568.c
@@ -16,8 +16,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rk3568-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
 struct rk3568_clk_plat {
 	struct dtd_rockchip_rk3568_cru dtd;
diff --git a/drivers/clk/rockchip/clk_rk3576.c b/drivers/clk/rockchip/clk_rk3576.c
index 125b08ee832..1026af27ca1 100644
--- a/drivers/clk/rockchip/clk_rk3576.c
+++ b/drivers/clk/rockchip/clk_rk3576.c
@@ -17,8 +17,6 @@
 #include <dt-bindings/clock/rockchip,rk3576-cru.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
 
 static struct rockchip_pll_rate_table rk3576_24m_pll_rates[] = {
diff --git a/drivers/clk/rockchip/clk_rk3588.c b/drivers/clk/rockchip/clk_rk3588.c
index 8c3a113526f..be401a9faee 100644
--- a/drivers/clk/rockchip/clk_rk3588.c
+++ b/drivers/clk/rockchip/clk_rk3588.c
@@ -17,8 +17,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rockchip,rk3588-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
 
 static struct rockchip_pll_rate_table rk3588_pll_rates[] = {
diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
index 75202a66aa6..e1b9ccf1236 100644
--- a/drivers/clk/rockchip/clk_rv1108.c
+++ b/drivers/clk/rockchip/clk_rv1108.c
@@ -11,7 +11,6 @@
 #include <log.h>
 #include <malloc.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/cru_rv1108.h>
 #include <asm/arch-rockchip/hardware.h>
@@ -21,8 +20,6 @@
 #include <linux/delay.h>
 #include <linux/stringify.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 2400U * 1000000,
 	VCO_MIN_HZ	= 600 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rv1126.c b/drivers/clk/rockchip/clk_rv1126.c
index aeeea956914..39920d34b75 100644
--- a/drivers/clk/rockchip/clk_rv1126.c
+++ b/drivers/clk/rockchip/clk_rv1126.c
@@ -18,8 +18,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rockchip,rv1126-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define RV1126_CPUCLK_RATE(_rate, _aclk_div, _pclk_div)		\
 {								\
 	.rate	= _rate##U,					\
diff --git a/drivers/cpu/bcm283x_cpu.c b/drivers/cpu/bcm283x_cpu.c
index 59a7b142c95..ad638cd8fff 100644
--- a/drivers/cpu/bcm283x_cpu.c
+++ b/drivers/cpu/bcm283x_cpu.c
@@ -11,7 +11,6 @@
 #include <asm/armv8/cpu.h>
 #include <asm/cache.h>
 #include <asm/io.h>
-#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm-generic/sections.h>
 #include <linux/bitops.h>
@@ -19,8 +18,6 @@
 #include <linux/delay.h>
 #include "armv8_cpu.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct bcm_plat {
 	u64 release_addr;
 };
diff --git a/drivers/cpu/cpu-uclass.c b/drivers/cpu/cpu-uclass.c
index 2c8e46c05e3..b73768de918 100644
--- a/drivers/cpu/cpu-uclass.c
+++ b/drivers/cpu/cpu-uclass.c
@@ -15,8 +15,6 @@
 #include <linux/err.h>
 #include <relocate.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int cpu_probe_all(void)
 {
 	int ret = uclass_probe_all(UCLASS_CPU);
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 5f17122c36c..3cd00199548 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -6,7 +6,6 @@
 #include <cpu.h>
 #include <dm.h>
 #include <thermal.h>
-#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <firmware/imx/sci/sci.h>
@@ -18,8 +17,6 @@
 #include <linux/clk-provider.h>
 #include <linux/psci.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define IMX_REV_LEN	4
 struct cpu_imx_plat {
 	const char *name;
diff --git a/drivers/cpu/mtk_cpu.c b/drivers/cpu/mtk_cpu.c
index 2a08be9b6d1..4f4e5480eac 100644
--- a/drivers/cpu/mtk_cpu.c
+++ b/drivers/cpu/mtk_cpu.c
@@ -10,12 +10,9 @@
 #include <dm.h>
 #include <regmap.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <linux/err.h>
 #include <linux/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct mtk_cpu_plat {
 	struct regmap *hwver;
 };
diff --git a/drivers/firmware/arm-ffa/arm-ffa-uclass.c b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
index 96c64964bb7..76a8775e911 100644
--- a/drivers/firmware/arm-ffa/arm-ffa-uclass.c
+++ b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
@@ -12,15 +12,12 @@
 #include <malloc.h>
 #include <string.h>
 #include <u-boot/uuid.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/devres.h>
 #include <dm/root.h>
 #include <linux/errno.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Error mapping declarations */
 
 int ffa_to_std_errmap[MAX_NUMBER_FFA_ERR] = {
diff --git a/drivers/firmware/arm-ffa/arm-ffa.c b/drivers/firmware/arm-ffa/arm-ffa.c
index 94e6105cb38..9e6b5dcc542 100644
--- a/drivers/firmware/arm-ffa/arm-ffa.c
+++ b/drivers/firmware/arm-ffa/arm-ffa.c
@@ -10,12 +10,9 @@
 #include <arm_ffa_priv.h>
 #include <dm.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * invoke_ffa_fn() - SMC wrapper
  * @args: FF-A ABI arguments to be copied to Xn registers
diff --git a/drivers/firmware/arm-ffa/ffa-emul-uclass.c b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
index 1521d9b66ac..6198d687354 100644
--- a/drivers/firmware/arm-ffa/ffa-emul-uclass.c
+++ b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
@@ -8,7 +8,6 @@
 #include <dm.h>
 #include <mapmem.h>
 #include <string.h>
-#include <asm/global_data.h>
 #include <asm/sandbox_arm_ffa.h>
 #include <asm/sandbox_arm_ffa_priv.h>
 #include <dm/device-internal.h>
@@ -17,8 +16,6 @@
 #include <linux/errno.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* The partitions (SPs) table */
 static struct ffa_partition_desc sandbox_partitions[SANDBOX_PARTITIONS_CNT] = {
 	{
diff --git a/drivers/firmware/arm-ffa/sandbox_ffa.c b/drivers/firmware/arm-ffa/sandbox_ffa.c
index 44b32a829dd..f1e8de4bf0d 100644
--- a/drivers/firmware/arm-ffa/sandbox_ffa.c
+++ b/drivers/firmware/arm-ffa/sandbox_ffa.c
@@ -8,13 +8,10 @@
 #include <arm_ffa.h>
 #include <dm.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/sandbox_arm_ffa_priv.h>
 #include <dm/device-internal.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * sandbox_ffa_discover() - perform sandbox FF-A discovery
  * @dev: The sandbox FF-A bus device
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index 38151ef1bee..7651d5360d6 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -18,15 +18,12 @@
 #include <fdtdec.h>
 #include <malloc.h>
 #include <acpi/acpi_device.h>
-#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <dm/device_compat.h>
 #include <linux/bug.h>
 #include <linux/ctype.h>
 #include <linux/delay.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GPIO_ALLOC_BITS	32
 
 /**
diff --git a/drivers/gpio/nx_gpio.c b/drivers/gpio/nx_gpio.c
index 741b2ff7f17..5abbb34daea 100644
--- a/drivers/gpio/nx_gpio.c
+++ b/drivers/gpio/nx_gpio.c
@@ -7,12 +7,9 @@
 #include <dm.h>
 #include <errno.h>
 #include <malloc.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct nx_gpio_regs {
 	u32	data;		/* Data register */
 	u32	outputenb;	/* Output Enable register */
diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 2dfc1c4eab5..268bb39f009 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -18,7 +18,6 @@
 #include <log.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
@@ -30,8 +29,6 @@
 #include <dm.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define I2C_QUIRK_FLAG		(1 << 0)
 
 #define IMX_I2C_REGSHIFT	2
diff --git a/drivers/i2c/nx_i2c.c b/drivers/i2c/nx_i2c.c
index 8562dd82bd6..706b7adefe8 100644
--- a/drivers/i2c/nx_i2c.c
+++ b/drivers/i2c/nx_i2c.c
@@ -7,7 +7,6 @@
 #include <asm/arch/reset.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/nx_gpio.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #define I2C_WRITE       0
@@ -45,8 +44,6 @@
 
 #define DEFAULT_SPEED   100000  /* default I2C speed [Hz] */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct nx_i2c_regs {
 	uint     iiccon;
 	uint     iicstat;
diff --git a/drivers/i2c/ocores_i2c.c b/drivers/i2c/ocores_i2c.c
index cf714d22ee4..32704ee8854 100644
--- a/drivers/i2c/ocores_i2c.c
+++ b/drivers/i2c/ocores_i2c.c
@@ -12,7 +12,6 @@
  * Andreas Larsson <andreas@gaisler.com>
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <clk.h>
 #include <dm.h>
@@ -75,8 +74,6 @@ struct ocores_i2c_bus {
 	u8 (*getreg)(struct ocores_i2c_bus *i2c, int reg);
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Boolean attribute values */
 enum {
 	FALSE = 0,
diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 79f7a320502..4102375e5b7 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -25,7 +25,6 @@
 #endif
 #endif
 #include <i2c.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #if defined(CONFIG_SOFT_I2C_GPIO_SCL)
@@ -82,8 +81,6 @@
 
 /* #define	DEBUG_I2C	*/
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef	I2C_SOFT_DECLARATIONS
 #  define I2C_SOFT_DECLARATIONS
 #endif
diff --git a/drivers/i2c/synquacer_i2c.c b/drivers/i2c/synquacer_i2c.c
index 6672d9435e3..6e5722327c5 100644
--- a/drivers/i2c/synquacer_i2c.c
+++ b/drivers/i2c/synquacer_i2c.c
@@ -112,8 +112,6 @@
 #define SPEED_FM		400	// Fast Mode
 #define SPEED_SM		100	// Standard Mode
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct synquacer_i2c {
 	void __iomem *base;
 	unsigned long pclkrate;
diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index b1e0465e7a8..c7eaa3de96f 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -15,8 +15,6 @@
 /* This driver only exposes the status bits to keep with the
  * polling methodology of u-boot.
  */
-DECLARE_GLOBAL_DATA_PTR;
-
 #define IMX_MU_CHANS		24
 
 #define IMX_MU_V2_PAR_OFF	0x4
diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index 3b9046da880..aa3094fcc01 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -15,7 +15,6 @@
 #include <errno.h>
 #include <atsha204a-i2c.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/bitrev.h>
 #include <u-boot/crc.h>
@@ -25,8 +24,6 @@
 #define ATSHA204A_TRANSACTION_RETRY	5
 #define ATSHA204A_EXECTIME		5000
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline u16 atsha204a_crc16(const u8 *buffer, size_t len)
 {
 	return bitrev16(crc16(0, buffer, len));
diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c
index 2928cf75f89..6af4c7f15e7 100644
--- a/drivers/misc/fs_loader.c
+++ b/drivers/misc/fs_loader.c
@@ -13,7 +13,6 @@
 #include <fs.h>
 #include <fs_loader.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/root.h>
 #include <linux/string.h>
@@ -25,8 +24,6 @@
 #include <ubi_uboot.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct firmware - A place for storing firmware and its attribute data.
  *
diff --git a/drivers/misc/imx8/fuse.c b/drivers/misc/imx8/fuse.c
index 90d251a4405..872713e30b6 100644
--- a/drivers/misc/imx8/fuse.c
+++ b/drivers/misc/imx8/fuse.c
@@ -8,11 +8,8 @@
 #include <fuse.h>
 #include <firmware/imx/sci/sci.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define FSL_ECC_WORD_START_1	 0x10
 #define FSL_ECC_WORD_END_1	 0x10F
 
diff --git a/drivers/mmc/ca_dw_mmc.c b/drivers/mmc/ca_dw_mmc.c
index 1af5ec0532e..d5a4453a62e 100644
--- a/drivers/mmc/ca_dw_mmc.c
+++ b/drivers/mmc/ca_dw_mmc.c
@@ -6,7 +6,6 @@
 
 #include <dwmmc.h>
 #include <fdtdec.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <malloc.h>
 #include <errno.h>
@@ -26,8 +25,6 @@
 
 #define MIN_FREQ (400000)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct ca_mmc_plat {
 	struct mmc_config cfg;
 	struct mmc mmc;
diff --git a/drivers/mmc/f_sdh30.c b/drivers/mmc/f_sdh30.c
index f47cf848521..f0356e1e960 100644
--- a/drivers/mmc/f_sdh30.c
+++ b/drivers/mmc/f_sdh30.c
@@ -29,8 +29,6 @@ struct f_sdh30_plat {
 	const struct f_sdh30_data *data;
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void f_sdh30_e51_init(struct udevice *dev)
 {
 	struct f_sdh30_plat *plat = dev_get_plat(dev);
diff --git a/drivers/mmc/jz_mmc.c b/drivers/mmc/jz_mmc.c
index fc10bb256a4..651d9868305 100644
--- a/drivers/mmc/jz_mmc.c
+++ b/drivers/mmc/jz_mmc.c
@@ -8,7 +8,6 @@
 
 #include <malloc.h>
 #include <mmc.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/unaligned.h>
 #include <errno.h>
@@ -419,8 +418,6 @@ int jz_mmc_init(void __iomem *base)
 #else /* CONFIG_DM_MMC */
 
 #include <dm.h>
-DECLARE_GLOBAL_DATA_PTR;
-
 static int jz_mmc_dm_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
 			      struct mmc_data *data)
 {
diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c
index 38dc36a2194..66f3cf2de4f 100644
--- a/drivers/mmc/msm_sdhci.c
+++ b/drivers/mmc/msm_sdhci.c
@@ -13,7 +13,6 @@
 #include <reset.h>
 #include <sdhci.h>
 #include <wait_bit.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <power/regulator.h>
@@ -61,8 +60,6 @@ struct msm_sdhc_variant_info {
 	u32 core_vendor_spec_capabilities0;
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int msm_sdc_clk_init(struct udevice *dev)
 {
 	struct msm_sdhc *prv = dev_get_priv(dev);
diff --git a/drivers/mmc/mv_sdhci.c b/drivers/mmc/mv_sdhci.c
index 2da5334c21f..a8b63a20387 100644
--- a/drivers/mmc/mv_sdhci.c
+++ b/drivers/mmc/mv_sdhci.c
@@ -6,7 +6,6 @@
 #include <dm.h>
 #include <malloc.h>
 #include <sdhci.h>
-#include <asm/global_data.h>
 #include <linux/mbus.h>
 
 #define MVSDH_NAME "mv_sdh"
@@ -14,8 +13,6 @@
 #define SDHCI_WINDOW_CTRL(win)		(0x4080 + ((win) << 4))
 #define SDHCI_WINDOW_BASE(win)		(0x4084 + ((win) << 4))
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct mv_sdhci_plat {
 	struct mmc_config cfg;
 	struct mmc mmc;
diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index 7bf54fa4654..7324dc72e0a 100644
--- a/drivers/mtd/nand/raw/pxa3xx_nand.c
+++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
@@ -9,7 +9,6 @@
 #include <malloc.h>
 #include <fdtdec.h>
 #include <nand.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <linux/bitops.h>
@@ -30,8 +29,6 @@
 
 #include "pxa3xx_nand.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TIMEOUT_DRAIN_FIFO	5	/* in ms */
 #define	CHIP_DELAY_TIMEOUT	200
 #define NAND_STOP_DELAY		40
diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
index ef43dcad079..0bee7eace90 100644
--- a/drivers/mtd/nand/raw/tegra_nand.c
+++ b/drivers/mtd/nand/raw/tegra_nand.c
@@ -7,7 +7,6 @@
  */
 
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <memalign.h>
 #include <nand.h>
@@ -26,8 +25,6 @@
 #include <linux/printk.h>
 #include "tegra_nand.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define NAND_CMD_TIMEOUT_MS		10
 
 #define SKIPPED_SPARE_BYTES		4
diff --git a/drivers/mtd/nvmxip/nvmxip_qspi.c b/drivers/mtd/nvmxip/nvmxip_qspi.c
index 1a109bee557..383971bea66 100644
--- a/drivers/mtd/nvmxip/nvmxip_qspi.c
+++ b/drivers/mtd/nvmxip/nvmxip_qspi.c
@@ -11,9 +11,6 @@
 #include <nvmxip.h>
 #include <linux/errno.h>
 
-#include <asm/global_data.h>
-DECLARE_GLOBAL_DATA_PTR;
-
 #define NVMXIP_QSPI_DRV_NAME "nvmxip_qspi"
 
 /**
diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c
index 102a9236826..a9db5296b2d 100644
--- a/drivers/mtd/spi/sf-uclass.c
+++ b/drivers/mtd/spi/sf-uclass.c
@@ -11,13 +11,10 @@
 #include <malloc.h>
 #include <spi.h>
 #include <spi_flash.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <test/test.h>
 #include "sf_internal.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, void *buf)
 {
 	return log_ret(sf_get_ops(dev)->read(dev, offset, len, buf));
diff --git a/drivers/net/dwmac_s700.c b/drivers/net/dwmac_s700.c
index 969d247b4f3..76daab961c0 100644
--- a/drivers/net/dwmac_s700.c
+++ b/drivers/net/dwmac_s700.c
@@ -5,7 +5,6 @@
  * Actions DWMAC specific glue layer
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm.h>
 #include <clk.h>
@@ -24,8 +23,6 @@
 #define RMII_REF_CLK_MFP_CTL0		(0x0 << 6)
 #define CLKO_25M_EN_MFP_CTL3		BIT(30)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void dwmac_board_setup(void)
 {
 	clrbits_le32(MFP_CTL0, (RMII_TXD01_MFP_CTL0 | RMII_RXD01_MFP_CTL0 |
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index fee9973c4dc..ba105dd2825 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -18,7 +18,6 @@
 #include <net.h>
 #include <netdev.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <power/regulator.h>
 
@@ -36,8 +35,6 @@
 #include "fec_mxc.h"
 #include <eth_phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Timeout the transfer after 5 mS. This is usually a bit more, since
  * the code in the tightloops this timeout is used in adds some overhead.
diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c
index c8cfe7448d4..2b6080dd9ee 100644
--- a/drivers/net/gmac_rockchip.c
+++ b/drivers/net/gmac_rockchip.c
@@ -11,7 +11,6 @@
 #include <net.h>
 #include <phy.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/arch-rockchip/periph.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/hardware.h>
@@ -28,7 +27,6 @@
 #include <linux/bitops.h>
 #include "designware.h"
 
-DECLARE_GLOBAL_DATA_PTR;
 #define DELAY_ENABLE(soc, tx, rx) \
 	(((tx) ? soc##_TXCLK_DLY_ENA_GMAC_ENABLE : soc##_TXCLK_DLY_ENA_GMAC_DISABLE) | \
 	((rx) ? soc##_RXCLK_DLY_ENA_GMAC_ENABLE : soc##_RXCLK_DLY_ENA_GMAC_DISABLE))
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 1640868c24a..baa18202d6e 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -20,7 +20,6 @@
 #include <config.h>
 #include <malloc.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
@@ -37,8 +36,6 @@
 #include <linux/mbus.h>
 #include <asm-generic/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MVNETA_NR_CPUS		1
 #define ETH_HLEN		14	/* Total octets in header */
 
diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
index 217bcac2ce2..5a822b64427 100644
--- a/drivers/net/octeontx/smi.c
+++ b/drivers/net/octeontx/smi.c
@@ -10,15 +10,12 @@
 #include <pci.h>
 #include <pci_ids.h>
 #include <phy.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/ctype.h>
 #include <linux/delay.h>
 
 #define PCI_DEVICE_ID_OCTEONTX_SMI 0xA02B
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum octeontx_smi_mode {
 	CLAUSE22 = 0,
 	CLAUSE45 = 1,
diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
index 11d36164976..4ab709a14d5 100644
--- a/drivers/net/phy/fixed.c
+++ b/drivers/net/phy/fixed.c
@@ -10,9 +10,6 @@
 #include <phy.h>
 #include <dm.h>
 #include <fdt_support.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static int fixedphy_probe(struct phy_device *phydev)
 {
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index b58283fe3d5..d7e0c4fe02d 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -17,7 +17,6 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
 #include <dm/of_extra.h>
@@ -26,8 +25,6 @@
 #include <linux/err.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Generic PHY support and helper functions */
 
 /**
diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
index e44b7b75bd5..f5a7dd349c9 100644
--- a/drivers/net/phy/xilinx_gmii2rgmii.c
+++ b/drivers/net/phy/xilinx_gmii2rgmii.c
@@ -8,9 +8,6 @@
 #include <dm.h>
 #include <log.h>
 #include <phy.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 #define ZYNQ_GMII2RGMII_REG		0x10
 #define ZYNQ_GMII2RGMII_SPEED_MASK	(BMCR_SPEED1000 | BMCR_SPEED100)
diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
index 1d716716778..c3d40f0b59e 100644
--- a/drivers/net/sandbox-raw.c
+++ b/drivers/net/sandbox-raw.c
@@ -12,9 +12,6 @@
 #include <env.h>
 #include <malloc.h>
 #include <net.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static int reply_arp;
 static struct in_addr arp_ip;
diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
index 2011fd31f41..0ea50c484c0 100644
--- a/drivers/net/sandbox.c
+++ b/drivers/net/sandbox.c
@@ -10,7 +10,6 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/eth.h>
-#include <asm/global_data.h>
 #include <asm/test.h>
 #include <asm/types.h>
 
@@ -84,8 +83,6 @@ struct icmphdr {
 #define ICMP_ECHO_REPLY		0
 #define IPPROTO_ICMP		1
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const u8 null_ethaddr[6];
 static bool skip_timeout;
 
diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c
index d4abc9a0411..40c98e72e4d 100644
--- a/drivers/net/ti/keystone_net.c
+++ b/drivers/net/ti/keystone_net.c
@@ -7,7 +7,6 @@
  */
 #include <command.h>
 #include <console.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/printk.h>
 
@@ -26,8 +25,6 @@
 
 #include "cpsw_mdio.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef KEYSTONE2_EMAC_GIG_ENABLE
 #define emac_gigabit_enable(x)	keystone2_eth_gigabit_enable(x)
 #else
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index fb48feb4469..e9cc5db52d2 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -15,7 +15,6 @@
 #include <log.h>
 #include <net.h>
 #include <malloc.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <phy.h>
 #include <miiphy.h>
@@ -23,8 +22,6 @@
 #include <linux/delay.h>
 #include <eth_phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Link setup */
 #define XAE_EMMC_LINKSPEED_MASK	0xC0000000 /* Link speed */
 #define XAE_EMMC_LINKSPD_10	0x00000000 /* Link Speed mask for 10 Mbit */
diff --git a/drivers/pci/pci_octeontx.c b/drivers/pci/pci_octeontx.c
index 875cf7f7115..6752112a878 100644
--- a/drivers/pci/pci_octeontx.c
+++ b/drivers/pci/pci_octeontx.c
@@ -11,14 +11,11 @@
 #include <log.h>
 #include <malloc.h>
 #include <pci.h>
-#include <asm/global_data.h>
 
 #include <asm/io.h>
 
 #include <linux/ioport.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * This driver supports multiple types of operations / host bridges / busses:
  *
diff --git a/drivers/pci/pcie_dw_meson.c b/drivers/pci/pcie_dw_meson.c
index 483b07ce078..1eff6d1b0ed 100644
--- a/drivers/pci/pcie_dw_meson.c
+++ b/drivers/pci/pcie_dw_meson.c
@@ -16,7 +16,6 @@
 #include <power-domain.h>
 #include <reset.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
@@ -27,8 +26,6 @@
 
 #include "pcie_dw_common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct meson_pcie - Amlogic Meson DW PCIe controller state
  *
diff --git a/drivers/pci/pcie_dw_qcom.c b/drivers/pci/pcie_dw_qcom.c
index 978754e8472..10c45aaba20 100644
--- a/drivers/pci/pcie_dw_qcom.c
+++ b/drivers/pci/pcie_dw_qcom.c
@@ -10,7 +10,6 @@
 #include <syscon.h>
 #include <malloc.h>
 #include <power/regulator.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
@@ -21,8 +20,6 @@
 
 #include "pcie_dw_common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct qcom_pcie;
 
 struct qcom_pcie_ops {
diff --git a/drivers/pci/pcie_dw_rockchip.c b/drivers/pci/pcie_dw_rockchip.c
index 208aa30463a..61117fa95e6 100644
--- a/drivers/pci/pcie_dw_rockchip.c
+++ b/drivers/pci/pcie_dw_rockchip.c
@@ -13,7 +13,6 @@
 #include <reset.h>
 #include <syscon.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
@@ -24,8 +23,6 @@
 
 #include "pcie_dw_common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct rk_pcie - RK DW PCIe controller state
  *
diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c
index dc6e65273b7..37c295fdd38 100644
--- a/drivers/pci/pcie_dw_ti.c
+++ b/drivers/pci/pcie_dw_ti.c
@@ -10,7 +10,6 @@
 #include <power-domain.h>
 #include <regmap.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
@@ -20,8 +19,6 @@
 
 #include "pcie_dw_common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PCIE_VENDORID_MASK	GENMASK(15, 0)
 #define PCIE_DEVICEID_SHIFT	16
 
diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c
index 1be33095b9c..db7c4f47916 100644
--- a/drivers/pci/pcie_layerscape.c
+++ b/drivers/pci/pcie_layerscape.c
@@ -6,7 +6,6 @@
  */
 
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <malloc.h>
@@ -16,8 +15,6 @@
 #endif
 #include "pcie_layerscape.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 LIST_HEAD(ls_pcie_list);
 
 unsigned int dbi_readl(struct ls_pcie *pcie, unsigned int offset)
diff --git a/drivers/pci/pcie_starfive_jh7110.c b/drivers/pci/pcie_starfive_jh7110.c
index 0908ae16b67..761e64be58a 100644
--- a/drivers/pci/pcie_starfive_jh7110.c
+++ b/drivers/pci/pcie_starfive_jh7110.c
@@ -15,7 +15,6 @@
 #include <regmap.h>
 #include <reset.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
@@ -39,8 +38,6 @@
 #define STG_SYSCON_RP_NEP_OFFSET               0xe8
 #define STG_SYSCON_K_RP_NEP_MASK               BIT(8)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct starfive_pcie {
 	struct pcie_plda plda;
 	struct clk_bulk	clks;
diff --git a/drivers/pci_endpoint/pci_ep-uclass.c b/drivers/pci_endpoint/pci_ep-uclass.c
index 902d1a51eaa..b71defe4019 100644
--- a/drivers/pci_endpoint/pci_ep-uclass.c
+++ b/drivers/pci_endpoint/pci_ep-uclass.c
@@ -13,12 +13,9 @@
 
 #include <dm.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <linux/log2.h>
 #include <pci_ep.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int pci_ep_write_header(struct udevice *dev, uint fn, struct pci_ep_header *hdr)
 {
 	struct pci_ep_ops *ops = pci_ep_get_ops(dev);
diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c
index a4121423873..b074d58f9f6 100644
--- a/drivers/phy/marvell/comphy_core.c
+++ b/drivers/phy/marvell/comphy_core.c
@@ -7,7 +7,6 @@
 
 #include <dm.h>
 #include <fdtdec.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <linux/err.h>
@@ -18,8 +17,6 @@
 
 #define COMPHY_MAX_CHIP 4
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char *get_speed_string(u32 speed)
 {
 	static const char * const speed_strings[] = {
diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c
index 2be0178882a..6df4ff4eb05 100644
--- a/drivers/phy/omap-usb2-phy.c
+++ b/drivers/phy/omap-usb2-phy.c
@@ -6,7 +6,6 @@
  * Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm.h>
 #include <errno.h>
@@ -39,8 +38,6 @@
 #define USB2PHY_USE_CHG_DET_REG		BIT(29)
 #define USB2PHY_DIS_CHG_DET		BIT(28)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct omap_usb2_phy {
 	struct regmap *pwr_regmap;
 	ulong flags;
diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
index 660037034ec..5775101c4cb 100644
--- a/drivers/phy/rockchip/phy-rockchip-pcie.c
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
@@ -9,7 +9,6 @@
 
 #include <clk.h>
 #include <dm.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <generic-phy.h>
 #include <reset.h>
@@ -19,8 +18,6 @@
 #include <linux/iopoll.h>
 #include <asm/arch-rockchip/clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The higher 16-bit of this register is used for write protection
  * only if BIT(x + 16) set to 1 the BIT(x) can be written.
diff --git a/drivers/phy/rockchip/phy-rockchip-typec.c b/drivers/phy/rockchip/phy-rockchip-typec.c
index 66d1d32d25c..305d5b0dd48 100644
--- a/drivers/phy/rockchip/phy-rockchip-typec.c
+++ b/drivers/phy/rockchip/phy-rockchip-typec.c
@@ -10,7 +10,6 @@
 
 #include <clk.h>
 #include <dm.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/lists.h>
 #include <generic-phy.h>
@@ -21,8 +20,6 @@
 #include <linux/iopoll.h>
 #include <asm/arch-rockchip/clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define usleep_range(a, b) udelay((b))
 
 #define CMN_SSM_BANDGAP			(0x21 << 2)
diff --git a/drivers/pinctrl/mtmips/pinctrl-mt7628.c b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
index dc7acec4a77..be3a28eb94d 100644
--- a/drivers/pinctrl/mtmips/pinctrl-mt7628.c
+++ b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
@@ -6,15 +6,12 @@
  */
 
 #include <dm.h>
-#include <asm/global_data.h>
 #include <dm/pinctrl.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 
 #include "pinctrl-mtmips-common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define AGPIO_OFS			0
 #define GPIOMODE1_OFS			0x24
 #define GPIOMODE2_OFS			0x28
diff --git a/drivers/pinctrl/nexell/pinctrl-nexell.c b/drivers/pinctrl/nexell/pinctrl-nexell.c
index d5be7baf50d..af1acd91649 100644
--- a/drivers/pinctrl/nexell/pinctrl-nexell.c
+++ b/drivers/pinctrl/nexell/pinctrl-nexell.c
@@ -7,13 +7,10 @@
 
 #include <dm.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include "pinctrl-nexell.h"
 #include "pinctrl-s5pxx18.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* given a pin-name, return the address of pin config registers */
 unsigned long pin_to_bank_base(struct udevice *dev, const char *pin_name,
 			       u32 *pin)
diff --git a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
index a6ae5764fbc..aeed3f1e1e1 100644
--- a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
+++ b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
@@ -9,15 +9,12 @@
 
 #include <dm.h>
 #include <errno.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/pinctrl.h>
 #include <dm/root.h>
 #include "pinctrl-nexell.h"
 #include "pinctrl-s5pxx18.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void nx_gpio_set_bit(u32 *value, u32 bit, int enable)
 {
 	register u32 newvalue;
diff --git a/drivers/pinctrl/nxp/pinctrl-imx-mmio.c b/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
index 2f4228a9fc5..7cdbbbba747 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
@@ -5,7 +5,6 @@
 
 #include <malloc.h>
 #include <mapmem.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <linux/bitops.h>
@@ -16,8 +15,6 @@
 
 #include "pinctrl-imx.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int imx_pinctrl_set_state_mmio(struct udevice *dev, struct udevice *config)
 {
 	struct imx_pinctrl_priv *priv = dev_get_priv(dev);
diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c
index 7d91ccfb26f..d8011768581 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx.c
@@ -5,7 +5,6 @@
 
 #include <malloc.h>
 #include <mapmem.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <linux/bitops.h>
@@ -16,8 +15,6 @@
 
 #include "pinctrl-imx.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int imx_pinctrl_set_state_common(struct udevice *dev, struct udevice *config,
 				 int pin_size, u32 **pin_data, int *npins)
 {
diff --git a/drivers/pinctrl/nxp/pinctrl-imx8.c b/drivers/pinctrl/nxp/pinctrl-imx8.c
index 9b3b5aec07a..23865ee6428 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx8.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx8.c
@@ -9,14 +9,11 @@
 #include <asm/io.h>
 #include <firmware/imx/sci/sci.h>
 #include <misc.h>
-#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/pinctrl.h>
 
 #include "pinctrl-imx.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PADRING_IFMUX_EN_SHIFT		31
 #define PADRING_IFMUX_EN_MASK		BIT(31)
 #define PADRING_GP_EN_SHIFT		30
diff --git a/drivers/pinctrl/nxp/pinctrl-mxs.c b/drivers/pinctrl/nxp/pinctrl-mxs.c
index 85ab5fdf640..8b764738014 100644
--- a/drivers/pinctrl/nxp/pinctrl-mxs.c
+++ b/drivers/pinctrl/nxp/pinctrl-mxs.c
@@ -5,7 +5,6 @@
  */
 
 #include <log.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <linux/io.h>
@@ -15,8 +14,6 @@
 #include <dm/read.h>
 #include "pinctrl-mxs.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct mxs_pinctrl_priv {
 	void __iomem *base;
 	const struct mxs_regs *regs;
diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c
index a7e64971a2a..1c731b897cc 100644
--- a/drivers/power/domain/imx8m-power-domain.c
+++ b/drivers/power/domain/imx8m-power-domain.c
@@ -7,7 +7,6 @@
 #include <dm.h>
 #include <malloc.h>
 #include <power-domain-uclass.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/sys_proto.h>
 #include <dm/device-internal.h>
@@ -22,8 +21,6 @@
 #include <dt-bindings/power/imx8mp-power.h>
 #include <dt-bindings/power/imx8mq-power.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GPC_PGC_CPU_MAPPING			0x0ec
 #define IMX8MP_GPC_PGC_CPU_MAPPING		0x1cc
 
diff --git a/drivers/power/pmic/bd71837.c b/drivers/power/pmic/bd71837.c
index a5df2570fc3..13642794765 100644
--- a/drivers/power/pmic/bd71837.c
+++ b/drivers/power/pmic/bd71837.c
@@ -7,14 +7,11 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/bd71837.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	/* buck */
 	{ .prefix = "b", .driver = BD718XX_REGULATOR_DRIVER},
diff --git a/drivers/power/pmic/mc34708.c b/drivers/power/pmic/mc34708.c
index 43badb5767a..0ec52e25a9e 100644
--- a/drivers/power/pmic/mc34708.c
+++ b/drivers/power/pmic/mc34708.c
@@ -9,11 +9,8 @@
 #include <errno.h>
 #include <fsl_pmic.h>
 #include <i2c.h>
-#include <asm/global_data.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int mc34708_reg_count(struct udevice *dev)
 {
 	return PMIC_NUM_OF_REGS;
diff --git a/drivers/power/pmic/mp5416.c b/drivers/power/pmic/mp5416.c
index 9d44f0ae655..899c2beeb37 100644
--- a/drivers/power/pmic/mp5416.c
+++ b/drivers/power/pmic/mp5416.c
@@ -9,9 +9,6 @@
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/mp5416.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static const struct pmic_child_info pmic_children_info[] = {
 	/* buck */
diff --git a/drivers/power/pmic/pca9450.c b/drivers/power/pmic/pca9450.c
index e5c1f037b61..c95e6357ee8 100644
--- a/drivers/power/pmic/pca9450.c
+++ b/drivers/power/pmic/pca9450.c
@@ -10,7 +10,6 @@
 #include <dm/lists.h>
 #include <i2c.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/printk.h>
 #include <power/pmic.h>
@@ -18,8 +17,6 @@
 #include <power/pca9450.h>
 #include <sysreset.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	/* buck */
 	{ .prefix = "b", .driver = PCA9450_REGULATOR_DRIVER},
diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c
index ff738faadc5..adde5156c76 100644
--- a/drivers/power/regulator/pwm_regulator.c
+++ b/drivers/power/regulator/pwm_regulator.c
@@ -11,12 +11,9 @@
 #include <errno.h>
 #include <log.h>
 #include <pwm.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct pwm_regulator_info {
 	/* pwm id corresponding to the PWM driver */
 	int pwm_id;
diff --git a/drivers/pwm/pwm-sifive.c b/drivers/pwm/pwm-sifive.c
index e9777c71f5e..dea7bc57495 100644
--- a/drivers/pwm/pwm-sifive.c
+++ b/drivers/pwm/pwm-sifive.c
@@ -17,7 +17,6 @@
 #include <dm.h>
 #include <pwm.h>
 #include <regmap.h>
-#include <asm/global_data.h>
 #include <linux/io.h>
 #include <linux/log2.h>
 #include <linux/bitfield.h>
@@ -40,8 +39,6 @@
 #define PWM_SIFIVE_CHANNEL_ENABLE_VAL   0
 #define PWM_SIFIVE_CHANNEL_DISABLE_VAL  0xffff
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct pwm_sifive_regs {
 	unsigned long cfg;
 	unsigned long cnt;
diff --git a/drivers/pwm/rk_pwm.c b/drivers/pwm/rk_pwm.c
index 0a64eb01dc2..b51dee31a98 100644
--- a/drivers/pwm/rk_pwm.c
+++ b/drivers/pwm/rk_pwm.c
@@ -11,14 +11,11 @@
 #include <pwm.h>
 #include <regmap.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/pwm.h>
 #include <linux/bitops.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rockchip_pwm_data {
 	struct rockchip_pwm_regs regs;
 	unsigned int prescaler;
diff --git a/drivers/pwm/sunxi_pwm.c b/drivers/pwm/sunxi_pwm.c
index 2140a05b679..1dd2428da77 100644
--- a/drivers/pwm/sunxi_pwm.c
+++ b/drivers/pwm/sunxi_pwm.c
@@ -9,13 +9,10 @@
 #include <pwm.h>
 #include <regmap.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/pwm.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define OSC_24MHZ 24000000
 
 struct sunxi_pwm_priv {
diff --git a/drivers/ram/stm32mp1/stm32mp1_tests.c b/drivers/ram/stm32mp1/stm32mp1_tests.c
index 6108faa7073..3b41d6045ad 100644
--- a/drivers/ram/stm32mp1/stm32mp1_tests.c
+++ b/drivers/ram/stm32mp1/stm32mp1_tests.c
@@ -10,7 +10,6 @@
 #include <log.h>
 #include <rand.h>
 #include <watchdog.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/log2.h>
 #include "stm32mp1_tests.h"
@@ -19,8 +18,6 @@
 
 #define PATTERN_DEFAULT	"-"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int get_bufsize(char *string, int argc, char *argv[], int arg_nb,
 		       size_t *bufsize, size_t default_size, size_t min_size)
 {
diff --git a/drivers/reboot-mode/reboot-mode-gpio.c b/drivers/reboot-mode/reboot-mode-gpio.c
index 22ee40c3433..8d3e53d50ee 100644
--- a/drivers/reboot-mode/reboot-mode-gpio.c
+++ b/drivers/reboot-mode/reboot-mode-gpio.c
@@ -10,8 +10,6 @@
 #include <reboot-mode/reboot-mode-gpio.h>
 #include <reboot-mode/reboot-mode.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int reboot_mode_get(struct udevice *dev, u32 *buf)
 {
 	int ret;
diff --git a/drivers/reboot-mode/reboot-mode-rtc.c b/drivers/reboot-mode/reboot-mode-rtc.c
index 4f4ad63febc..adca584d622 100644
--- a/drivers/reboot-mode/reboot-mode-rtc.c
+++ b/drivers/reboot-mode/reboot-mode-rtc.c
@@ -9,8 +9,6 @@
 #include <reboot-mode/reboot-mode.h>
 #include <rtc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int reboot_mode_get(struct udevice *dev, u32 *buf)
 {
 	if (!buf)
diff --git a/drivers/remoteproc/rproc-uclass.c b/drivers/remoteproc/rproc-uclass.c
index 2dbd3a21cea..47cb64fec77 100644
--- a/drivers/remoteproc/rproc-uclass.c
+++ b/drivers/remoteproc/rproc-uclass.c
@@ -22,8 +22,6 @@
 #include <linux/compat.h>
 #include <linux/printk.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct resource_table {
 	u32 ver;
 	u32 num;
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 4f7de3ea215..c885b46cf56 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -14,13 +14,10 @@
 #include <reset.h>
 #include <spl.h>
 #include <watchdog.h>
-#include <asm/global_data.h>
 #include <linux/err.h>
 #include <linux/types.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_LCRVAL UART_LCR_8N1		/* 8 data, 1 stop, no parity */
 #define UART_MCRVAL (UART_MCR_DTR | \
 		     UART_MCR_RTS)		/* RTS/DTR */
diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c
index cc0491bc3c8..658cbd2bbc9 100644
--- a/drivers/serial/sandbox.c
+++ b/drivers/serial/sandbox.c
@@ -14,13 +14,10 @@
 #include <os.h>
 #include <serial.h>
 #include <video.h>
-#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/serial.h>
 #include <asm/state.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static size_t _sandbox_serial_written = 1;
 static bool sandbox_serial_enabled = true;
 
diff --git a/drivers/serial/serial_adi_uart4.c b/drivers/serial/serial_adi_uart4.c
index 45f8315d0a0..784310ba231 100644
--- a/drivers/serial/serial_adi_uart4.c
+++ b/drivers/serial/serial_adi_uart4.c
@@ -80,8 +80,6 @@
 #define ERXS			BIT(8)
 #define ETXS			BIT(9)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct uart4_reg {
 	u32 revid;
 	u32 control;
diff --git a/drivers/serial/serial_htif.c b/drivers/serial/serial_htif.c
index 2a93bbbcc9f..690de3fc085 100644
--- a/drivers/serial/serial_htif.c
+++ b/drivers/serial/serial_htif.c
@@ -8,14 +8,11 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <watchdog.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <serial.h>
 #include <linux/err.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define HTIF_DATA_BITS		48
 #define HTIF_DATA_MASK		((1ULL << HTIF_DATA_BITS) - 1)
 #define HTIF_DATA_SHIFT		0
diff --git a/drivers/serial/serial_xen.c b/drivers/serial/serial_xen.c
index e05805f6372..4ba8d3ee641 100644
--- a/drivers/serial/serial_xen.c
+++ b/drivers/serial/serial_xen.c
@@ -7,7 +7,6 @@
 #include <dm.h>
 #include <serial.h>
 #include <watchdog.h>
-#include <asm/global_data.h>
 
 #include <linux/bug.h>
 
@@ -20,8 +19,6 @@
 #include <xen/interface/io/console.h>
 #include <xen/interface/io/ring.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 console_evtchn;
 
 /*
diff --git a/drivers/smem/msm_smem.c b/drivers/smem/msm_smem.c
index b6b92d3530d..7a50d5a5792 100644
--- a/drivers/smem/msm_smem.c
+++ b/drivers/smem/msm_smem.c
@@ -7,7 +7,6 @@
 
 #include <errno.h>
 #include <dm.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <dm/of_access.h>
@@ -20,8 +19,6 @@
 #include <linux/sizes.h>
 #include <smem.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The Qualcomm shared memory system is an allocate-only heap structure that
  * consists of one of more memory areas that can be accessed by the processors
diff --git a/drivers/spi/ca_sflash.c b/drivers/spi/ca_sflash.c
index db32e39add2..f00df93a5f5 100644
--- a/drivers/spi/ca_sflash.c
+++ b/drivers/spi/ca_sflash.c
@@ -21,9 +21,6 @@
 #include <spi.h>
 #include <spi-mem.h>
 #include <reset.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 struct ca_sflash_regs {
 	u32 idr;		/* 0x00:Flash word ID Register */
diff --git a/drivers/spi/microchip_coreqspi.c b/drivers/spi/microchip_coreqspi.c
index a84b257fb1a..b3ff611e8f7 100644
--- a/drivers/spi/microchip_coreqspi.c
+++ b/drivers/spi/microchip_coreqspi.c
@@ -18,8 +18,6 @@
 #include <linux/sizes.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * QSPI Control register mask defines
  */
diff --git a/drivers/spi/mvebu_a3700_spi.c b/drivers/spi/mvebu_a3700_spi.c
index fde9b142fb8..79836d7e271 100644
--- a/drivers/spi/mvebu_a3700_spi.c
+++ b/drivers/spi/mvebu_a3700_spi.c
@@ -11,14 +11,11 @@
 #include <spi.h>
 #include <clk.h>
 #include <wait_bit.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MVEBU_SPI_A3700_XFER_RDY		BIT(1)
 #define MVEBU_SPI_A3700_FIFO_FLUSH		BIT(9)
 #define MVEBU_SPI_A3700_BYTE_LEN		BIT(5)
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index 35bd8766097..b2d115aded4 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -20,13 +20,10 @@
 #include <spi.h>
 #include <time.h>
 #include <malloc.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <omap3_spi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct omap2_mcspi_platform_config {
 	unsigned int regs_offset;
 };
diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c
index e00532a371b..0bdc112d249 100644
--- a/drivers/spi/spi-sunxi.c
+++ b/drivers/spi/spi-sunxi.c
@@ -26,7 +26,6 @@
 #include <fdt_support.h>
 #include <reset.h>
 #include <wait_bit.h>
-#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 
@@ -35,8 +34,6 @@
 
 #include <linux/iopoll.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* sun4i spi registers */
 #define SUN4I_RXDATA_REG		0x00
 #define SUN4I_TXDATA_REG		0x04
diff --git a/drivers/spi/spi-synquacer.c b/drivers/spi/spi-synquacer.c
index a3c0ad17121..66c97da610b 100644
--- a/drivers/spi/spi-synquacer.c
+++ b/drivers/spi/spi-synquacer.c
@@ -99,8 +99,6 @@
 #define TXBIT	1
 #define RXBIT	2
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct synquacer_spi_plat {
 	void __iomem *base;
 	bool aces, rtm;
diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
index 49b584c648d..60401633341 100644
--- a/drivers/spi/spi-uclass.c
+++ b/drivers/spi/spi-uclass.c
@@ -12,14 +12,11 @@
 #include <spi.h>
 #include <spi-mem.h>
 #include <dm/device_compat.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <dm/lists.h>
 #include <dm/util.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SPI_DEFAULT_SPEED_HZ 100000
 
 static int spi_set_speed_mode(struct udevice *bus, int speed, int mode)
diff --git a/drivers/spi/tegra210_qspi.c b/drivers/spi/tegra210_qspi.c
index b969a7993d4..0f77fbc8d41 100644
--- a/drivers/spi/tegra210_qspi.c
+++ b/drivers/spi/tegra210_qspi.c
@@ -9,7 +9,6 @@
 #include <dm.h>
 #include <log.h>
 #include <time.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch-tegra/clk_rst.h>
@@ -19,8 +18,6 @@
 #include <linux/delay.h>
 #include "tegra_spi.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* COMMAND1 */
 #define QSPI_CMD1_GO			BIT(31)
 #define QSPI_CMD1_M_S			BIT(30)
diff --git a/drivers/spmi/spmi-msm.c b/drivers/spmi/spmi-msm.c
index f3cd98c3db8..b89dd0b406b 100644
--- a/drivers/spmi/spmi-msm.c
+++ b/drivers/spmi/spmi-msm.c
@@ -10,13 +10,10 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <spmi/spmi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* PMIC Arbiter configuration registers */
 #define PMIC_ARB_VERSION 0x0000
 #define PMIC_ARB_VERSION_V2_MIN 0x20010000
diff --git a/drivers/thermal/imx_tmu.c b/drivers/thermal/imx_tmu.c
index c8389d507ee..1bde4d07f52 100644
--- a/drivers/thermal/imx_tmu.c
+++ b/drivers/thermal/imx_tmu.c
@@ -5,7 +5,6 @@
  */
 
 #include <config.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
@@ -19,8 +18,6 @@
 #include <malloc.h>
 #include <thermal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SITES_MAX	16
 #define FLAGS_VER2	0x1
 #define FLAGS_VER3	0x2
diff --git a/drivers/timer/ostm_timer.c b/drivers/timer/ostm_timer.c
index 314f956cdfb..3841d3c90d0 100644
--- a/drivers/timer/ostm_timer.c
+++ b/drivers/timer/ostm_timer.c
@@ -7,7 +7,6 @@
 
 #include <clock_legacy.h>
 #include <malloc.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm.h>
 #include <clk.h>
@@ -22,8 +21,6 @@
 #define OSTM_CTL	0x20
 #define OSTM_CTL_D	BIT(1)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct ostm_priv {
 	fdt_addr_t	regs;
 };
diff --git a/drivers/timer/sp804_timer.c b/drivers/timer/sp804_timer.c
index 3e57f4b98ba..05532e3330c 100644
--- a/drivers/timer/sp804_timer.c
+++ b/drivers/timer/sp804_timer.c
@@ -8,15 +8,12 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <mapmem.h>
 #include <dt-structs.h>
 #include <timer.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SP804_TIMERX_LOAD		0x00
 #define SP804_TIMERX_VALUE		0x04
 #define SP804_TIMERX_CONTROL		0x08
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index 13e9a61072a..22aa6525c96 100644
--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -7,14 +7,11 @@
  */
 
 #include <dm.h>
-#include <asm/global_data.h>
 #include <linux/printk.h>
 #include <linux/usb/otg.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char *const usb_dr_modes[] = {
 	[USB_DR_MODE_UNKNOWN]		= "",
 	[USB_DR_MODE_HOST]		= "host",
diff --git a/drivers/usb/phy/rockchip_usb2_phy.c b/drivers/usb/phy/rockchip_usb2_phy.c
index ce9a7b5b819..bdbd0d44813 100644
--- a/drivers/usb/phy/rockchip_usb2_phy.c
+++ b/drivers/usb/phy/rockchip_usb2_phy.c
@@ -5,15 +5,12 @@
 
 #include <hang.h>
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
 #include "../gadget/dwc2_udc_otg_priv.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define BIT_WRITEABLE_SHIFT	16
 
 struct usb2phy_reg {
diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
index 0aee57cb2f4..3061b466d7c 100644
--- a/drivers/usb/tcpm/tcpm.c
+++ b/drivers/usb/tcpm/tcpm.c
@@ -19,8 +19,6 @@
 #include <usb/tcpm.h>
 #include "tcpm-internal.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 const char * const tcpm_states[] = {
 	FOREACH_TCPM_STATE(GENERATE_TCPM_STRING)
 };
diff --git a/drivers/video/hx8238d.c b/drivers/video/hx8238d.c
index f0220e4cc07..b6980b1aec1 100644
--- a/drivers/video/hx8238d.c
+++ b/drivers/video/hx8238d.c
@@ -16,8 +16,6 @@
 #include <panel.h>
 #include <spi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Register Address */
 #define HX8238D_OUTPUT_CTRL_ADDR        0x01
 #define HX8238D_LCD_AC_CTRL_ADDR        0x02
diff --git a/drivers/video/imx/mxc_ipuv3_fb.c b/drivers/video/imx/mxc_ipuv3_fb.c
index ab416fdd33c..ef5d4faf3b3 100644
--- a/drivers/video/imx/mxc_ipuv3_fb.c
+++ b/drivers/video/imx/mxc_ipuv3_fb.c
@@ -21,7 +21,6 @@
 #include "ipu_regs.h"
 #include "mxcfb.h"
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/video.h>
 #include <linux/err.h>
@@ -37,8 +36,6 @@
 #include <dm/devres.h>
 #include <video.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int mxcfb_map_video_memory(struct fb_info *fbi);
 static int mxcfb_unmap_video_memory(struct fb_info *fbi);
 
diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c
index ea3776258a0..e0416b70ec0 100644
--- a/drivers/video/nexell_display.c
+++ b/drivers/video/nexell_display.c
@@ -16,14 +16,11 @@
 #include <linux/compat.h>
 #include <linux/err.h>
 #include <video.h>		/* For struct video_uc_plat */
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/display.h>
 #include <asm/arch/display_dev.h>
 #include "videomodes.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if !defined(CONFIG_DM) && !defined(CONFIG_OF_CONTROL)
 static struct nx_display_dev *dp_dev;
 #endif
diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c
index c969dae30b6..97c8619a6d8 100644
--- a/drivers/video/rockchip/rk_lvds.c
+++ b/drivers/video/rockchip/rk_lvds.c
@@ -10,7 +10,6 @@
 #include <panel.h>
 #include <regmap.h>
 #include <syscon.h>
-#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rk3288.h>
@@ -19,8 +18,6 @@
 #include <dt-bindings/clock/rk3288-cru.h>
 #include <dt-bindings/video/rk3288.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct rk_lvds_priv - private rockchip lvds display driver info
  *
diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c
index 0a603083ba9..e7b5973ca58 100644
--- a/drivers/video/rockchip/rk_mipi.c
+++ b/drivers/video/rockchip/rk_mipi.c
@@ -10,7 +10,6 @@
 #include <log.h>
 #include <panel.h>
 #include <regmap.h>
-#include <asm/global_data.h>
 #include "rk_mipi.h"
 #include <syscon.h>
 #include <asm/gpio.h>
@@ -22,8 +21,6 @@
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/rockchip_mipi_dsi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int rk_mipi_read_timing(struct udevice *dev,
 			struct display_timing *timing)
 {
diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c
index 69dfa930273..48da350080a 100644
--- a/drivers/video/sandbox_sdl.c
+++ b/drivers/video/sandbox_sdl.c
@@ -7,15 +7,12 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <video.h>
-#include <asm/global_data.h>
 #include <asm/sdl.h>
 #include <asm/state.h>
 #include <asm/u-boot-sandbox.h>
 #include <dm/device-internal.h>
 #include <dm/test.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	/* Default LCD size we support */
 	LCD_MAX_WIDTH		= 1366,
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c
index 790ff6e591c..c231fd0341e 100644
--- a/drivers/video/tidss/tidss_drv.c
+++ b/drivers/video/tidss/tidss_drv.c
@@ -42,8 +42,6 @@
 #include "tidss_regs.h"
 #include "tidss_oldi.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Panel parameters */
 enum {
 	LCD_MAX_WIDTH		= 1920,
diff --git a/drivers/video/zynqmp/zynqmp_dpsub.c b/drivers/video/zynqmp/zynqmp_dpsub.c
index a0efd3393f5..fba65bb3d5b 100644
--- a/drivers/video/zynqmp/zynqmp_dpsub.c
+++ b/drivers/video/zynqmp/zynqmp_dpsub.c
@@ -20,12 +20,9 @@
 #include <linux/delay.h>
 #include <linux/ioport.h>
 #include <dm/device_compat.h>
-#include <asm/global_data.h>
 
 #include "zynqmp_dpsub.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Maximum supported resolution */
 #define WIDTH				1024
 #define HEIGHT				768
diff --git a/drivers/watchdog/armada-37xx-wdt.c b/drivers/watchdog/armada-37xx-wdt.c
index 4b51178e1b8..d7a6b8de492 100644
--- a/drivers/watchdog/armada-37xx-wdt.c
+++ b/drivers/watchdog/armada-37xx-wdt.c
@@ -7,14 +7,11 @@
 
 #include <dm.h>
 #include <wdt.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <dm/device_compat.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct a37xx_wdt {
 	void __iomem *sel_reg;
 	void __iomem *reg;
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index 72e13787448..2fb25126b8c 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -15,7 +15,6 @@
  */
 
 #include <log.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_wdt.h>
 #include <div64.h>
@@ -23,8 +22,6 @@
 #include <errno.h>
 #include <wdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * AT91SAM9 watchdog runs a 12bit counter @ 256Hz,
  * use this to convert a watchdog
diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
index 6308d9632a8..08ef3d84e26 100644
--- a/drivers/watchdog/mt7621_wdt.c
+++ b/drivers/watchdog/mt7621_wdt.c
@@ -11,12 +11,9 @@
 
 #include <dm.h>
 #include <wdt.h>
-#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct mt762x_wdt {
 	void __iomem *regs;
 };
diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
index 4562b2a37e3..a2000b968c9 100644
--- a/drivers/watchdog/orion_wdt.c
+++ b/drivers/watchdog/orion_wdt.c
@@ -16,15 +16,12 @@
 #include <clk.h>
 #include <log.h>
 #include <wdt.h>
-#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/kernel.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct orion_wdt_priv {
 	void __iomem *reg;
 	int wdt_counter_offset;
diff --git a/drivers/watchdog/sbsa_gwdt.c b/drivers/watchdog/sbsa_gwdt.c
index 03585529bb6..807884c5bc7 100644
--- a/drivers/watchdog/sbsa_gwdt.c
+++ b/drivers/watchdog/sbsa_gwdt.c
@@ -5,7 +5,6 @@
  * Copyright 2020 NXP
  */
 
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/device.h>
 #include <dm/fdtaddr.h>
@@ -15,8 +14,6 @@
 #include <watchdog.h>
 #include <wdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* SBSA Generic Watchdog register definitions */
 /* refresh frame */
 #define SBSA_GWDT_WRR		0x000
diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
index b32590069d9..438833b2245 100644
--- a/drivers/watchdog/wdt-uclass.c
+++ b/drivers/watchdog/wdt-uclass.c
@@ -14,13 +14,10 @@
 #include <sysreset.h>
 #include <time.h>
 #include <wdt.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <linux/kernel.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define WATCHDOG_TIMEOUT_SECS	(CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000)
 
 struct wdt_priv {
diff --git a/fs/fs.c b/fs/fs.c
index 319c55c440a..8ea50a6c13c 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -24,7 +24,6 @@
 #include <ubifs_uboot.h>
 #include <btrfs.h>
 #include <asm/cache.h>
-#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <linux/math64.h>
@@ -34,8 +33,6 @@
 #include <erofs.h>
 #include <exfat.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct blk_desc *fs_dev_desc;
 static int fs_dev_part;
 static struct disk_partition fs_partition;
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 40bad0e7da7..b0cc0d2e1b2 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -16,7 +16,6 @@
 #include <log.h>
 #include <malloc.h>
 #include <memalign.h>
-#include <asm/global_data.h>
 #include "ubifs.h"
 #include <part.h>
 #include <dm/devres.h>
@@ -31,8 +30,6 @@
 #include <abuf.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* compress.c */
 
 /*
diff --git a/include/relocate.h b/include/relocate.h
index 8ca25e1105e..331be138728 100644
--- a/include/relocate.h
+++ b/include/relocate.h
@@ -8,9 +8,7 @@
 #define _RELOCATE_H_
 
 #ifndef USE_HOSTCC
-#include <asm/global_data.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 #endif
 
 /**
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index 89e63ed8dd5..d66ddd1bbf8 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -21,7 +21,6 @@
 #include <mapmem.h>
 #include <sort.h>
 #include <sysreset.h>
-#include <asm/global_data.h>
 #include <u-boot/uuid.h>
 
 #include <asm/sections.h>
@@ -29,8 +28,6 @@
 #include <crypto/pkcs7_parser.h>
 #include <linux/err.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 const efi_guid_t efi_guid_capsule_report = EFI_CAPSULE_REPORT_GUID;
 static const efi_guid_t efi_guid_firmware_management_capsule_id =
 		EFI_FIRMWARE_MANAGEMENT_CAPSULE_ID_GUID;
diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index 3abb47d610e..9403e09691e 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -13,9 +13,6 @@
 #include <malloc.h>
 #include <mapmem.h>
 #include <video.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 static const efi_guid_t efi_gop_guid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
 
diff --git a/lib/efi_loader/efi_rng.c b/lib/efi_loader/efi_rng.c
index 4734f95eee1..7810b4e47ea 100644
--- a/lib/efi_loader/efi_rng.c
+++ b/lib/efi_loader/efi_rng.c
@@ -10,9 +10,6 @@
 #include <efi_rng.h>
 #include <log.h>
 #include <rng.h>
-#include <asm/global_data.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 const efi_guid_t efi_guid_rng_protocol = EFI_RNG_PROTOCOL_GUID;
 
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index a233912fd8e..5c437143a30 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -14,15 +14,12 @@
 #include <log.h>
 #include <net.h>
 #include <nvmem.h>
-#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <net/pcap.h>
 #include "eth_internal.h"
 #include <eth_phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct eth_device_priv - private structure for each Ethernet device
  *
diff --git a/net/tftp.c b/net/tftp.c
index 78ec44159c1..73d6a6a3c1b 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -16,12 +16,9 @@
 #include <mapmem.h>
 #include <net.h>
 #include <net6.h>
-#include <asm/global_data.h>
 #include <net/tftp.h>
 #include "bootp.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * We cannot use the 'tftpput' command in xPL phases. Given how the
  * support is integrated in the code, this is how we disable that support
diff --git a/net/wget.c b/net/wget.c
index d3642958bf0..49bfb9fcb96 100644
--- a/net/wget.c
+++ b/net/wget.c
@@ -4,7 +4,6 @@
  * Copyright Duncan Hare <dh@synoia.com> 2017
  */
 
-#include <asm/global_data.h>
 #include <command.h>
 #include <display_options.h>
 #include <env.h>
@@ -17,8 +16,6 @@
 #include <net/wget.h>
 #include <stdlib.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* The default, change with environment variable 'httpdstp' */
 #define SERVER_PORT		80
 
diff --git a/test/cmd/exit.c b/test/cmd/exit.c
index fdde054b928..e20bc5f7b98 100644
--- a/test/cmd/exit.c
+++ b/test/cmd/exit.c
@@ -7,11 +7,8 @@
 
 #include <console.h>
 #include <mapmem.h>
-#include <asm/global_data.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Declare a new exit test */
 #define EXIT_TEST(_name, _flags)	UNIT_TEST(_name, _flags, exit)
 
diff --git a/test/cmd/test_echo.c b/test/cmd/test_echo.c
index 8b306cc907f..7ed534742f7 100644
--- a/test/cmd/test_echo.c
+++ b/test/cmd/test_echo.c
@@ -6,14 +6,11 @@
  */
 
 #include <command.h>
-#include <asm/global_data.h>
 #include <display_options.h>
 #include <test/lib.h>
 #include <test/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct test_data {
 	char *cmd;
 	char *expected;
diff --git a/test/cmd/test_pause.c b/test/cmd/test_pause.c
index 174c31a3852..b2cf60d3e74 100644
--- a/test/cmd/test_pause.c
+++ b/test/cmd/test_pause.c
@@ -5,12 +5,9 @@
  * Copyright 2022, Samuel Dionne-Riel <samuel@dionne-riel.com>
  */
 
-#include <asm/global_data.h>
 #include <test/lib.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int lib_test_hush_pause(struct unit_test_state *uts)
 {
 	/* Test default message */
diff --git a/test/dm/blk.c b/test/dm/blk.c
index 1b928b27d9c..f67869107da 100644
--- a/test/dm/blk.c
+++ b/test/dm/blk.c
@@ -8,14 +8,11 @@
 #include <part.h>
 #include <sandbox_host.h>
 #include <usb.h>
-#include <asm/global_data.h>
 #include <asm/state.h>
 #include <dm/test.h>
 #include <test/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test that block devices can be created */
 static int dm_test_blk_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/i3c.c b/test/dm/i3c.c
index 81336e67555..816ecabd722 100644
--- a/test/dm/i3c.c
+++ b/test/dm/i3c.c
@@ -8,8 +8,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Basic test of the i3c uclass */
 static int dm_test_i3c_base(struct unit_test_state *uts)
 {
diff --git a/test/lib/test_print.c b/test/lib/test_print.c
index cd7f3f85769..2aeb034b121 100644
--- a/test/lib/test_print.c
+++ b/test/lib/test_print.c
@@ -7,13 +7,10 @@
 
 #include <command.h>
 #include <display_options.h>
-#include <asm/global_data.h>
 #include <test/lib.h>
 #include <test/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int test_print_freq(struct unit_test_state *uts,
 			   uint64_t freq, char *expected)
 {
diff --git a/test/log/log_filter.c b/test/log/log_filter.c
index 680c60164b6..147b83980cf 100644
--- a/test/log/log_filter.c
+++ b/test/log/log_filter.c
@@ -6,12 +6,9 @@
 #include <console.h>
 #include <log.h>
 #include <vsprintf.h>
-#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test invalid options */
 static int log_test_filter_invalid(struct unit_test_state *uts)
 {
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage
  2026-02-03 11:47 ` [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage Peng Fan (OSS)
@ 2026-02-03 12:44   ` Patrice CHOTARD
  2026-02-04  4:52   ` Anshul Dalal
  2026-02-05  8:46   ` Yao Zi
  2 siblings, 0 replies; 5+ messages in thread
From: Patrice CHOTARD @ 2026-02-03 12:44 UTC (permalink / raw)
  To: Peng Fan (OSS), u-boot, Alexey Brodkin, Eugeniy Paltsev, Tom Rini,
	Stefan Bosch, Ryan Chen, Chia-Wei Wang, Aspeed BMC SW team,
	Joel Stanley, Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
	Neil Armstrong, Marek Vasut, Simon Goldschmidt, Tien Fong Chee,
	Alif Zakuan Yuslaimi, Michal Simek, Daniel Schwierzeck,
	Gregory CLEMENT, Lars Povlsen, Horatiu Vultur, Weijie Gao,
	GSS_MTK_Uboot_upstream, Aaron Williams, Thomas Chou, Rick Chen,
	Leo, Yao Zi, Nobuhiro Iwamatsu, Simon Glass, Bin Meng,
	Max Filippov, Wolfgang Wallner, Ying-Chun Liu (PaulLiu),
	Oliver Graute, Randolph, David Feng, Linus Walleij, Peter Hoyes,
	Liviu Dudau, Adam Ford, Nishanth Menon, Robert Nelson,
	Christophe Leroy, Gilles Talis, Jagan Teki, Matteo Lisi,
	Manoj Sai, Mario Six, Marco Franchi, Alifer Moraes,
	Andre Przywara, Frieder Schrempf, Heiko Thiery, Lukas F. Hartmann,
	Patrick Wildt, Martyn Welch, Ian Ray, Peng Fan, Teresa Remmet,
	Mathieu Othacehe, Christoph Stoidner, Angus Ainslie,
	reviewer:PURISM LIBREM5 PHONE, Stephan Gerhold, Sam Day,
	Casey Connolly, Sumit Garg, Jorge Ramirez-Ortiz, Ilko Iliev,
	Kamil Lulko, Patrick Delaunay, Dario Binacchi, Dillon Min,
	Bryan Brattlof, Vignesh Raghavendra, Apurva Nandan,
	Francesco Dolcini, Heinrich Schuchardt, Ilias Apalodimas,
	Lukasz Majewski, Philipp Tomsich, Kever Yang, Ryder Lee,
	Chunfeng Yun, Igor Belwon, Abdellatif El Khlifi, Heiko Schocher,
	Masahisa Kojima, Alex Nemirovsky, Jaehoon Chung,
	Michael Trimarchi, Tudor Ambarus, Joe Hershberger, Ramon Fried,
	Jerome Forissier, Minda Chen, Hal Feng, Stefan Roese,
	Nathan Barrett-Morrison, Greg Malysa, Ian Roberts,
	Vasileios Bimpikas, Utsav Agarwal, Arturs Artamonovs,
	Anastasiia Lukianenko, Oleksandr Andrushchenko, Thierry Reding,
	Svyatoslav Ryhel, Mateusz Kulikowski, Sebastian Reichel,
	Anatolij Gustschin, Brian Sune, Tingting Meng, Boon Khai Ng,
	Mahesh Rao, Ye Li, Naresh Kumar Ravulapalli, Jeremy Compostella,
	Bernhard Messerklinger, Debbie Horsfall, Harrison Mutai,
	Jonathan Humphreys, Mattijs Korpershoek, Wadim Egorov,
	Sam Protsenko, Anshul Dalal, Alice Guo, Francesco Valla,
	Mathieu Dubois-Briand, Benjamin Hahn, Yannic Moog, Primoz Fiser,
	Hai Pham, Guillaume La Roque (TI.com), Vishal Mahaveer, Keerthy,
	Andrew Halaney, Vitor Soares, Emanuele Ghidoli, Mayuresh Chitale,
	Maxim Moskalets, Jonas Karlman, Mark Kettenis, Adriano Cordova,
	Osama Abdelkader, Rasmus Villemoes, Anton Moryakov,
	Andrew Goodbody, Muhammad Hazim Izzat Zamri, Quentin Schulz,
	Joseph Chen, Finley Xiao, Elaine Zhang, Heiko Stuebner,
	David Zang, Viorel Suman, Sky Huang, Lucien.Jheng, Loic Poulain,
	Varadarajan Narayanan, Alexander Feilke, Markus Niebel,
	Alexander Stein, Christoph Fritz, Siddharth Vadapalli,
	Sai Varun Venkatapuram, E Shattow, Miquel Raynal, Paul Geurts,
	J. Neuschäfer, Aswin Murugan, Eoin Dickson, Brian Ruley,
	Swamil Jain, Zixun LI, Antonio Borneo, Gabriel Dalimonte,
	Sughosh Ganu, Timo tp Preißl, Alexander Graf,
	Alper Nebi Yasak, Alexander Sverdlin, Alvin Šipraga,
	Leonard Anderweit, Dinesh Maniyam, open list:ARC,
	open list:ARM AMLOGIC SOC SUPPORT,
	open list:DH electronics DHCOM i.MX8M Plus and matching c...,
	open list:Libra-i.MX 8M Plus, open list:ARM SNAPDRAGON,
	moderated list:ARM STM STM32MP, open list:ARM SC5XX



On 2/3/26 12:47, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and
> drop the unnecessary inclusion of asm/global_data.h.
> 
> Headers should be included directly by the files that need them,
> rather than indirectly via global_data.h.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---

[...]
>  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 ---
>  drivers/ram/stm32mp1/stm32mp1_tests.c                       | 3 ---

For STMicroelectronics boards and STM32MP1 ram test driver:

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>



Thanks
Patrice

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage
  2026-02-03 11:47 ` [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage Peng Fan (OSS)
  2026-02-03 12:44   ` Patrice CHOTARD
@ 2026-02-04  4:52   ` Anshul Dalal
  2026-02-05  8:46   ` Yao Zi
  2 siblings, 0 replies; 5+ messages in thread
From: Anshul Dalal @ 2026-02-04  4:52 UTC (permalink / raw)
  To: Peng Fan (OSS), u-boot, Alexey Brodkin, Eugeniy Paltsev, Tom Rini,
	Stefan Bosch, Ryan Chen, Chia-Wei Wang, Aspeed BMC SW team,
	Joel Stanley, Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
	Neil Armstrong, Marek Vasut, Simon Goldschmidt, Tien Fong Chee,
	Alif Zakuan Yuslaimi, Michal Simek, Daniel Schwierzeck,
	Gregory CLEMENT, Lars Povlsen, Horatiu Vultur, Weijie Gao,
	GSS_MTK_Uboot_upstream, Aaron Williams, Thomas Chou, Rick Chen,
	Leo, Yao Zi, Nobuhiro Iwamatsu, Simon Glass, Bin Meng,
	Max Filippov, Wolfgang Wallner, Ying-Chun Liu (PaulLiu),
	Oliver Graute, Randolph, David Feng, Linus Walleij, Peter Hoyes,
	Liviu Dudau, Adam Ford, Nishanth Menon, Robert Nelson,
	Christophe Leroy, Gilles Talis, Jagan Teki, Matteo Lisi,
	Manoj Sai, Mario Six, Marco Franchi, Alifer Moraes,
	Andre Przywara, Frieder Schrempf, Heiko Thiery, Lukas F. Hartmann,
	Patrick Wildt, Martyn Welch, Ian Ray, Peng Fan, Teresa Remmet,
	Mathieu Othacehe, Christoph Stoidner, Angus Ainslie,
	reviewer:PURISM LIBREM5 PHONE, Stephan Gerhold, Sam Day,
	Casey Connolly, Sumit Garg, Jorge Ramirez-Ortiz, Ilko Iliev,
	Kamil Lulko, Patrick Delaunay, Patrice Chotard, Dario Binacchi,
	Dillon Min, Bryan Brattlof, Vignesh Raghavendra, Apurva Nandan,
	Francesco Dolcini, Heinrich Schuchardt, Ilias Apalodimas,
	Lukasz Majewski, Philipp Tomsich, Kever Yang, Ryder Lee,
	Chunfeng Yun, Igor Belwon, Abdellatif El Khlifi, Heiko Schocher,
	Masahisa Kojima, Alex Nemirovsky, Jaehoon Chung,
	Michael Trimarchi, Tudor Ambarus, Joe Hershberger, Ramon Fried,
	Jerome Forissier, Minda Chen, Hal Feng, Stefan Roese,
	Nathan Barrett-Morrison, Greg Malysa, Ian Roberts,
	Vasileios Bimpikas, Utsav Agarwal, Arturs Artamonovs,
	Anastasiia Lukianenko, Oleksandr Andrushchenko, Thierry Reding,
	Svyatoslav Ryhel, Mateusz Kulikowski, Sebastian Reichel,
	Anatolij Gustschin, Brian Sune, Tingting Meng, Boon Khai Ng,
	Mahesh Rao, Ye Li, Naresh Kumar Ravulapalli, Jeremy Compostella,
	Bernhard Messerklinger, Debbie Horsfall, Harrison Mutai,
	Jonathan Humphreys, Mattijs Korpershoek, Wadim Egorov,
	Sam Protsenko, Anshul Dalal, Alice Guo, Francesco Valla,
	Mathieu Dubois-Briand, Benjamin Hahn, Yannic Moog, Primoz Fiser,
	Hai Pham, Guillaume La Roque (TI.com), Vishal Mahaveer, Keerthy,
	Andrew Halaney, Vitor Soares, Emanuele Ghidoli, Mayuresh Chitale,
	Maxim Moskalets, Jonas Karlman, Mark Kettenis, Adriano Cordova,
	Osama Abdelkader, Rasmus Villemoes, Anton Moryakov,
	Andrew Goodbody, Muhammad Hazim Izzat Zamri, Quentin Schulz,
	Joseph Chen, Finley Xiao, Elaine Zhang, Heiko Stuebner,
	David Zang, Viorel Suman, Sky Huang, Lucien.Jheng, Loic Poulain,
	Varadarajan Narayanan, Alexander Feilke, Markus Niebel,
	Alexander Stein, Christoph Fritz, Siddharth Vadapalli,
	Sai Varun Venkatapuram, E Shattow, Miquel Raynal, Paul Geurts,
	J. Neuschäfer, Aswin Murugan, Eoin Dickson, Brian Ruley,
	Swamil Jain, Zixun LI, Antonio Borneo, Gabriel Dalimonte,
	Sughosh Ganu, Timo tp Preißl, Alexander Graf,
	Alper Nebi Yasak, Alexander Sverdlin, Alvin Šipraga,
	Leonard Anderweit, Dinesh Maniyam, open list:ARC,
	open list:ARM AMLOGIC SOC SUPPORT,
	open list:DH electronics DHCOM i.MX8M Plus and matching c...,
	open list:Libra-i.MX 8M Plus, open list:ARM SNAPDRAGON,
	moderated list:ARM STM STM32MP, open list:ARM SC5XX

On Tue Feb 3, 2026 at 5:17 PM IST, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and
> drop the unnecessary inclusion of asm/global_data.h.
>
> Headers should be included directly by the files that need them,
> rather than indirectly via global_data.h.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  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                   | 3 ---
>  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/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/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/spl.c                                   | 3 ---
>  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_sbc.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/mntre/imx8mq_reform2/imx8mq_reform2.c                 | 3 ---
>  board/msc/sm2s_imx8mp/sm2s_imx8mp.c                         | 2 --
>  board/msc/sm2s_imx8mp/spl.c                                 | 3 ---
>  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                          | 3 ---
>  board/renesas/common/gen4-common.c                          | 3 ---
>  board/renesas/common/gen5-common.c                          | 3 ---
>  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 --

For board/ti/*:

Tested-by: Anshul Dalal <anshuld@ti.com>

>  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/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                                                   | 3 ---
>  cmd/sound.c                                                 | 3 ---
>  cmd/spl.c                                                   | 3 ---
>  common/cli_hush.c                                           | 3 ---
>  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_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                                       | 3 ---
>  293 files changed, 826 deletions(-)
>
> diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
> index b143392ee6c..91bce5235a5 100644
> --- a/arch/arc/lib/bootm.c
> +++ b/arch/arc/lib/bootm.c
> @@ -10,9 +10,6 @@
>  #include <irq_func.h>
>  #include <log.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static int cleanup_before_linux(void)
>  {
> diff --git a/arch/arm/cpu/armv7/s5p4418/cpu.c b/arch/arm/cpu/armv7/s5p4418/cpu.c
> index 27ffb450378..2c550439559 100644
> --- a/arch/arm/cpu/armv7/s5p4418/cpu.c
> +++ b/arch/arm/cpu/armv7/s5p4418/cpu.c
> @@ -7,7 +7,6 @@
>  #include <command.h>
>  #include <asm/system.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <asm/sections.h>
>  #include <asm/io.h>
>  #include <asm/arch/nexell.h>
> @@ -15,8 +14,6 @@
>  #include <asm/arch/tieoff.h>
>  #include <cpu_func.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifndef	CONFIG_ARCH_CPU_INIT
>  #error must be define the macro "CONFIG_ARCH_CPU_INIT"
>  #endif
> diff --git a/arch/arm/mach-aspeed/ast2600/spl.c b/arch/arm/mach-aspeed/ast2600/spl.c
> index 0c5a82ed094..60f2c5d291e 100644
> --- a/arch/arm/mach-aspeed/ast2600/spl.c
> +++ b/arch/arm/mach-aspeed/ast2600/spl.c
> @@ -9,9 +9,6 @@
>  #include <linux/err.h>
>  #include <asm/io.h>
>  #include <asm/arch/scu_ast2600.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  void board_init_f(ulong dummy)
>  {
> diff --git a/arch/arm/mach-imx/imx8/clock.c b/arch/arm/mach-imx/imx8/clock.c
> index 4e49b5bf375..e37d3bf31e4 100644
> --- a/arch/arm/mach-imx/imx8/clock.c
> +++ b/arch/arm/mach-imx/imx8/clock.c
> @@ -3,12 +3,9 @@
>   * Copyright 2018 NXP
>   */
>  
> -#include <asm/global_data.h>
>  #include <linux/errno.h>
>  #include <asm/arch/clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u32 mxc_get_clock(enum mxc_clock clk)
>  {
>  	switch (clk) {
> diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
> index ce78c8ce919..8337edc2f62 100644
> --- a/arch/arm/mach-imx/imx8/fdt.c
> +++ b/arch/arm/mach-imx/imx8/fdt.c
> @@ -6,7 +6,6 @@
>  #include <log.h>
>  #include <firmware/imx/sci/sci.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <dm/ofnode.h>
>  #include <fdt_support.h>
>  #include <linux/libfdt.h>
> @@ -14,8 +13,6 @@
>  #include <cpu.h>
>  #include <dm.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static bool check_owned_resource(sc_rsrc_t rsrc_id)
>  {
>  	bool owned;
> diff --git a/arch/arm/mach-imx/imx8/iomux.c b/arch/arm/mach-imx/imx8/iomux.c
> index 3e27d75827a..b6175a50226 100644
> --- a/arch/arm/mach-imx/imx8/iomux.c
> +++ b/arch/arm/mach-imx/imx8/iomux.c
> @@ -4,13 +4,10 @@
>   */
>  
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/iomux.h>
>  #include <firmware/imx/sci/sci.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * configures a single pad in the iomuxer
>   */
> diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
> index 77c8efc7899..b7b3702041e 100644
> --- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c
> +++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <div64.h>
>  #include <errno.h>
> @@ -16,8 +15,6 @@
>  #include <linux/delay.h>
>  #include <phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct anamix_pll *ana_pll = (struct anamix_pll *)ANATOP_BASE_ADDR;
>  
>  static u32 get_root_clk(enum clk_root_index clock_id);
> diff --git a/arch/arm/mach-imx/imx8ulp/cgc.c b/arch/arm/mach-imx/imx8ulp/cgc.c
> index f9d8ed5b048..69585a3605b 100644
> --- a/arch/arm/mach-imx/imx8ulp/cgc.c
> +++ b/arch/arm/mach-imx/imx8ulp/cgc.c
> @@ -10,12 +10,9 @@
>  #include <asm/arch/cgc.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <hang.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct cgc1_regs *cgc1_regs = (struct cgc1_regs *)0x292C0000UL;
>  static struct cgc2_regs *cgc2_regs = (struct cgc2_regs *)0x2da60000UL;
>  
> diff --git a/arch/arm/mach-imx/imx8ulp/clock.c b/arch/arm/mach-imx/imx8ulp/clock.c
> index c390f20d769..1b5cbd56f50 100644
> --- a/arch/arm/mach-imx/imx8ulp/clock.c
> +++ b/arch/arm/mach-imx/imx8ulp/clock.c
> @@ -12,11 +12,8 @@
>  #include <asm/arch/pcc.h>
>  #include <asm/arch/cgc.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PLL_USB_EN_USB_CLKS_MASK	(0x01 << 6)
>  #define PLL_USB_PWR_MASK		(0x01 << 12)
>  #define PLL_USB_ENABLE_MASK		(0x01 << 13)
> diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c
> index e65cabef2c9..14a2bdf5762 100644
> --- a/arch/arm/mach-imx/imx9/clock.c
> +++ b/arch/arm/mach-imx/imx9/clock.c
> @@ -10,7 +10,6 @@
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/ccm_regs.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <div64.h>
>  #include <errno.h>
> @@ -19,8 +18,6 @@
>  #include <log.h>
>  #include <phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct anatop_reg *ana_regs = (struct anatop_reg *)ANATOP_BASE_ADDR;
>  
>  static struct imx_intpll_rate_table imx9_intpll_tbl[] = {
> diff --git a/arch/arm/mach-imx/imx9/clock_root.c b/arch/arm/mach-imx/imx9/clock_root.c
> index 5dbc398e97f..acf79a40584 100644
> --- a/arch/arm/mach-imx/imx9/clock_root.c
> +++ b/arch/arm/mach-imx/imx9/clock_root.c
> @@ -11,11 +11,8 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <linux/iopoll.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct ccm_reg *ccm_reg = (struct ccm_reg *)CCM_BASE_ADDR;
>  
>  static enum ccm_clk_src clk_root_mux[][4] = {
> diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c
> index 7452b82f110..90d91b2300a 100644
> --- a/arch/arm/mach-imx/misc.c
> +++ b/arch/arm/mach-imx/misc.c
> @@ -6,14 +6,11 @@
>  #include <lmb.h>
>  #include <log.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/errno.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/regs-common.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* 1 second delay should be plenty of time for block reset. */
>  #define	RESET_MAX_TIMEOUT	1000000
>  
> diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
> index b7008df8e35..d36536e600e 100644
> --- a/arch/arm/mach-imx/spl_imx_romapi.c
> +++ b/arch/arm/mach-imx/spl_imx_romapi.c
> @@ -7,13 +7,10 @@
>  #include <image.h>
>  #include <imx_container.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <linux/libfdt.h>
>  #include <spl.h>
>  #include <asm/arch/sys_proto.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Caller need ensure the offset and size to align with page size */
>  ulong spl_romapi_raw_seekable_read(u32 offset, u32 size, void *buf)
>  {
> diff --git a/arch/arm/mach-meson/board-axg.c b/arch/arm/mach-meson/board-axg.c
> index 6535539184c..542792cad1b 100644
> --- a/arch/arm/mach-meson/board-axg.c
> +++ b/arch/arm/mach-meson/board-axg.c
> @@ -10,13 +10,10 @@
>  #include <asm/arch/eth.h>
>  #include <asm/arch/axg.h>
>  #include <asm/arch/mem.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/armv8/mmu.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int meson_get_boot_device(void)
>  {
>  	return readl(AXG_AO_SEC_GP_CFG0) & AXG_AO_BOOT_DEVICE;
> diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c
> index dc4abe1e107..17722cb897d 100644
> --- a/arch/arm/mach-meson/board-g12a.c
> +++ b/arch/arm/mach-meson/board-g12a.c
> @@ -12,13 +12,10 @@
>  #include <asm/arch/g12a.h>
>  #include <asm/arch/mem.h>
>  #include <asm/arch/meson-vpu.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/armv8/mmu.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int meson_get_boot_device(void)
>  {
>  	return readl(G12A_AO_SEC_GP_CFG0) & G12A_AO_BOOT_DEVICE;
> diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
> index 0370ed57e20..d5c506df22b 100644
> --- a/arch/arm/mach-meson/board-gx.c
> +++ b/arch/arm/mach-meson/board-gx.c
> @@ -11,14 +11,11 @@
>  #include <asm/arch/gx.h>
>  #include <asm/arch/mem.h>
>  #include <asm/arch/meson-vpu.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/armv8/mmu.h>
>  #include <linux/printk.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int meson_get_boot_device(void)
>  {
>  	return readl(GX_AO_SEC_GP_CFG0) & GX_AO_BOOT_DEVICE;
> diff --git a/arch/arm/mach-socfpga/clock_manager_agilex.c b/arch/arm/mach-socfpga/clock_manager_agilex.c
> index 9987d5bcee6..95c7f044952 100644
> --- a/arch/arm/mach-socfpga/clock_manager_agilex.c
> +++ b/arch/arm/mach-socfpga/clock_manager_agilex.c
> @@ -10,12 +10,9 @@
>  #include <malloc.h>
>  #include <asm/arch/clock_manager.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dt-bindings/clock/agilex-clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static ulong cm_get_rate_dm(u32 id)
>  {
>  	struct udevice *dev;
> diff --git a/arch/arm/mach-socfpga/clock_manager_agilex5.c b/arch/arm/mach-socfpga/clock_manager_agilex5.c
> index 7ec28d91ef3..fa068a9eeb1 100644
> --- a/arch/arm/mach-socfpga/clock_manager_agilex5.c
> +++ b/arch/arm/mach-socfpga/clock_manager_agilex5.c
> @@ -14,7 +14,6 @@
>  #include <stdio.h>
>  #include <time.h>
>  #include <vsprintf.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/kernel.h>
>  #include <linux/string.h>
> @@ -23,8 +22,6 @@
>  #include <asm/arch/system_manager.h>
>  #include <dt-bindings/clock/agilex5-clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static ulong cm_get_rate_dm(u32 id)
>  {
>  	struct udevice *dev;
> diff --git a/arch/arm/mach-socfpga/clock_manager_n5x.c b/arch/arm/mach-socfpga/clock_manager_n5x.c
> index c4c071330fc..8e47b4b8f5b 100644
> --- a/arch/arm/mach-socfpga/clock_manager_n5x.c
> +++ b/arch/arm/mach-socfpga/clock_manager_n5x.c
> @@ -6,15 +6,12 @@
>  
>  #include <asm/arch/clock_manager.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <clk.h>
>  #include <dm.h>
>  #include <dt-bindings/clock/n5x-clock.h>
>  #include <malloc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static ulong cm_get_rate_dm(u32 id)
>  {
>  	struct udevice *dev;
> diff --git a/arch/arm/mach-socfpga/clock_manager_s10.c b/arch/arm/mach-socfpga/clock_manager_s10.c
> index d6c64e98010..fd27470f967 100644
> --- a/arch/arm/mach-socfpga/clock_manager_s10.c
> +++ b/arch/arm/mach-socfpga/clock_manager_s10.c
> @@ -7,14 +7,11 @@
>  #include <compiler.h>
>  #include <dm/device.h>
>  #include <linux/errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock_manager.h>
>  #include <asm/arch/handoff_soc64.h>
>  #include <asm/arch/system_manager.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * function to write the bypass register which requires a poll of the
>   * busy bit
> diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
> index f9c34e85711..5e8768168d3 100644
> --- a/arch/arm/mach-socfpga/mailbox_s10.c
> +++ b/arch/arm/mach-socfpga/mailbox_s10.c
> @@ -8,15 +8,12 @@
>  #include <asm/arch/mailbox_s10.h>
>  #include <asm/arch/smc_api.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/secure.h>
>  #include <asm/system.h>
>  #include <hang.h>
>  #include <wait_bit.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define MBOX_READL(reg)			\
>  	 readl(SOCFPGA_MAILBOX_ADDRESS + (reg))
>  
> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
> index 5259ef54d73..ae33051c00f 100644
> --- a/arch/arm/mach-socfpga/misc_gen5.c
> +++ b/arch/arm/mach-socfpga/misc_gen5.c
> @@ -6,7 +6,6 @@
>  #include <config.h>
>  #include <cpu_func.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <env.h>
>  #include <errno.h>
> @@ -28,8 +27,6 @@
>  
>  #include <dt-bindings/reset/altr,rst-mgr.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct pl310_regs *const pl310 =
>  	(struct pl310_regs *)CFG_SYS_PL310_BASE;
>  static struct nic301_registers *nic301_regs =
> diff --git a/arch/arm/mach-socfpga/misc_soc64.c b/arch/arm/mach-socfpga/misc_soc64.c
> index 5222b384434..356240a647e 100644
> --- a/arch/arm/mach-socfpga/misc_soc64.c
> +++ b/arch/arm/mach-socfpga/misc_soc64.c
> @@ -17,11 +17,8 @@
>  #include <asm/arch/system_manager.h>
>  #include <asm/io.h>
>  #include <asm/system.h>
> -#include <asm/global_data.h>
>  #include <mach/clock_manager.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Agilex5 Sub Device Jtag ID List */
>  #define A3690_JTAG_ID	0x036090DD
>  #define A3694_JTAG_ID	0x436090DD
> diff --git a/arch/arm/mach-socfpga/mmu-arm64_s10.c b/arch/arm/mach-socfpga/mmu-arm64_s10.c
> index 1dc44ab4797..1a7f8d42415 100644
> --- a/arch/arm/mach-socfpga/mmu-arm64_s10.c
> +++ b/arch/arm/mach-socfpga/mmu-arm64_s10.c
> @@ -5,9 +5,6 @@
>   */
>  
>  #include <asm/armv8/mmu.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  #if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
>  static struct mm_region socfpga_agilex5_mem_map[] = {
> diff --git a/arch/arm/mach-socfpga/reset_manager_s10.c b/arch/arm/mach-socfpga/reset_manager_s10.c
> index abb62a9b49f..7e1ecc1cd1d 100644
> --- a/arch/arm/mach-socfpga/reset_manager_s10.c
> +++ b/arch/arm/mach-socfpga/reset_manager_s10.c
> @@ -7,7 +7,6 @@
>  
>  #include <errno.h>
>  #include <hang.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/secure.h>
>  #include <asm/arch/reset_manager.h>
> @@ -20,8 +19,6 @@
>  #include <linux/intel-smc.h>
>  #include <wait_bit.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define TIMEOUT_300MS     300
>  
>  /* F2S manager registers */
> diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c
> index 48f258a37b4..53a9aa55f80 100644
> --- a/arch/arm/mach-socfpga/spl_agilex.c
> +++ b/arch/arm/mach-socfpga/spl_agilex.c
> @@ -7,7 +7,6 @@
>  
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/utils.h>
>  #include <hang.h>
> @@ -22,8 +21,6 @@
>  #include <wdt.h>
>  #include <dm/uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u32 reset_flag(u32 flag)
>  {
>  	/* Check rstmgr.stat for warm reset status */
> diff --git a/arch/arm/mach-socfpga/spl_agilex5.c b/arch/arm/mach-socfpga/spl_agilex5.c
> index 1be347360f5..2c3e40b664a 100644
> --- a/arch/arm/mach-socfpga/spl_agilex5.c
> +++ b/arch/arm/mach-socfpga/spl_agilex5.c
> @@ -6,7 +6,6 @@
>   */
>  
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <hang.h>
>  #include <spl.h>
> @@ -19,8 +18,6 @@
>  #include <wdt.h>
>  #include <dm/uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u32 reset_flag(u32 flag)
>  {
>  	/* Check rstmgr.stat for warm reset status */
> diff --git a/arch/arm/mach-socfpga/spl_agilex7m.c b/arch/arm/mach-socfpga/spl_agilex7m.c
> index 90065ccee6f..7371202a712 100644
> --- a/arch/arm/mach-socfpga/spl_agilex7m.c
> +++ b/arch/arm/mach-socfpga/spl_agilex7m.c
> @@ -15,14 +15,11 @@
>  #include <asm/arch/misc.h>
>  #include <asm/arch/reset_manager.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/u-boot.h>
>  #include <asm/utils.h>
>  #include <dm/uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void board_init_f(ulong dummy)
>  {
>  	int ret;
> diff --git a/arch/arm/mach-socfpga/spl_gen5.c b/arch/arm/mach-socfpga/spl_gen5.c
> index df79cfe0f7f..08b756db2ca 100644
> --- a/arch/arm/mach-socfpga/spl_gen5.c
> +++ b/arch/arm/mach-socfpga/spl_gen5.c
> @@ -6,7 +6,6 @@
>  #include <hang.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/utils.h>
>  #include <image.h>
> @@ -25,8 +24,6 @@
>  #include <dm/uclass.h>
>  #include <linux/bitops.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u32 spl_boot_device(void)
>  {
>  	const u32 bsel = readl(socfpga_get_sysmgr_addr() +
> diff --git a/arch/arm/mach-socfpga/spl_n5x.c b/arch/arm/mach-socfpga/spl_n5x.c
> index 81283ef7162..a49be837921 100644
> --- a/arch/arm/mach-socfpga/spl_n5x.c
> +++ b/arch/arm/mach-socfpga/spl_n5x.c
> @@ -10,7 +10,6 @@
>  #include <asm/arch/misc.h>
>  #include <asm/arch/reset_manager.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/utils.h>
>  #include <dm/uclass.h>
> @@ -20,8 +19,6 @@
>  #include <spl.h>
>  #include <watchdog.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void board_init_f(ulong dummy)
>  {
>  	int ret;
> diff --git a/arch/arm/mach-socfpga/spl_s10.c b/arch/arm/mach-socfpga/spl_s10.c
> index fa83ff96adc..a0d3c96d456 100644
> --- a/arch/arm/mach-socfpga/spl_s10.c
> +++ b/arch/arm/mach-socfpga/spl_s10.c
> @@ -7,7 +7,6 @@
>  #include <hang.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/utils.h>
>  #include <debug_uart.h>
> @@ -22,8 +21,6 @@
>  #include <watchdog.h>
>  #include <dm/uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void board_init_f(ulong dummy)
>  {
>  	const struct cm_config *cm_default_cfg = cm_get_default_config();
> diff --git a/arch/arm/mach-socfpga/system_manager_soc64.c b/arch/arm/mach-socfpga/system_manager_soc64.c
> index 913f93c8f94..a5c0387190b 100644
> --- a/arch/arm/mach-socfpga/system_manager_soc64.c
> +++ b/arch/arm/mach-socfpga/system_manager_soc64.c
> @@ -6,12 +6,9 @@
>  
>  #include <asm/arch/handoff_soc64.h>
>  #include <asm/arch/system_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/bitfield.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
>  /*
>   * Setting RESET_PULSE_OVERRIDE bit for successful reset staggering pulse
> diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
> index 4879a41aab3..2410515f4ac 100644
> --- a/arch/microblaze/lib/bootm.c
> +++ b/arch/microblaze/lib/bootm.c
> @@ -17,12 +17,9 @@
>  #include <image.h>
>  #include <log.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <u-boot/zlib.h>
>  #include <asm/byteorder.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void boot_jump_linux(struct bootm_headers *images, int flag)
>  {
>  	void (*thekernel)(char *cmdline, ulong rd, ulong dt);
> diff --git a/arch/mips/mach-ath79/qca956x/ddr.c b/arch/mips/mach-ath79/qca956x/ddr.c
> index 2e46e24f483..754e2573e37 100644
> --- a/arch/mips/mach-ath79/qca956x/ddr.c
> +++ b/arch/mips/mach-ath79/qca956x/ddr.c
> @@ -5,7 +5,6 @@
>   * Based on QSDK
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/addrspace.h>
>  #include <asm/types.h>
> @@ -182,8 +181,6 @@
>  	DDR_CTL_CONFIG_MISC_SRC1_SRAM_SYNC_SET(0x1) | \
>  	DDR_CTL_CONFIG_MISC_SRC2_SRAM_SYNC_SET(0x1)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void qca956x_ddr_init(void)
>  {
>  	u32 ddr_config, ddr_config2, ddr_config3, mod_val, \
> diff --git a/arch/mips/mach-mscc/cpu.c b/arch/mips/mach-mscc/cpu.c
> index 22b1b98e0ef..8ae6fb9437a 100644
> --- a/arch/mips/mach-mscc/cpu.c
> +++ b/arch/mips/mach-mscc/cpu.c
> @@ -4,7 +4,6 @@
>   */
>  
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/bitops.h>
>  
>  #include <asm/io.h>
> @@ -14,8 +13,6 @@
>  #include <mach/tlb.h>
>  #include <mach/ddr.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if CFG_SYS_SDRAM_SIZE <= SZ_64M
>  #define MSCC_RAM_TLB_SIZE   SZ_64M
>  #define MSCC_ATTRIB2   MMU_REGIO_INVAL
> diff --git a/arch/mips/mach-mtmips/ddr_cal.c b/arch/mips/mach-mtmips/ddr_cal.c
> index e2e1760a646..5fc4e0c49e8 100644
> --- a/arch/mips/mach-mtmips/ddr_cal.c
> +++ b/arch/mips/mach-mtmips/ddr_cal.c
> @@ -7,13 +7,10 @@
>  
>  #include <asm/addrspace.h>
>  #include <asm/cacheops.h>
> -#include <asm/global_data.h>
>  #include <linux/bitops.h>
>  #include <linux/io.h>
>  #include <mach/mc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define COARSE_MIN_START	6
>  #define FINE_MIN_START		15
>  #define COARSE_MAX_START	7
> diff --git a/arch/mips/mach-octeon/cvmx-pko.c b/arch/mips/mach-octeon/cvmx-pko.c
> index 8a9181362bd..432488f7815 100644
> --- a/arch/mips/mach-octeon/cvmx-pko.c
> +++ b/arch/mips/mach-octeon/cvmx-pko.c
> @@ -52,8 +52,6 @@
>  #include <mach/cvmx-helper-pki.h>
>  #include <mach/cvmx-helper-pko.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define CVMX_PKO_NQ_PER_PORT_MAX 32
>  
>  static cvmx_pko_return_value_t cvmx_pko2_config_port(short ipd_port,
> diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c
> index 71319839ba2..294ebfb508b 100644
> --- a/arch/nios2/lib/bootm.c
> +++ b/arch/nios2/lib/bootm.c
> @@ -10,9 +10,6 @@
>  #include <image.h>
>  #include <irq_func.h>
>  #include <log.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  #define NIOS_MAGIC 0x534f494e /* enable command line and initrd passing */
>  
> diff --git a/arch/riscv/cpu/andes/spl.c b/arch/riscv/cpu/andes/spl.c
> index a13dc4095a4..1e19fad9288 100644
> --- a/arch/riscv/cpu/andes/spl.c
> +++ b/arch/riscv/cpu/andes/spl.c
> @@ -8,11 +8,8 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/system.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if CONFIG_IS_ENABLED(RAM_SUPPORT)
>  struct legacy_img_hdr *spl_get_load_buffer(ssize_t offset, size_t size)
>  {
> diff --git a/arch/riscv/cpu/cv1800b/dram.c b/arch/riscv/cpu/cv1800b/dram.c
> index 91007c0a3d3..5d7659887b9 100644
> --- a/arch/riscv/cpu/cv1800b/dram.c
> +++ b/arch/riscv/cpu/cv1800b/dram.c
> @@ -5,11 +5,8 @@
>  
>  #include <fdtdec.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	return fdtdec_setup_mem_size_base();
> diff --git a/arch/riscv/cpu/generic/dram.c b/arch/riscv/cpu/generic/dram.c
> index 91007c0a3d3..5d7659887b9 100644
> --- a/arch/riscv/cpu/generic/dram.c
> +++ b/arch/riscv/cpu/generic/dram.c
> @@ -5,11 +5,8 @@
>  
>  #include <fdtdec.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	return fdtdec_setup_mem_size_base();
> diff --git a/arch/riscv/cpu/k230/dram.c b/arch/riscv/cpu/k230/dram.c
> index b2d3e4fd6a9..5d7659887b9 100644
> --- a/arch/riscv/cpu/k230/dram.c
> +++ b/arch/riscv/cpu/k230/dram.c
> @@ -3,13 +3,10 @@
>   * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
>   */
>  
> -#include <asm/global_data.h>
>  #include <fdtdec.h>
>  #include <init.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	return fdtdec_setup_mem_size_base();
> diff --git a/arch/riscv/cpu/th1520/spl.c b/arch/riscv/cpu/th1520/spl.c
> index b95470485f6..ceb934021d9 100644
> --- a/arch/riscv/cpu/th1520/spl.c
> +++ b/arch/riscv/cpu/th1520/spl.c
> @@ -10,8 +10,6 @@
>  #include <log.h>
>  #include <init.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define TH1520_SUBSYS_CLK		(void __iomem *)(0xffff011000 + 0x220)
>  #define  TH1520_SUBSYS_CLK_VO_EN	BIT(2)
>  #define  TH1520_SUBSYS_CLK_VI_EN	BIT(1)
> diff --git a/arch/sh/lib/bootm.c b/arch/sh/lib/bootm.c
> index bb0f59e0aa2..1c118870dad 100644
> --- a/arch/sh/lib/bootm.c
> +++ b/arch/sh/lib/bootm.c
> @@ -13,11 +13,8 @@
>  #include <env.h>
>  #include <image.h>
>  #include <asm/byteorder.h>
> -#include <asm/global_data.h>
>  #include <asm/zimage.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifdef CONFIG_SH_SDRAM_OFFSET
>  #define GET_INITRD_START(initrd, linux) (initrd - linux + CONFIG_SH_SDRAM_OFFSET)
>  #else
> diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
> index b72de96a277..ed0ad686b3f 100644
> --- a/arch/x86/cpu/ivybridge/model_206ax.c
> +++ b/arch/x86/cpu/ivybridge/model_206ax.c
> @@ -14,7 +14,6 @@
>  #include <asm/cpu.h>
>  #include <asm/cpu_common.h>
>  #include <asm/cpu_x86.h>
> -#include <asm/global_data.h>
>  #include <asm/msr.h>
>  #include <asm/msr-index.h>
>  #include <asm/mtrr.h>
> @@ -23,8 +22,6 @@
>  #include <asm/turbo.h>
>  #include <asm/arch/model_206ax.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void enable_vmx(void)
>  {
>  	struct cpuid_result regs;
> diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
> index bd0efde00c1..96943cb8c46 100644
> --- a/arch/x86/lib/init_helpers.c
> +++ b/arch/x86/lib/init_helpers.c
> @@ -5,13 +5,10 @@
>   */
>  
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/errno.h>
>  #include <asm/mtrr.h>
>  #include <asm/u-boot-x86.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int init_cache_f_r(void)
>  {
>  	bool do_mtrr = CONFIG_IS_ENABLED(X86_32BIT_INIT) ||
> diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
> index 2ea9bcf59c2..a5f2231aa52 100644
> --- a/arch/x86/lib/zimage.c
> +++ b/arch/x86/lib/zimage.c
> @@ -30,7 +30,6 @@
>  #include <asm/bootm.h>
>  #include <asm/bootparam.h>
>  #include <asm/efi.h>
> -#include <asm/global_data.h>
>  #ifdef CONFIG_SYS_COREBOOT
>  #include <asm/arch/timestamp.h>
>  #endif
> @@ -38,8 +37,6 @@
>  #include <linux/ctype.h>
>  #include <linux/libfdt.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * Memory lay-out:
>   *
> diff --git a/arch/xtensa/lib/time.c b/arch/xtensa/lib/time.c
> index 319635c6b09..1fe33a4c62b 100644
> --- a/arch/xtensa/lib/time.c
> +++ b/arch/xtensa/lib/time.c
> @@ -5,12 +5,9 @@
>  
>  #include <clock_legacy.h>
>  #include <time.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/stringify.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if XCHAL_HAVE_CCOUNT
>  static ulong get_ccount(void)
>  {
> diff --git a/board/BuR/brsmarc1/board.c b/board/BuR/brsmarc1/board.c
> index c05eec6b35e..01d7a8c39e2 100644
> --- a/board/BuR/brsmarc1/board.c
> +++ b/board/BuR/brsmarc1/board.c
> @@ -18,7 +18,6 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/arch/mem.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/gpio.h>
>  #include <asm/emif.h>
> @@ -30,8 +29,6 @@
>  /* -- defines for used GPIO Hardware -- */
>  #define PER_RESET		(2 * 32 + 0)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if defined(CONFIG_XPL_BUILD)
>  static const struct ddr_data ddr3_data = {
>  	.datardsratio0 = MT41K256M16HA125E_RD_DQS,
> diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
> index 3513f43a9f5..bbafecd7909 100644
> --- a/board/BuR/common/common.c
> +++ b/board/BuR/common/common.c
> @@ -13,12 +13,9 @@
>  #include <env.h>
>  #include <fdtdec.h>
>  #include <i2c.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include "bur_common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* --------------------------------------------------------------------------*/
>  
>  int ft_board_setup(void *blob, struct bd_info *bd)
> diff --git a/board/Marvell/octeontx/smc.c b/board/Marvell/octeontx/smc.c
> index 8df32049bda..ab6284a732c 100644
> --- a/board/Marvell/octeontx/smc.c
> +++ b/board/Marvell/octeontx/smc.c
> @@ -5,13 +5,10 @@
>   * https://spdx.org/licenses
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/ptrace.h>
>  #include <asm/system.h>
>  #include <asm/arch/smc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  ssize_t smc_dram_size(unsigned int node)
>  {
>  	struct pt_regs regs;
> diff --git a/board/Marvell/octeontx2/smc.c b/board/Marvell/octeontx2/smc.c
> index 9e3169576c6..10645a74f69 100644
> --- a/board/Marvell/octeontx2/smc.c
> +++ b/board/Marvell/octeontx2/smc.c
> @@ -5,15 +5,12 @@
>   * https://spdx.org/licenses
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/psci.h>
>  #include <asm/ptrace.h>
>  #include <asm/system.h>
>  #include <asm/arch/smc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  ssize_t smc_dram_size(unsigned int node)
>  {
>  	struct pt_regs regs;
> diff --git a/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c b/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
> index 8c9e9830876..a9a12a4f659 100644
> --- a/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
> +++ b/board/advantech/imx8mp_rsb3720a1/imx8mp_rsb3720a1.c
> @@ -26,8 +26,6 @@
>  #include <linux/kernel.h>
>  #include <power/pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifdef CONFIG_NAND_MXS
>  static void setup_gpmi_nand(void)
>  {
> diff --git a/board/advantech/imx8mp_rsb3720a1/spl.c b/board/advantech/imx8mp_rsb3720a1/spl.c
> index 1f7c1f25adc..fb8e8437759 100644
> --- a/board/advantech/imx8mp_rsb3720a1/spl.c
> +++ b/board/advantech/imx8mp_rsb3720a1/spl.c
> @@ -29,8 +29,6 @@
>  #include <power/pmic.h>
>  #include <power/pca9450.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  #ifdef CONFIG_SPL_BOOTROM_SUPPORT
> diff --git a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
> index accd300df04..fbe8b247e69 100644
> --- a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
> +++ b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
> @@ -16,8 +16,6 @@
>  #include <asm/arch/sys_proto.h>
>  /* #include <power-domain.h> */
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
>  			(SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			(SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
> index 3def182f296..8214e627768 100644
> --- a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
> +++ b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
> @@ -8,7 +8,6 @@
>  #include <env.h>
>  #include <errno.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/libfdt.h>
>  #include <asm/io.h>
> @@ -19,8 +18,6 @@
>  #include <asm/arch/iomux.h>
>  #include <asm/arch/sys_proto.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
>  			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/andestech/voyager/voyager.c b/board/andestech/voyager/voyager.c
> index dc8f1347775..23fd0910ef8 100644
> --- a/board/andestech/voyager/voyager.c
> +++ b/board/andestech/voyager/voyager.c
> @@ -5,7 +5,6 @@
>   */
>  
>  #include <asm/csr.h>
> -#include <asm/global_data.h>
>  #include <asm/sbi.h>
>  #include <config.h>
>  #include <cpu_func.h>
> @@ -19,8 +18,6 @@
>  #include <net.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	return fdtdec_setup_mem_size_base();
> diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
> index e8f1c2fe9fe..d68da0e3d65 100644
> --- a/board/armltd/vexpress64/vexpress64.c
> +++ b/board/armltd/vexpress64/vexpress64.c
> @@ -12,7 +12,6 @@
>  #include <errno.h>
>  #include <net.h>
>  #include <netdev.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/compiler.h>
>  #include <linux/sizes.h>
> @@ -24,8 +23,6 @@
>  #include <virtio.h>
>  #endif
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const struct pl01x_serial_plat serial_plat = {
>  	.base = V2M_UART0,
>  	.type = TYPE_PL011,
> diff --git a/board/beacon/imx8mm/spl.c b/board/beacon/imx8mm/spl.c
> index 93ee5b7ee0c..1e5935788ff 100644
> --- a/board/beacon/imx8mm/spl.c
> +++ b/board/beacon/imx8mm/spl.c
> @@ -5,7 +5,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/arch/clock.h>
> @@ -23,8 +22,6 @@
>  #include <power/pmic.h>
>  #include <power/bd71837.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	switch (boot_dev_spl) {
> diff --git a/board/beacon/imx8mn/spl.c b/board/beacon/imx8mn/spl.c
> index e91d3fdcf5e..46db42ec921 100644
> --- a/board/beacon/imx8mn/spl.c
> +++ b/board/beacon/imx8mn/spl.c
> @@ -9,7 +9,6 @@
>  #include <log.h>
>  #include <asm/io.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mn_pins.h>
> @@ -32,8 +31,6 @@
>  #include <dm/uclass-internal.h>
>  #include <dm/device-internal.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/beacon/imx8mp/spl.c b/board/beacon/imx8mp/spl.c
> index 027fae38278..e82e385b774 100644
> --- a/board/beacon/imx8mp/spl.c
> +++ b/board/beacon/imx8mp/spl.c
> @@ -8,7 +8,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> @@ -22,8 +21,6 @@
>  #include <dm/uclass.h>
>  #include <dm/device.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/beagle/beagleboneai64/beagleboneai64.c b/board/beagle/beagleboneai64/beagleboneai64.c
> index 500fcc58ed8..27b1f22562c 100644
> --- a/board/beagle/beagleboneai64/beagleboneai64.c
> +++ b/board/beagle/beagleboneai64/beagleboneai64.c
> @@ -13,8 +13,6 @@
>  #include <fdt_support.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct efi_fw_image fw_images[] = {
>  	{
>  		.image_type_id = BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID,
> diff --git a/board/beagle/beagleplay/beagleplay.c b/board/beagle/beagleplay/beagleplay.c
> index 9bc9ca30e95..70d296de9f8 100644
> --- a/board/beagle/beagleplay/beagleplay.c
> +++ b/board/beagle/beagleplay/beagleplay.c
> @@ -14,8 +14,6 @@
>  
>  #include <asm/arch/hardware.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct efi_fw_image fw_images[] = {
>  	{
>  		.image_type_id = BEAGLEPLAY_TIBOOT3_IMAGE_GUID,
> diff --git a/board/broadcom/bcmns/ns.c b/board/broadcom/bcmns/ns.c
> index 47a01227a35..cb53ec68cf8 100644
> --- a/board/broadcom/bcmns/ns.c
> +++ b/board/broadcom/bcmns/ns.c
> @@ -9,12 +9,9 @@
>  #include <log.h>
>  #include <ram.h>
>  #include <serial.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/armv7m.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	return fdtdec_setup_mem_size_base();
> diff --git a/board/cloos/imx8mm_phg/imx8mm_phg.c b/board/cloos/imx8mm_phg/imx8mm_phg.c
> index 091c9a59a52..1ca1c07e08e 100644
> --- a/board/cloos/imx8mm_phg/imx8mm_phg.c
> +++ b/board/cloos/imx8mm_phg/imx8mm_phg.c
> @@ -7,14 +7,11 @@
>  #include <init.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int setup_fec(void)
>  {
>  	struct iomuxc_gpr_base_regs *gpr =
> diff --git a/board/cloos/imx8mm_phg/spl.c b/board/cloos/imx8mm_phg/spl.c
> index b8892ed2fcc..b2340a0ded3 100644
> --- a/board/cloos/imx8mm_phg/spl.c
> +++ b/board/cloos/imx8mm_phg/spl.c
> @@ -10,7 +10,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/arch/clock.h>
> @@ -28,8 +27,6 @@
>  #include <power/pmic.h>
>  #include <power/pca9450.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	switch (boot_dev_spl) {
> diff --git a/board/compulab/imx8mm-cl-iot-gate/spl.c b/board/compulab/imx8mm-cl-iot-gate/spl.c
> index 6d9af2538b6..daac6dca4ce 100644
> --- a/board/compulab/imx8mm-cl-iot-gate/spl.c
> +++ b/board/compulab/imx8mm-cl-iot-gate/spl.c
> @@ -32,8 +32,6 @@
>  
>  #include "ddr/ddr.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	switch (boot_dev_spl) {
> diff --git a/board/coreboot/coreboot/coreboot.c b/board/coreboot/coreboot/coreboot.c
> index f2ca1076768..d0e8db6cdfe 100644
> --- a/board/coreboot/coreboot/coreboot.c
> +++ b/board/coreboot/coreboot/coreboot.c
> @@ -7,9 +7,6 @@
>  #include <init.h>
>  #include <smbios.h>
>  #include <asm/cb_sysinfo.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  int board_early_init_r(void)
>  {
> diff --git a/board/cssi/cmpc885/cmpc885.c b/board/cssi/cmpc885/cmpc885.c
> index 49c13056edc..552349d104a 100644
> --- a/board/cssi/cmpc885/cmpc885.c
> +++ b/board/cssi/cmpc885/cmpc885.c
> @@ -26,8 +26,6 @@
>  
>  #include "../common/common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define ADDR_CPLD_R_RESET		((unsigned short __iomem *)CONFIG_CPLD_BASE)
>  #define ADDR_CPLD_R_ETAT		((unsigned short __iomem *)(CONFIG_CPLD_BASE + 2))
>  #define ADDR_CPLD_R_TYPE		((unsigned char  __iomem *)(CONFIG_CPLD_BASE + 3))
> diff --git a/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c b/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
> index e271d060efa..ab4a484d393 100644
> --- a/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
> +++ b/board/data_modul/imx8mm_edm_sbc/imx8mm_data_modul_edm_sbc.c
> @@ -14,8 +14,6 @@
>  
>  #include "../common/common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int board_late_init(void)
>  {
>  	struct udevice *dev;
> diff --git a/board/data_modul/imx8mm_edm_sbc/spl.c b/board/data_modul/imx8mm_edm_sbc/spl.c
> index a9ef049652a..c6a5740c7a7 100644
> --- a/board/data_modul/imx8mm_edm_sbc/spl.c
> +++ b/board/data_modul/imx8mm_edm_sbc/spl.c
> @@ -27,8 +27,6 @@
>  
>  #include "../common/common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int data_modul_imx_edm_sbc_board_power_init(void)
>  {
>  	struct udevice *dev;
> diff --git a/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c b/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
> index d6f0a917023..5c319df1cde 100644
> --- a/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
> +++ b/board/data_modul/imx8mp_edm_sbc/imx8mp_data_modul_edm_sbc.c
> @@ -17,8 +17,6 @@
>  
>  #include "../common/common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void dmo_setup_second_mac_address(void)
>  {
>  	u8 enetaddr[6];
> diff --git a/board/data_modul/imx8mp_edm_sbc/spl.c b/board/data_modul/imx8mp_edm_sbc/spl.c
> index f81b7274556..314f7e87a9d 100644
> --- a/board/data_modul/imx8mp_edm_sbc/spl.c
> +++ b/board/data_modul/imx8mp_edm_sbc/spl.c
> @@ -28,8 +28,6 @@
>  
>  #include "../common/common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int data_modul_imx_edm_sbc_board_power_init(void)
>  {
>  	struct udevice *dev;
> diff --git a/board/dhelectronics/dh_imx8mp/common.c b/board/dhelectronics/dh_imx8mp/common.c
> index f6db9f67804..5d89c94970d 100644
> --- a/board/dhelectronics/dh_imx8mp/common.c
> +++ b/board/dhelectronics/dh_imx8mp/common.c
> @@ -8,8 +8,6 @@
>  
>  #include "lpddr4_timing.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u8 dh_get_memcfg(void)
>  {
>  	struct gpio_desc gpio[4];
> diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> index 5c35a5bf447..3fe98d36f5b 100644
> --- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> +++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> @@ -20,8 +20,6 @@
>  #include "../common/dh_common.h"
>  #include "../common/dh_imx.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int mach_cpu_init(void)
>  {
>  	icache_enable();
> diff --git a/board/dhelectronics/dh_imx8mp/spl.c b/board/dhelectronics/dh_imx8mp/spl.c
> index 714f846521e..727e1ff3774 100644
> --- a/board/dhelectronics/dh_imx8mp/spl.c
> +++ b/board/dhelectronics/dh_imx8mp/spl.c
> @@ -29,8 +29,6 @@
>  
>  #include "lpddr4_timing.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | PAD_CTL_PE)
>  
> diff --git a/board/emcraft/imx8mp_navqp/spl.c b/board/emcraft/imx8mp_navqp/spl.c
> index 7f30f3af742..5ee94d078f8 100644
> --- a/board/emcraft/imx8mp_navqp/spl.c
> +++ b/board/emcraft/imx8mp_navqp/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/sections.h>
>  #include <dm/device.h>
> @@ -20,8 +19,6 @@
>  #include <power/pmic.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/emulation/qemu-riscv/qemu-riscv.c b/board/emulation/qemu-riscv/qemu-riscv.c
> index 97c8211c100..ce5bc34ca71 100644
> --- a/board/emulation/qemu-riscv/qemu-riscv.c
> +++ b/board/emulation/qemu-riscv/qemu-riscv.c
> @@ -15,8 +15,6 @@
>  #include <virtio_types.h>
>  #include <virtio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_MTD_NOR_FLASH)
>  int is_flash_available(void)
>  {
> diff --git a/board/engicam/imx8mm/icore_mx8mm.c b/board/engicam/imx8mm/icore_mx8mm.c
> index 236337546ae..bb70e7d4ff8 100644
> --- a/board/engicam/imx8mm/icore_mx8mm.c
> +++ b/board/engicam/imx8mm/icore_mx8mm.c
> @@ -19,8 +19,6 @@
>  #include <asm/mach-imx/gpio.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_FEC_MXC)
>  
>  #define FEC_RST_PAD IMX_GPIO_NR(3, 7)
> diff --git a/board/engicam/imx8mm/spl.c b/board/engicam/imx8mm/spl.c
> index d51ae241e85..5a6bcb1747a 100644
> --- a/board/engicam/imx8mm/spl.c
> +++ b/board/engicam/imx8mm/spl.c
> @@ -17,8 +17,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/sections.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	switch (boot_dev_spl) {
> diff --git a/board/engicam/imx8mp/icore_mx8mp.c b/board/engicam/imx8mp/icore_mx8mp.c
> index bfdc447c478..864afa92aee 100644
> --- a/board/engicam/imx8mp/icore_mx8mp.c
> +++ b/board/engicam/imx8mp/icore_mx8mp.c
> @@ -14,7 +14,6 @@
>  #include <miiphy.h>
>  #include <netdev.h>
>  #include <linux/delay.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm-generic/gpio.h>
>  #include <asm/arch/imx8mp_pins.h>
> @@ -22,8 +21,6 @@
>  #include <asm/arch/sys_proto.h>
>  #include <asm/mach-imx/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void setup_fec(void)
>  {
>  	struct iomuxc_gpr_base_regs *gpr =
> diff --git a/board/engicam/imx8mp/spl.c b/board/engicam/imx8mp/spl.c
> index cd31aa6041d..c1aa28a17bc 100644
> --- a/board/engicam/imx8mp/spl.c
> +++ b/board/engicam/imx8mp/spl.c
> @@ -12,7 +12,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> @@ -24,8 +23,6 @@
>  #include <power/pmic.h>
>  #include <power/pca9450.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/gdsys/mpc8308/gazerbeam.c b/board/gdsys/mpc8308/gazerbeam.c
> index 05e4d84460a..123dda21423 100644
> --- a/board/gdsys/mpc8308/gazerbeam.c
> +++ b/board/gdsys/mpc8308/gazerbeam.c
> @@ -17,13 +17,10 @@
>  #include <sysinfo.h>
>  #include <tpm-v1.h>
>  #include <video_osd.h>
> -#include <asm/global_data.h>
>  
>  #include "../common/ihs_mdio.h"
>  #include "../../../drivers/sysinfo/gazerbeam.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct ihs_mdio_info ihs_mdio_info[] = {
>  	{ .fpga = NULL, .name = "ihs0", .base = 0x58 },
>  	{ .fpga = NULL, .name = "ihs1", .base = 0x58 },
> diff --git a/board/google/imx8mq_phanbell/imx8mq_phanbell.c b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
> index 9544d6dd19a..2f16f1da26c 100644
> --- a/board/google/imx8mq_phanbell/imx8mq_phanbell.c
> +++ b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
> @@ -7,7 +7,6 @@
>  #include <init.h>
>  #include <malloc.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> @@ -21,8 +20,6 @@
>  #include <asm/arch/clock.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
> diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
> index 0ec88447384..62a7b5b0420 100644
> --- a/board/highbank/highbank.c
> +++ b/board/highbank/highbank.c
> @@ -11,7 +11,6 @@
>  #include <init.h>
>  #include <net.h>
>  #include <scsi.h>
> -#include <asm/global_data.h>
>  
>  #include <linux/sizes.h>
>  #include <asm/io.h>
> @@ -37,8 +36,6 @@
>  #define HB_SCU_A9_PWR_DORMANT		2
>  #define HB_SCU_A9_PWR_OFF		3
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void cphy_disable_overrides(void);
>  
>  /*
> diff --git a/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c b/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
> index 3db7176f723..739a78d2c8b 100644
> --- a/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
> +++ b/board/kontron/osm-s-mx8mp/osm-s-mx8mp.c
> @@ -5,7 +5,6 @@
>  
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <dm/uclass.h>
> @@ -22,8 +21,6 @@
>  
>  #include "../common/hw-uid.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_KONTRON_HW_UID)
>  struct uid_otp_loc uid_otp_locations[] = {
>  	{
> diff --git a/board/kontron/osm-s-mx93/osm-s-mx93.c b/board/kontron/osm-s-mx93/osm-s-mx93.c
> index d4645285771..b6feef549d1 100644
> --- a/board/kontron/osm-s-mx93/osm-s-mx93.c
> +++ b/board/kontron/osm-s-mx93/osm-s-mx93.c
> @@ -6,7 +6,6 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <dm/uclass.h>
> @@ -23,8 +22,6 @@
>  
>  #include "../common/hw-uid.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int board_early_init_f(void)
>  {
>  	return 0;
> diff --git a/board/kontron/pitx_imx8m/pitx_imx8m.c b/board/kontron/pitx_imx8m/pitx_imx8m.c
> index 2ee97169c6f..f71fa57b808 100644
> --- a/board/kontron/pitx_imx8m/pitx_imx8m.c
> +++ b/board/kontron/pitx_imx8m/pitx_imx8m.c
> @@ -15,8 +15,6 @@
>  #include <linux/delay.h>
>  #include <linux/kernel.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
>  
> diff --git a/board/mntre/imx8mq_reform2/imx8mq_reform2.c b/board/mntre/imx8mq_reform2/imx8mq_reform2.c
> index 6ee1c5c52a1..bcb31564a73 100644
> --- a/board/mntre/imx8mq_reform2/imx8mq_reform2.c
> +++ b/board/mntre/imx8mq_reform2/imx8mq_reform2.c
> @@ -8,7 +8,6 @@
>  #include <init.h>
>  #include <malloc.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> @@ -26,8 +25,6 @@
>  #include <linux/delay.h>
>  #include <power/pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
>  
>  static iomux_v3_cfg_t const wdog_pads[] = {
> diff --git a/board/msc/sm2s_imx8mp/sm2s_imx8mp.c b/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
> index b1ce014bd55..b2f763dcc02 100644
> --- a/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
> +++ b/board/msc/sm2s_imx8mp/sm2s_imx8mp.c
> @@ -18,8 +18,6 @@
>  #include <asm-generic/gpio.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void setup_fec(void)
>  {
>  	struct iomuxc_gpr_base_regs *gpr =
> diff --git a/board/msc/sm2s_imx8mp/spl.c b/board/msc/sm2s_imx8mp/spl.c
> index b1b5561838d..902179aad29 100644
> --- a/board/msc/sm2s_imx8mp/spl.c
> +++ b/board/msc/sm2s_imx8mp/spl.c
> @@ -17,7 +17,6 @@
>  #include <log.h>
>  #include <mmc.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/ddr.h>
> @@ -33,8 +32,6 @@
>  #include <power/pmic.h>
>  #include <power/rn5t567_pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/nxp/imx8mm_evk/imx8mm_evk.c b/board/nxp/imx8mm_evk/imx8mm_evk.c
> index ecc20768cb5..a8c1ef287e5 100644
> --- a/board/nxp/imx8mm_evk/imx8mm_evk.c
> +++ b/board/nxp/imx8mm_evk/imx8mm_evk.c
> @@ -9,14 +9,11 @@
>  #include <init.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
>  #define IMX_BOOT_IMAGE_GUID \
>  	EFI_GUID(0xead2005e, 0x7780, 0x400b, 0x93, 0x48, \
> diff --git a/board/nxp/imx8mm_evk/spl.c b/board/nxp/imx8mm_evk/spl.c
> index cd251d274ff..5c588046ff4 100644
> --- a/board/nxp/imx8mm_evk/spl.c
> +++ b/board/nxp/imx8mm_evk/spl.c
> @@ -10,7 +10,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/arch/clock.h>
> @@ -28,8 +27,6 @@
>  #include <power/pmic.h>
>  #include <power/pca9450.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	switch (boot_dev_spl) {
> diff --git a/board/nxp/imx8mn_evk/spl.c b/board/nxp/imx8mn_evk/spl.c
> index f96f5c45789..6554d445a59 100644
> --- a/board/nxp/imx8mn_evk/spl.c
> +++ b/board/nxp/imx8mn_evk/spl.c
> @@ -11,7 +11,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/arch/clock.h>
> @@ -32,8 +31,6 @@
>  #include <fsl_esdhc_imx.h>
>  #include <mmc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/nxp/imx8mp_evk/spl.c b/board/nxp/imx8mp_evk/spl.c
> index 12da1b2abfb..25abf6b589e 100644
> --- a/board/nxp/imx8mp_evk/spl.c
> +++ b/board/nxp/imx8mp_evk/spl.c
> @@ -8,7 +8,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> @@ -22,8 +21,6 @@
>  #include <dm/uclass.h>
>  #include <dm/device.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/nxp/imx8qm_mek/imx8qm_mek.c b/board/nxp/imx8qm_mek/imx8qm_mek.c
> index 72527f774ca..56f577714e7 100644
> --- a/board/nxp/imx8qm_mek/imx8qm_mek.c
> +++ b/board/nxp/imx8qm_mek/imx8qm_mek.c
> @@ -7,7 +7,6 @@
>  #include <env.h>
>  #include <errno.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/libfdt.h>
>  #include <fdt_support.h>
>  #include <asm/io.h>
> @@ -18,8 +17,6 @@
>  #include <asm/arch/iomux.h>
>  #include <asm/arch/sys_proto.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
>  			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/nxp/imx8qxp_mek/imx8qxp_mek.c b/board/nxp/imx8qxp_mek/imx8qxp_mek.c
> index adb9556a021..4bf6645b893 100644
> --- a/board/nxp/imx8qxp_mek/imx8qxp_mek.c
> +++ b/board/nxp/imx8qxp_mek/imx8qxp_mek.c
> @@ -7,7 +7,6 @@
>  #include <env.h>
>  #include <errno.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/libfdt.h>
>  #include <fsl_esdhc_imx.h>
> @@ -21,8 +20,6 @@
>  #include <asm/arch/iomux.h>
>  #include <asm/arch/sys_proto.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define GPIO_PAD_CTRL	((SC_PAD_CONFIG_NORMAL << PADRING_CONFIG_SHIFT) | \
>  			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/nxp/imx8ulp_evk/imx8ulp_evk.c b/board/nxp/imx8ulp_evk/imx8ulp_evk.c
> index 4bf77a488cc..cd17f6960c7 100644
> --- a/board/nxp/imx8ulp_evk/imx8ulp_evk.c
> +++ b/board/nxp/imx8ulp_evk/imx8ulp_evk.c
> @@ -14,8 +14,6 @@
>  #include <netdev.h>
>  #include <asm/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_FEC_MXC)
>  #define ENET_CLK_PAD_CTRL	(PAD_CTL_PUS_UP | PAD_CTL_DSE | PAD_CTL_IBE_ENABLE)
>  static iomux_cfg_t const enet_clk_pads[] = {
> diff --git a/board/nxp/imx8ulp_evk/spl.c b/board/nxp/imx8ulp_evk/spl.c
> index fe637077928..656c2723494 100644
> --- a/board/nxp/imx8ulp_evk/spl.c
> +++ b/board/nxp/imx8ulp_evk/spl.c
> @@ -21,8 +21,6 @@
>  #include <asm/mach-imx/ele_api.h>
>  #include <asm/sections.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void spl_dram_init(void)
>  {
>  	/* Reboot in dual boot setting no need to init ddr again */
> diff --git a/board/nxp/imx93_frdm/imx93_frdm.c b/board/nxp/imx93_frdm/imx93_frdm.c
> index cfbcde2e1a5..d97720795d6 100644
> --- a/board/nxp/imx93_frdm/imx93_frdm.c
> +++ b/board/nxp/imx93_frdm/imx93_frdm.c
> @@ -7,7 +7,6 @@
>  #include <efi_loader.h>
>  #include <i2c.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/arch-imx9/imx93_pins.h>
>  #include <asm/arch/clock.h>
> @@ -15,8 +14,6 @@
>  #include <dm/device.h>
>  #include <dm/uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)
>  #define IMX_BOOT_IMAGE_GUID \
>  	EFI_GUID(0xbc550d86, 0xda26, 0x4b70, 0xac, 0x05, \
> diff --git a/board/phytec/imx8mp-libra-fpsc/spl.c b/board/phytec/imx8mp-libra-fpsc/spl.c
> index d704d588579..08111641aa6 100644
> --- a/board/phytec/imx8mp-libra-fpsc/spl.c
> +++ b/board/phytec/imx8mp-libra-fpsc/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/gpio.h>
>  #include <asm/mach-imx/mxc_i2c.h>
> @@ -24,8 +23,6 @@
>  #include "../common/imx8m_som_detection.h"
>  #endif
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define EEPROM_ADDR		0x51
>  
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
> diff --git a/board/phytec/phycore_imx8mm/phycore-imx8mm.c b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
> index f6ae0bf0308..9f6a4ec704d 100644
> --- a/board/phytec/phycore_imx8mm/phycore-imx8mm.c
> +++ b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
> @@ -5,14 +5,11 @@
>   */
>  
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <env.h>
>  #include <miiphy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int setup_fec(void)
>  {
>  	struct iomuxc_gpr_base_regs *gpr =
> diff --git a/board/phytec/phycore_imx8mm/spl.c b/board/phytec/phycore_imx8mm/spl.c
> index faff064779c..e688793bc74 100644
> --- a/board/phytec/phycore_imx8mm/spl.c
> +++ b/board/phytec/phycore_imx8mm/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mm_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <asm/sections.h>
> @@ -19,8 +18,6 @@
>  
>  #include "../common/imx8m_som_detection.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define EEPROM_ADDR		0x51
>  #define EEPROM_ADDR_FALLBACK	0x59
>  
> diff --git a/board/phytec/phycore_imx8mp/phycore-imx8mp.c b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
> index b345dc7c985..5f0a7ee6a94 100644
> --- a/board/phytec/phycore_imx8mp/phycore-imx8mp.c
> +++ b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
> @@ -5,7 +5,6 @@
>   */
>  
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <env.h>
> @@ -17,8 +16,6 @@
>  
>  #include "../common/imx8m_som_detection.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define EEPROM_ADDR		0x51
>  #define EEPROM_ADDR_FALLBACK	0x59
>  
> diff --git a/board/phytec/phycore_imx8mp/spl.c b/board/phytec/phycore_imx8mp/spl.c
> index cb8e450b995..fc7aefd0073 100644
> --- a/board/phytec/phycore_imx8mp/spl.c
> +++ b/board/phytec/phycore_imx8mp/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/gpio.h>
>  #include <asm/mach-imx/mxc_i2c.h>
> @@ -23,8 +22,6 @@
>  #include "lpddr4_timing.h"
>  #include "../common/imx8m_som_detection.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define EEPROM_ADDR		0x51
>  #define EEPROM_ADDR_FALLBACK	0x59
>  
> diff --git a/board/phytec/phycore_imx93/phycore-imx93.c b/board/phytec/phycore_imx93/phycore-imx93.c
> index cfc6d91f20f..cdaedd52c14 100644
> --- a/board/phytec/phycore_imx93/phycore-imx93.c
> +++ b/board/phytec/phycore_imx93/phycore-imx93.c
> @@ -7,15 +7,12 @@
>   */
>  
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <env.h>
>  #include <fdt_support.h>
>  
>  #include "../common/imx93_som_detection.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define EEPROM_ADDR            0x50
>  
>  int board_init(void)
> diff --git a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> index c709d017483..7f0925074fa 100644
> --- a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> +++ b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/gpio.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <env.h>
> @@ -18,8 +17,6 @@
>  #include <miiphy.h>
>  #include <netdev.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void setup_fec(void)
>  {
>  	struct iomuxc_gpr_base_regs *gpr =
> diff --git a/board/polyhex/imx8mp_debix_model_a/spl.c b/board/polyhex/imx8mp_debix_model_a/spl.c
> index 6cbd1815cad..c154ad7a1ce 100644
> --- a/board/polyhex/imx8mp_debix_model_a/spl.c
> +++ b/board/polyhex/imx8mp_debix_model_a/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/sections.h>
>  #include <dm/device.h>
> @@ -20,8 +19,6 @@
>  #include <power/pmic.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/purism/librem5/librem5.c b/board/purism/librem5/librem5.c
> index 5178ee6929d..a2bc0c08f0b 100644
> --- a/board/purism/librem5/librem5.c
> +++ b/board/purism/librem5/librem5.c
> @@ -31,8 +31,6 @@
>  #include <usb/xhci.h>
>  #include "librem5.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int board_early_init_f(void)
>  {
>  	return 0;
> diff --git a/board/purism/librem5/spl.c b/board/purism/librem5/spl.c
> index ed57554a2bc..568224f9732 100644
> --- a/board/purism/librem5/spl.c
> +++ b/board/purism/librem5/spl.c
> @@ -29,8 +29,6 @@
>  #include <linux/usb/gadget.h>
>  #include "librem5.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  void spl_dram_init(void)
>  {
>  	/* ddr init */
> diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
> index 4698b9d5e3e..36e4d49046e 100644
> --- a/board/qualcomm/dragonboard410c/dragonboard410c.c
> +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
> @@ -15,13 +15,10 @@
>  #include <net.h>
>  #include <usb.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <asm/gpio.h>
>  #include <fdt_support.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static u32 msm_board_serial(void)
>  {
>  	struct mmc *mmc_dev;
> diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c b/board/qualcomm/dragonboard820c/dragonboard820c.c
> index 12a9273ec4b..236022a99f1 100644
> --- a/board/qualcomm/dragonboard820c/dragonboard820c.c
> +++ b/board/qualcomm/dragonboard820c/dragonboard820c.c
> @@ -10,7 +10,6 @@
>  #include <init.h>
>  #include <env.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <linux/arm-smccc.h>
>  #include <linux/psci.h>
>  #include <dm.h>
> @@ -24,8 +23,6 @@
>  /* Strength (sdc1) */
>  #define SDC1_HDRV_PULL_CTL_REG          (TLMM_BASE_ADDR + 0x0012D000)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void sdhci_power_init(void)
>  {
>  	const u32 TLMM_PULL_MASK = 0x3;
> diff --git a/board/renesas/common/gen3-common.c b/board/renesas/common/gen3-common.c
> index f89ae81e95e..5c543807b64 100644
> --- a/board/renesas/common/gen3-common.c
> +++ b/board/renesas/common/gen3-common.c
> @@ -12,15 +12,12 @@
>  #include <fdt_support.h>
>  #include <hang.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/uclass-internal.h>
>  #include <asm/arch/renesas.h>
>  #include <asm-generic/u-boot.h>
>  #include <linux/libfdt.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* If the firmware passed a device tree use it for e.g. U-Boot DRAM setup. */
>  extern u64 rcar_atf_boot_args[];
>  
> diff --git a/board/renesas/common/gen4-common.c b/board/renesas/common/gen4-common.c
> index 81c6f6f4c6d..ac87f2f08e3 100644
> --- a/board/renesas/common/gen4-common.c
> +++ b/board/renesas/common/gen4-common.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/renesas.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/armv8/mmu.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-types.h>
>  #include <asm/processor.h>
> @@ -17,8 +16,6 @@
>  #include <image.h>
>  #include <linux/errno.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void init_generic_timer(void)
>  {
>  	const u32 freq = CONFIG_SYS_CLK_FREQ;
> diff --git a/board/renesas/common/gen5-common.c b/board/renesas/common/gen5-common.c
> index 3b724e59049..c60a76c5038 100644
> --- a/board/renesas/common/gen5-common.c
> +++ b/board/renesas/common/gen5-common.c
> @@ -5,7 +5,6 @@
>  
>  #include <asm/arch/renesas.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-types.h>
>  #include <asm/processor.h>
> @@ -13,8 +12,6 @@
>  #include <asm-generic/u-boot.h>
>  #include <linux/errno.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void init_generic_timer(void)
>  {
>  	const u32 freq = CONFIG_SYS_CLK_FREQ;
> diff --git a/board/ronetix/imx8mq-cm/imx8mq_cm.c b/board/ronetix/imx8mq-cm/imx8mq_cm.c
> index 602216854ba..e41cfefe375 100644
> --- a/board/ronetix/imx8mq-cm/imx8mq_cm.c
> +++ b/board/ronetix/imx8mq-cm/imx8mq_cm.c
> @@ -10,8 +10,6 @@
>  #include <asm/arch/sys_proto.h>
>  #include <asm/arch/clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
> diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
> index 68edd1ec282..2ba2d6330fd 100644
> --- a/board/samsung/common/exynos5-dt.c
> +++ b/board/samsung/common/exynos5-dt.c
> @@ -9,7 +9,6 @@
>  #include <env.h>
>  #include <fdtdec.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <errno.h>
>  #include <i2c.h>
> @@ -36,8 +35,6 @@
>  #include <samsung/misc.h>
>  #include <tmu.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int exynos_set_regulator(const char *name, uint uv)
>  {
>  	struct udevice *dev;
> diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
> index c134a9d70e2..85e564f27ee 100644
> --- a/board/samsung/common/misc.c
> +++ b/board/samsung/common/misc.c
> @@ -8,7 +8,6 @@
>  #include <command.h>
>  #include <env.h>
>  #include <libtizen.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/printk.h>
>  #include <samsung/misc.h>
> @@ -37,8 +36,6 @@
>  #include <power/pmic.h>
>  #include <mmc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifdef CONFIG_SET_DFU_ALT_INFO
>  void set_dfu_alt_info(char *interface, char *devstr)
>  {
> diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c
> index 4b0defda1ec..333b78c27f3 100644
> --- a/board/st/stm32f429-discovery/stm32f429-discovery.c
> +++ b/board/st/stm32f429-discovery/stm32f429-discovery.c
> @@ -14,13 +14,10 @@
>  #include <env.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/io.h>
>  #include <asm/arch/stm32.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	int rv;
> diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
> index 88c825334a8..feba46d38e4 100644
> --- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c
> +++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
> @@ -8,13 +8,10 @@
>  #include <env.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/io.h>
>  #include <asm/arch/stm32.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	int rv;
> diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c
> index 7aab7f71d0c..d153efdc2b4 100644
> --- a/board/st/stm32f469-discovery/stm32f469-discovery.c
> +++ b/board/st/stm32f469-discovery/stm32f469-discovery.c
> @@ -8,13 +8,10 @@
>  #include <env.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/io.h>
>  #include <asm/arch/stm32.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  	int rv;
> diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c
> index 07bc8a5f0a2..4b1e443100d 100644
> --- a/board/st/stm32f746-disco/stm32f746-disco.c
> +++ b/board/st/stm32f746-disco/stm32f746-disco.c
> @@ -15,7 +15,6 @@
>  #include <spl.h>
>  #include <splash.h>
>  #include <video.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/armv7m.h>
>  #include <asm/arch/stm32.h>
> @@ -23,8 +22,6 @@
>  #include <asm/gpio.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int dram_init(void)
>  {
>  #ifndef CONFIG_XPL_BUILD
> diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c
> index d00f55379c5..6c5c6710926 100644
> --- a/board/st/stm32h743-disco/stm32h743-disco.c
> +++ b/board/st/stm32h743-disco/stm32h743-disco.c
> @@ -7,9 +7,6 @@
>  #include <dm.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  int dram_init(void)
>  {
> diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c
> index d00f55379c5..6c5c6710926 100644
> --- a/board/st/stm32h743-eval/stm32h743-eval.c
> +++ b/board/st/stm32h743-eval/stm32h743-eval.c
> @@ -7,9 +7,6 @@
>  #include <dm.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  int dram_init(void)
>  {
> diff --git a/board/st/stm32h747-disco/stm32h747-disco.c b/board/st/stm32h747-disco/stm32h747-disco.c
> index 645685a64f1..24a229bf0a2 100644
> --- a/board/st/stm32h747-disco/stm32h747-disco.c
> +++ b/board/st/stm32h747-disco/stm32h747-disco.c
> @@ -8,9 +8,6 @@
>  #include <dm.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  int dram_init(void)
>  {
> diff --git a/board/st/stm32h750-art-pi/stm32h750-art-pi.c b/board/st/stm32h750-art-pi/stm32h750-art-pi.c
> index 31c85c6816e..244bb5eefb3 100644
> --- a/board/st/stm32h750-art-pi/stm32h750-art-pi.c
> +++ b/board/st/stm32h750-art-pi/stm32h750-art-pi.c
> @@ -7,9 +7,6 @@
>  #include <dm.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  int dram_init(void)
>  {
> diff --git a/board/technexion/pico-imx8mq/pico-imx8mq.c b/board/technexion/pico-imx8mq/pico-imx8mq.c
> index 1659db112fa..5515fc09f99 100644
> --- a/board/technexion/pico-imx8mq/pico-imx8mq.c
> +++ b/board/technexion/pico-imx8mq/pico-imx8mq.c
> @@ -7,7 +7,6 @@
>  #include <init.h>
>  #include <malloc.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> @@ -24,8 +23,6 @@
>  #include <spl.h>
>  #include <power/pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  
>  #define WDOG_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_HYS | PAD_CTL_PUE)
> diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
> index 2e8336900d1..49e58ad6d6c 100644
> --- a/board/ti/am62x/evm.c
> +++ b/board/ti/am62x/evm.c
> @@ -32,8 +32,6 @@
>  #define board_is_am62x_lp_skevm()  board_ti_k3_is("AM62-LP-SKEVM")
>  #define board_is_am62x_sip_skevm()  board_ti_k3_is("AM62SIP-SKEVM")
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if CONFIG_IS_ENABLED(SPLASH_SCREEN)
>  static struct splash_location default_splash_locations[] = {
>  	{
> diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c
> index 25076a8a588..764e3011bac 100644
> --- a/board/ti/am64x/evm.c
> +++ b/board/ti/am64x/evm.c
> @@ -27,8 +27,6 @@
>  #define board_is_am64x_skevm() (board_ti_k3_is("AM64-SKEVM") || \
>  				board_ti_k3_is("AM64B-SKEVM"))
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct efi_fw_image fw_images[] = {
>  	{
>  		.image_type_id = AM64X_SK_TIBOOT3_IMAGE_GUID,
> diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c
> index cabb3017ee1..8a4d40a5a95 100644
> --- a/board/ti/j784s4/evm.c
> +++ b/board/ti/j784s4/evm.c
> @@ -14,8 +14,6 @@
>  #include <asm/arch/k3-ddr.h>
>  #include "../common/fdt_ops.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct efi_fw_image fw_images[] = {
>  	{
>  		.image_type_id = AM69_SK_TIBOOT3_IMAGE_GUID,
> diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
> index a8c38208693..b915673d9e3 100644
> --- a/board/toradex/apalis-imx8/apalis-imx8.c
> +++ b/board/toradex/apalis-imx8/apalis-imx8.c
> @@ -5,7 +5,6 @@
>  
>  #include <cpu_func.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8-pins.h>
> @@ -24,8 +23,6 @@
>  
>  #include "../common/tdx-cfg-block.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
>  			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
> index 2c785da41ea..8dad41f4122 100644
> --- a/board/toradex/apalis_t30/apalis_t30.c
> +++ b/board/toradex/apalis_t30/apalis_t30.c
> @@ -11,7 +11,6 @@
>  #include <asm/arch/pinmux.h>
>  #include <asm/arch-tegra/ap.h>
>  #include <asm/arch-tegra/tegra.h>
> -#include <asm/global_data.h>
>  #include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <dm.h>
> @@ -23,8 +22,6 @@
>  
>  #include "pinmux-config-apalis_t30.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PMU_I2C_ADDRESS		0x2D
>  #define MAX_I2C_RETRY		3
>  
> diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
> index 2a71e7b92de..0a86420700d 100644
> --- a/board/toradex/colibri-imx8x/colibri-imx8x.c
> +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
> @@ -5,7 +5,6 @@
>  
>  #include <cpu_func.h>
>  #include <init.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8-pins.h>
> @@ -21,8 +20,6 @@
>  
>  #include "../common/tdx-cfg-block.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	((SC_PAD_CONFIG_OUT_IN << PADRING_CONFIG_SHIFT) | \
>  			 (SC_PAD_ISO_OFF << PADRING_LPCONFIG_SHIFT) | \
>  			 (SC_PAD_28FDSOI_DSE_DV_HIGH << PADRING_DSE_SHIFT) | \
> diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
> index 05c3377a60b..ccfe2c4933c 100644
> --- a/board/toradex/colibri_t20/colibri_t20.c
> +++ b/board/toradex/colibri_t20/colibri_t20.c
> @@ -13,7 +13,6 @@
>  #include <asm/arch-tegra/ap.h>
>  #include <asm/arch-tegra/board.h>
>  #include <asm/arch-tegra/tegra.h>
> -#include <asm/global_data.h>
>  #include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <i2c.h>
> @@ -21,8 +20,6 @@
>  #include <linux/delay.h>
>  #include "../common/tdx-common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PMU_I2C_ADDRESS		0x34
>  #define MAX_I2C_RETRY		3
>  #define PMU_SUPPLYENE		0x14
> diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
> index 0fc3759695f..e53530175ae 100644
> --- a/board/toradex/common/tdx-cfg-block.c
> +++ b/board/toradex/common/tdx-cfg-block.c
> @@ -4,7 +4,6 @@
>   */
>  
>  #include <config.h>
> -#include <asm/global_data.h>
>  #include "tdx-cfg-block.h"
>  #include "tdx-eeprom.h"
>  
> @@ -22,8 +21,6 @@
>  #include <nand.h>
>  #include <asm/mach-types.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define TAG_VALID	0xcf01
>  #define TAG_MAC		0x0000
>  #define TAG_CAR_SERIAL	0x0021
> diff --git a/board/toradex/smarc-imx8mp/smarc-imx8mp.c b/board/toradex/smarc-imx8mp/smarc-imx8mp.c
> index 915b413b15e..38fb3d61f5b 100644
> --- a/board/toradex/smarc-imx8mp/smarc-imx8mp.c
> +++ b/board/toradex/smarc-imx8mp/smarc-imx8mp.c
> @@ -2,14 +2,11 @@
>  /* Copyright (C) 2024 Toradex */
>  
>  #include <init.h>
> -#include <asm/global_data.h>
>  #include <asm-generic/gpio.h>
>  #include <linux/errno.h>
>  
>  #include "../common/tdx-cfg-block.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int board_phys_sdram_size(phys_size_t *size)
>  {
>  	if (!size)
> diff --git a/board/toradex/smarc-imx8mp/spl.c b/board/toradex/smarc-imx8mp/spl.c
> index 32233c0e1ab..511f62e871b 100644
> --- a/board/toradex/smarc-imx8mp/spl.c
> +++ b/board/toradex/smarc-imx8mp/spl.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/clock.h>
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <dm/device.h>
>  #include <power/pmic.h>
> @@ -16,8 +15,6 @@
>  
>  #include "lpddr4_timing.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/toradex/verdin-imx8mm/spl.c b/board/toradex/verdin-imx8mm/spl.c
> index 3c2d0ba1dd4..10b9991e3bf 100644
> --- a/board/toradex/verdin-imx8mm/spl.c
> +++ b/board/toradex/verdin-imx8mm/spl.c
> @@ -11,7 +11,6 @@
>  #include <asm/arch/ddr.h>
>  #include <asm/arch/imx8mm_pins.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/boot_mode.h>
>  #include <asm/mach-imx/iomux-v3.h>
> @@ -27,8 +26,6 @@
>  #include <power/pmic.h>
>  #include <spl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define I2C_PMIC_BUS_ID        1
>  
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
> diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
> index b4402415845..b56f5bf30a8 100644
> --- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
> +++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
> @@ -7,7 +7,6 @@
>  #include <init.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <hang.h>
>  #include <i2c.h>
> @@ -17,8 +16,6 @@
>  
>  #include "../common/tdx-cfg-block.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define I2C_PMIC	0
>  
>  enum pcb_rev_t {
> diff --git a/board/toradex/verdin-imx8mp/spl.c b/board/toradex/verdin-imx8mp/spl.c
> index 8628112a782..b39058b1b5d 100644
> --- a/board/toradex/verdin-imx8mp/spl.c
> +++ b/board/toradex/verdin-imx8mp/spl.c
> @@ -7,7 +7,6 @@
>  #include <init.h>
>  #include <log.h>
>  #include <spl.h>
> -#include <asm/global_data.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
> @@ -22,8 +21,6 @@
>  #include <power/pca9450.h>
>  #include "lpddr4_timing.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spl_board_boot_device(enum boot_device boot_dev_spl)
>  {
>  	return BOOT_DEVICE_BOOTROM;
> diff --git a/board/toradex/verdin-imx8mp/verdin-imx8mp.c b/board/toradex/verdin-imx8mp/verdin-imx8mp.c
> index 34ce25512e8..59b4607f065 100644
> --- a/board/toradex/verdin-imx8mp/verdin-imx8mp.c
> +++ b/board/toradex/verdin-imx8mp/verdin-imx8mp.c
> @@ -8,7 +8,6 @@
>  #include <asm/arch/imx8mp_pins.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm-generic/gpio.h>
> -#include <asm/global_data.h>
>  #include <asm/mach-imx/gpio.h>
>  #include <asm/mach-imx/iomux-v3.h>
>  #include <errno.h>
> @@ -21,8 +20,6 @@
>  
>  #include "../common/tdx-cfg-block.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_PAD_CTRL	(PAD_CTL_DSE6 | PAD_CTL_FSEL1)
>  
>  /* Verdin UART_3, Console/Debug UART */
> diff --git a/board/xilinx/zynq/bootimg.c b/board/xilinx/zynq/bootimg.c
> index 9eb0735f55d..52400672799 100644
> --- a/board/xilinx/zynq/bootimg.c
> +++ b/board/xilinx/zynq/bootimg.c
> @@ -5,15 +5,12 @@
>  
>  #include <log.h>
>  #include <part.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/hardware.h>
>  #include <asm/arch/sys_proto.h>
>  #include <u-boot/md5.h>
>  #include <zynq_bootimg.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define ZYNQ_IMAGE_PHDR_OFFSET		0x09C
>  #define ZYNQ_IMAGE_FSBL_LEN_OFFSET	0x040
>  #define ZYNQ_PART_HDR_CHKSUM_WORD_COUNT	0x0F
> diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c
> index a9709465f6e..c841dd0d6d4 100644
> --- a/boot/bootmeth-uclass.c
> +++ b/boot/bootmeth-uclass.c
> @@ -19,8 +19,6 @@
>  #include <mapmem.h>
>  #include <dm/uclass-internal.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int bootmeth_get_state_desc(struct udevice *dev, char *buf, int maxsize)
>  {
>  	const struct bootmeth_ops *ops = bootmeth_get_ops(dev);
> diff --git a/boot/fdt_simplefb.c b/boot/fdt_simplefb.c
> index 5822131767d..69c7c2e24c0 100644
> --- a/boot/fdt_simplefb.c
> +++ b/boot/fdt_simplefb.c
> @@ -8,14 +8,11 @@
>  
>  #include <dm.h>
>  #include <fdt_support.h>
> -#include <asm/global_data.h>
>  #include <linux/libfdt.h>
>  #include <video.h>
>  #include <spl.h>
>  #include <bloblist.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int fdt_simplefb_configure_node(void *blob, int off)
>  {
>  	int xsize, ysize;
> diff --git a/boot/image-sig.c b/boot/image-sig.c
> index 6bc74866eae..4eab017bc2d 100644
> --- a/boot/image-sig.c
> +++ b/boot/image-sig.c
> @@ -5,8 +5,6 @@
>  
>  #include <log.h>
>  #include <malloc.h>
> -#include <asm/global_data.h>
> -DECLARE_GLOBAL_DATA_PTR;
>  #include <image.h>
>  #include <relocate.h>
>  #include <u-boot/ecdsa.h>
> diff --git a/boot/image.c b/boot/image.c
> index dd96f712b6f..3f745254763 100644
> --- a/boot/image.c
> +++ b/boot/image.c
> @@ -24,12 +24,9 @@
>  #include <fdt_support.h>
>  #endif
>  
> -#include <asm/global_data.h>
>  #include <linux/errno.h>
>  #include <asm/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Set this if we have less than 4 MB of malloc() space */
>  #if CONFIG_SYS_MALLOC_LEN < (4096 * 1024)
>  #define CONSERVE_MEMORY		true
> diff --git a/cmd/bloblist.c b/cmd/bloblist.c
> index 333ae558142..318a1af0220 100644
> --- a/cmd/bloblist.c
> +++ b/cmd/bloblist.c
> @@ -8,9 +8,6 @@
>  
>  #include <bloblist.h>
>  #include <command.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static int do_bloblist_info(struct cmd_tbl *cmdtp, int flag, int argc,
>  			    char *const argv[])
> diff --git a/cmd/bootefi.c b/cmd/bootefi.c
> index b8f5bb35950..85f41c3b0a0 100644
> --- a/cmd/bootefi.c
> +++ b/cmd/bootefi.c
> @@ -17,11 +17,8 @@
>  #include <mapmem.h>
>  #include <vsprintf.h>
>  #include <asm-generic/sections.h>
> -#include <asm/global_data.h>
>  #include <linux/string.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct efi_device_path *test_image_path;
>  static struct efi_device_path *test_device_path;
>  
> diff --git a/cmd/bootm.c b/cmd/bootm.c
> index 2c5aea26d98..ca7cec91fad 100644
> --- a/cmd/bootm.c
> +++ b/cmd/bootm.c
> @@ -15,14 +15,11 @@
>  #include <malloc.h>
>  #include <nand.h>
>  #include <asm/byteorder.h>
> -#include <asm/global_data.h>
>  #include <linux/ctype.h>
>  #include <linux/err.h>
>  #include <u-boot/zlib.h>
>  #include <mapmem.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if defined(CONFIG_CMD_IMI)
>  static int image_info(unsigned long addr);
>  #endif
> diff --git a/cmd/date.c b/cmd/date.c
> index 8614f022761..d047872289c 100644
> --- a/cmd/date.c
> +++ b/cmd/date.c
> @@ -11,9 +11,6 @@
>  #include <dm.h>
>  #include <rtc.h>
>  #include <i2c.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static const char * const weekdays[] = {
>  	"Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur",
> diff --git a/cmd/mem.c b/cmd/mem.c
> index 8690fc1e4e6..68eb6989b94 100644
> --- a/cmd/mem.c
> +++ b/cmd/mem.c
> @@ -28,15 +28,12 @@
>  #include <time.h>
>  #include <vsprintf.h>
>  #include <watchdog.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/bitops.h>
>  #include <linux/compiler.h>
>  #include <linux/ctype.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Create a compile-time value */
>  #if MEM_SUPPORT_64BIT_DATA
>  #define HELP_Q ", .q"
> diff --git a/cmd/sound.c b/cmd/sound.c
> index 8f67cbd96e1..7546059022f 100644
> --- a/cmd/sound.c
> +++ b/cmd/sound.c
> @@ -8,9 +8,6 @@
>  #include <dm.h>
>  #include <fdtdec.h>
>  #include <sound.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  /* Initilaise sound subsystem */
>  static int do_init(struct cmd_tbl *cmdtp, int flag, int argc,
> diff --git a/cmd/spl.c b/cmd/spl.c
> index f591dc07fb6..ddbbd4a8172 100644
> --- a/cmd/spl.c
> +++ b/cmd/spl.c
> @@ -9,11 +9,8 @@
>  #include <env.h>
>  #include <image.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <linux/libfdt.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const char **subcmd_list[] = {
>  
>  	[SPL_EXPORT_FDT] = (const char * []) {
> diff --git a/common/cli_hush.c b/common/cli_hush.c
> index fb087960c92..fe8fe93bd54 100644
> --- a/common/cli_hush.c
> +++ b/common/cli_hush.c
> @@ -84,7 +84,6 @@
>  #include <cli_hush.h>
>  #include <command.h>        /* find_cmd */
>  #include <vsprintf.h>
> -#include <asm/global_data.h>
>  #endif
>  #ifndef __U_BOOT__
>  #include <ctype.h>     /* isalpha, isdigit */
> @@ -125,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" };
> diff --git a/drivers/block/sandbox.c b/drivers/block/sandbox.c
> index 9cb27561a97..4b3de0529ce 100644
> --- a/drivers/block/sandbox.c
> +++ b/drivers/block/sandbox.c
> @@ -10,13 +10,10 @@
>  #include <os.h>
>  #include <malloc.h>
>  #include <sandbox_host.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/device-internal.h>
>  #include <linux/errno.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static unsigned long host_block_read(struct udevice *dev,
>  				     lbaint_t start, lbaint_t blkcnt,
>  				     void *buffer)
> diff --git a/drivers/bootcount/pmic_pfuze100.c b/drivers/bootcount/pmic_pfuze100.c
> index 8c529f5592b..dd11344322b 100644
> --- a/drivers/bootcount/pmic_pfuze100.c
> +++ b/drivers/bootcount/pmic_pfuze100.c
> @@ -13,8 +13,6 @@
>  #include <power/pmic.h>
>  #include <power/pfuze100_pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PFUZE_BC_MAGIC 0xdead
>  
>  struct bootcount_pmic_priv {
> diff --git a/drivers/cache/sandbox_cache.c b/drivers/cache/sandbox_cache.c
> index 375892fafb0..b27960f1bfa 100644
> --- a/drivers/cache/sandbox_cache.c
> +++ b/drivers/cache/sandbox_cache.c
> @@ -6,9 +6,6 @@
>  #include <cache.h>
>  #include <dm.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static int sandbox_get_info(struct udevice *dev, struct cache_info *info)
>  {
> diff --git a/drivers/clk/altera/clk-agilex.c b/drivers/clk/altera/clk-agilex.c
> index fdbf834bb2f..9d49561512b 100644
> --- a/drivers/clk/altera/clk-agilex.c
> +++ b/drivers/clk/altera/clk-agilex.c
> @@ -6,7 +6,6 @@
>  
>  #include <log.h>
>  #include <wait_bit.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/system.h>
>  #include <clk-uclass.h>
> @@ -19,8 +18,6 @@
>  
>  #include <asm/arch/clock_manager.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct socfpga_clk_plat {
>  	void __iomem *regs;
>  	int pllgrp;
> diff --git a/drivers/clk/altera/clk-agilex5.c b/drivers/clk/altera/clk-agilex5.c
> index fb1e72ffc5c..92b91a9dfc8 100644
> --- a/drivers/clk/altera/clk-agilex5.c
> +++ b/drivers/clk/altera/clk-agilex5.c
> @@ -12,7 +12,6 @@
>  #include <stdio.h>
>  #include <time.h>
>  #include <vsprintf.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/system.h>
>  #include <dm/lists.h>
> @@ -26,8 +25,6 @@
>  #include <wait_bit.h>
>  #include <clk-uclass.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define CLKMGR_CTRL_SWCTRLBTCLKEN_MASK		BIT(8)
>  #define CLKMGR_CTRL_SWCTRLBTCLKSEL_MASK		BIT(9)
>  
> diff --git a/drivers/clk/altera/clk-mem-n5x.c b/drivers/clk/altera/clk-mem-n5x.c
> index b75f52d203b..ac59571a853 100644
> --- a/drivers/clk/altera/clk-mem-n5x.c
> +++ b/drivers/clk/altera/clk-mem-n5x.c
> @@ -4,7 +4,6 @@
>   */
>  
>  #include <asm/arch/clock_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include "clk-mem-n5x.h"
>  #include <clk-uclass.h>
> @@ -13,8 +12,6 @@
>  #include <dm/util.h>
>  #include <dt-bindings/clock/n5x-clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct socfpga_mem_clk_plat {
>  	void __iomem *regs;
>  };
> diff --git a/drivers/clk/altera/clk-n5x.c b/drivers/clk/altera/clk-n5x.c
> index 9e4e7a1d908..185c9028a78 100644
> --- a/drivers/clk/altera/clk-n5x.c
> +++ b/drivers/clk/altera/clk-n5x.c
> @@ -4,7 +4,6 @@
>   */
>  
>  #include <asm/arch/clock_manager.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <clk-uclass.h>
>  #include <dm.h>
> @@ -12,8 +11,6 @@
>  #include <dm/util.h>
>  #include <dt-bindings/clock/n5x-clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct socfpga_clk_plat {
>  	void __iomem *regs;
>  };
> diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
> index b5054e84c32..d143a6b85ee 100644
> --- a/drivers/clk/rockchip/clk_px30.c
> +++ b/drivers/clk/rockchip/clk_px30.c
> @@ -13,15 +13,12 @@
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/cru_px30.h>
>  #include <asm/arch-rockchip/hardware.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/lists.h>
>  #include <dt-bindings/clock/px30-cru.h>
>  #include <linux/bitops.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  enum {
>  	VCO_MAX_HZ	= 3200U * 1000000,
>  	VCO_MIN_HZ	= 800 * 1000000,
> diff --git a/drivers/clk/rockchip/clk_rk3308.c b/drivers/clk/rockchip/clk_rk3308.c
> index e73bb6790af..97043b8693c 100644
> --- a/drivers/clk/rockchip/clk_rk3308.c
> +++ b/drivers/clk/rockchip/clk_rk3308.c
> @@ -10,7 +10,6 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/cru_rk3308.h>
>  #include <asm/arch-rockchip/hardware.h>
> @@ -19,8 +18,6 @@
>  #include <dt-bindings/clock/rk3308-cru.h>
>  #include <linux/bitops.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  enum {
>  	VCO_MAX_HZ	= 3200U * 1000000,
>  	VCO_MIN_HZ	= 800 * 1000000,
> diff --git a/drivers/clk/rockchip/clk_rk3528.c b/drivers/clk/rockchip/clk_rk3528.c
> index d58557ff56d..bcdc0f930d2 100644
> --- a/drivers/clk/rockchip/clk_rk3528.c
> +++ b/drivers/clk/rockchip/clk_rk3528.c
> @@ -17,8 +17,6 @@
>  #include <dt-bindings/clock/rockchip,rk3528-cru.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
>  
>  /*
> diff --git a/drivers/clk/rockchip/clk_rk3568.c b/drivers/clk/rockchip/clk_rk3568.c
> index 533031caead..bb49af358e6 100644
> --- a/drivers/clk/rockchip/clk_rk3568.c
> +++ b/drivers/clk/rockchip/clk_rk3568.c
> @@ -16,8 +16,6 @@
>  #include <dm/lists.h>
>  #include <dt-bindings/clock/rk3568-cru.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if CONFIG_IS_ENABLED(OF_PLATDATA)
>  struct rk3568_clk_plat {
>  	struct dtd_rockchip_rk3568_cru dtd;
> diff --git a/drivers/clk/rockchip/clk_rk3576.c b/drivers/clk/rockchip/clk_rk3576.c
> index 125b08ee832..1026af27ca1 100644
> --- a/drivers/clk/rockchip/clk_rk3576.c
> +++ b/drivers/clk/rockchip/clk_rk3576.c
> @@ -17,8 +17,6 @@
>  #include <dt-bindings/clock/rockchip,rk3576-cru.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
>  
>  static struct rockchip_pll_rate_table rk3576_24m_pll_rates[] = {
> diff --git a/drivers/clk/rockchip/clk_rk3588.c b/drivers/clk/rockchip/clk_rk3588.c
> index 8c3a113526f..be401a9faee 100644
> --- a/drivers/clk/rockchip/clk_rk3588.c
> +++ b/drivers/clk/rockchip/clk_rk3588.c
> @@ -17,8 +17,6 @@
>  #include <dm/lists.h>
>  #include <dt-bindings/clock/rockchip,rk3588-cru.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define DIV_TO_RATE(input_rate, div)	((input_rate) / ((div) + 1))
>  
>  static struct rockchip_pll_rate_table rk3588_pll_rates[] = {
> diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
> index 75202a66aa6..e1b9ccf1236 100644
> --- a/drivers/clk/rockchip/clk_rv1108.c
> +++ b/drivers/clk/rockchip/clk_rv1108.c
> @@ -11,7 +11,6 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/cru_rv1108.h>
>  #include <asm/arch-rockchip/hardware.h>
> @@ -21,8 +20,6 @@
>  #include <linux/delay.h>
>  #include <linux/stringify.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  enum {
>  	VCO_MAX_HZ	= 2400U * 1000000,
>  	VCO_MIN_HZ	= 600 * 1000000,
> diff --git a/drivers/clk/rockchip/clk_rv1126.c b/drivers/clk/rockchip/clk_rv1126.c
> index aeeea956914..39920d34b75 100644
> --- a/drivers/clk/rockchip/clk_rv1126.c
> +++ b/drivers/clk/rockchip/clk_rv1126.c
> @@ -18,8 +18,6 @@
>  #include <dm/lists.h>
>  #include <dt-bindings/clock/rockchip,rv1126-cru.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define RV1126_CPUCLK_RATE(_rate, _aclk_div, _pclk_div)		\
>  {								\
>  	.rate	= _rate##U,					\
> diff --git a/drivers/cpu/bcm283x_cpu.c b/drivers/cpu/bcm283x_cpu.c
> index 59a7b142c95..ad638cd8fff 100644
> --- a/drivers/cpu/bcm283x_cpu.c
> +++ b/drivers/cpu/bcm283x_cpu.c
> @@ -11,7 +11,6 @@
>  #include <asm/armv8/cpu.h>
>  #include <asm/cache.h>
>  #include <asm/io.h>
> -#include <asm/global_data.h>
>  #include <asm/system.h>
>  #include <asm-generic/sections.h>
>  #include <linux/bitops.h>
> @@ -19,8 +18,6 @@
>  #include <linux/delay.h>
>  #include "armv8_cpu.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct bcm_plat {
>  	u64 release_addr;
>  };
> diff --git a/drivers/cpu/cpu-uclass.c b/drivers/cpu/cpu-uclass.c
> index 2c8e46c05e3..b73768de918 100644
> --- a/drivers/cpu/cpu-uclass.c
> +++ b/drivers/cpu/cpu-uclass.c
> @@ -15,8 +15,6 @@
>  #include <linux/err.h>
>  #include <relocate.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int cpu_probe_all(void)
>  {
>  	int ret = uclass_probe_all(UCLASS_CPU);
> diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
> index 5f17122c36c..3cd00199548 100644
> --- a/drivers/cpu/imx8_cpu.c
> +++ b/drivers/cpu/imx8_cpu.c
> @@ -6,7 +6,6 @@
>  #include <cpu.h>
>  #include <dm.h>
>  #include <thermal.h>
> -#include <asm/global_data.h>
>  #include <asm/ptrace.h>
>  #include <asm/system.h>
>  #include <firmware/imx/sci/sci.h>
> @@ -18,8 +17,6 @@
>  #include <linux/clk-provider.h>
>  #include <linux/psci.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define IMX_REV_LEN	4
>  struct cpu_imx_plat {
>  	const char *name;
> diff --git a/drivers/cpu/mtk_cpu.c b/drivers/cpu/mtk_cpu.c
> index 2a08be9b6d1..4f4e5480eac 100644
> --- a/drivers/cpu/mtk_cpu.c
> +++ b/drivers/cpu/mtk_cpu.c
> @@ -10,12 +10,9 @@
>  #include <dm.h>
>  #include <regmap.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <linux/err.h>
>  #include <linux/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct mtk_cpu_plat {
>  	struct regmap *hwver;
>  };
> diff --git a/drivers/firmware/arm-ffa/arm-ffa-uclass.c b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
> index 96c64964bb7..76a8775e911 100644
> --- a/drivers/firmware/arm-ffa/arm-ffa-uclass.c
> +++ b/drivers/firmware/arm-ffa/arm-ffa-uclass.c
> @@ -12,15 +12,12 @@
>  #include <malloc.h>
>  #include <string.h>
>  #include <u-boot/uuid.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/devres.h>
>  #include <dm/root.h>
>  #include <linux/errno.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Error mapping declarations */
>  
>  int ffa_to_std_errmap[MAX_NUMBER_FFA_ERR] = {
> diff --git a/drivers/firmware/arm-ffa/arm-ffa.c b/drivers/firmware/arm-ffa/arm-ffa.c
> index 94e6105cb38..9e6b5dcc542 100644
> --- a/drivers/firmware/arm-ffa/arm-ffa.c
> +++ b/drivers/firmware/arm-ffa/arm-ffa.c
> @@ -10,12 +10,9 @@
>  #include <arm_ffa_priv.h>
>  #include <dm.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <linux/errno.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * invoke_ffa_fn() - SMC wrapper
>   * @args: FF-A ABI arguments to be copied to Xn registers
> diff --git a/drivers/firmware/arm-ffa/ffa-emul-uclass.c b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
> index 1521d9b66ac..6198d687354 100644
> --- a/drivers/firmware/arm-ffa/ffa-emul-uclass.c
> +++ b/drivers/firmware/arm-ffa/ffa-emul-uclass.c
> @@ -8,7 +8,6 @@
>  #include <dm.h>
>  #include <mapmem.h>
>  #include <string.h>
> -#include <asm/global_data.h>
>  #include <asm/sandbox_arm_ffa.h>
>  #include <asm/sandbox_arm_ffa_priv.h>
>  #include <dm/device-internal.h>
> @@ -17,8 +16,6 @@
>  #include <linux/errno.h>
>  #include <linux/sizes.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* The partitions (SPs) table */
>  static struct ffa_partition_desc sandbox_partitions[SANDBOX_PARTITIONS_CNT] = {
>  	{
> diff --git a/drivers/firmware/arm-ffa/sandbox_ffa.c b/drivers/firmware/arm-ffa/sandbox_ffa.c
> index 44b32a829dd..f1e8de4bf0d 100644
> --- a/drivers/firmware/arm-ffa/sandbox_ffa.c
> +++ b/drivers/firmware/arm-ffa/sandbox_ffa.c
> @@ -8,13 +8,10 @@
>  #include <arm_ffa.h>
>  #include <dm.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/sandbox_arm_ffa_priv.h>
>  #include <dm/device-internal.h>
>  #include <linux/errno.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * sandbox_ffa_discover() - perform sandbox FF-A discovery
>   * @dev: The sandbox FF-A bus device
> diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
> index 38151ef1bee..7651d5360d6 100644
> --- a/drivers/gpio/gpio-uclass.c
> +++ b/drivers/gpio/gpio-uclass.c
> @@ -18,15 +18,12 @@
>  #include <fdtdec.h>
>  #include <malloc.h>
>  #include <acpi/acpi_device.h>
> -#include <asm/global_data.h>
>  #include <asm/gpio.h>
>  #include <dm/device_compat.h>
>  #include <linux/bug.h>
>  #include <linux/ctype.h>
>  #include <linux/delay.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define GPIO_ALLOC_BITS	32
>  
>  /**
> diff --git a/drivers/gpio/nx_gpio.c b/drivers/gpio/nx_gpio.c
> index 741b2ff7f17..5abbb34daea 100644
> --- a/drivers/gpio/nx_gpio.c
> +++ b/drivers/gpio/nx_gpio.c
> @@ -7,12 +7,9 @@
>  #include <dm.h>
>  #include <errno.h>
>  #include <malloc.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct nx_gpio_regs {
>  	u32	data;		/* Data register */
>  	u32	outputenb;	/* Output Enable register */
> diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
> index 2dfc1c4eab5..268bb39f009 100644
> --- a/drivers/i2c/mxc_i2c.c
> +++ b/drivers/i2c/mxc_i2c.c
> @@ -18,7 +18,6 @@
>  #include <log.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/imx-regs.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <linux/delay.h>
>  #include <linux/errno.h>
> @@ -30,8 +29,6 @@
>  #include <dm.h>
>  #include <dm/pinctrl.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define I2C_QUIRK_FLAG		(1 << 0)
>  
>  #define IMX_I2C_REGSHIFT	2
> diff --git a/drivers/i2c/nx_i2c.c b/drivers/i2c/nx_i2c.c
> index 8562dd82bd6..706b7adefe8 100644
> --- a/drivers/i2c/nx_i2c.c
> +++ b/drivers/i2c/nx_i2c.c
> @@ -7,7 +7,6 @@
>  #include <asm/arch/reset.h>
>  #include <asm/arch/clk.h>
>  #include <asm/arch/nx_gpio.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  
>  #define I2C_WRITE       0
> @@ -45,8 +44,6 @@
>  
>  #define DEFAULT_SPEED   100000  /* default I2C speed [Hz] */
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct nx_i2c_regs {
>  	uint     iiccon;
>  	uint     iicstat;
> diff --git a/drivers/i2c/ocores_i2c.c b/drivers/i2c/ocores_i2c.c
> index cf714d22ee4..32704ee8854 100644
> --- a/drivers/i2c/ocores_i2c.c
> +++ b/drivers/i2c/ocores_i2c.c
> @@ -12,7 +12,6 @@
>   * Andreas Larsson <andreas@gaisler.com>
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <clk.h>
>  #include <dm.h>
> @@ -75,8 +74,6 @@ struct ocores_i2c_bus {
>  	u8 (*getreg)(struct ocores_i2c_bus *i2c, int reg);
>  };
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Boolean attribute values */
>  enum {
>  	FALSE = 0,
> diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
> index 79f7a320502..4102375e5b7 100644
> --- a/drivers/i2c/soft_i2c.c
> +++ b/drivers/i2c/soft_i2c.c
> @@ -25,7 +25,6 @@
>  #endif
>  #endif
>  #include <i2c.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  
>  #if defined(CONFIG_SOFT_I2C_GPIO_SCL)
> @@ -82,8 +81,6 @@
>  
>  /* #define	DEBUG_I2C	*/
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifndef	I2C_SOFT_DECLARATIONS
>  #  define I2C_SOFT_DECLARATIONS
>  #endif
> diff --git a/drivers/i2c/synquacer_i2c.c b/drivers/i2c/synquacer_i2c.c
> index 6672d9435e3..6e5722327c5 100644
> --- a/drivers/i2c/synquacer_i2c.c
> +++ b/drivers/i2c/synquacer_i2c.c
> @@ -112,8 +112,6 @@
>  #define SPEED_FM		400	// Fast Mode
>  #define SPEED_SM		100	// Standard Mode
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct synquacer_i2c {
>  	void __iomem *base;
>  	unsigned long pclkrate;
> diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
> index b1e0465e7a8..c7eaa3de96f 100644
> --- a/drivers/mailbox/imx-mailbox.c
> +++ b/drivers/mailbox/imx-mailbox.c
> @@ -15,8 +15,6 @@
>  /* This driver only exposes the status bits to keep with the
>   * polling methodology of u-boot.
>   */
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define IMX_MU_CHANS		24
>  
>  #define IMX_MU_V2_PAR_OFF	0x4
> diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
> index 3b9046da880..aa3094fcc01 100644
> --- a/drivers/misc/atsha204a-i2c.c
> +++ b/drivers/misc/atsha204a-i2c.c
> @@ -15,7 +15,6 @@
>  #include <errno.h>
>  #include <atsha204a-i2c.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/bitrev.h>
>  #include <u-boot/crc.h>
> @@ -25,8 +24,6 @@
>  #define ATSHA204A_TRANSACTION_RETRY	5
>  #define ATSHA204A_EXECTIME		5000
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static inline u16 atsha204a_crc16(const u8 *buffer, size_t len)
>  {
>  	return bitrev16(crc16(0, buffer, len));
> diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c
> index 2928cf75f89..6af4c7f15e7 100644
> --- a/drivers/misc/fs_loader.c
> +++ b/drivers/misc/fs_loader.c
> @@ -13,7 +13,6 @@
>  #include <fs.h>
>  #include <fs_loader.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/root.h>
>  #include <linux/string.h>
> @@ -25,8 +24,6 @@
>  #include <ubi_uboot.h>
>  #endif
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * struct firmware - A place for storing firmware and its attribute data.
>   *
> diff --git a/drivers/misc/imx8/fuse.c b/drivers/misc/imx8/fuse.c
> index 90d251a4405..872713e30b6 100644
> --- a/drivers/misc/imx8/fuse.c
> +++ b/drivers/misc/imx8/fuse.c
> @@ -8,11 +8,8 @@
>  #include <fuse.h>
>  #include <firmware/imx/sci/sci.h>
>  #include <asm/arch/sys_proto.h>
> -#include <asm/global_data.h>
>  #include <linux/arm-smccc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define FSL_ECC_WORD_START_1	 0x10
>  #define FSL_ECC_WORD_END_1	 0x10F
>  
> diff --git a/drivers/mmc/ca_dw_mmc.c b/drivers/mmc/ca_dw_mmc.c
> index 1af5ec0532e..d5a4453a62e 100644
> --- a/drivers/mmc/ca_dw_mmc.c
> +++ b/drivers/mmc/ca_dw_mmc.c
> @@ -6,7 +6,6 @@
>  
>  #include <dwmmc.h>
>  #include <fdtdec.h>
> -#include <asm/global_data.h>
>  #include <linux/libfdt.h>
>  #include <malloc.h>
>  #include <errno.h>
> @@ -26,8 +25,6 @@
>  
>  #define MIN_FREQ (400000)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct ca_mmc_plat {
>  	struct mmc_config cfg;
>  	struct mmc mmc;
> diff --git a/drivers/mmc/f_sdh30.c b/drivers/mmc/f_sdh30.c
> index f47cf848521..f0356e1e960 100644
> --- a/drivers/mmc/f_sdh30.c
> +++ b/drivers/mmc/f_sdh30.c
> @@ -29,8 +29,6 @@ struct f_sdh30_plat {
>  	const struct f_sdh30_data *data;
>  };
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void f_sdh30_e51_init(struct udevice *dev)
>  {
>  	struct f_sdh30_plat *plat = dev_get_plat(dev);
> diff --git a/drivers/mmc/jz_mmc.c b/drivers/mmc/jz_mmc.c
> index fc10bb256a4..651d9868305 100644
> --- a/drivers/mmc/jz_mmc.c
> +++ b/drivers/mmc/jz_mmc.c
> @@ -8,7 +8,6 @@
>  
>  #include <malloc.h>
>  #include <mmc.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/unaligned.h>
>  #include <errno.h>
> @@ -419,8 +418,6 @@ int jz_mmc_init(void __iomem *base)
>  #else /* CONFIG_DM_MMC */
>  
>  #include <dm.h>
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int jz_mmc_dm_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
>  			      struct mmc_data *data)
>  {
> diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c
> index 38dc36a2194..66f3cf2de4f 100644
> --- a/drivers/mmc/msm_sdhci.c
> +++ b/drivers/mmc/msm_sdhci.c
> @@ -13,7 +13,6 @@
>  #include <reset.h>
>  #include <sdhci.h>
>  #include <wait_bit.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/bitops.h>
>  #include <power/regulator.h>
> @@ -61,8 +60,6 @@ struct msm_sdhc_variant_info {
>  	u32 core_vendor_spec_capabilities0;
>  };
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int msm_sdc_clk_init(struct udevice *dev)
>  {
>  	struct msm_sdhc *prv = dev_get_priv(dev);
> diff --git a/drivers/mmc/mv_sdhci.c b/drivers/mmc/mv_sdhci.c
> index 2da5334c21f..a8b63a20387 100644
> --- a/drivers/mmc/mv_sdhci.c
> +++ b/drivers/mmc/mv_sdhci.c
> @@ -6,7 +6,6 @@
>  #include <dm.h>
>  #include <malloc.h>
>  #include <sdhci.h>
> -#include <asm/global_data.h>
>  #include <linux/mbus.h>
>  
>  #define MVSDH_NAME "mv_sdh"
> @@ -14,8 +13,6 @@
>  #define SDHCI_WINDOW_CTRL(win)		(0x4080 + ((win) << 4))
>  #define SDHCI_WINDOW_BASE(win)		(0x4084 + ((win) << 4))
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct mv_sdhci_plat {
>  	struct mmc_config cfg;
>  	struct mmc mmc;
> diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
> index 7bf54fa4654..7324dc72e0a 100644
> --- a/drivers/mtd/nand/raw/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
> @@ -9,7 +9,6 @@
>  #include <malloc.h>
>  #include <fdtdec.h>
>  #include <nand.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
>  #include <linux/bitops.h>
> @@ -30,8 +29,6 @@
>  
>  #include "pxa3xx_nand.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define TIMEOUT_DRAIN_FIFO	5	/* in ms */
>  #define	CHIP_DELAY_TIMEOUT	200
>  #define NAND_STOP_DELAY		40
> diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
> index ef43dcad079..0bee7eace90 100644
> --- a/drivers/mtd/nand/raw/tegra_nand.c
> +++ b/drivers/mtd/nand/raw/tegra_nand.c
> @@ -7,7 +7,6 @@
>   */
>  
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <memalign.h>
>  #include <nand.h>
> @@ -26,8 +25,6 @@
>  #include <linux/printk.h>
>  #include "tegra_nand.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define NAND_CMD_TIMEOUT_MS		10
>  
>  #define SKIPPED_SPARE_BYTES		4
> diff --git a/drivers/mtd/nvmxip/nvmxip_qspi.c b/drivers/mtd/nvmxip/nvmxip_qspi.c
> index 1a109bee557..383971bea66 100644
> --- a/drivers/mtd/nvmxip/nvmxip_qspi.c
> +++ b/drivers/mtd/nvmxip/nvmxip_qspi.c
> @@ -11,9 +11,6 @@
>  #include <nvmxip.h>
>  #include <linux/errno.h>
>  
> -#include <asm/global_data.h>
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define NVMXIP_QSPI_DRV_NAME "nvmxip_qspi"
>  
>  /**
> diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c
> index 102a9236826..a9db5296b2d 100644
> --- a/drivers/mtd/spi/sf-uclass.c
> +++ b/drivers/mtd/spi/sf-uclass.c
> @@ -11,13 +11,10 @@
>  #include <malloc.h>
>  #include <spi.h>
>  #include <spi_flash.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <test/test.h>
>  #include "sf_internal.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, void *buf)
>  {
>  	return log_ret(sf_get_ops(dev)->read(dev, offset, len, buf));
> diff --git a/drivers/net/dwmac_s700.c b/drivers/net/dwmac_s700.c
> index 969d247b4f3..76daab961c0 100644
> --- a/drivers/net/dwmac_s700.c
> +++ b/drivers/net/dwmac_s700.c
> @@ -5,7 +5,6 @@
>   * Actions DWMAC specific glue layer
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm.h>
>  #include <clk.h>
> @@ -24,8 +23,6 @@
>  #define RMII_REF_CLK_MFP_CTL0		(0x0 << 6)
>  #define CLKO_25M_EN_MFP_CTL3		BIT(30)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void dwmac_board_setup(void)
>  {
>  	clrbits_le32(MFP_CTL0, (RMII_TXD01_MFP_CTL0 | RMII_RXD01_MFP_CTL0 |
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index fee9973c4dc..ba105dd2825 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -18,7 +18,6 @@
>  #include <net.h>
>  #include <netdev.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <power/regulator.h>
>  
> @@ -36,8 +35,6 @@
>  #include "fec_mxc.h"
>  #include <eth_phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * Timeout the transfer after 5 mS. This is usually a bit more, since
>   * the code in the tightloops this timeout is used in adds some overhead.
> diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c
> index c8cfe7448d4..2b6080dd9ee 100644
> --- a/drivers/net/gmac_rockchip.c
> +++ b/drivers/net/gmac_rockchip.c
> @@ -11,7 +11,6 @@
>  #include <net.h>
>  #include <phy.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/arch-rockchip/periph.h>
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/hardware.h>
> @@ -28,7 +27,6 @@
>  #include <linux/bitops.h>
>  #include "designware.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
>  #define DELAY_ENABLE(soc, tx, rx) \
>  	(((tx) ? soc##_TXCLK_DLY_ENA_GMAC_ENABLE : soc##_TXCLK_DLY_ENA_GMAC_DISABLE) | \
>  	((rx) ? soc##_RXCLK_DLY_ENA_GMAC_ENABLE : soc##_RXCLK_DLY_ENA_GMAC_DISABLE))
> diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
> index 1640868c24a..baa18202d6e 100644
> --- a/drivers/net/mvneta.c
> +++ b/drivers/net/mvneta.c
> @@ -20,7 +20,6 @@
>  #include <config.h>
>  #include <malloc.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
> @@ -37,8 +36,6 @@
>  #include <linux/mbus.h>
>  #include <asm-generic/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define MVNETA_NR_CPUS		1
>  #define ETH_HLEN		14	/* Total octets in header */
>  
> diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
> index 217bcac2ce2..5a822b64427 100644
> --- a/drivers/net/octeontx/smi.c
> +++ b/drivers/net/octeontx/smi.c
> @@ -10,15 +10,12 @@
>  #include <pci.h>
>  #include <pci_ids.h>
>  #include <phy.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/ctype.h>
>  #include <linux/delay.h>
>  
>  #define PCI_DEVICE_ID_OCTEONTX_SMI 0xA02B
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  enum octeontx_smi_mode {
>  	CLAUSE22 = 0,
>  	CLAUSE45 = 1,
> diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
> index 11d36164976..4ab709a14d5 100644
> --- a/drivers/net/phy/fixed.c
> +++ b/drivers/net/phy/fixed.c
> @@ -10,9 +10,6 @@
>  #include <phy.h>
>  #include <dm.h>
>  #include <fdt_support.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static int fixedphy_probe(struct phy_device *phydev)
>  {
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index b58283fe3d5..d7e0c4fe02d 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -17,7 +17,6 @@
>  #include <miiphy.h>
>  #include <phy.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
>  #include <dm/of_extra.h>
> @@ -26,8 +25,6 @@
>  #include <linux/err.h>
>  #include <linux/compiler.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Generic PHY support and helper functions */
>  
>  /**
> diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
> index e44b7b75bd5..f5a7dd349c9 100644
> --- a/drivers/net/phy/xilinx_gmii2rgmii.c
> +++ b/drivers/net/phy/xilinx_gmii2rgmii.c
> @@ -8,9 +8,6 @@
>  #include <dm.h>
>  #include <log.h>
>  #include <phy.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  #define ZYNQ_GMII2RGMII_REG		0x10
>  #define ZYNQ_GMII2RGMII_SPEED_MASK	(BMCR_SPEED1000 | BMCR_SPEED100)
> diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
> index 1d716716778..c3d40f0b59e 100644
> --- a/drivers/net/sandbox-raw.c
> +++ b/drivers/net/sandbox-raw.c
> @@ -12,9 +12,6 @@
>  #include <env.h>
>  #include <malloc.h>
>  #include <net.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static int reply_arp;
>  static struct in_addr arp_ip;
> diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
> index 2011fd31f41..0ea50c484c0 100644
> --- a/drivers/net/sandbox.c
> +++ b/drivers/net/sandbox.c
> @@ -10,7 +10,6 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <asm/eth.h>
> -#include <asm/global_data.h>
>  #include <asm/test.h>
>  #include <asm/types.h>
>  
> @@ -84,8 +83,6 @@ struct icmphdr {
>  #define ICMP_ECHO_REPLY		0
>  #define IPPROTO_ICMP		1
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const u8 null_ethaddr[6];
>  static bool skip_timeout;
>  
> diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c
> index d4abc9a0411..40c98e72e4d 100644
> --- a/drivers/net/ti/keystone_net.c
> +++ b/drivers/net/ti/keystone_net.c
> @@ -7,7 +7,6 @@
>   */
>  #include <command.h>
>  #include <console.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/printk.h>
>  
> @@ -26,8 +25,6 @@
>  
>  #include "cpsw_mdio.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #ifdef KEYSTONE2_EMAC_GIG_ENABLE
>  #define emac_gigabit_enable(x)	keystone2_eth_gigabit_enable(x)
>  #else
> diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
> index fb48feb4469..e9cc5db52d2 100644
> --- a/drivers/net/xilinx_axi_emac.c
> +++ b/drivers/net/xilinx_axi_emac.c
> @@ -15,7 +15,6 @@
>  #include <log.h>
>  #include <net.h>
>  #include <malloc.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <phy.h>
>  #include <miiphy.h>
> @@ -23,8 +22,6 @@
>  #include <linux/delay.h>
>  #include <eth_phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Link setup */
>  #define XAE_EMMC_LINKSPEED_MASK	0xC0000000 /* Link speed */
>  #define XAE_EMMC_LINKSPD_10	0x00000000 /* Link Speed mask for 10 Mbit */
> diff --git a/drivers/pci/pci_octeontx.c b/drivers/pci/pci_octeontx.c
> index 875cf7f7115..6752112a878 100644
> --- a/drivers/pci/pci_octeontx.c
> +++ b/drivers/pci/pci_octeontx.c
> @@ -11,14 +11,11 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <pci.h>
> -#include <asm/global_data.h>
>  
>  #include <asm/io.h>
>  
>  #include <linux/ioport.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * This driver supports multiple types of operations / host bridges / busses:
>   *
> diff --git a/drivers/pci/pcie_dw_meson.c b/drivers/pci/pcie_dw_meson.c
> index 483b07ce078..1eff6d1b0ed 100644
> --- a/drivers/pci/pcie_dw_meson.c
> +++ b/drivers/pci/pcie_dw_meson.c
> @@ -16,7 +16,6 @@
>  #include <power-domain.h>
>  #include <reset.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
> @@ -27,8 +26,6 @@
>  
>  #include "pcie_dw_common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * struct meson_pcie - Amlogic Meson DW PCIe controller state
>   *
> diff --git a/drivers/pci/pcie_dw_qcom.c b/drivers/pci/pcie_dw_qcom.c
> index 978754e8472..10c45aaba20 100644
> --- a/drivers/pci/pcie_dw_qcom.c
> +++ b/drivers/pci/pcie_dw_qcom.c
> @@ -10,7 +10,6 @@
>  #include <syscon.h>
>  #include <malloc.h>
>  #include <power/regulator.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
> @@ -21,8 +20,6 @@
>  
>  #include "pcie_dw_common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct qcom_pcie;
>  
>  struct qcom_pcie_ops {
> diff --git a/drivers/pci/pcie_dw_rockchip.c b/drivers/pci/pcie_dw_rockchip.c
> index 208aa30463a..61117fa95e6 100644
> --- a/drivers/pci/pcie_dw_rockchip.c
> +++ b/drivers/pci/pcie_dw_rockchip.c
> @@ -13,7 +13,6 @@
>  #include <reset.h>
>  #include <syscon.h>
>  #include <asm/arch-rockchip/clock.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
> @@ -24,8 +23,6 @@
>  
>  #include "pcie_dw_common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * struct rk_pcie - RK DW PCIe controller state
>   *
> diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c
> index dc6e65273b7..37c295fdd38 100644
> --- a/drivers/pci/pcie_dw_ti.c
> +++ b/drivers/pci/pcie_dw_ti.c
> @@ -10,7 +10,6 @@
>  #include <power-domain.h>
>  #include <regmap.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
> @@ -20,8 +19,6 @@
>  
>  #include "pcie_dw_common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PCIE_VENDORID_MASK	GENMASK(15, 0)
>  #define PCIE_DEVICEID_SHIFT	16
>  
> diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c
> index 1be33095b9c..db7c4f47916 100644
> --- a/drivers/pci/pcie_layerscape.c
> +++ b/drivers/pci/pcie_layerscape.c
> @@ -6,7 +6,6 @@
>   */
>  
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <errno.h>
>  #include <malloc.h>
> @@ -16,8 +15,6 @@
>  #endif
>  #include "pcie_layerscape.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  LIST_HEAD(ls_pcie_list);
>  
>  unsigned int dbi_readl(struct ls_pcie *pcie, unsigned int offset)
> diff --git a/drivers/pci/pcie_starfive_jh7110.c b/drivers/pci/pcie_starfive_jh7110.c
> index 0908ae16b67..761e64be58a 100644
> --- a/drivers/pci/pcie_starfive_jh7110.c
> +++ b/drivers/pci/pcie_starfive_jh7110.c
> @@ -15,7 +15,6 @@
>  #include <regmap.h>
>  #include <reset.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
> @@ -39,8 +38,6 @@
>  #define STG_SYSCON_RP_NEP_OFFSET               0xe8
>  #define STG_SYSCON_K_RP_NEP_MASK               BIT(8)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct starfive_pcie {
>  	struct pcie_plda plda;
>  	struct clk_bulk	clks;
> diff --git a/drivers/pci_endpoint/pci_ep-uclass.c b/drivers/pci_endpoint/pci_ep-uclass.c
> index 902d1a51eaa..b71defe4019 100644
> --- a/drivers/pci_endpoint/pci_ep-uclass.c
> +++ b/drivers/pci_endpoint/pci_ep-uclass.c
> @@ -13,12 +13,9 @@
>  
>  #include <dm.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <linux/log2.h>
>  #include <pci_ep.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int pci_ep_write_header(struct udevice *dev, uint fn, struct pci_ep_header *hdr)
>  {
>  	struct pci_ep_ops *ops = pci_ep_get_ops(dev);
> diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c
> index a4121423873..b074d58f9f6 100644
> --- a/drivers/phy/marvell/comphy_core.c
> +++ b/drivers/phy/marvell/comphy_core.c
> @@ -7,7 +7,6 @@
>  
>  #include <dm.h>
>  #include <fdtdec.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/device_compat.h>
>  #include <linux/err.h>
> @@ -18,8 +17,6 @@
>  
>  #define COMPHY_MAX_CHIP 4
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const char *get_speed_string(u32 speed)
>  {
>  	static const char * const speed_strings[] = {
> diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c
> index 2be0178882a..6df4ff4eb05 100644
> --- a/drivers/phy/omap-usb2-phy.c
> +++ b/drivers/phy/omap-usb2-phy.c
> @@ -6,7 +6,6 @@
>   * Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm.h>
>  #include <errno.h>
> @@ -39,8 +38,6 @@
>  #define USB2PHY_USE_CHG_DET_REG		BIT(29)
>  #define USB2PHY_DIS_CHG_DET		BIT(28)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct omap_usb2_phy {
>  	struct regmap *pwr_regmap;
>  	ulong flags;
> diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
> index 660037034ec..5775101c4cb 100644
> --- a/drivers/phy/rockchip/phy-rockchip-pcie.c
> +++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
> @@ -9,7 +9,6 @@
>  
>  #include <clk.h>
>  #include <dm.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <generic-phy.h>
>  #include <reset.h>
> @@ -19,8 +18,6 @@
>  #include <linux/iopoll.h>
>  #include <asm/arch-rockchip/clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * The higher 16-bit of this register is used for write protection
>   * only if BIT(x + 16) set to 1 the BIT(x) can be written.
> diff --git a/drivers/phy/rockchip/phy-rockchip-typec.c b/drivers/phy/rockchip/phy-rockchip-typec.c
> index 66d1d32d25c..305d5b0dd48 100644
> --- a/drivers/phy/rockchip/phy-rockchip-typec.c
> +++ b/drivers/phy/rockchip/phy-rockchip-typec.c
> @@ -10,7 +10,6 @@
>  
>  #include <clk.h>
>  #include <dm.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/lists.h>
>  #include <generic-phy.h>
> @@ -21,8 +20,6 @@
>  #include <linux/iopoll.h>
>  #include <asm/arch-rockchip/clock.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define usleep_range(a, b) udelay((b))
>  
>  #define CMN_SSM_BANDGAP			(0x21 << 2)
> diff --git a/drivers/pinctrl/mtmips/pinctrl-mt7628.c b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
> index dc7acec4a77..be3a28eb94d 100644
> --- a/drivers/pinctrl/mtmips/pinctrl-mt7628.c
> +++ b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
> @@ -6,15 +6,12 @@
>   */
>  
>  #include <dm.h>
> -#include <asm/global_data.h>
>  #include <dm/pinctrl.h>
>  #include <linux/bitops.h>
>  #include <linux/io.h>
>  
>  #include "pinctrl-mtmips-common.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define AGPIO_OFS			0
>  #define GPIOMODE1_OFS			0x24
>  #define GPIOMODE2_OFS			0x28
> diff --git a/drivers/pinctrl/nexell/pinctrl-nexell.c b/drivers/pinctrl/nexell/pinctrl-nexell.c
> index d5be7baf50d..af1acd91649 100644
> --- a/drivers/pinctrl/nexell/pinctrl-nexell.c
> +++ b/drivers/pinctrl/nexell/pinctrl-nexell.c
> @@ -7,13 +7,10 @@
>  
>  #include <dm.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include "pinctrl-nexell.h"
>  #include "pinctrl-s5pxx18.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* given a pin-name, return the address of pin config registers */
>  unsigned long pin_to_bank_base(struct udevice *dev, const char *pin_name,
>  			       u32 *pin)
> diff --git a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
> index a6ae5764fbc..aeed3f1e1e1 100644
> --- a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
> +++ b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
> @@ -9,15 +9,12 @@
>  
>  #include <dm.h>
>  #include <errno.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/pinctrl.h>
>  #include <dm/root.h>
>  #include "pinctrl-nexell.h"
>  #include "pinctrl-s5pxx18.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static void nx_gpio_set_bit(u32 *value, u32 bit, int enable)
>  {
>  	register u32 newvalue;
> diff --git a/drivers/pinctrl/nxp/pinctrl-imx-mmio.c b/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
> index 2f4228a9fc5..7cdbbbba747 100644
> --- a/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
> +++ b/drivers/pinctrl/nxp/pinctrl-imx-mmio.c
> @@ -5,7 +5,6 @@
>  
>  #include <malloc.h>
>  #include <mapmem.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
>  #include <linux/bitops.h>
> @@ -16,8 +15,6 @@
>  
>  #include "pinctrl-imx.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int imx_pinctrl_set_state_mmio(struct udevice *dev, struct udevice *config)
>  {
>  	struct imx_pinctrl_priv *priv = dev_get_priv(dev);
> diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c
> index 7d91ccfb26f..d8011768581 100644
> --- a/drivers/pinctrl/nxp/pinctrl-imx.c
> +++ b/drivers/pinctrl/nxp/pinctrl-imx.c
> @@ -5,7 +5,6 @@
>  
>  #include <malloc.h>
>  #include <mapmem.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
>  #include <linux/bitops.h>
> @@ -16,8 +15,6 @@
>  
>  #include "pinctrl-imx.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int imx_pinctrl_set_state_common(struct udevice *dev, struct udevice *config,
>  				 int pin_size, u32 **pin_data, int *npins)
>  {
> diff --git a/drivers/pinctrl/nxp/pinctrl-imx8.c b/drivers/pinctrl/nxp/pinctrl-imx8.c
> index 9b3b5aec07a..23865ee6428 100644
> --- a/drivers/pinctrl/nxp/pinctrl-imx8.c
> +++ b/drivers/pinctrl/nxp/pinctrl-imx8.c
> @@ -9,14 +9,11 @@
>  #include <asm/io.h>
>  #include <firmware/imx/sci/sci.h>
>  #include <misc.h>
> -#include <asm/global_data.h>
>  #include <dm/device.h>
>  #include <dm/pinctrl.h>
>  
>  #include "pinctrl-imx.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define PADRING_IFMUX_EN_SHIFT		31
>  #define PADRING_IFMUX_EN_MASK		BIT(31)
>  #define PADRING_GP_EN_SHIFT		30
> diff --git a/drivers/pinctrl/nxp/pinctrl-mxs.c b/drivers/pinctrl/nxp/pinctrl-mxs.c
> index 85ab5fdf640..8b764738014 100644
> --- a/drivers/pinctrl/nxp/pinctrl-mxs.c
> +++ b/drivers/pinctrl/nxp/pinctrl-mxs.c
> @@ -5,7 +5,6 @@
>   */
>  
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
>  #include <linux/io.h>
> @@ -15,8 +14,6 @@
>  #include <dm/read.h>
>  #include "pinctrl-mxs.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct mxs_pinctrl_priv {
>  	void __iomem *base;
>  	const struct mxs_regs *regs;
> diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c
> index a7e64971a2a..1c731b897cc 100644
> --- a/drivers/power/domain/imx8m-power-domain.c
> +++ b/drivers/power/domain/imx8m-power-domain.c
> @@ -7,7 +7,6 @@
>  #include <dm.h>
>  #include <malloc.h>
>  #include <power-domain-uclass.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/sys_proto.h>
>  #include <dm/device-internal.h>
> @@ -22,8 +21,6 @@
>  #include <dt-bindings/power/imx8mp-power.h>
>  #include <dt-bindings/power/imx8mq-power.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define GPC_PGC_CPU_MAPPING			0x0ec
>  #define IMX8MP_GPC_PGC_CPU_MAPPING		0x1cc
>  
> diff --git a/drivers/power/pmic/bd71837.c b/drivers/power/pmic/bd71837.c
> index a5df2570fc3..13642794765 100644
> --- a/drivers/power/pmic/bd71837.c
> +++ b/drivers/power/pmic/bd71837.c
> @@ -7,14 +7,11 @@
>  #include <dm.h>
>  #include <i2c.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <linux/printk.h>
>  #include <power/pmic.h>
>  #include <power/regulator.h>
>  #include <power/bd71837.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const struct pmic_child_info pmic_children_info[] = {
>  	/* buck */
>  	{ .prefix = "b", .driver = BD718XX_REGULATOR_DRIVER},
> diff --git a/drivers/power/pmic/mc34708.c b/drivers/power/pmic/mc34708.c
> index 43badb5767a..0ec52e25a9e 100644
> --- a/drivers/power/pmic/mc34708.c
> +++ b/drivers/power/pmic/mc34708.c
> @@ -9,11 +9,8 @@
>  #include <errno.h>
>  #include <fsl_pmic.h>
>  #include <i2c.h>
> -#include <asm/global_data.h>
>  #include <power/pmic.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int mc34708_reg_count(struct udevice *dev)
>  {
>  	return PMIC_NUM_OF_REGS;
> diff --git a/drivers/power/pmic/mp5416.c b/drivers/power/pmic/mp5416.c
> index 9d44f0ae655..899c2beeb37 100644
> --- a/drivers/power/pmic/mp5416.c
> +++ b/drivers/power/pmic/mp5416.c
> @@ -9,9 +9,6 @@
>  #include <power/pmic.h>
>  #include <power/regulator.h>
>  #include <power/mp5416.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static const struct pmic_child_info pmic_children_info[] = {
>  	/* buck */
> diff --git a/drivers/power/pmic/pca9450.c b/drivers/power/pmic/pca9450.c
> index e5c1f037b61..c95e6357ee8 100644
> --- a/drivers/power/pmic/pca9450.c
> +++ b/drivers/power/pmic/pca9450.c
> @@ -10,7 +10,6 @@
>  #include <dm/lists.h>
>  #include <i2c.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <linux/delay.h>
>  #include <linux/printk.h>
>  #include <power/pmic.h>
> @@ -18,8 +17,6 @@
>  #include <power/pca9450.h>
>  #include <sysreset.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const struct pmic_child_info pmic_children_info[] = {
>  	/* buck */
>  	{ .prefix = "b", .driver = PCA9450_REGULATOR_DRIVER},
> diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c
> index ff738faadc5..adde5156c76 100644
> --- a/drivers/power/regulator/pwm_regulator.c
> +++ b/drivers/power/regulator/pwm_regulator.c
> @@ -11,12 +11,9 @@
>  #include <errno.h>
>  #include <log.h>
>  #include <pwm.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <power/regulator.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct pwm_regulator_info {
>  	/* pwm id corresponding to the PWM driver */
>  	int pwm_id;
> diff --git a/drivers/pwm/pwm-sifive.c b/drivers/pwm/pwm-sifive.c
> index e9777c71f5e..dea7bc57495 100644
> --- a/drivers/pwm/pwm-sifive.c
> +++ b/drivers/pwm/pwm-sifive.c
> @@ -17,7 +17,6 @@
>  #include <dm.h>
>  #include <pwm.h>
>  #include <regmap.h>
> -#include <asm/global_data.h>
>  #include <linux/io.h>
>  #include <linux/log2.h>
>  #include <linux/bitfield.h>
> @@ -40,8 +39,6 @@
>  #define PWM_SIFIVE_CHANNEL_ENABLE_VAL   0
>  #define PWM_SIFIVE_CHANNEL_DISABLE_VAL  0xffff
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct pwm_sifive_regs {
>  	unsigned long cfg;
>  	unsigned long cnt;
> diff --git a/drivers/pwm/rk_pwm.c b/drivers/pwm/rk_pwm.c
> index 0a64eb01dc2..b51dee31a98 100644
> --- a/drivers/pwm/rk_pwm.c
> +++ b/drivers/pwm/rk_pwm.c
> @@ -11,14 +11,11 @@
>  #include <pwm.h>
>  #include <regmap.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch-rockchip/pwm.h>
>  #include <linux/bitops.h>
>  #include <power/regulator.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct rockchip_pwm_data {
>  	struct rockchip_pwm_regs regs;
>  	unsigned int prescaler;
> diff --git a/drivers/pwm/sunxi_pwm.c b/drivers/pwm/sunxi_pwm.c
> index 2140a05b679..1dd2428da77 100644
> --- a/drivers/pwm/sunxi_pwm.c
> +++ b/drivers/pwm/sunxi_pwm.c
> @@ -9,13 +9,10 @@
>  #include <pwm.h>
>  #include <regmap.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/pwm.h>
>  #include <power/regulator.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define OSC_24MHZ 24000000
>  
>  struct sunxi_pwm_priv {
> diff --git a/drivers/ram/stm32mp1/stm32mp1_tests.c b/drivers/ram/stm32mp1/stm32mp1_tests.c
> index 6108faa7073..3b41d6045ad 100644
> --- a/drivers/ram/stm32mp1/stm32mp1_tests.c
> +++ b/drivers/ram/stm32mp1/stm32mp1_tests.c
> @@ -10,7 +10,6 @@
>  #include <log.h>
>  #include <rand.h>
>  #include <watchdog.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/log2.h>
>  #include "stm32mp1_tests.h"
> @@ -19,8 +18,6 @@
>  
>  #define PATTERN_DEFAULT	"-"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int get_bufsize(char *string, int argc, char *argv[], int arg_nb,
>  		       size_t *bufsize, size_t default_size, size_t min_size)
>  {
> diff --git a/drivers/reboot-mode/reboot-mode-gpio.c b/drivers/reboot-mode/reboot-mode-gpio.c
> index 22ee40c3433..8d3e53d50ee 100644
> --- a/drivers/reboot-mode/reboot-mode-gpio.c
> +++ b/drivers/reboot-mode/reboot-mode-gpio.c
> @@ -10,8 +10,6 @@
>  #include <reboot-mode/reboot-mode-gpio.h>
>  #include <reboot-mode/reboot-mode.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int reboot_mode_get(struct udevice *dev, u32 *buf)
>  {
>  	int ret;
> diff --git a/drivers/reboot-mode/reboot-mode-rtc.c b/drivers/reboot-mode/reboot-mode-rtc.c
> index 4f4ad63febc..adca584d622 100644
> --- a/drivers/reboot-mode/reboot-mode-rtc.c
> +++ b/drivers/reboot-mode/reboot-mode-rtc.c
> @@ -9,8 +9,6 @@
>  #include <reboot-mode/reboot-mode.h>
>  #include <rtc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int reboot_mode_get(struct udevice *dev, u32 *buf)
>  {
>  	if (!buf)
> diff --git a/drivers/remoteproc/rproc-uclass.c b/drivers/remoteproc/rproc-uclass.c
> index 2dbd3a21cea..47cb64fec77 100644
> --- a/drivers/remoteproc/rproc-uclass.c
> +++ b/drivers/remoteproc/rproc-uclass.c
> @@ -22,8 +22,6 @@
>  #include <linux/compat.h>
>  #include <linux/printk.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct resource_table {
>  	u32 ver;
>  	u32 num;
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 4f7de3ea215..c885b46cf56 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -14,13 +14,10 @@
>  #include <reset.h>
>  #include <spl.h>
>  #include <watchdog.h>
> -#include <asm/global_data.h>
>  #include <linux/err.h>
>  #include <linux/types.h>
>  #include <asm/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define UART_LCRVAL UART_LCR_8N1		/* 8 data, 1 stop, no parity */
>  #define UART_MCRVAL (UART_MCR_DTR | \
>  		     UART_MCR_RTS)		/* RTS/DTR */
> diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c
> index cc0491bc3c8..658cbd2bbc9 100644
> --- a/drivers/serial/sandbox.c
> +++ b/drivers/serial/sandbox.c
> @@ -14,13 +14,10 @@
>  #include <os.h>
>  #include <serial.h>
>  #include <video.h>
> -#include <asm/global_data.h>
>  #include <linux/compiler.h>
>  #include <asm/serial.h>
>  #include <asm/state.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static size_t _sandbox_serial_written = 1;
>  static bool sandbox_serial_enabled = true;
>  
> diff --git a/drivers/serial/serial_adi_uart4.c b/drivers/serial/serial_adi_uart4.c
> index 45f8315d0a0..784310ba231 100644
> --- a/drivers/serial/serial_adi_uart4.c
> +++ b/drivers/serial/serial_adi_uart4.c
> @@ -80,8 +80,6 @@
>  #define ERXS			BIT(8)
>  #define ETXS			BIT(9)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct uart4_reg {
>  	u32 revid;
>  	u32 control;
> diff --git a/drivers/serial/serial_htif.c b/drivers/serial/serial_htif.c
> index 2a93bbbcc9f..690de3fc085 100644
> --- a/drivers/serial/serial_htif.c
> +++ b/drivers/serial/serial_htif.c
> @@ -8,14 +8,11 @@
>  #include <fdtdec.h>
>  #include <log.h>
>  #include <watchdog.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/compiler.h>
>  #include <serial.h>
>  #include <linux/err.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define HTIF_DATA_BITS		48
>  #define HTIF_DATA_MASK		((1ULL << HTIF_DATA_BITS) - 1)
>  #define HTIF_DATA_SHIFT		0
> diff --git a/drivers/serial/serial_xen.c b/drivers/serial/serial_xen.c
> index e05805f6372..4ba8d3ee641 100644
> --- a/drivers/serial/serial_xen.c
> +++ b/drivers/serial/serial_xen.c
> @@ -7,7 +7,6 @@
>  #include <dm.h>
>  #include <serial.h>
>  #include <watchdog.h>
> -#include <asm/global_data.h>
>  
>  #include <linux/bug.h>
>  
> @@ -20,8 +19,6 @@
>  #include <xen/interface/io/console.h>
>  #include <xen/interface/io/ring.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  u32 console_evtchn;
>  
>  /*
> diff --git a/drivers/smem/msm_smem.c b/drivers/smem/msm_smem.c
> index b6b92d3530d..7a50d5a5792 100644
> --- a/drivers/smem/msm_smem.c
> +++ b/drivers/smem/msm_smem.c
> @@ -7,7 +7,6 @@
>  
>  #include <errno.h>
>  #include <dm.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
>  #include <dm/of_access.h>
> @@ -20,8 +19,6 @@
>  #include <linux/sizes.h>
>  #include <smem.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * The Qualcomm shared memory system is an allocate-only heap structure that
>   * consists of one of more memory areas that can be accessed by the processors
> diff --git a/drivers/spi/ca_sflash.c b/drivers/spi/ca_sflash.c
> index db32e39add2..f00df93a5f5 100644
> --- a/drivers/spi/ca_sflash.c
> +++ b/drivers/spi/ca_sflash.c
> @@ -21,9 +21,6 @@
>  #include <spi.h>
>  #include <spi-mem.h>
>  #include <reset.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  struct ca_sflash_regs {
>  	u32 idr;		/* 0x00:Flash word ID Register */
> diff --git a/drivers/spi/microchip_coreqspi.c b/drivers/spi/microchip_coreqspi.c
> index a84b257fb1a..b3ff611e8f7 100644
> --- a/drivers/spi/microchip_coreqspi.c
> +++ b/drivers/spi/microchip_coreqspi.c
> @@ -18,8 +18,6 @@
>  #include <linux/sizes.h>
>  #include <asm/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * QSPI Control register mask defines
>   */
> diff --git a/drivers/spi/mvebu_a3700_spi.c b/drivers/spi/mvebu_a3700_spi.c
> index fde9b142fb8..79836d7e271 100644
> --- a/drivers/spi/mvebu_a3700_spi.c
> +++ b/drivers/spi/mvebu_a3700_spi.c
> @@ -11,14 +11,11 @@
>  #include <spi.h>
>  #include <clk.h>
>  #include <wait_bit.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/device_compat.h>
>  #include <linux/bitops.h>
>  #include <asm/gpio.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define MVEBU_SPI_A3700_XFER_RDY		BIT(1)
>  #define MVEBU_SPI_A3700_FIFO_FLUSH		BIT(9)
>  #define MVEBU_SPI_A3700_BYTE_LEN		BIT(5)
> diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
> index 35bd8766097..b2d115aded4 100644
> --- a/drivers/spi/omap3_spi.c
> +++ b/drivers/spi/omap3_spi.c
> @@ -20,13 +20,10 @@
>  #include <spi.h>
>  #include <time.h>
>  #include <malloc.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/bitops.h>
>  #include <omap3_spi.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct omap2_mcspi_platform_config {
>  	unsigned int regs_offset;
>  };
> diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c
> index e00532a371b..0bdc112d249 100644
> --- a/drivers/spi/spi-sunxi.c
> +++ b/drivers/spi/spi-sunxi.c
> @@ -26,7 +26,6 @@
>  #include <fdt_support.h>
>  #include <reset.h>
>  #include <wait_bit.h>
> -#include <asm/global_data.h>
>  #include <dm/device_compat.h>
>  #include <linux/bitops.h>
>  
> @@ -35,8 +34,6 @@
>  
>  #include <linux/iopoll.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* sun4i spi registers */
>  #define SUN4I_RXDATA_REG		0x00
>  #define SUN4I_TXDATA_REG		0x04
> diff --git a/drivers/spi/spi-synquacer.c b/drivers/spi/spi-synquacer.c
> index a3c0ad17121..66c97da610b 100644
> --- a/drivers/spi/spi-synquacer.c
> +++ b/drivers/spi/spi-synquacer.c
> @@ -99,8 +99,6 @@
>  #define TXBIT	1
>  #define RXBIT	2
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct synquacer_spi_plat {
>  	void __iomem *base;
>  	bool aces, rtm;
> diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
> index 49b584c648d..60401633341 100644
> --- a/drivers/spi/spi-uclass.c
> +++ b/drivers/spi/spi-uclass.c
> @@ -12,14 +12,11 @@
>  #include <spi.h>
>  #include <spi-mem.h>
>  #include <dm/device_compat.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/uclass-internal.h>
>  #include <dm/lists.h>
>  #include <dm/util.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define SPI_DEFAULT_SPEED_HZ 100000
>  
>  static int spi_set_speed_mode(struct udevice *bus, int speed, int mode)
> diff --git a/drivers/spi/tegra210_qspi.c b/drivers/spi/tegra210_qspi.c
> index b969a7993d4..0f77fbc8d41 100644
> --- a/drivers/spi/tegra210_qspi.c
> +++ b/drivers/spi/tegra210_qspi.c
> @@ -9,7 +9,6 @@
>  #include <dm.h>
>  #include <log.h>
>  #include <time.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch-tegra/clk_rst.h>
> @@ -19,8 +18,6 @@
>  #include <linux/delay.h>
>  #include "tegra_spi.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* COMMAND1 */
>  #define QSPI_CMD1_GO			BIT(31)
>  #define QSPI_CMD1_M_S			BIT(30)
> diff --git a/drivers/spmi/spmi-msm.c b/drivers/spmi/spmi-msm.c
> index f3cd98c3db8..b89dd0b406b 100644
> --- a/drivers/spmi/spmi-msm.c
> +++ b/drivers/spmi/spmi-msm.c
> @@ -10,13 +10,10 @@
>  #include <dm.h>
>  #include <errno.h>
>  #include <fdtdec.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/device_compat.h>
>  #include <spmi/spmi.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* PMIC Arbiter configuration registers */
>  #define PMIC_ARB_VERSION 0x0000
>  #define PMIC_ARB_VERSION_V2_MIN 0x20010000
> diff --git a/drivers/thermal/imx_tmu.c b/drivers/thermal/imx_tmu.c
> index c8389d507ee..1bde4d07f52 100644
> --- a/drivers/thermal/imx_tmu.c
> +++ b/drivers/thermal/imx_tmu.c
> @@ -5,7 +5,6 @@
>   */
>  
>  #include <config.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/sys_proto.h>
> @@ -19,8 +18,6 @@
>  #include <malloc.h>
>  #include <thermal.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define SITES_MAX	16
>  #define FLAGS_VER2	0x1
>  #define FLAGS_VER3	0x2
> diff --git a/drivers/timer/ostm_timer.c b/drivers/timer/ostm_timer.c
> index 314f956cdfb..3841d3c90d0 100644
> --- a/drivers/timer/ostm_timer.c
> +++ b/drivers/timer/ostm_timer.c
> @@ -7,7 +7,6 @@
>  
>  #include <clock_legacy.h>
>  #include <malloc.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm.h>
>  #include <clk.h>
> @@ -22,8 +21,6 @@
>  #define OSTM_CTL	0x20
>  #define OSTM_CTL_D	BIT(1)
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct ostm_priv {
>  	fdt_addr_t	regs;
>  };
> diff --git a/drivers/timer/sp804_timer.c b/drivers/timer/sp804_timer.c
> index 3e57f4b98ba..05532e3330c 100644
> --- a/drivers/timer/sp804_timer.c
> +++ b/drivers/timer/sp804_timer.c
> @@ -8,15 +8,12 @@
>  #include <dm.h>
>  #include <init.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <dm/ofnode.h>
>  #include <mapmem.h>
>  #include <dt-structs.h>
>  #include <timer.h>
>  #include <asm/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define SP804_TIMERX_LOAD		0x00
>  #define SP804_TIMERX_VALUE		0x04
>  #define SP804_TIMERX_CONTROL		0x08
> diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
> index 13e9a61072a..22aa6525c96 100644
> --- a/drivers/usb/common/common.c
> +++ b/drivers/usb/common/common.c
> @@ -7,14 +7,11 @@
>   */
>  
>  #include <dm.h>
> -#include <asm/global_data.h>
>  #include <linux/printk.h>
>  #include <linux/usb/otg.h>
>  #include <linux/usb/ch9.h>
>  #include <linux/usb/phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static const char *const usb_dr_modes[] = {
>  	[USB_DR_MODE_UNKNOWN]		= "",
>  	[USB_DR_MODE_HOST]		= "host",
> diff --git a/drivers/usb/phy/rockchip_usb2_phy.c b/drivers/usb/phy/rockchip_usb2_phy.c
> index ce9a7b5b819..bdbd0d44813 100644
> --- a/drivers/usb/phy/rockchip_usb2_phy.c
> +++ b/drivers/usb/phy/rockchip_usb2_phy.c
> @@ -5,15 +5,12 @@
>  
>  #include <hang.h>
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <linux/bitops.h>
>  #include <linux/delay.h>
>  
>  #include "../gadget/dwc2_udc_otg_priv.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define BIT_WRITEABLE_SHIFT	16
>  
>  struct usb2phy_reg {
> diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
> index 0aee57cb2f4..3061b466d7c 100644
> --- a/drivers/usb/tcpm/tcpm.c
> +++ b/drivers/usb/tcpm/tcpm.c
> @@ -19,8 +19,6 @@
>  #include <usb/tcpm.h>
>  #include "tcpm-internal.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  const char * const tcpm_states[] = {
>  	FOREACH_TCPM_STATE(GENERATE_TCPM_STRING)
>  };
> diff --git a/drivers/video/hx8238d.c b/drivers/video/hx8238d.c
> index f0220e4cc07..b6980b1aec1 100644
> --- a/drivers/video/hx8238d.c
> +++ b/drivers/video/hx8238d.c
> @@ -16,8 +16,6 @@
>  #include <panel.h>
>  #include <spi.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Register Address */
>  #define HX8238D_OUTPUT_CTRL_ADDR        0x01
>  #define HX8238D_LCD_AC_CTRL_ADDR        0x02
> diff --git a/drivers/video/imx/mxc_ipuv3_fb.c b/drivers/video/imx/mxc_ipuv3_fb.c
> index ab416fdd33c..ef5d4faf3b3 100644
> --- a/drivers/video/imx/mxc_ipuv3_fb.c
> +++ b/drivers/video/imx/mxc_ipuv3_fb.c
> @@ -21,7 +21,6 @@
>  #include "ipu_regs.h"
>  #include "mxcfb.h"
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/mach-imx/video.h>
>  #include <linux/err.h>
> @@ -37,8 +36,6 @@
>  #include <dm/devres.h>
>  #include <video.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int mxcfb_map_video_memory(struct fb_info *fbi);
>  static int mxcfb_unmap_video_memory(struct fb_info *fbi);
>  
> diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c
> index ea3776258a0..e0416b70ec0 100644
> --- a/drivers/video/nexell_display.c
> +++ b/drivers/video/nexell_display.c
> @@ -16,14 +16,11 @@
>  #include <linux/compat.h>
>  #include <linux/err.h>
>  #include <video.h>		/* For struct video_uc_plat */
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/display.h>
>  #include <asm/arch/display_dev.h>
>  #include "videomodes.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #if !defined(CONFIG_DM) && !defined(CONFIG_OF_CONTROL)
>  static struct nx_display_dev *dp_dev;
>  #endif
> diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c
> index c969dae30b6..97c8619a6d8 100644
> --- a/drivers/video/rockchip/rk_lvds.c
> +++ b/drivers/video/rockchip/rk_lvds.c
> @@ -10,7 +10,6 @@
>  #include <panel.h>
>  #include <regmap.h>
>  #include <syscon.h>
> -#include <asm/global_data.h>
>  #include <asm/gpio.h>
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/grf_rk3288.h>
> @@ -19,8 +18,6 @@
>  #include <dt-bindings/clock/rk3288-cru.h>
>  #include <dt-bindings/video/rk3288.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * struct rk_lvds_priv - private rockchip lvds display driver info
>   *
> diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c
> index 0a603083ba9..e7b5973ca58 100644
> --- a/drivers/video/rockchip/rk_mipi.c
> +++ b/drivers/video/rockchip/rk_mipi.c
> @@ -10,7 +10,6 @@
>  #include <log.h>
>  #include <panel.h>
>  #include <regmap.h>
> -#include <asm/global_data.h>
>  #include "rk_mipi.h"
>  #include <syscon.h>
>  #include <asm/gpio.h>
> @@ -22,8 +21,6 @@
>  #include <asm/arch-rockchip/grf_rk3399.h>
>  #include <asm/arch-rockchip/rockchip_mipi_dsi.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  int rk_mipi_read_timing(struct udevice *dev,
>  			struct display_timing *timing)
>  {
> diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c
> index 69dfa930273..48da350080a 100644
> --- a/drivers/video/sandbox_sdl.c
> +++ b/drivers/video/sandbox_sdl.c
> @@ -7,15 +7,12 @@
>  #include <fdtdec.h>
>  #include <log.h>
>  #include <video.h>
> -#include <asm/global_data.h>
>  #include <asm/sdl.h>
>  #include <asm/state.h>
>  #include <asm/u-boot-sandbox.h>
>  #include <dm/device-internal.h>
>  #include <dm/test.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  enum {
>  	/* Default LCD size we support */
>  	LCD_MAX_WIDTH		= 1366,
> diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c
> index 790ff6e591c..c231fd0341e 100644
> --- a/drivers/video/tidss/tidss_drv.c
> +++ b/drivers/video/tidss/tidss_drv.c
> @@ -42,8 +42,6 @@
>  #include "tidss_regs.h"
>  #include "tidss_oldi.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Panel parameters */
>  enum {
>  	LCD_MAX_WIDTH		= 1920,
> diff --git a/drivers/video/zynqmp/zynqmp_dpsub.c b/drivers/video/zynqmp/zynqmp_dpsub.c
> index a0efd3393f5..fba65bb3d5b 100644
> --- a/drivers/video/zynqmp/zynqmp_dpsub.c
> +++ b/drivers/video/zynqmp/zynqmp_dpsub.c
> @@ -20,12 +20,9 @@
>  #include <linux/delay.h>
>  #include <linux/ioport.h>
>  #include <dm/device_compat.h>
> -#include <asm/global_data.h>
>  
>  #include "zynqmp_dpsub.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Maximum supported resolution */
>  #define WIDTH				1024
>  #define HEIGHT				768
> diff --git a/drivers/watchdog/armada-37xx-wdt.c b/drivers/watchdog/armada-37xx-wdt.c
> index 4b51178e1b8..d7a6b8de492 100644
> --- a/drivers/watchdog/armada-37xx-wdt.c
> +++ b/drivers/watchdog/armada-37xx-wdt.c
> @@ -7,14 +7,11 @@
>  
>  #include <dm.h>
>  #include <wdt.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/soc.h>
>  #include <dm/device_compat.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct a37xx_wdt {
>  	void __iomem *sel_reg;
>  	void __iomem *reg;
> diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
> index 72e13787448..2fb25126b8c 100644
> --- a/drivers/watchdog/at91sam9_wdt.c
> +++ b/drivers/watchdog/at91sam9_wdt.c
> @@ -15,7 +15,6 @@
>   */
>  
>  #include <log.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <asm/arch/at91_wdt.h>
>  #include <div64.h>
> @@ -23,8 +22,6 @@
>  #include <errno.h>
>  #include <wdt.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * AT91SAM9 watchdog runs a 12bit counter @ 256Hz,
>   * use this to convert a watchdog
> diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
> index 6308d9632a8..08ef3d84e26 100644
> --- a/drivers/watchdog/mt7621_wdt.c
> +++ b/drivers/watchdog/mt7621_wdt.c
> @@ -11,12 +11,9 @@
>  
>  #include <dm.h>
>  #include <wdt.h>
> -#include <asm/global_data.h>
>  #include <linux/bitops.h>
>  #include <linux/io.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct mt762x_wdt {
>  	void __iomem *regs;
>  };
> diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
> index 4562b2a37e3..a2000b968c9 100644
> --- a/drivers/watchdog/orion_wdt.c
> +++ b/drivers/watchdog/orion_wdt.c
> @@ -16,15 +16,12 @@
>  #include <clk.h>
>  #include <log.h>
>  #include <wdt.h>
> -#include <asm/global_data.h>
>  #include <linux/bitops.h>
>  #include <linux/kernel.h>
>  #include <asm/io.h>
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/soc.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct orion_wdt_priv {
>  	void __iomem *reg;
>  	int wdt_counter_offset;
> diff --git a/drivers/watchdog/sbsa_gwdt.c b/drivers/watchdog/sbsa_gwdt.c
> index 03585529bb6..807884c5bc7 100644
> --- a/drivers/watchdog/sbsa_gwdt.c
> +++ b/drivers/watchdog/sbsa_gwdt.c
> @@ -5,7 +5,6 @@
>   * Copyright 2020 NXP
>   */
>  
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <dm/device.h>
>  #include <dm/fdtaddr.h>
> @@ -15,8 +14,6 @@
>  #include <watchdog.h>
>  #include <wdt.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* SBSA Generic Watchdog register definitions */
>  /* refresh frame */
>  #define SBSA_GWDT_WRR		0x000
> diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
> index b32590069d9..438833b2245 100644
> --- a/drivers/watchdog/wdt-uclass.c
> +++ b/drivers/watchdog/wdt-uclass.c
> @@ -14,13 +14,10 @@
>  #include <sysreset.h>
>  #include <time.h>
>  #include <wdt.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/lists.h>
>  #include <linux/kernel.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  #define WATCHDOG_TIMEOUT_SECS	(CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000)
>  
>  struct wdt_priv {
> diff --git a/fs/fs.c b/fs/fs.c
> index 319c55c440a..8ea50a6c13c 100644
> --- a/fs/fs.c
> +++ b/fs/fs.c
> @@ -24,7 +24,6 @@
>  #include <ubifs_uboot.h>
>  #include <btrfs.h>
>  #include <asm/cache.h>
> -#include <asm/global_data.h>
>  #include <asm/io.h>
>  #include <div64.h>
>  #include <linux/math64.h>
> @@ -34,8 +33,6 @@
>  #include <erofs.h>
>  #include <exfat.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static struct blk_desc *fs_dev_desc;
>  static int fs_dev_part;
>  static struct disk_partition fs_partition;
> diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
> index 40bad0e7da7..b0cc0d2e1b2 100644
> --- a/fs/ubifs/ubifs.c
> +++ b/fs/ubifs/ubifs.c
> @@ -16,7 +16,6 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <memalign.h>
> -#include <asm/global_data.h>
>  #include "ubifs.h"
>  #include <part.h>
>  #include <dm/devres.h>
> @@ -31,8 +30,6 @@
>  #include <abuf.h>
>  #endif
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* compress.c */
>  
>  /*
> diff --git a/include/relocate.h b/include/relocate.h
> index 8ca25e1105e..331be138728 100644
> --- a/include/relocate.h
> +++ b/include/relocate.h
> @@ -8,9 +8,7 @@
>  #define _RELOCATE_H_
>  
>  #ifndef USE_HOSTCC
> -#include <asm/global_data.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
>  #endif
>  
>  /**
> diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
> index 89e63ed8dd5..d66ddd1bbf8 100644
> --- a/lib/efi_loader/efi_capsule.c
> +++ b/lib/efi_loader/efi_capsule.c
> @@ -21,7 +21,6 @@
>  #include <mapmem.h>
>  #include <sort.h>
>  #include <sysreset.h>
> -#include <asm/global_data.h>
>  #include <u-boot/uuid.h>
>  
>  #include <asm/sections.h>
> @@ -29,8 +28,6 @@
>  #include <crypto/pkcs7_parser.h>
>  #include <linux/err.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  const efi_guid_t efi_guid_capsule_report = EFI_CAPSULE_REPORT_GUID;
>  static const efi_guid_t efi_guid_firmware_management_capsule_id =
>  		EFI_FIRMWARE_MANAGEMENT_CAPSULE_ID_GUID;
> diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
> index 3abb47d610e..9403e09691e 100644
> --- a/lib/efi_loader/efi_gop.c
> +++ b/lib/efi_loader/efi_gop.c
> @@ -13,9 +13,6 @@
>  #include <malloc.h>
>  #include <mapmem.h>
>  #include <video.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  static const efi_guid_t efi_gop_guid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
>  
> diff --git a/lib/efi_loader/efi_rng.c b/lib/efi_loader/efi_rng.c
> index 4734f95eee1..7810b4e47ea 100644
> --- a/lib/efi_loader/efi_rng.c
> +++ b/lib/efi_loader/efi_rng.c
> @@ -10,9 +10,6 @@
>  #include <efi_rng.h>
>  #include <log.h>
>  #include <rng.h>
> -#include <asm/global_data.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
>  
>  const efi_guid_t efi_guid_rng_protocol = EFI_RNG_PROTOCOL_GUID;
>  
> diff --git a/net/eth-uclass.c b/net/eth-uclass.c
> index a233912fd8e..5c437143a30 100644
> --- a/net/eth-uclass.c
> +++ b/net/eth-uclass.c
> @@ -14,15 +14,12 @@
>  #include <log.h>
>  #include <net.h>
>  #include <nvmem.h>
> -#include <asm/global_data.h>
>  #include <dm/device-internal.h>
>  #include <dm/uclass-internal.h>
>  #include <net/pcap.h>
>  #include "eth_internal.h"
>  #include <eth_phy.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /**
>   * struct eth_device_priv - private structure for each Ethernet device
>   *
> diff --git a/net/tftp.c b/net/tftp.c
> index 78ec44159c1..73d6a6a3c1b 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -16,12 +16,9 @@
>  #include <mapmem.h>
>  #include <net.h>
>  #include <net6.h>
> -#include <asm/global_data.h>
>  #include <net/tftp.h>
>  #include "bootp.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /*
>   * We cannot use the 'tftpput' command in xPL phases. Given how the
>   * support is integrated in the code, this is how we disable that support
> diff --git a/net/wget.c b/net/wget.c
> index d3642958bf0..49bfb9fcb96 100644
> --- a/net/wget.c
> +++ b/net/wget.c
> @@ -4,7 +4,6 @@
>   * Copyright Duncan Hare <dh@synoia.com> 2017
>   */
>  
> -#include <asm/global_data.h>
>  #include <command.h>
>  #include <display_options.h>
>  #include <env.h>
> @@ -17,8 +16,6 @@
>  #include <net/wget.h>
>  #include <stdlib.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* The default, change with environment variable 'httpdstp' */
>  #define SERVER_PORT		80
>  
> diff --git a/test/cmd/exit.c b/test/cmd/exit.c
> index fdde054b928..e20bc5f7b98 100644
> --- a/test/cmd/exit.c
> +++ b/test/cmd/exit.c
> @@ -7,11 +7,8 @@
>  
>  #include <console.h>
>  #include <mapmem.h>
> -#include <asm/global_data.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Declare a new exit test */
>  #define EXIT_TEST(_name, _flags)	UNIT_TEST(_name, _flags, exit)
>  
> diff --git a/test/cmd/test_echo.c b/test/cmd/test_echo.c
> index 8b306cc907f..7ed534742f7 100644
> --- a/test/cmd/test_echo.c
> +++ b/test/cmd/test_echo.c
> @@ -6,14 +6,11 @@
>   */
>  
>  #include <command.h>
> -#include <asm/global_data.h>
>  #include <display_options.h>
>  #include <test/lib.h>
>  #include <test/test.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  struct test_data {
>  	char *cmd;
>  	char *expected;
> diff --git a/test/cmd/test_pause.c b/test/cmd/test_pause.c
> index 174c31a3852..b2cf60d3e74 100644
> --- a/test/cmd/test_pause.c
> +++ b/test/cmd/test_pause.c
> @@ -5,12 +5,9 @@
>   * Copyright 2022, Samuel Dionne-Riel <samuel@dionne-riel.com>
>   */
>  
> -#include <asm/global_data.h>
>  #include <test/lib.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int lib_test_hush_pause(struct unit_test_state *uts)
>  {
>  	/* Test default message */
> diff --git a/test/dm/blk.c b/test/dm/blk.c
> index 1b928b27d9c..f67869107da 100644
> --- a/test/dm/blk.c
> +++ b/test/dm/blk.c
> @@ -8,14 +8,11 @@
>  #include <part.h>
>  #include <sandbox_host.h>
>  #include <usb.h>
> -#include <asm/global_data.h>
>  #include <asm/state.h>
>  #include <dm/test.h>
>  #include <test/test.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Test that block devices can be created */
>  static int dm_test_blk_base(struct unit_test_state *uts)
>  {
> diff --git a/test/dm/i3c.c b/test/dm/i3c.c
> index 81336e67555..816ecabd722 100644
> --- a/test/dm/i3c.c
> +++ b/test/dm/i3c.c
> @@ -8,8 +8,6 @@
>  #include <dm/test.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Basic test of the i3c uclass */
>  static int dm_test_i3c_base(struct unit_test_state *uts)
>  {
> diff --git a/test/lib/test_print.c b/test/lib/test_print.c
> index cd7f3f85769..2aeb034b121 100644
> --- a/test/lib/test_print.c
> +++ b/test/lib/test_print.c
> @@ -7,13 +7,10 @@
>  
>  #include <command.h>
>  #include <display_options.h>
> -#include <asm/global_data.h>
>  #include <test/lib.h>
>  #include <test/test.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  static int test_print_freq(struct unit_test_state *uts,
>  			   uint64_t freq, char *expected)
>  {
> diff --git a/test/log/log_filter.c b/test/log/log_filter.c
> index 680c60164b6..147b83980cf 100644
> --- a/test/log/log_filter.c
> +++ b/test/log/log_filter.c
> @@ -6,12 +6,9 @@
>  #include <console.h>
>  #include <log.h>
>  #include <vsprintf.h>
> -#include <asm/global_data.h>
>  #include <test/log.h>
>  #include <test/ut.h>
>  
> -DECLARE_GLOBAL_DATA_PTR;
> -
>  /* Test invalid options */
>  static int log_test_filter_invalid(struct unit_test_state *uts)
>  {


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage
  2026-02-03 11:47 ` [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage Peng Fan (OSS)
  2026-02-03 12:44   ` Patrice CHOTARD
  2026-02-04  4:52   ` Anshul Dalal
@ 2026-02-05  8:46   ` Yao Zi
  2 siblings, 0 replies; 5+ messages in thread
From: Yao Zi @ 2026-02-05  8:46 UTC (permalink / raw)
  To: Peng Fan (OSS), u-boot, Tom Rini

On Tue, Feb 03, 2026 at 07:47:01PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and
> drop the unnecessary inclusion of asm/global_data.h.
> 
> Headers should be included directly by the files that need them,
> rather than indirectly via global_data.h.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>

For TH1520 changes,

Acked-by: Yao Zi <me@ziyao.cc>

Thanks for the clean up!

Regards,
Yao Zi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-02-05  8:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03 11:47 [PATCH RESEND 13/14] socfpga: clock_manager_s10: Add missing header files Peng Fan (OSS)
2026-02-03 11:47 ` [PATCH RESEND 14/14] treewide: Clean up DECLARE_GLOBAL_DATA_PTR usage Peng Fan (OSS)
2026-02-03 12:44   ` Patrice CHOTARD
2026-02-04  4:52   ` Anshul Dalal
2026-02-05  8:46   ` Yao Zi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox