summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-02-15 08:19:40 -0500
committerTom Rini <trini@konsulko.com>2021-02-15 10:16:45 -0500
commit2ae80437fbe0181184ae4b188b89629b902702c6 (patch)
tree846f70a5df9c80ef76284c39f0da58b8c3eba96f /drivers
parent76b7936e6f781c86b0d3159f67f1506d01c196ce (diff)
parent401d1c4f5d2d29c4bc4beaec95402ca23eb63295 (diff)
downloadu-boot-2ae80437fbe0181184ae4b188b89629b902702c6.tar.gz
u-boot-2ae80437fbe0181184ae4b188b89629b902702c6.tar.xz
u-boot-2ae80437fbe0181184ae4b188b89629b902702c6.zip
Merge branch '2021-02-02-drop-asm_global_data-when-unused'
- Merge the patch to take <asm/global_data.h> out of <common.h>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/libata.c2
-rw-r--r--drivers/ata/mtk_ahci.c1
-rw-r--r--drivers/ata/sata_mv.c1
-rw-r--r--drivers/bios_emulator/atibios.c1
-rw-r--r--drivers/block/blkcache.c1
-rw-r--r--drivers/block/sandbox.c1
-rw-r--r--drivers/bootcount/bootcount_ram.c1
-rw-r--r--drivers/cache/cache-v5l2.c1
-rw-r--r--drivers/cache/sandbox_cache.c1
-rw-r--r--drivers/clk/altera/clk-agilex.c1
-rw-r--r--drivers/clk/altera/clk-arria10.c1
-rw-r--r--drivers/clk/aspeed/clk_ast2500.c1
-rw-r--r--drivers/clk/aspeed/clk_ast2600.c1
-rw-r--r--drivers/clk/at91/compat.c1
-rw-r--r--drivers/clk/at91/pmc.c3
-rw-r--r--drivers/clk/clk-uclass.c1
-rw-r--r--drivers/clk/clk_octeon.c1
-rw-r--r--drivers/clk/clk_pic32.c1
-rw-r--r--drivers/clk/clk_stm32mp1.c1
-rw-r--r--drivers/clk/clk_zynq.c1
-rw-r--r--drivers/clk/mpc83xx_clk.c1
-rw-r--r--drivers/clk/renesas/clk-rcar-gen2.c1
-rw-r--r--drivers/clk/renesas/clk-rcar-gen3.c1
-rw-r--r--drivers/clk/rockchip/clk_px30.c1
-rw-r--r--drivers/clk/rockchip/clk_rk3288.c1
-rw-r--r--drivers/clk/rockchip/clk_rk3308.c1
-rw-r--r--drivers/clk/rockchip/clk_rk3399.c1
-rw-r--r--drivers/clk/rockchip/clk_rv1108.c1
-rw-r--r--drivers/clk/ti/clk.c1
-rw-r--r--drivers/core/device-remove.c1
-rw-r--r--drivers/core/device.c1
-rw-r--r--drivers/core/fdtaddr.c1
-rw-r--r--drivers/core/of_access.c1
-rw-r--r--drivers/core/ofnode.c1
-rw-r--r--drivers/core/read.c1
-rw-r--r--drivers/core/regmap.c1
-rw-r--r--drivers/core/root.c1
-rw-r--r--drivers/core/uclass.c1
-rw-r--r--drivers/cpu/imx8_cpu.c1
-rw-r--r--drivers/cpu/riscv_cpu.c1
-rw-r--r--drivers/crypto/rsa_mod_exp/mod_exp_uclass.c1
-rw-r--r--drivers/ddr/altera/sdram_agilex.c1
-rw-r--r--drivers/ddr/altera/sdram_arria10.c1
-rw-r--r--drivers/ddr/altera/sdram_s10.c1
-rw-r--r--drivers/ddr/altera/sdram_soc64.c1
-rw-r--r--drivers/ddr/imx/imx8m/helper.c1
-rw-r--r--drivers/demo/demo-shape.c1
-rw-r--r--drivers/demo/demo-uclass.c1
-rw-r--r--drivers/fpga/socfpga_arria10.c1
-rw-r--r--drivers/fpga/zynqmppl.c1
-rw-r--r--drivers/gpio/74x164_gpio.c1
-rw-r--r--drivers/gpio/altera_pio.c1
-rw-r--r--drivers/gpio/atmel_pio4.c1
-rw-r--r--drivers/gpio/da8xx_gpio.c1
-rw-r--r--drivers/gpio/gpio-rcar.c1
-rw-r--r--drivers/gpio/gpio-rza1.c1
-rw-r--r--drivers/gpio/gpio-uclass.c1
-rw-r--r--drivers/gpio/intel_broadwell_gpio.c1
-rw-r--r--drivers/gpio/intel_ich6_gpio.c1
-rw-r--r--drivers/gpio/msm_gpio.c1
-rw-r--r--drivers/gpio/mxs_gpio.c1
-rw-r--r--drivers/gpio/nx_gpio.c1
-rw-r--r--drivers/gpio/omap_gpio.c1
-rw-r--r--drivers/gpio/pcf8575_gpio.c1
-rw-r--r--drivers/gpio/pic32_gpio.c1
-rw-r--r--drivers/gpio/s5p_gpio.c1
-rw-r--r--drivers/gpio/vybrid_gpio.c1
-rw-r--r--drivers/hwspinlock/hwspinlock-uclass.c1
-rw-r--r--drivers/i2c/at91_i2c.c1
-rw-r--r--drivers/i2c/cros_ec_tunnel.c1
-rw-r--r--drivers/i2c/exynos_hs_i2c.c1
-rw-r--r--drivers/i2c/fsl_i2c.c1
-rw-r--r--drivers/i2c/i2c_core.c1
-rw-r--r--drivers/i2c/ihs_i2c.c1
-rw-r--r--drivers/i2c/iproc_i2c.c1
-rw-r--r--drivers/i2c/muxes/i2c-arb-gpio-challenge.c1
-rw-r--r--drivers/i2c/muxes/i2c-mux-gpio.c1
-rw-r--r--drivers/i2c/muxes/pca954x.c1
-rw-r--r--drivers/i2c/mvtwsi.c1
-rw-r--r--drivers/i2c/mxc_i2c.c1
-rw-r--r--drivers/i2c/nx_i2c.c1
-rw-r--r--drivers/i2c/ocores_i2c.c1
-rw-r--r--drivers/i2c/s3c24x0_i2c.c1
-rw-r--r--drivers/i2c/sh_i2c.c1
-rw-r--r--drivers/i2c/soft_i2c.c1
-rw-r--r--drivers/i2c/tegra186_bpmp_i2c.c1
-rw-r--r--drivers/input/i8042.c1
-rw-r--r--drivers/mailbox/k3-sec-proxy.c1
-rw-r--r--drivers/misc/atsha204a-i2c.c1
-rw-r--r--drivers/misc/fs_loader.c1
-rw-r--r--drivers/misc/imx8/fuse.c1
-rw-r--r--drivers/misc/imx8/scu.c1
-rw-r--r--drivers/misc/imx8/scu_api.c1
-rw-r--r--drivers/misc/tegra186_bpmp.c1
-rw-r--r--drivers/misc/test_drv.c1
-rw-r--r--drivers/mmc/atmel_sdhci.c1
-rw-r--r--drivers/mmc/ca_dw_mmc.c1
-rw-r--r--drivers/mmc/exynos_dw_mmc.c1
-rw-r--r--drivers/mmc/fsl_esdhc.c1
-rw-r--r--drivers/mmc/fsl_esdhc_imx.c1
-rw-r--r--drivers/mmc/ftsdc010_mci.c1
-rw-r--r--drivers/mmc/hi6220_dw_mmc.c1
-rw-r--r--drivers/mmc/iproc_sdhci.c1
-rw-r--r--drivers/mmc/jz_mmc.c1
-rw-r--r--drivers/mmc/msm_sdhci.c1
-rw-r--r--drivers/mmc/mv_sdhci.c1
-rw-r--r--drivers/mmc/mvebu_mmc.c1
-rw-r--r--drivers/mmc/omap_hsmmc.c1
-rw-r--r--drivers/mmc/pic32_sdhci.c2
-rw-r--r--drivers/mmc/renesas-sdhi.c1
-rw-r--r--drivers/mmc/s5p_sdhci.c1
-rw-r--r--drivers/mmc/sdhci-cadence.c1
-rw-r--r--drivers/mmc/sh_mmcif.c1
-rw-r--r--drivers/mmc/sh_sdhi.c1
-rw-r--r--drivers/mmc/socfpga_dw_mmc.c1
-rw-r--r--drivers/mmc/sti_sdhci.c1
-rw-r--r--drivers/mmc/tmio-common.c1
-rw-r--r--drivers/mmc/xenon_sdhci.c1
-rw-r--r--drivers/mtd/altera_qspi.c1
-rw-r--r--drivers/mtd/cfi_flash.c1
-rw-r--r--drivers/mtd/mtd_uboot.c1
-rw-r--r--drivers/mtd/nand/raw/nand_base.c1
-rw-r--r--drivers/mtd/nand/raw/octeontx_nand.c1
-rw-r--r--drivers/mtd/nand/raw/pxa3xx_nand.c1
-rw-r--r--drivers/mtd/nand/raw/sunxi_nand.c1
-rw-r--r--drivers/mtd/nand/raw/tegra_nand.c1
-rw-r--r--drivers/mtd/pic32_flash.c1
-rw-r--r--drivers/mtd/renesas_rpc_hf.c1
-rw-r--r--drivers/mtd/spi/sf-uclass.c1
-rw-r--r--drivers/net/ag7xxx.c1
-rw-r--r--drivers/net/altera_tse.c1
-rw-r--r--drivers/net/dwmac_s700.c1
-rw-r--r--drivers/net/fec_mxc.c1
-rw-r--r--drivers/net/fsl-mc/mc.c1
-rw-r--r--drivers/net/fsl_mcdmafec.c1
-rw-r--r--drivers/net/ftmac100.c1
-rw-r--r--drivers/net/gmac_rockchip.c1
-rw-r--r--drivers/net/ldpaa_eth/ldpaa_eth.c1
-rw-r--r--drivers/net/macb.c1
-rw-r--r--drivers/net/mcffec.c1
-rw-r--r--drivers/net/mcfmii.c1
-rw-r--r--drivers/net/mpc8xx_fec.c1
-rw-r--r--drivers/net/mvgbe.c1
-rw-r--r--drivers/net/mvneta.c1
-rw-r--r--drivers/net/mvpp2.c1
-rw-r--r--drivers/net/octeontx/smi.c1
-rw-r--r--drivers/net/phy/fixed.c1
-rw-r--r--drivers/net/phy/miiphybb.c1
-rw-r--r--drivers/net/phy/phy.c1
-rw-r--r--drivers/net/phy/xilinx_gmii2rgmii.c4
-rw-r--r--drivers/net/pic32_eth.c1
-rw-r--r--drivers/net/qe/dm_qe_uec.c1
-rw-r--r--drivers/net/ravb.c1
-rw-r--r--drivers/net/sandbox-raw.c1
-rw-r--r--drivers/net/sandbox.c1
-rw-r--r--drivers/net/sh_eth.c1
-rw-r--r--drivers/net/sni_ave.c1
-rw-r--r--drivers/net/sun8i_emac.c1
-rw-r--r--drivers/net/ti/cpsw-common.c1
-rw-r--r--drivers/net/ti/keystone_net.c1
-rw-r--r--drivers/net/xilinx_axi_emac.c1
-rw-r--r--drivers/net/xilinx_emaclite.c1
-rw-r--r--drivers/pci/fsl_pci_init.c1
-rw-r--r--drivers/pci/pci-uclass.c1
-rw-r--r--drivers/pci/pci.c1
-rw-r--r--drivers/pci/pci_mvebu.c1
-rw-r--r--drivers/pci/pci_octeontx.c1
-rw-r--r--drivers/pci/pci_rom.c1
-rw-r--r--drivers/pci/pcie_dw_mvebu.c1
-rw-r--r--drivers/pci/pcie_dw_rockchip.c1
-rw-r--r--drivers/pci/pcie_dw_ti.c1
-rw-r--r--drivers/pci/pcie_ecam_generic.c1
-rw-r--r--drivers/pci/pcie_fsl.c1
-rw-r--r--drivers/pci/pcie_intel_fpga.c1
-rw-r--r--drivers/pci/pcie_layerscape.c1
-rw-r--r--drivers/pci/pcie_layerscape_ep.c1
-rw-r--r--drivers/pci/pcie_layerscape_fixup_common.c1
-rw-r--r--drivers/pci/pcie_layerscape_gen4.c1
-rw-r--r--drivers/pci/pcie_layerscape_rc.c1
-rw-r--r--drivers/pci/pcie_phytium.c1
-rw-r--r--drivers/pci/pcie_rockchip.c1
-rw-r--r--drivers/pci/pcie_xilinx.c1
-rw-r--r--drivers/pci_endpoint/pci_ep-uclass.c1
-rw-r--r--drivers/pci_endpoint/pcie-cadence-ep.c1
-rw-r--r--drivers/phy/marvell/comphy_a3700.c1
-rw-r--r--drivers/phy/marvell/comphy_core.c1
-rw-r--r--drivers/phy/marvell/comphy_cp110.c1
-rw-r--r--drivers/phy/omap-usb2-phy.c1
-rw-r--r--drivers/phy/rockchip/phy-rockchip-inno-usb2.c1
-rw-r--r--drivers/phy/rockchip/phy-rockchip-pcie.c1
-rw-r--r--drivers/phy/rockchip/phy-rockchip-typec.c1
-rw-r--r--drivers/phy/sti_usb_phy.c1
-rw-r--r--drivers/phy/ti-pipe3-phy.c1
-rw-r--r--drivers/pinctrl/ath79/pinctrl_ar933x.c1
-rw-r--r--drivers/pinctrl/ath79/pinctrl_qca953x.c1
-rw-r--r--drivers/pinctrl/exynos/pinctrl-exynos.c1
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c1
-rw-r--r--drivers/pinctrl/mtmips/pinctrl-mt7628.c1
-rw-r--r--drivers/pinctrl/mvebu/pinctrl-armada-37xx.c1
-rw-r--r--drivers/pinctrl/mvebu/pinctrl-mvebu.c1
-rw-r--r--drivers/pinctrl/nexell/pinctrl-nexell.c1
-rw-r--r--drivers/pinctrl/nexell/pinctrl-s5pxx18.c1
-rw-r--r--drivers/pinctrl/nxp/pinctrl-imx.c1
-rw-r--r--drivers/pinctrl/nxp/pinctrl-imx8.c1
-rw-r--r--drivers/pinctrl/nxp/pinctrl-mxs.c1
-rw-r--r--drivers/pinctrl/pinctrl-at91-pio4.c1
-rw-r--r--drivers/pinctrl/pinctrl-at91.c1
-rw-r--r--drivers/pinctrl/pinctrl-sti.c1
-rw-r--r--drivers/pinctrl/pinctrl-uclass.c1
-rw-r--r--drivers/pinctrl/pinctrl_pic32.c1
-rw-r--r--drivers/pinctrl/renesas/pfc-r7s72100.c1
-rw-r--r--drivers/pinctrl/rockchip/pinctrl-rockchip-core.c1
-rw-r--r--drivers/power/domain/imx8-power-domain-legacy.c1
-rw-r--r--drivers/power/domain/imx8m-power-domain.c1
-rw-r--r--drivers/power/pmic/bd71837.c1
-rw-r--r--drivers/power/pmic/mc34708.c1
-rw-r--r--drivers/power/pmic/mp5416.c1
-rw-r--r--drivers/power/pmic/pca9450.c1
-rw-r--r--drivers/power/regulator/pwm_regulator.c1
-rw-r--r--drivers/pwm/pwm-sifive.c1
-rw-r--r--drivers/pwm/rk_pwm.c1
-rw-r--r--drivers/pwm/sunxi_pwm.c1
-rw-r--r--drivers/qe/fdt.c1
-rw-r--r--drivers/qe/qe.c1
-rw-r--r--drivers/ram/aspeed/sdram_ast2500.c1
-rw-r--r--drivers/ram/aspeed/sdram_ast2600.c1
-rw-r--r--drivers/ram/mpc83xx_sdram.c1
-rw-r--r--drivers/ram/octeon/octeon_ddr.c1
-rw-r--r--drivers/ram/rockchip/sdram_rk322x.c1
-rw-r--r--drivers/ram/sandbox_ram.c1
-rw-r--r--drivers/ram/sifive/fu540_ddr.c1
-rw-r--r--drivers/ram/stm32mp1/stm32mp1_interactive.c1
-rw-r--r--drivers/ram/stm32mp1/stm32mp1_tests.c1
-rw-r--r--drivers/remoteproc/rproc-uclass.c1
-rw-r--r--drivers/remoteproc/ti_power_proc.c1
-rw-r--r--drivers/reset/sti-reset.c1
-rw-r--r--drivers/serial/atmel_usart.c1
-rw-r--r--drivers/serial/ns16550.c1
-rw-r--r--drivers/serial/sandbox.c1
-rw-r--r--drivers/serial/serial-uclass.c1
-rw-r--r--drivers/serial/serial.c1
-rw-r--r--drivers/serial/serial_arc.c1
-rw-r--r--drivers/serial/serial_linflexuart.c1
-rw-r--r--drivers/serial/serial_lpuart.c1
-rw-r--r--drivers/serial/serial_mcf.c1
-rw-r--r--drivers/serial/serial_mpc8xx.c1
-rw-r--r--drivers/serial/serial_msm.c1
-rw-r--r--drivers/serial/serial_mtk.c1
-rw-r--r--drivers/serial/serial_mxc.c1
-rw-r--r--drivers/serial/serial_ns16550.c1
-rw-r--r--drivers/serial/serial_pic32.c1
-rw-r--r--drivers/serial/serial_pl01x.c1
-rw-r--r--drivers/serial/serial_pxa.c1
-rw-r--r--drivers/serial/serial_s5p.c1
-rw-r--r--drivers/serial/serial_sh.c1
-rw-r--r--drivers/serial/serial_sifive.c1
-rw-r--r--drivers/serial/serial_sti_asc.c1
-rw-r--r--drivers/serial/serial_xen.c1
-rw-r--r--drivers/smem/msm_smem.c1
-rw-r--r--drivers/sound/ivybridge_sound.c1
-rw-r--r--drivers/spi/atcspi200_spi.c1
-rw-r--r--drivers/spi/bcmstb_spi.c1
-rw-r--r--drivers/spi/ca_sflash.c1
-rw-r--r--drivers/spi/cf_spi.c1
-rw-r--r--drivers/spi/davinci_spi.c1
-rw-r--r--drivers/spi/exynos_spi.c1
-rw-r--r--drivers/spi/fsl_dspi.c1
-rw-r--r--drivers/spi/fsl_espi.c1
-rw-r--r--drivers/spi/fsl_qspi.c1
-rw-r--r--drivers/spi/mvebu_a3700_spi.c1
-rw-r--r--drivers/spi/mxc_spi.c1
-rw-r--r--drivers/spi/omap3_spi.c1
-rw-r--r--drivers/spi/pic32_spi.c1
-rw-r--r--drivers/spi/pl022_spi.c1
-rw-r--r--drivers/spi/renesas_rpc_spi.c1
-rw-r--r--drivers/spi/soft_spi.c1
-rw-r--r--drivers/spi/spi-sunxi.c1
-rw-r--r--drivers/spi/spi-uclass.c1
-rw-r--r--drivers/spi/tegra20_sflash.c1
-rw-r--r--drivers/spi/tegra20_slink.c1
-rw-r--r--drivers/spi/tegra210_qspi.c1
-rw-r--r--drivers/spi/ti_qspi.c1
-rw-r--r--drivers/spi/uniphier_spi.c1
-rw-r--r--drivers/spi/zynq_qspi.c1
-rw-r--r--drivers/spi/zynq_spi.c1
-rw-r--r--drivers/spi/zynqmp_gqspi.c1
-rw-r--r--drivers/spmi/spmi-msm.c1
-rw-r--r--drivers/sysreset/sysreset-uclass.c1
-rw-r--r--drivers/sysreset/sysreset_mpc83xx.c1
-rw-r--r--drivers/sysreset/sysreset_sti.c1
-rw-r--r--drivers/thermal/imx_scu_thermal.c1
-rw-r--r--drivers/thermal/imx_tmu.c1
-rw-r--r--drivers/timer/arc_timer.c1
-rw-r--r--drivers/timer/cadence-ttc.c1
-rw-r--r--drivers/timer/mpc83xx_timer.c1
-rw-r--r--drivers/timer/ostm_timer.c1
-rw-r--r--drivers/timer/rockchip_timer.c1
-rw-r--r--drivers/timer/timer-uclass.c1
-rw-r--r--drivers/timer/tsc_timer.c1
-rw-r--r--drivers/usb/common/common.c1
-rw-r--r--drivers/usb/host/dwc3-octeon-glue.c1
-rw-r--r--drivers/usb/host/dwc3-sti-glue.c1
-rw-r--r--drivers/usb/host/ehci-exynos.c1
-rw-r--r--drivers/usb/host/ehci-fsl.c1
-rw-r--r--drivers/usb/host/ehci-marvell.c1
-rw-r--r--drivers/usb/host/ehci-mx5.c1
-rw-r--r--drivers/usb/host/ehci-mx6.c1
-rw-r--r--drivers/usb/host/ehci-vf.c1
-rw-r--r--drivers/usb/host/xhci-exynos5.c1
-rw-r--r--drivers/usb/musb-new/da8xx.c1
-rw-r--r--drivers/usb/musb-new/omap2430.c1
-rw-r--r--drivers/usb/musb-new/pic32.c1
-rw-r--r--drivers/usb/musb-new/ti-musb.c1
-rw-r--r--drivers/usb/phy/rockchip_usb2_phy.c1
-rw-r--r--drivers/video/atmel_hlcdfb.c1
-rw-r--r--drivers/video/atmel_lcdfb.c1
-rw-r--r--drivers/video/bridge/ps862x.c1
-rw-r--r--drivers/video/broadwell_igd.c1
-rw-r--r--drivers/video/cfb_console.c1
-rw-r--r--drivers/video/da8xx-fb.c1
-rw-r--r--drivers/video/exynos/exynos_dp.c1
-rw-r--r--drivers/video/exynos/exynos_fb.c1
-rw-r--r--drivers/video/exynos/exynos_mipi_dsi.c1
-rw-r--r--drivers/video/fsl_dcu_fb.c1
-rw-r--r--drivers/video/ivybridge_igd.c1
-rw-r--r--drivers/video/mali_dp.c1
-rw-r--r--drivers/video/meson/meson_vpu.c1
-rw-r--r--drivers/video/mxsfb.c1
-rw-r--r--drivers/video/rockchip/rk3288_vop.c1
-rw-r--r--drivers/video/rockchip/rk3399_vop.c1
-rw-r--r--drivers/video/rockchip/rk_lvds.c1
-rw-r--r--drivers/video/rockchip/rk_mipi.c1
-rw-r--r--drivers/video/rockchip/rk_vop.c1
-rw-r--r--drivers/video/sandbox_sdl.c1
-rw-r--r--drivers/video/simplefb.c1
-rw-r--r--drivers/video/sunxi/sunxi_lcd.c1
-rw-r--r--drivers/video/tegra.c1
-rw-r--r--drivers/video/ti/am335x-fb.c1
-rw-r--r--drivers/video/ti/tilcdc.c1
-rw-r--r--drivers/video/video-uclass.c1
-rw-r--r--drivers/video/videomodes.c1
-rw-r--r--drivers/watchdog/armada-37xx-wdt.c1
-rw-r--r--drivers/watchdog/at91sam9_wdt.c1
-rw-r--r--drivers/watchdog/mt7621_wdt.c1
-rw-r--r--drivers/watchdog/octeontx_wdt.c1
-rw-r--r--drivers/watchdog/orion_wdt.c1
-rw-r--r--drivers/watchdog/sbsa_gwdt.c1
-rw-r--r--drivers/watchdog/sp805_wdt.c1
-rw-r--r--drivers/watchdog/wdt-uclass.c1
-rw-r--r--drivers/xen/gnttab.c1
-rw-r--r--drivers/xen/pvblock.c1
351 files changed, 354 insertions, 4 deletions
diff --git a/drivers/ata/libata.c b/drivers/ata/libata.c
index d41200f6c2..47e2c5c1cc 100644
--- a/drivers/ata/libata.c
+++ b/drivers/ata/libata.c
@@ -5,6 +5,8 @@
* port from the libata of linux kernel
*/
+#include <common.h>
+#include <compiler.h>
#include <libata.h>
u64 ata_id_n_sectors(u16 *id)
diff --git a/drivers/ata/mtk_ahci.c b/drivers/ata/mtk_ahci.c
index 46b7677783..554175bc00 100644
--- a/drivers/ata/mtk_ahci.c
+++ b/drivers/ata/mtk_ahci.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <ahci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <dm/of_access.h>
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index b78e311fc3..1012cb5374 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -38,6 +38,7 @@
#include <dm.h>
#include <log.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
#include <fis.h>
diff --git a/drivers/bios_emulator/atibios.c b/drivers/bios_emulator/atibios.c
index 9c7f14e98f..6c7cc24cbd 100644
--- a/drivers/bios_emulator/atibios.c
+++ b/drivers/bios_emulator/atibios.c
@@ -46,6 +46,7 @@
* BIOS in u-boot.
****************************************************************************/
#include <common.h>
+#include <compiler.h>
#include <bios_emul.h>
#include <errno.h>
#include <log.h>
diff --git a/drivers/block/blkcache.c b/drivers/block/blkcache.c
index eca66198ed..b53420a3a8 100644
--- a/drivers/block/blkcache.c
+++ b/drivers/block/blkcache.c
@@ -9,6 +9,7 @@
#include <log.h>
#include <malloc.h>
#include <part.h>
+#include <asm/global_data.h>
#include <linux/ctype.h>
#include <linux/list.h>
diff --git a/drivers/block/sandbox.c b/drivers/block/sandbox.c
index f57f690d3c..9d7d68c007 100644
--- a/drivers/block/sandbox.c
+++ b/drivers/block/sandbox.c
@@ -11,6 +11,7 @@
#include <os.h>
#include <malloc.h>
#include <sandboxblockdev.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/errno.h>
#include <dm/device-internal.h>
diff --git a/drivers/bootcount/bootcount_ram.c b/drivers/bootcount/bootcount_ram.c
index 078c84d5ec..8cc30cf40e 100644
--- a/drivers/bootcount/bootcount_ram.c
+++ b/drivers/bootcount/bootcount_ram.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <cpu_func.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/cache/cache-v5l2.c b/drivers/cache/cache-v5l2.c
index cb9ebbb4f9..2c7983d0ce 100644
--- a/drivers/cache/cache-v5l2.c
+++ b/drivers/cache/cache-v5l2.c
@@ -9,6 +9,7 @@
#include <cache.h>
#include <dm.h>
#include <hang.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/ofnode.h>
#include <linux/bitops.h>
diff --git a/drivers/cache/sandbox_cache.c b/drivers/cache/sandbox_cache.c
index 9050c4cf34..0fb767e433 100644
--- a/drivers/cache/sandbox_cache.c
+++ b/drivers/cache/sandbox_cache.c
@@ -7,6 +7,7 @@
#include <cache.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/clk/altera/clk-agilex.c b/drivers/clk/altera/clk-agilex.c
index bac1d98e19..cca6d67412 100644
--- a/drivers/clk/altera/clk-agilex.c
+++ b/drivers/clk/altera/clk-agilex.c
@@ -5,6 +5,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk-uclass.h>
#include <dm.h>
diff --git a/drivers/clk/altera/clk-arria10.c b/drivers/clk/altera/clk-arria10.c
index 1812152d56..578597a16e 100644
--- a/drivers/clk/altera/clk-arria10.c
+++ b/drivers/clk/altera/clk-arria10.c
@@ -13,6 +13,7 @@
#include <dm/lists.h>
#include <dm/util.h>
#include <linux/bitops.h>
+#include <asm/global_data.h>
#include <asm/arch/clock_manager.h>
diff --git a/drivers/clk/aspeed/clk_ast2500.c b/drivers/clk/aspeed/clk_ast2500.c
index a090671625..97f00f505d 100644
--- a/drivers/clk/aspeed/clk_ast2500.c
+++ b/drivers/clk/aspeed/clk_ast2500.c
@@ -7,6 +7,7 @@
#include <clk-uclass.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/scu_ast2500.h>
#include <dm/lists.h>
diff --git a/drivers/clk/aspeed/clk_ast2600.c b/drivers/clk/aspeed/clk_ast2600.c
index f72d384047..acb7eca741 100644
--- a/drivers/clk/aspeed/clk_ast2600.c
+++ b/drivers/clk/aspeed/clk_ast2600.c
@@ -10,6 +10,7 @@
#include <dm/lists.h>
#include <linux/delay.h>
#include <asm/arch/scu_ast2600.h>
+#include <asm/global_data.h>
#include <dt-bindings/clock/ast2600-clock.h>
#include <dt-bindings/reset/ast2600-reset.h>
diff --git a/drivers/clk/at91/compat.c b/drivers/clk/at91/compat.c
index dfdc3a6a92..b2bfb529cc 100644
--- a/drivers/clk/at91/compat.c
+++ b/drivers/clk/at91/compat.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <clk-uclass.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
#include <dm/util.h>
diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
index 660e231921..1fa42d728b 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -4,10 +4,9 @@
* Wenyou.Yang <wenyou.yang@atmel.com>
*/
+#include <common.h>
#include <asm/io.h>
#include <clk-uclass.h>
-#include <common.h>
-
#include "pmc.h"
static int at91_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args)
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index d5c4e3cbe5..b87288da7a 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -20,6 +20,7 @@
#include <linux/bug.h>
#include <linux/clk-provider.h>
#include <linux/err.h>
+#include <asm/global_data.h>
static inline const struct clk_ops *clk_dev_ops(struct udevice *dev)
{
diff --git a/drivers/clk/clk_octeon.c b/drivers/clk/clk_octeon.c
index ce274549da..fa50265184 100644
--- a/drivers/clk/clk_octeon.c
+++ b/drivers/clk/clk_octeon.c
@@ -5,6 +5,7 @@
#include <clk-uclass.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dt-bindings/clock/octeon-clock.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/clk/clk_pic32.c b/drivers/clk/clk_pic32.c
index 5a10d4640d..ef06a7fb9f 100644
--- a/drivers/clk/clk_pic32.c
+++ b/drivers/clk/clk_pic32.c
@@ -10,6 +10,7 @@
#include <div64.h>
#include <time.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/clk/clk_stm32mp1.c b/drivers/clk/clk_stm32mp1.c
index 8a5bdcb11d..848e33f4e8 100644
--- a/drivers/clk/clk_stm32mp1.c
+++ b/drivers/clk/clk_stm32mp1.c
@@ -17,6 +17,7 @@
#include <time.h>
#include <vsprintf.h>
#include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dt-bindings/clock/stm32mp1-clks.h>
#include <dt-bindings/clock/stm32mp1-clksrc.h>
diff --git a/drivers/clk/clk_zynq.c b/drivers/clk/clk_zynq.c
index bf32d8317a..3e3320900d 100644
--- a/drivers/clk/clk_zynq.c
+++ b/drivers/clk/clk_zynq.c
@@ -11,6 +11,7 @@
#include <clk-uclass.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
#include <errno.h>
diff --git a/drivers/clk/mpc83xx_clk.c b/drivers/clk/mpc83xx_clk.c
index c5ced1f132..0255ccaf8a 100644
--- a/drivers/clk/mpc83xx_clk.c
+++ b/drivers/clk/mpc83xx_clk.c
@@ -11,6 +11,7 @@
#include <dm.h>
#include <log.h>
#include <vsprintf.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dt-bindings/clk/mpc83xx-clk.h>
#include <asm/arch/soc.h>
diff --git a/drivers/clk/renesas/clk-rcar-gen2.c b/drivers/clk/renesas/clk-rcar-gen2.c
index 16da10c8dd..b423c9414b 100644
--- a/drivers/clk/renesas/clk-rcar-gen2.c
+++ b/drivers/clk/renesas/clk-rcar-gen2.c
@@ -15,6 +15,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dt-bindings/clock/renesas-cpg-mssr.h>
diff --git a/drivers/clk/renesas/clk-rcar-gen3.c b/drivers/clk/renesas/clk-rcar-gen3.c
index 30a101fe86..3223becd75 100644
--- a/drivers/clk/renesas/clk-rcar-gen3.c
+++ b/drivers/clk/renesas/clk-rcar-gen3.c
@@ -16,6 +16,7 @@
#include <errno.h>
#include <log.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
index a2a5939d4b..6b746f4c65 100644
--- a/drivers/clk/rockchip/clk_px30.c
+++ b/drivers/clk/rockchip/clk_px30.c
@@ -14,6 +14,7 @@
#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 <asm/io.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c
index 6226d55658..221a5bd400 100644
--- a/drivers/clk/rockchip/clk_rk3288.c
+++ b/drivers/clk/rockchip/clk_rk3288.c
@@ -14,6 +14,7 @@
#include <malloc.h>
#include <mapmem.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/cru.h>
diff --git a/drivers/clk/rockchip/clk_rk3308.c b/drivers/clk/rockchip/clk_rk3308.c
index a05efcfbab..5a838b9e9a 100644
--- a/drivers/clk/rockchip/clk_rk3308.c
+++ b/drivers/clk/rockchip/clk_rk3308.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <malloc.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/cru_rk3308.h>
#include <asm/arch-rockchip/clock.h>
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
index 55ebac7057..f8cbda4455 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -18,6 +18,7 @@
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/cru.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/rk3399-cru.h>
diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
index 1e22db0cb7..555155b16d 100644
--- a/drivers/clk/rockchip/clk_rv1108.c
+++ b/drivers/clk/rockchip/clk_rv1108.c
@@ -12,6 +12,7 @@
#include <log.h>
#include <malloc.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/cru_rv1108.h>
diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c
index e44b90ad6a..c999df213a 100644
--- a/drivers/clk/ti/clk.c
+++ b/drivers/clk/ti/clk.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <fdtdec.h>
#include <asm/io.h>
#include "clk.h"
diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c
index 616dcf0785..11d3959d20 100644
--- a/drivers/core/device-remove.c
+++ b/drivers/core/device-remove.c
@@ -20,6 +20,7 @@
#include <dm/uclass-internal.h>
#include <dm/util.h>
#include <power-domain.h>
+#include <asm/global_data.h>
int device_chld_unbind(struct udevice *dev, struct driver *drv)
{
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 8629df8def..82a0098960 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -11,6 +11,7 @@
#include <common.h>
#include <cpu_func.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk.h>
#include <fdtdec.h>
diff --git a/drivers/core/fdtaddr.c b/drivers/core/fdtaddr.c
index ed55f69de1..83a50b6a3a 100644
--- a/drivers/core/fdtaddr.c
+++ b/drivers/core/fdtaddr.c
@@ -12,6 +12,7 @@
#include <dm.h>
#include <fdt_support.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device-internal.h>
diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c
index 0a12e9b26f..9960e6b310 100644
--- a/drivers/core/of_access.c
+++ b/drivers/core/of_access.c
@@ -22,6 +22,7 @@
#include <common.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <linux/bug.h>
#include <linux/libfdt.h>
#include <dm/of_access.h>
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 7a5f4c0a73..26c9d04056 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -16,6 +16,7 @@
#include <dm/ofnode.h>
#include <linux/err.h>
#include <linux/ioport.h>
+#include <asm/global_data.h>
int ofnode_read_u32(ofnode node, const char *propname, u32 *outp)
{
diff --git a/drivers/core/read.c b/drivers/core/read.c
index 4d9b5dd038..14fd1214d6 100644
--- a/drivers/core/read.c
+++ b/drivers/core/read.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <dm/of_access.h>
#include <mapmem.h>
+#include <asm/global_data.h>
#include <asm/types.h>
#include <asm/io.h>
#include <linux/ioport.h>
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
index 4baacabd01..b51ce108c1 100644
--- a/drivers/core/regmap.c
+++ b/drivers/core/regmap.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <malloc.h>
#include <mapmem.h>
diff --git a/drivers/core/root.c b/drivers/core/root.c
index 7ef2ec2da2..9bc682cffe 100644
--- a/drivers/core/root.c
+++ b/drivers/core/root.c
@@ -11,6 +11,7 @@
#include <fdtdec.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <dm/acpi.h>
#include <dm/device.h>
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index f38122d54b..1a4ea7a57a 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -13,6 +13,7 @@
#include <errno.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 1d1e49efea..abddbef57b 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -7,6 +7,7 @@
#include <cpu.h>
#include <dm.h>
#include <thermal.h>
+#include <asm/global_data.h>
#include <asm/system.h>
#include <asm/arch/sci/sci.h>
#include <asm/arch/sys_proto.h>
diff --git a/drivers/cpu/riscv_cpu.c b/drivers/cpu/riscv_cpu.c
index 0b10c173a3..b30dceba37 100644
--- a/drivers/cpu/riscv_cpu.c
+++ b/drivers/cpu/riscv_cpu.c
@@ -10,6 +10,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
#include <linux/bitops.h>
diff --git a/drivers/crypto/rsa_mod_exp/mod_exp_uclass.c b/drivers/crypto/rsa_mod_exp/mod_exp_uclass.c
index e91fe64458..f5ae35e132 100644
--- a/drivers/crypto/rsa_mod_exp/mod_exp_uclass.c
+++ b/drivers/crypto/rsa_mod_exp/mod_exp_uclass.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <u-boot/rsa-mod-exp.h>
#include <errno.h>
#include <fdtdec.h>
diff --git a/drivers/ddr/altera/sdram_agilex.c b/drivers/ddr/altera/sdram_agilex.c
index a4ceb36461..65ecdd022c 100644
--- a/drivers/ddr/altera/sdram_agilex.c
+++ b/drivers/ddr/altera/sdram_agilex.c
@@ -13,6 +13,7 @@
#include <log.h>
#include <ram.h>
#include <reset.h>
+#include <asm/global_data.h>
#include "sdram_soc64.h"
#include <wait_bit.h>
#include <asm/arch/firewall.h>
diff --git a/drivers/ddr/altera/sdram_arria10.c b/drivers/ddr/altera/sdram_arria10.c
index 3c58f59f3a..4a8f8dea1c 100644
--- a/drivers/ddr/altera/sdram_arria10.c
+++ b/drivers/ddr/altera/sdram_arria10.c
@@ -13,6 +13,7 @@
#include <wait_bit.h>
#include <watchdog.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/fpga_manager.h>
#include <asm/arch/misc.h>
diff --git a/drivers/ddr/altera/sdram_s10.c b/drivers/ddr/altera/sdram_s10.c
index 03a270f263..3caa2e14f9 100644
--- a/drivers/ddr/altera/sdram_s10.c
+++ b/drivers/ddr/altera/sdram_s10.c
@@ -15,6 +15,7 @@
#include <log.h>
#include <ram.h>
#include <reset.h>
+#include <asm/global_data.h>
#include "sdram_s10.h"
#include <wait_bit.h>
#include <asm/arch/firewall.h>
diff --git a/drivers/ddr/altera/sdram_soc64.c b/drivers/ddr/altera/sdram_soc64.c
index 5aba655e5f..a08f0953e5 100644
--- a/drivers/ddr/altera/sdram_soc64.c
+++ b/drivers/ddr/altera/sdram_soc64.c
@@ -21,6 +21,7 @@
#include <asm/arch/system_manager.h>
#include <asm/arch/reset_manager.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device_compat.h>
#include <linux/sizes.h>
diff --git a/drivers/ddr/imx/imx8m/helper.c b/drivers/ddr/imx/imx8m/helper.c
index 5ebf54f5f4..f23904bf71 100644
--- a/drivers/ddr/imx/imx8m/helper.c
+++ b/drivers/ddr/imx/imx8m/helper.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <log.h>
#include <spl.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <errno.h>
#include <asm/io.h>
diff --git a/drivers/demo/demo-shape.c b/drivers/demo/demo-shape.c
index 8129317ba1..b6b29bcb31 100644
--- a/drivers/demo/demo-shape.c
+++ b/drivers/demo/demo-shape.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <malloc.h>
#include <dm-demo.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
diff --git a/drivers/demo/demo-uclass.c b/drivers/demo/demo-uclass.c
index a020ecb24f..815f8de645 100644
--- a/drivers/demo/demo-uclass.c
+++ b/drivers/demo/demo-uclass.c
@@ -13,6 +13,7 @@
#include <fdtdec.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/list.h>
diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c
index 44e1ac54c3..4bea7fd900 100644
--- a/drivers/fpga/socfpga_arria10.c
+++ b/drivers/fpga/socfpga_arria10.c
@@ -4,6 +4,7 @@
*/
#include <image.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/fpga_manager.h>
#include <asm/arch/reset_manager.h>
diff --git a/drivers/fpga/zynqmppl.c b/drivers/fpga/zynqmppl.c
index 8ce140a2e1..6b394869db 100644
--- a/drivers/fpga/zynqmppl.c
+++ b/drivers/fpga/zynqmppl.c
@@ -7,6 +7,7 @@
#include <console.h>
#include <common.h>
+#include <compiler.h>
#include <cpu_func.h>
#include <log.h>
#include <zynqmppl.h>
diff --git a/drivers/gpio/74x164_gpio.c b/drivers/gpio/74x164_gpio.c
index 0c06301a81..7a7cfe8611 100644
--- a/drivers/gpio/74x164_gpio.c
+++ b/drivers/gpio/74x164_gpio.c
@@ -13,6 +13,7 @@
#include <dm.h>
#include <fdtdec.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <dm/device_compat.h>
diff --git a/drivers/gpio/altera_pio.c b/drivers/gpio/altera_pio.c
index f4582b1467..edc5a8093b 100644
--- a/drivers/gpio/altera_pio.c
+++ b/drivers/gpio/altera_pio.c
@@ -9,6 +9,7 @@
#include <errno.h>
#include <malloc.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
diff --git a/drivers/gpio/atmel_pio4.c b/drivers/gpio/atmel_pio4.c
index e7b8f231cc..f615fce32e 100644
--- a/drivers/gpio/atmel_pio4.c
+++ b/drivers/gpio/atmel_pio4.c
@@ -11,6 +11,7 @@
#include <fdtdec.h>
#include <malloc.h>
#include <asm/arch/hardware.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <linux/bitops.h>
#include <mach/gpio.h>
diff --git a/drivers/gpio/da8xx_gpio.c b/drivers/gpio/da8xx_gpio.c
index 9a52a5e414..d106e9846d 100644
--- a/drivers/gpio/da8xx_gpio.c
+++ b/drivers/gpio/da8xx_gpio.c
@@ -11,6 +11,7 @@
#include <fdtdec.h>
#include <malloc.h>
#include <asm/io.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <dt-bindings/gpio/gpio.h>
diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
index beae34f233..daaac5e784 100644
--- a/drivers/gpio/gpio-rcar.c
+++ b/drivers/gpio/gpio-rcar.c
@@ -7,6 +7,7 @@
#include <clk.h>
#include <dm.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/pinctrl.h>
#include <errno.h>
diff --git a/drivers/gpio/gpio-rza1.c b/drivers/gpio/gpio-rza1.c
index ee7de4c17e..f14be871e8 100644
--- a/drivers/gpio/gpio-rza1.c
+++ b/drivers/gpio/gpio-rza1.c
@@ -7,6 +7,7 @@
#include <clk.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index bad6b71e0c..4a9b74e1ca 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -16,6 +16,7 @@
#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>
diff --git a/drivers/gpio/intel_broadwell_gpio.c b/drivers/gpio/intel_broadwell_gpio.c
index 68d72eedc5..20af35de2c 100644
--- a/drivers/gpio/intel_broadwell_gpio.c
+++ b/drivers/gpio/intel_broadwell_gpio.c
@@ -12,6 +12,7 @@
#include <pci.h>
#include <syscon.h>
#include <asm/cpu.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/pci.h>
diff --git a/drivers/gpio/intel_ich6_gpio.c b/drivers/gpio/intel_ich6_gpio.c
index 11d4be04f5..63a07b9592 100644
--- a/drivers/gpio/intel_ich6_gpio.c
+++ b/drivers/gpio/intel_ich6_gpio.c
@@ -34,6 +34,7 @@
#include <pch.h>
#include <pci.h>
#include <asm/cpu.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/pci.h>
diff --git a/drivers/gpio/msm_gpio.c b/drivers/gpio/msm_gpio.c
index af6c8383aa..e1ff84c1c0 100644
--- a/drivers/gpio/msm_gpio.c
+++ b/drivers/gpio/msm_gpio.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c
index 4b2b18fdb5..5775a22abd 100644
--- a/drivers/gpio/mxs_gpio.c
+++ b/drivers/gpio/mxs_gpio.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/errno.h>
#include <asm/io.h>
diff --git a/drivers/gpio/nx_gpio.c b/drivers/gpio/nx_gpio.c
index 52851e58b6..e2565d7095 100644
--- a/drivers/gpio/nx_gpio.c
+++ b/drivers/gpio/nx_gpio.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index 336ece4778..316a28efa6 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -20,6 +20,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <dm/device-internal.h>
diff --git a/drivers/gpio/pcf8575_gpio.c b/drivers/gpio/pcf8575_gpio.c
index 6d38646ef6..359646266c 100644
--- a/drivers/gpio/pcf8575_gpio.c
+++ b/drivers/gpio/pcf8575_gpio.c
@@ -28,6 +28,7 @@
#include <i2c.h>
#include <log.h>
#include <asm-generic/gpio.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/gpio/pic32_gpio.c b/drivers/gpio/pic32_gpio.c
index 253a9ba2f8..975a2af3cc 100644
--- a/drivers/gpio/pic32_gpio.c
+++ b/drivers/gpio/pic32_gpio.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
#include <linux/bitops.h>
diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c
index 796fe3e110..76f35ac5d9 100644
--- a/drivers/gpio/s5p_gpio.c
+++ b/drivers/gpio/s5p_gpio.c
@@ -10,6 +10,7 @@
#include <fdtdec.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
#include <dm/device-internal.h>
diff --git a/drivers/gpio/vybrid_gpio.c b/drivers/gpio/vybrid_gpio.c
index fcce90c53c..339392dcd3 100644
--- a/drivers/gpio/vybrid_gpio.c
+++ b/drivers/gpio/vybrid_gpio.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm/io.h>
diff --git a/drivers/hwspinlock/hwspinlock-uclass.c b/drivers/hwspinlock/hwspinlock-uclass.c
index 9da79455ed..8997243421 100644
--- a/drivers/hwspinlock/hwspinlock-uclass.c
+++ b/drivers/hwspinlock/hwspinlock-uclass.c
@@ -11,6 +11,7 @@
#include <dm/device-internal.h>
#include <dm/device_compat.h>
#include <linux/compat.h>
+#include <asm/global_data.h>
static inline const struct hwspinlock_ops *
hwspinlock_dev_ops(struct udevice *dev)
diff --git a/drivers/i2c/at91_i2c.c b/drivers/i2c/at91_i2c.c
index 3eb6db4878..aca8de9436 100644
--- a/drivers/i2c/at91_i2c.c
+++ b/drivers/i2c/at91_i2c.c
@@ -6,6 +6,7 @@
*/
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <common.h>
#include <clk.h>
diff --git a/drivers/i2c/cros_ec_tunnel.c b/drivers/i2c/cros_ec_tunnel.c
index 970b91cfd3..75828b6e7c 100644
--- a/drivers/i2c/cros_ec_tunnel.c
+++ b/drivers/i2c/cros_ec_tunnel.c
@@ -9,6 +9,7 @@
#include <cros_ec.h>
#include <errno.h>
#include <i2c.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/i2c/exynos_hs_i2c.c b/drivers/i2c/exynos_hs_i2c.c
index 879ddc67b6..39bcacc17a 100644
--- a/drivers/i2c/exynos_hs_i2c.c
+++ b/drivers/i2c/exynos_hs_i2c.c
@@ -13,6 +13,7 @@
#include <asm/arch/clk.h>
#include <asm/arch/cpu.h>
#include <asm/arch/pinmux.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include "s3c24x0_i2c.h"
diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c
index 875d30762e..5283575968 100644
--- a/drivers/i2c/fsl_i2c.c
+++ b/drivers/i2c/fsl_i2c.c
@@ -11,6 +11,7 @@
#include <i2c.h> /* Functional interface */
#include <log.h>
#include <time.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/fsl_i2c.h> /* HW definitions */
#include <clk.h>
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c
index da50d86cc8..85cf75ecd9 100644
--- a/drivers/i2c/i2c_core.c
+++ b/drivers/i2c/i2c_core.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <i2c.h>
#include <linker_lists.h>
+#include <asm/global_data.h>
struct i2c_adapter *i2c_get_adapter(int index)
{
diff --git a/drivers/i2c/ihs_i2c.c b/drivers/i2c/ihs_i2c.c
index f91a96a3aa..ba7817478c 100644
--- a/drivers/i2c/ihs_i2c.c
+++ b/drivers/i2c/ihs_i2c.c
@@ -13,6 +13,7 @@
#include <gdsys_fpga.h>
#endif
#include <log.h>
+#include <asm/global_data.h>
#include <asm/unaligned.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/i2c/iproc_i2c.c b/drivers/i2c/iproc_i2c.c
index 83301bbf1b..d975e78264 100644
--- a/drivers/i2c/iproc_i2c.c
+++ b/drivers/i2c/iproc_i2c.c
@@ -4,6 +4,7 @@
*
*/
+#include <asm/global_data.h>
#include <asm/io.h>
#include <common.h>
#include <config.h>
diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
index 928e02b7af..ad730e0e79 100644
--- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
+++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
@@ -10,6 +10,7 @@
#include <i2c.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <linux/delay.h>
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
index 8d6e208a0b..4ca206115f 100644
--- a/drivers/i2c/muxes/i2c-mux-gpio.c
+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
@@ -7,6 +7,7 @@
* Peng Fan <peng.fan@nxp.com>
*/
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm-generic/gpio.h>
#include <common.h>
diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
index d21a84c4fa..55858cf653 100644
--- a/drivers/i2c/muxes/pca954x.c
+++ b/drivers/i2c/muxes/pca954x.c
@@ -11,6 +11,7 @@
#include <i2c.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm-generic/gpio.h>
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c
index 37b1a06ee0..5df69f1459 100644
--- a/drivers/i2c/mvtwsi.c
+++ b/drivers/i2c/mvtwsi.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <i2c.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <asm/io.h>
diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 0362ec6763..3c91515bff 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -18,6 +18,7 @@
#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>
diff --git a/drivers/i2c/nx_i2c.c b/drivers/i2c/nx_i2c.c
index c63a732557..07cda0fa67 100644
--- a/drivers/i2c/nx_i2c.c
+++ b/drivers/i2c/nx_i2c.c
@@ -7,6 +7,7 @@
#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
diff --git a/drivers/i2c/ocores_i2c.c b/drivers/i2c/ocores_i2c.c
index 48ed1d5bff..088ba9a6a3 100644
--- a/drivers/i2c/ocores_i2c.c
+++ b/drivers/i2c/ocores_i2c.c
@@ -13,6 +13,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk.h>
#include <dm.h>
diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
index 0c8915605d..56f0f69885 100644
--- a/drivers/i2c/s3c24x0_i2c.c
+++ b/drivers/i2c/s3c24x0_i2c.c
@@ -16,6 +16,7 @@
#else
#include <asm/arch/s3c24x0_cpu.h>
#endif
+#include <asm/global_data.h>
#include <asm/io.h>
#include <i2c.h>
#include "s3c24x0_i2c.h"
diff --git a/drivers/i2c/sh_i2c.c b/drivers/i2c/sh_i2c.c
index f857307e6a..26a8700669 100644
--- a/drivers/i2c/sh_i2c.c
+++ b/drivers/i2c/sh_i2c.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <i2c.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 1031066b8c..db69c18cb6 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -25,6 +25,7 @@
#endif
#endif
#include <i2c.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#if defined(CONFIG_SOFT_I2C_GPIO_SCL)
diff --git a/drivers/i2c/tegra186_bpmp_i2c.c b/drivers/i2c/tegra186_bpmp_i2c.c
index 88e4e9a5c9..588f6bdcc4 100644
--- a/drivers/i2c/tegra186_bpmp_i2c.c
+++ b/drivers/i2c/tegra186_bpmp_i2c.c
@@ -9,6 +9,7 @@
#include <log.h>
#include <misc.h>
#include <asm/arch-tegra/bpmp_abi.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c
index 1ea11fd67b..565d99e7e5 100644
--- a/drivers/input/i8042.c
+++ b/drivers/input/i8042.c
@@ -14,6 +14,7 @@
#include <input.h>
#include <keyboard.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
diff --git a/drivers/mailbox/k3-sec-proxy.c b/drivers/mailbox/k3-sec-proxy.c
index 8dd93a3e11..ff21a08388 100644
--- a/drivers/mailbox/k3-sec-proxy.c
+++ b/drivers/mailbox/k3-sec-proxy.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device_compat.h>
#include <linux/types.h>
diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index 90f9cd246a..af65c559dc 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -16,6 +16,7 @@
#include <errno.h>
#include <atsha204a-i2c.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <u-boot/crc.h>
diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c
index f460b1a64c..e77b3af770 100644
--- a/drivers/misc/fs_loader.c
+++ b/drivers/misc/fs_loader.c
@@ -11,6 +11,7 @@
#include <fs.h>
#include <fs_loader.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/string.h>
#include <mapmem.h>
#include <malloc.h>
diff --git a/drivers/misc/imx8/fuse.c b/drivers/misc/imx8/fuse.c
index be18122937..38111c5254 100644
--- a/drivers/misc/imx8/fuse.c
+++ b/drivers/misc/imx8/fuse.c
@@ -9,6 +9,7 @@
#include <fuse.h>
#include <asm/arch/sci/sci.h>
#include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
#include <linux/arm-smccc.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/misc/imx8/scu.c b/drivers/misc/imx8/scu.c
index 72a3473263..035a600f71 100644
--- a/drivers/misc/imx8/scu.c
+++ b/drivers/misc/imx8/scu.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <dm/lists.h>
diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c
index 20b74fbb18..27ecce710f 100644
--- a/drivers/misc/imx8/scu_api.c
+++ b/drivers/misc/imx8/scu_api.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <hang.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <asm/arch/sci/sci.h>
diff --git a/drivers/misc/tegra186_bpmp.c b/drivers/misc/tegra186_bpmp.c
index f2366d6592..dbee7f77db 100644
--- a/drivers/misc/tegra186_bpmp.c
+++ b/drivers/misc/tegra186_bpmp.c
@@ -8,6 +8,7 @@
#include <log.h>
#include <malloc.h>
#include <time.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dm/root.h>
#include <mailbox.h>
diff --git a/drivers/misc/test_drv.c b/drivers/misc/test_drv.c
index 7dd3de34c9..827a50e954 100644
--- a/drivers/misc/test_drv.c
+++ b/drivers/misc/test_drv.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
#include <dm/test.h>
+#include <asm/global_data.h>
/* Records the last testbus device that was removed */
static struct udevice *testbus_removed;
diff --git a/drivers/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c
index d7dbc23fd0..2b5ceeab94 100644
--- a/drivers/mmc/atmel_sdhci.c
+++ b/drivers/mmc/atmel_sdhci.c
@@ -10,6 +10,7 @@
#include <malloc.h>
#include <sdhci.h>
#include <asm/arch/clk.h>
+#include <asm/global_data.h>
#define ATMEL_SDHC_MIN_FREQ 400000
#define ATMEL_SDHC_GCK_RATE 240000000
diff --git a/drivers/mmc/ca_dw_mmc.c b/drivers/mmc/ca_dw_mmc.c
index 2b79356a20..a17ed8c11c 100644
--- a/drivers/mmc/ca_dw_mmc.c
+++ b/drivers/mmc/ca_dw_mmc.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <dwmmc.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <malloc.h>
#include <errno.h>
diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
index b4ff1c3fb4..544798bb71 100644
--- a/drivers/mmc/exynos_dw_mmc.c
+++ b/drivers/mmc/exynos_dw_mmc.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <dwmmc.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <malloc.h>
#include <errno.h>
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index b5f3fd134d..6014e1c5ca 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -21,6 +21,7 @@
#include <fsl_esdhc.h>
#include <fdt_support.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <dm/device_compat.h>
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index 8ac859797f..e0e132698e 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -21,6 +21,7 @@
#include <mmc.h>
#include <part.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c
index fa6181d85f..0fa037224f 100644
--- a/drivers/mmc/ftsdc010_mci.c
+++ b/drivers/mmc/ftsdc010_mci.c
@@ -15,6 +15,7 @@
#include <malloc.h>
#include <part.h>
#include <mmc.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/io.h>
#include <linux/errno.h>
diff --git a/drivers/mmc/hi6220_dw_mmc.c b/drivers/mmc/hi6220_dw_mmc.c
index bb5d0922be..2cec5b9ae3 100644
--- a/drivers/mmc/hi6220_dw_mmc.c
+++ b/drivers/mmc/hi6220_dw_mmc.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <fdtdec.h>
#include <malloc.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/mmc/iproc_sdhci.c b/drivers/mmc/iproc_sdhci.c
index f931e4b3c1..6e4f527e5d 100644
--- a/drivers/mmc/iproc_sdhci.c
+++ b/drivers/mmc/iproc_sdhci.c
@@ -9,6 +9,7 @@
#include <errno.h>
#include <malloc.h>
#include <sdhci.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/mmc/jz_mmc.c b/drivers/mmc/jz_mmc.c
index ae3af3927d..61e48ee0f6 100644
--- a/drivers/mmc/jz_mmc.c
+++ b/drivers/mmc/jz_mmc.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <malloc.h>
#include <mmc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/unaligned.h>
#include <errno.h>
diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c
index bfbba46c5d..d63d7b3a2c 100644
--- a/drivers/mmc/msm_sdhci.c
+++ b/drivers/mmc/msm_sdhci.c
@@ -13,6 +13,7 @@
#include <malloc.h>
#include <sdhci.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/mmc/mv_sdhci.c b/drivers/mmc/mv_sdhci.c
index 4dc4a0d2be..591137f50e 100644
--- a/drivers/mmc/mv_sdhci.c
+++ b/drivers/mmc/mv_sdhci.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <malloc.h>
#include <sdhci.h>
+#include <asm/global_data.h>
#include <linux/mbus.h>
#define MVSDH_NAME "mv_sdh"
diff --git a/drivers/mmc/mvebu_mmc.c b/drivers/mmc/mvebu_mmc.c
index 03d5150b20..8ec1f57a1b 100644
--- a/drivers/mmc/mvebu_mmc.c
+++ b/drivers/mmc/mvebu_mmc.c
@@ -13,6 +13,7 @@
#include <malloc.h>
#include <part.h>
#include <mmc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/cpu.h>
#include <asm/arch/soc.h>
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 52f044e37a..da44511d98 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -35,6 +35,7 @@
#include <palmas.h>
#endif
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/mmc_host_def.h>
#ifdef CONFIG_OMAP54XX
diff --git a/drivers/mmc/pic32_sdhci.c b/drivers/mmc/pic32_sdhci.c
index fb37c6756c..fe555106a1 100644
--- a/drivers/mmc/pic32_sdhci.c
+++ b/drivers/mmc/pic32_sdhci.c
@@ -9,6 +9,8 @@
#include <dm.h>
#include <sdhci.h>
#include <clk.h>
+#include <linux/errno.h>
+#include <mach/pic32.h>
struct pic32_sdhci_plat {
struct mmc_config cfg;
diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c
index 2acb8c6efa..9ad92648a3 100644
--- a/drivers/mmc/renesas-sdhi.c
+++ b/drivers/mmc/renesas-sdhi.c
@@ -11,6 +11,7 @@
#include <malloc.h>
#include <mmc.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
#include <linux/compat.h>
diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c
index 3cf56e0ac4..dee84263c3 100644
--- a/drivers/mmc/s5p_sdhci.c
+++ b/drivers/mmc/s5p_sdhci.c
@@ -10,6 +10,7 @@
#include <malloc.h>
#include <sdhci.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <asm/gpio.h>
#include <asm/arch/mmc.h>
diff --git a/drivers/mmc/sdhci-cadence.c b/drivers/mmc/sdhci-cadence.c
index 2b726c26b8..327a05ad11 100644
--- a/drivers/mmc/sdhci-cadence.c
+++ b/drivers/mmc/sdhci-cadence.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitfield.h>
#include <linux/bitops.h>
diff --git a/drivers/mmc/sh_mmcif.c b/drivers/mmc/sh_mmcif.c
index af342f2c29..830e29cdd4 100644
--- a/drivers/mmc/sh_mmcif.c
+++ b/drivers/mmc/sh_mmcif.c
@@ -22,6 +22,7 @@
#include <linux/io.h>
#include <linux/sizes.h>
#include "sh_mmcif.h"
+#include <asm/global_data.h>
#define DRIVER_NAME "sh_mmcif"
diff --git a/drivers/mmc/sh_sdhi.c b/drivers/mmc/sh_sdhi.c
index b8865b1ca6..b2d0fac963 100644
--- a/drivers/mmc/sh_sdhi.c
+++ b/drivers/mmc/sh_sdhi.c
@@ -24,6 +24,7 @@
#include <linux/sizes.h>
#include <asm/arch/rmobile.h>
#include <asm/arch/sh_sdhi.h>
+#include <asm/global_data.h>
#include <clk.h>
#define DRIVER_NAME "sh-sdhi"
diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
index aa0d3a2222..d6d2d57214 100644
--- a/drivers/mmc/socfpga_dw_mmc.c
+++ b/drivers/mmc/socfpga_dw_mmc.c
@@ -13,6 +13,7 @@
#include <dwmmc.h>
#include <errno.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/intel-smc.h>
#include <linux/libfdt.h>
diff --git a/drivers/mmc/sti_sdhci.c b/drivers/mmc/sti_sdhci.c
index 8ecd575152..6194768fd7 100644
--- a/drivers/mmc/sti_sdhci.c
+++ b/drivers/mmc/sti_sdhci.c
@@ -11,6 +11,7 @@
#include <reset-uclass.h>
#include <sdhci.h>
#include <asm/arch/sdhci.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c
index 6c0c840bbb..e9c7d3a2e0 100644
--- a/drivers/mmc/tmio-common.c
+++ b/drivers/mmc/tmio-common.c
@@ -10,6 +10,7 @@
#include <fdtdec.h>
#include <mmc.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/pinctrl.h>
#include <linux/compat.h>
diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c
index d635694401..e292f2903d 100644
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -17,6 +17,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
diff --git a/drivers/mtd/altera_qspi.c b/drivers/mtd/altera_qspi.c
index 0011811250..7bac599a54 100644
--- a/drivers/mtd/altera_qspi.c
+++ b/drivers/mtd/altera_qspi.c
@@ -11,6 +11,7 @@
#include <flash.h>
#include <log.h>
#include <mtd.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 9e3a652f44..b4512e3a5f 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -26,6 +26,7 @@
#include <init.h>
#include <irq_func.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/byteorder.h>
diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c
index 9360d4ed17..c53ec657a3 100644
--- a/drivers/mtd/mtd_uboot.c
+++ b/drivers/mtd/mtd_uboot.c
@@ -12,6 +12,7 @@
#include <linux/err.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
+#include <asm/global_data.h>
#include <mtd.h>
#define MTD_NAME_MAX_LEN 20
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 698968bc11..6557faddf9 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -4574,6 +4574,7 @@ ident_done:
EXPORT_SYMBOL(nand_get_flash_type);
#if CONFIG_IS_ENABLED(OF_CONTROL)
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
static int nand_dt_init(struct mtd_info *mtd, struct nand_chip *chip, int node)
diff --git a/drivers/mtd/nand/raw/octeontx_nand.c b/drivers/mtd/nand/raw/octeontx_nand.c
index 9997135ef9..e0ccc7b0d9 100644
--- a/drivers/mtd/nand/raw/octeontx_nand.c
+++ b/drivers/mtd/nand/raw/octeontx_nand.c
@@ -23,6 +23,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/nand_bch.h>
#include <linux/mtd/nand_ecc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/types.h>
#include <asm/dma-mapping.h>
diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index f6233756d8..8ff58a7038 100644
--- a/drivers/mtd/nand/raw/pxa3xx_nand.c
+++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
@@ -10,6 +10,7 @@
#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>
diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c
index 12fc065b32..7bc6ec7bee 100644
--- a/drivers/mtd/nand/raw/sunxi_nand.c
+++ b/drivers/mtd/nand/raw/sunxi_nand.c
@@ -29,6 +29,7 @@
#include <malloc.h>
#include <memalign.h>
#include <nand.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
#include <linux/bitops.h>
diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
index a530127cb7..6310253efa 100644
--- a/drivers/mtd/nand/raw/tegra_nand.c
+++ b/drivers/mtd/nand/raw/tegra_nand.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <memalign.h>
#include <nand.h>
diff --git a/drivers/mtd/pic32_flash.c b/drivers/mtd/pic32_flash.c
index a58a2c4b6c..ea0dbe9eee 100644
--- a/drivers/mtd/pic32_flash.c
+++ b/drivers/mtd/pic32_flash.c
@@ -12,6 +12,7 @@
#include <flash.h>
#include <init.h>
#include <irq_func.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <mach/pic32.h>
#include <wait_bit.h>
diff --git a/drivers/mtd/renesas_rpc_hf.c b/drivers/mtd/renesas_rpc_hf.c
index 8a644ad9b3..2c61ce7b6e 100644
--- a/drivers/mtd/renesas_rpc_hf.c
+++ b/drivers/mtd/renesas_rpc_hf.c
@@ -21,6 +21,7 @@
#include <wait_bit.h>
#include <linux/bitops.h>
#include <mtd/cfi_flash.h>
+#include <asm/global_data.h>
#define RPC_CMNCR 0x0000 /* R/W */
#define RPC_CMNCR_MD BIT(31)
diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c
index 3017022abb..12d132152d 100644
--- a/drivers/mtd/spi/sf-uclass.c
+++ b/drivers/mtd/spi/sf-uclass.c
@@ -9,6 +9,7 @@
#include <malloc.h>
#include <spi.h>
#include <spi_flash.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include "sf_internal.h"
diff --git a/drivers/net/ag7xxx.c b/drivers/net/ag7xxx.c
index c16dff959b..632ab3c1e5 100644
--- a/drivers/net/ag7xxx.c
+++ b/drivers/net/ag7xxx.c
@@ -16,6 +16,7 @@
#include <malloc.h>
#include <net.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/compiler.h>
#include <linux/delay.h>
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index 456b7b98e9..eb4cd96763 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -18,6 +18,7 @@
#include <miiphy.h>
#include <net.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <linux/dma-mapping.h>
#include <asm/io.h>
#include "altera_tse.h"
diff --git a/drivers/net/dwmac_s700.c b/drivers/net/dwmac_s700.c
index efe3d1dade..744b58bdd1 100644
--- a/drivers/net/dwmac_s700.c
+++ b/drivers/net/dwmac_s700.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <clk.h>
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index e3b29a9c3e..ec21157d71 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -18,6 +18,7 @@
#include <net.h>
#include <netdev.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <power/regulator.h>
diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index 5bfe3781a1..c9cf6a987e 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -11,6 +11,7 @@
#include <image.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <linux/bug.h>
#include <asm/io.h>
#include <linux/delay.h>
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index c36d40c911..c20aef4ab2 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -18,6 +18,7 @@
#include <config.h>
#include <net.h>
#include <miiphy.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/mii.h>
#include <asm/immap.h>
diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c
index fc578b0375..c30ace96bb 100644
--- a/drivers/net/ftmac100.c
+++ b/drivers/net/ftmac100.c
@@ -12,6 +12,7 @@
#include <env.h>
#include <malloc.h>
#include <net.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/io.h>
diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c
index a50a5b3f33..f909660484 100644
--- a/drivers/net/gmac_rockchip.c
+++ b/drivers/net/gmac_rockchip.c
@@ -12,6 +12,7 @@
#include <net.h>
#include <phy.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch-rockchip/periph.h>
#include <asm/arch-rockchip/clock.h>
diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c
index ef013c9c97..725173f627 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -20,6 +20,7 @@
#include <linux/bug.h>
#include <linux/compat.h>
#include <linux/delay.h>
+#include <asm/global_data.h>
#include "ldpaa_eth.h"
#ifdef CONFIG_PHYLIB
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 6e26467700..57ea45e2dc 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -7,6 +7,7 @@
#include <cpu_func.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
/*
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index cb343b446f..43bb761483 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -18,6 +18,7 @@
#include <net.h>
#include <miiphy.h>
#include <asm/fec.h>
+#include <asm/global_data.h>
#include <asm/immap.h>
#include <linux/delay.h>
#include <linux/mii.h>
diff --git a/drivers/net/mcfmii.c b/drivers/net/mcfmii.c
index ec81320a86..0987266c96 100644
--- a/drivers/net/mcfmii.c
+++ b/drivers/net/mcfmii.c
@@ -8,6 +8,7 @@
#include <config.h>
#include <net.h>
#include <netdev.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#ifdef CONFIG_MCF547x_8x
diff --git a/drivers/net/mpc8xx_fec.c b/drivers/net/mpc8xx_fec.c
index 12be584638..282c2599d3 100644
--- a/drivers/net/mpc8xx_fec.c
+++ b/drivers/net/mpc8xx_fec.c
@@ -11,6 +11,7 @@
#include <net.h>
#include <netdev.h>
#include <asm/cpm_8xx.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index 2452859f81..ce5b8eed64 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -18,6 +18,7 @@
#include <malloc.h>
#include <miiphy.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/errno.h>
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 3192cf5509..4a4268c2b2 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -21,6 +21,7 @@
#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>
diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c
index d266e6d0f3..1cf522b8fe 100644
--- a/drivers/net/mvpp2.c
+++ b/drivers/net/mvpp2.c
@@ -17,6 +17,7 @@
#include <cpu_func.h>
#include <dm.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
index 58436419f1..91dcd05e4b 100644
--- a/drivers/net/octeontx/smi.c
+++ b/drivers/net/octeontx/smi.c
@@ -10,6 +10,7 @@
#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>
diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
index 9d9f746e1d..3228672fc4 100644
--- a/drivers/net/phy/fixed.c
+++ b/drivers/net/phy/fixed.c
@@ -11,6 +11,7 @@
#include <phy.h>
#include <dm.h>
#include <fdt_support.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/net/phy/miiphybb.c b/drivers/net/phy/miiphybb.c
index 59a32c4913..24d617553e 100644
--- a/drivers/net/phy/miiphybb.c
+++ b/drivers/net/phy/miiphybb.c
@@ -16,6 +16,7 @@
#include <ioports.h>
#include <ppc_asm.tmpl>
#include <miiphy.h>
+#include <asm/global_data.h>
#define BB_MII_RELOCATE(v,off) (v += (v?off:0))
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 662ea2b98c..a2be398736 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -17,6 +17,7 @@
#include <miiphy.h>
#include <phy.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/err.h>
diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c
index e2feb17048..74105c0b7d 100644
--- a/drivers/net/phy/xilinx_gmii2rgmii.c
+++ b/drivers/net/phy/xilinx_gmii2rgmii.c
@@ -5,11 +5,11 @@
* Copyright (C) 2018 Xilinx, Inc.
*/
+#include <common.h>
#include <dm.h>
#include <log.h>
#include <phy.h>
-#include <config.h>
-#include <common.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/net/pic32_eth.c b/drivers/net/pic32_eth.c
index 9eba55affb..5a678d1cf9 100644
--- a/drivers/net/pic32_eth.c
+++ b/drivers/net/pic32_eth.c
@@ -14,6 +14,7 @@
#include <console.h>
#include <time.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <linux/delay.h>
#include <linux/mii.h>
diff --git a/drivers/net/qe/dm_qe_uec.c b/drivers/net/qe/dm_qe_uec.c
index a33068cc70..b08c79244c 100644
--- a/drivers/net/qe/dm_qe_uec.c
+++ b/drivers/net/qe/dm_qe_uec.c
@@ -12,6 +12,7 @@
#include <errno.h>
#include <memalign.h>
#include <miiphy.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include "dm_qe_uec.h"
diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c
index 34e2b8f9e9..6953b7286a 100644
--- a/drivers/net/ravb.c
+++ b/drivers/net/ravb.c
@@ -22,6 +22,7 @@
#include <linux/mii.h>
#include <wait_bit.h>
#include <asm/io.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
/* Registers */
diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
index 8273f73c91..ce66ff781f 100644
--- a/drivers/net/sandbox-raw.c
+++ b/drivers/net/sandbox-raw.c
@@ -13,6 +13,7 @@
#include <env.h>
#include <malloc.h>
#include <net.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
index a389e2bd0d..37459dfa0a 100644
--- a/drivers/net/sandbox.c
+++ b/drivers/net/sandbox.c
@@ -12,6 +12,7 @@
#include <malloc.h>
#include <net.h>
#include <asm/eth.h>
+#include <asm/global_data.h>
#include <asm/test.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 1666a8cdb2..3143a5813a 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -20,6 +20,7 @@
#include <asm/cache.h>
#include <linux/delay.h>
#include <linux/errno.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#ifdef CONFIG_DM_ETH
diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c
index 0ebe86a333..ab51552ed8 100644
--- a/drivers/net/sni_ave.c
+++ b/drivers/net/sni_ave.c
@@ -16,6 +16,7 @@
#include <reset.h>
#include <syscon.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
index 0f6b6bb537..a6cdda81a7 100644
--- a/drivers/net/sun8i_emac.c
+++ b/drivers/net/sun8i_emac.c
@@ -13,6 +13,7 @@
#include <cpu_func.h>
#include <log.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/gpio.h>
diff --git a/drivers/net/ti/cpsw-common.c b/drivers/net/ti/cpsw-common.c
index ca93edb70e..3140f2515f 100644
--- a/drivers/net/ti/cpsw-common.c
+++ b/drivers/net/ti/cpsw-common.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <fdt_support.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <cpsw.h>
#include <dm/device_compat.h>
diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c
index 35b796c913..5e8f683c29 100644
--- a/drivers/net/ti/keystone_net.c
+++ b/drivers/net/ti/keystone_net.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <command.h>
#include <console.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <dm.h>
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 343ab69d19..2ce6271afe 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -12,6 +12,7 @@
#include <log.h>
#include <net.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <phy.h>
#include <miiphy.h>
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 6b447537f6..43fc36dc6a 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -13,6 +13,7 @@
#include <dm.h>
#include <console.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <phy.h>
#include <miiphy.h>
diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c
index 1d09c5ac4f..e72a60c131 100644
--- a/drivers/pci/fsl_pci_init.c
+++ b/drivers/pci/fsl_pci_init.c
@@ -9,6 +9,7 @@
#include <log.h>
#include <malloc.h>
#include <asm/fsl_serdes.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index ba65f47e80..dfd54b339f 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <malloc.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index a7453e5755..d8f9239523 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -17,6 +17,7 @@
#include <common.h>
#include <init.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <command.h>
diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c
index 3ab03e3675..235d9bb90c 100644
--- a/drivers/pci/pci_mvebu.c
+++ b/drivers/pci/pci_mvebu.c
@@ -13,6 +13,7 @@
#include <dm.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
#include <dm/of_access.h>
diff --git a/drivers/pci/pci_octeontx.c b/drivers/pci/pci_octeontx.c
index 16932839a5..46855c5cd3 100644
--- a/drivers/pci/pci_octeontx.c
+++ b/drivers/pci/pci_octeontx.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <malloc.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
diff --git a/drivers/pci/pci_rom.c b/drivers/pci/pci_rom.c
index 4a21813a82..a14a4db3c2 100644
--- a/drivers/pci/pci_rom.c
+++ b/drivers/pci/pci_rom.c
@@ -38,6 +38,7 @@
#include <video.h>
#include <video_fb.h>
#include <acpi/acpi_s3.h>
+#include <asm/global_data.h>
#include <linux/screen_info.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c
index 7ec149d178..93e57cf0cf 100644
--- a/drivers/pci/pcie_dw_mvebu.c
+++ b/drivers/pci/pcie_dw_mvebu.c
@@ -14,6 +14,7 @@
#include <dm.h>
#include <log.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm-generic/gpio.h>
#include <linux/delay.h>
diff --git a/drivers/pci/pcie_dw_rockchip.c b/drivers/pci/pcie_dw_rockchip.c
index 15270627b0..77f1a1b48f 100644
--- a/drivers/pci/pcie_dw_rockchip.c
+++ b/drivers/pci/pcie_dw_rockchip.c
@@ -14,6 +14,7 @@
#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>
diff --git a/drivers/pci/pcie_dw_ti.c b/drivers/pci/pcie_dw_ti.c
index 5e00fcda97..33a5c3cc20 100644
--- a/drivers/pci/pcie_dw_ti.c
+++ b/drivers/pci/pcie_dw_ti.c
@@ -11,6 +11,7 @@
#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>
diff --git a/drivers/pci/pcie_ecam_generic.c b/drivers/pci/pcie_ecam_generic.c
index 7d1f13d637..e83e5aff20 100644
--- a/drivers/pci/pcie_ecam_generic.c
+++ b/drivers/pci/pcie_ecam_generic.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <dm.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
diff --git a/drivers/pci/pcie_fsl.c b/drivers/pci/pcie_fsl.c
index b061b31cae..3c2a2a4761 100644
--- a/drivers/pci/pcie_fsl.c
+++ b/drivers/pci/pcie_fsl.c
@@ -13,6 +13,7 @@
#include <pci.h>
#include <asm/fsl_pci.h>
#include <asm/fsl_serdes.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
#include "pcie_fsl.h"
diff --git a/drivers/pci/pcie_intel_fpga.c b/drivers/pci/pcie_intel_fpga.c
index b4964757c7..60195cfe1b 100644
--- a/drivers/pci/pcie_intel_fpga.c
+++ b/drivers/pci/pcie_intel_fpga.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <dm.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c
index 25b5272d4e..3c7c4ca18e 100644
--- a/drivers/pci/pcie_layerscape.c
+++ b/drivers/pci/pcie_layerscape.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <errno.h>
#include <malloc.h>
diff --git a/drivers/pci/pcie_layerscape_ep.c b/drivers/pci/pcie_layerscape_ep.c
index 041a526f0b..14983cce4f 100644
--- a/drivers/pci/pcie_layerscape_ep.c
+++ b/drivers/pci/pcie_layerscape_ep.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <asm/arch/fsl_serdes.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/devres.h>
#include <errno.h>
#include <pci_ep.h>
diff --git a/drivers/pci/pcie_layerscape_fixup_common.c b/drivers/pci/pcie_layerscape_fixup_common.c
index 40f0ef10ac..8b924d404c 100644
--- a/drivers/pci/pcie_layerscape_fixup_common.c
+++ b/drivers/pci/pcie_layerscape_fixup_common.c
@@ -11,6 +11,7 @@
#include <init.h>
#include <asm/arch/clock.h>
#include <asm/arch/soc.h>
+#include <linux/libfdt.h>
#include "pcie_layerscape_fixup_common.h"
void ft_pci_setup(void *blob, struct bd_info *bd)
diff --git a/drivers/pci/pcie_layerscape_gen4.c b/drivers/pci/pcie_layerscape_gen4.c
index be9cb6285c..255e73181d 100644
--- a/drivers/pci/pcie_layerscape_gen4.c
+++ b/drivers/pci/pcie_layerscape_gen4.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <asm/arch/fsl_serdes.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <errno.h>
#include <malloc.h>
diff --git a/drivers/pci/pcie_layerscape_rc.c b/drivers/pci/pcie_layerscape_rc.c
index 517e7b5ceb..b055ed5165 100644
--- a/drivers/pci/pcie_layerscape_rc.c
+++ b/drivers/pci/pcie_layerscape_rc.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <asm/arch/fsl_serdes.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <errno.h>
#include <malloc.h>
diff --git a/drivers/pci/pcie_phytium.c b/drivers/pci/pcie_phytium.c
index 03ea04ceaa..752e170321 100644
--- a/drivers/pci/pcie_phytium.c
+++ b/drivers/pci/pcie_phytium.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <dm.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
/**
diff --git a/drivers/pci/pcie_rockchip.c b/drivers/pci/pcie_rockchip.c
index 027745e42e..b0c91c0f43 100644
--- a/drivers/pci/pcie_rockchip.c
+++ b/drivers/pci/pcie_rockchip.c
@@ -14,6 +14,7 @@
#include <common.h>
#include <clk.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <generic-phy.h>
#include <pci.h>
diff --git a/drivers/pci/pcie_xilinx.c b/drivers/pci/pcie_xilinx.c
index 00879a2d72..ae9a65b0a9 100644
--- a/drivers/pci/pcie_xilinx.c
+++ b/drivers/pci/pcie_xilinx.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <pci.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <asm/io.h>
diff --git a/drivers/pci_endpoint/pci_ep-uclass.c b/drivers/pci_endpoint/pci_ep-uclass.c
index aa89701de8..5555cf5a8c 100644
--- a/drivers/pci_endpoint/pci_ep-uclass.c
+++ b/drivers/pci_endpoint/pci_ep-uclass.c
@@ -12,6 +12,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <linux/log2.h>
#include <pci_ep.h>
diff --git a/drivers/pci_endpoint/pcie-cadence-ep.c b/drivers/pci_endpoint/pcie-cadence-ep.c
index 7313428fe0..d58c64982b 100644
--- a/drivers/pci_endpoint/pcie-cadence-ep.c
+++ b/drivers/pci_endpoint/pcie-cadence-ep.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <pci_ep.h>
+#include <asm/global_data.h>
#include <linux/sizes.h>
#include <linux/log2.h>
#include "pcie-cadence.h"
diff --git a/drivers/phy/marvell/comphy_a3700.c b/drivers/phy/marvell/comphy_a3700.c
index 4606de6f48..12523d18a8 100644
--- a/drivers/phy/marvell/comphy_a3700.c
+++ b/drivers/phy/marvell/comphy_a3700.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/cpu.h>
#include <asm/arch/soc.h>
diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c
index b2203277c4..cd54e7f889 100644
--- a/drivers/phy/marvell/comphy_core.c
+++ b/drivers/phy/marvell/comphy_core.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device_compat.h>
#include <linux/err.h>
diff --git a/drivers/phy/marvell/comphy_cp110.c b/drivers/phy/marvell/comphy_cp110.c
index b0fcb13f1c..a323de7c76 100644
--- a/drivers/phy/marvell/comphy_cp110.c
+++ b/drivers/phy/marvell/comphy_cp110.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/ptrace.h>
#include <asm/arch/cpu.h>
diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c
index cb99143732..2a9604cdcc 100644
--- a/drivers/phy/omap-usb2-phy.c
+++ b/drivers/phy/omap-usb2-phy.c
@@ -7,6 +7,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <errno.h>
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 6744b8b227..62b8ba3a4a 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <clk.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
#include <generic-phy.h>
diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
index bc6c0feed0..44ca4bc791 100644
--- a/drivers/phy/rockchip/phy-rockchip-pcie.c
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <clk.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <generic-phy.h>
#include <reset.h>
diff --git a/drivers/phy/rockchip/phy-rockchip-typec.c b/drivers/phy/rockchip/phy-rockchip-typec.c
index a45a318e47..ca63b856e1 100644
--- a/drivers/phy/rockchip/phy-rockchip-typec.c
+++ b/drivers/phy/rockchip/phy-rockchip-typec.c
@@ -11,6 +11,7 @@
#include <common.h>
#include <clk.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
#include <generic-phy.h>
diff --git a/drivers/phy/sti_usb_phy.c b/drivers/phy/sti_usb_phy.c
index 87c1bcddb4..ce4caafce7 100644
--- a/drivers/phy/sti_usb_phy.c
+++ b/drivers/phy/sti_usb_phy.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <bitfield.h>
#include <dm.h>
diff --git a/drivers/phy/ti-pipe3-phy.c b/drivers/phy/ti-pipe3-phy.c
index 98fe6c6fce..b5b3c3f152 100644
--- a/drivers/phy/ti-pipe3-phy.c
+++ b/drivers/phy/ti-pipe3-phy.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <dm/device.h>
#include <generic-phy.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/sys_proto.h>
#include <syscon.h>
diff --git a/drivers/pinctrl/ath79/pinctrl_ar933x.c b/drivers/pinctrl/ath79/pinctrl_ar933x.c
index 14408da2e7..eb673a9f69 100644
--- a/drivers/pinctrl/ath79/pinctrl_ar933x.c
+++ b/drivers/pinctrl/ath79/pinctrl_ar933x.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/pinctrl.h>
#include <mach/ar71xx_regs.h>
diff --git a/drivers/pinctrl/ath79/pinctrl_qca953x.c b/drivers/pinctrl/ath79/pinctrl_qca953x.c
index b1c78bead3..0d534268e9 100644
--- a/drivers/pinctrl/ath79/pinctrl_qca953x.c
+++ b/drivers/pinctrl/ath79/pinctrl_qca953x.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/pinctrl.h>
#include <mach/ar71xx_regs.h>
diff --git a/drivers/pinctrl/exynos/pinctrl-exynos.c b/drivers/pinctrl/exynos/pinctrl-exynos.c
index 64d78213a8..2640c8fcef 100644
--- a/drivers/pinctrl/exynos/pinctrl-exynos.c
+++ b/drivers/pinctrl/exynos/pinctrl-exynos.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include "pinctrl-exynos.h"
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index b11a40e11a..ee362d8464 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
diff --git a/drivers/pinctrl/mtmips/pinctrl-mt7628.c b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
index c15da6be0e..79c63c7cae 100644
--- a/drivers/pinctrl/mtmips/pinctrl-mt7628.c
+++ b/drivers/pinctrl/mtmips/pinctrl-mt7628.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/pinctrl.h>
#include <linux/bitops.h>
#include <linux/io.h>
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
index 4797d3250f..b9d389e70f 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
@@ -20,6 +20,7 @@
#include <config.h>
#include <dm.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
diff --git a/drivers/pinctrl/mvebu/pinctrl-mvebu.c b/drivers/pinctrl/mvebu/pinctrl-mvebu.c
index 5ced4fea88..536c6aff96 100644
--- a/drivers/pinctrl/mvebu/pinctrl-mvebu.c
+++ b/drivers/pinctrl/mvebu/pinctrl-mvebu.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/pinctrl.h>
#include <dm/root.h>
#include <asm/system.h>
diff --git a/drivers/pinctrl/nexell/pinctrl-nexell.c b/drivers/pinctrl/nexell/pinctrl-nexell.c
index 4518c05d46..6b01f47657 100644
--- a/drivers/pinctrl/nexell/pinctrl-nexell.c
+++ b/drivers/pinctrl/nexell/pinctrl-nexell.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include "pinctrl-nexell.h"
#include "pinctrl-s5pxx18.h"
diff --git a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
index adc687a3b5..863eb1455d 100644
--- a/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
+++ b/drivers/pinctrl/nexell/pinctrl-s5pxx18.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <dm.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/pinctrl.h>
#include <dm/root.h>
diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c
index 48c7bde375..1596dcc474 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <malloc.h>
#include <mapmem.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
#include <linux/bitops.h>
diff --git a/drivers/pinctrl/nxp/pinctrl-imx8.c b/drivers/pinctrl/nxp/pinctrl-imx8.c
index 2e5db2c6c2..46af44ecb1 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx8.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx8.c
@@ -4,6 +4,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <dm/device.h>
#include <dm/pinctrl.h>
diff --git a/drivers/pinctrl/nxp/pinctrl-mxs.c b/drivers/pinctrl/nxp/pinctrl-mxs.c
index 449a0aa8b5..e6b10a377b 100644
--- a/drivers/pinctrl/nxp/pinctrl-mxs.c
+++ b/drivers/pinctrl/nxp/pinctrl-mxs.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
#include <linux/io.h>
diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index 3a5143adc3..b7ae2f6ada 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/pinctrl.h>
#include <linux/bitops.h>
#include <linux/io.h>
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index ddaad55ddc..b7aab12f11 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/pinctrl.h>
#include <asm/hardware.h>
#include <linux/bitops.h>
diff --git a/drivers/pinctrl/pinctrl-sti.c b/drivers/pinctrl/pinctrl-sti.c
index c5baf5d211..20cdbb0702 100644
--- a/drivers/pinctrl/pinctrl-sti.c
+++ b/drivers/pinctrl/pinctrl-sti.c
@@ -12,6 +12,7 @@
#include <errno.h>
#include <regmap.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/pinctrl.h>
#include <linux/bug.h>
diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
index 7919e54e8d..b0f30aa1f7 100644
--- a/drivers/pinctrl/pinctrl-uclass.c
+++ b/drivers/pinctrl/pinctrl-uclass.c
@@ -5,6 +5,7 @@
#include <common.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/libfdt.h>
#include <linux/err.h>
diff --git a/drivers/pinctrl/pinctrl_pic32.c b/drivers/pinctrl/pinctrl_pic32.c
index a19758d59d..54d97ac0ae 100644
--- a/drivers/pinctrl/pinctrl_pic32.c
+++ b/drivers/pinctrl/pinctrl_pic32.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/pinctrl.h>
#include <linux/bitops.h>
diff --git a/drivers/pinctrl/renesas/pfc-r7s72100.c b/drivers/pinctrl/renesas/pfc-r7s72100.c
index 82bdf05b24..a445cdba71 100644
--- a/drivers/pinctrl/renesas/pfc-r7s72100.c
+++ b/drivers/pinctrl/renesas/pfc-r7s72100.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dm/pinctrl.h>
#include <linux/bitops.h>
diff --git a/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c b/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
index ec1cb9b652..630513ba3a 100644
--- a/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
+++ b/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
@@ -12,6 +12,7 @@
#include <fdtdec.h>
#include <linux/bitops.h>
#include <linux/libfdt.h>
+#include <asm/global_data.h>
#include "pinctrl-rockchip.h"
diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c
index ec369aedd3..e2fae2dbc8 100644
--- a/drivers/power/domain/imx8-power-domain-legacy.c
+++ b/drivers/power/domain/imx8-power-domain-legacy.c
@@ -8,6 +8,7 @@
#include <log.h>
#include <malloc.h>
#include <power-domain-uclass.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/power-domain.h>
#include <dm/device-internal.h>
diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c
index 341c83b136..c4cd07ffaf 100644
--- a/drivers/power/domain/imx8m-power-domain.c
+++ b/drivers/power/domain/imx8m-power-domain.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <malloc.h>
#include <power-domain-uclass.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/power-domain.h>
#include <asm/mach-imx/sys_proto.h>
diff --git a/drivers/power/pmic/bd71837.c b/drivers/power/pmic/bd71837.c
index 31c9139c64..cb9238972f 100644
--- a/drivers/power/pmic/bd71837.c
+++ b/drivers/power/pmic/bd71837.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <i2c.h>
#include <log.h>
+#include <asm/global_data.h>
#include <power/pmic.h>
#include <power/regulator.h>
#include <power/bd71837.h>
diff --git a/drivers/power/pmic/mc34708.c b/drivers/power/pmic/mc34708.c
index 66253a4a43..40d732224b 100644
--- a/drivers/power/pmic/mc34708.c
+++ b/drivers/power/pmic/mc34708.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <fsl_pmic.h>
#include <i2c.h>
+#include <asm/global_data.h>
#include <power/pmic.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/power/pmic/mp5416.c b/drivers/power/pmic/mp5416.c
index 458c4df688..6180adf77e 100644
--- a/drivers/power/pmic/mp5416.c
+++ b/drivers/power/pmic/mp5416.c
@@ -10,6 +10,7 @@
#include <power/pmic.h>
#include <power/regulator.h>
#include <power/mp5416.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/power/pmic/pca9450.c b/drivers/power/pmic/pca9450.c
index c7f8b80954..a886647f19 100644
--- a/drivers/power/pmic/pca9450.c
+++ b/drivers/power/pmic/pca9450.c
@@ -9,6 +9,7 @@
#include <dm.h>
#include <i2c.h>
#include <log.h>
+#include <asm/global_data.h>
#include <power/pmic.h>
#include <power/regulator.h>
#include <power/pca9450.h>
diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c
index 18e57db076..ca59f3ae3e 100644
--- a/drivers/power/regulator/pwm_regulator.c
+++ b/drivers/power/regulator/pwm_regulator.c
@@ -12,6 +12,7 @@
#include <errno.h>
#include <log.h>
#include <pwm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <power/regulator.h>
diff --git a/drivers/pwm/pwm-sifive.c b/drivers/pwm/pwm-sifive.c
index 30c30430be..01212d630a 100644
--- a/drivers/pwm/pwm-sifive.c
+++ b/drivers/pwm/pwm-sifive.c
@@ -18,6 +18,7 @@
#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>
diff --git a/drivers/pwm/rk_pwm.c b/drivers/pwm/rk_pwm.c
index a64fc4a052..9cf0980345 100644
--- a/drivers/pwm/rk_pwm.c
+++ b/drivers/pwm/rk_pwm.c
@@ -12,6 +12,7 @@
#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>
diff --git a/drivers/pwm/sunxi_pwm.c b/drivers/pwm/sunxi_pwm.c
index 614635526f..e3d5ee456b 100644
--- a/drivers/pwm/sunxi_pwm.c
+++ b/drivers/pwm/sunxi_pwm.c
@@ -10,6 +10,7 @@
#include <pwm.h>
#include <regmap.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/pwm.h>
#include <asm/arch/gpio.h>
diff --git a/drivers/qe/fdt.c b/drivers/qe/fdt.c
index fd7f14955a..6195c7c444 100644
--- a/drivers/qe/fdt.c
+++ b/drivers/qe/fdt.c
@@ -7,6 +7,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <fdt_support.h>
#include <fsl_qe.h>
diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c
index 259e4e3e67..97883ffc87 100644
--- a/drivers/qe/qe.c
+++ b/drivers/qe/qe.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <malloc.h>
#include <command.h>
+#include <asm/global_data.h>
#include <linux/errno.h>
#include <asm/io.h>
#include <linux/immap_qe.h>
diff --git a/drivers/ram/aspeed/sdram_ast2500.c b/drivers/ram/aspeed/sdram_ast2500.c
index 905ef304e2..141b19b57a 100644
--- a/drivers/ram/aspeed/sdram_ast2500.c
+++ b/drivers/ram/aspeed/sdram_ast2500.c
@@ -13,6 +13,7 @@
#include <ram.h>
#include <regmap.h>
#include <reset.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/scu_ast2500.h>
#include <asm/arch/sdram_ast2500.h>
diff --git a/drivers/ram/aspeed/sdram_ast2600.c b/drivers/ram/aspeed/sdram_ast2600.c
index fd4235225a..9ad398d241 100644
--- a/drivers/ram/aspeed/sdram_ast2600.c
+++ b/drivers/ram/aspeed/sdram_ast2600.c
@@ -12,6 +12,7 @@
#include <asm/io.h>
#include <asm/arch/scu_ast2600.h>
#include <asm/arch/sdram_ast2600.h>
+#include <asm/global_data.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <dt-bindings/clock/ast2600-clock.h>
diff --git a/drivers/ram/mpc83xx_sdram.c b/drivers/ram/mpc83xx_sdram.c
index 783834c9f5..a53ff93a6b 100644
--- a/drivers/ram/mpc83xx_sdram.c
+++ b/drivers/ram/mpc83xx_sdram.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <ram.h>
#include <asm/bitops.h>
+#include <asm/global_data.h>
#include <dt-bindings/memory/mpc83xx-sdram.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/ram/octeon/octeon_ddr.c b/drivers/ram/octeon/octeon_ddr.c
index 6bec68d1da..1f75dc15fa 100644
--- a/drivers/ram/octeon/octeon_ddr.c
+++ b/drivers/ram/octeon/octeon_ddr.c
@@ -10,6 +10,7 @@
#include <i2c.h>
#include <ram.h>
#include <time.h>
+#include <asm/global_data.h>
#include <asm/sections.h>
#include <linux/io.h>
diff --git a/drivers/ram/rockchip/sdram_rk322x.c b/drivers/ram/rockchip/sdram_rk322x.c
index 66235bd420..9057ccacd9 100644
--- a/drivers/ram/rockchip/sdram_rk322x.c
+++ b/drivers/ram/rockchip/sdram_rk322x.c
@@ -11,6 +11,7 @@
#include <ram.h>
#include <regmap.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/cru_rk322x.h>
diff --git a/drivers/ram/sandbox_ram.c b/drivers/ram/sandbox_ram.c
index be4abed0c0..910dce623e 100644
--- a/drivers/ram/sandbox_ram.c
+++ b/drivers/ram/sandbox_ram.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <errno.h>
#include <ram.h>
+#include <asm/global_data.h>
#include <asm/test.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/ram/sifive/fu540_ddr.c b/drivers/ram/sifive/fu540_ddr.c
index 5a7484ce48..c0653bb897 100644
--- a/drivers/ram/sifive/fu540_ddr.c
+++ b/drivers/ram/sifive/fu540_ddr.c
@@ -12,6 +12,7 @@
#include <init.h>
#include <ram.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk.h>
#include <wait_bit.h>
diff --git a/drivers/ram/stm32mp1/stm32mp1_interactive.c b/drivers/ram/stm32mp1/stm32mp1_interactive.c
index e45a2489c5..8c2310ac90 100644
--- a/drivers/ram/stm32mp1/stm32mp1_interactive.c
+++ b/drivers/ram/stm32mp1/stm32mp1_interactive.c
@@ -14,6 +14,7 @@
#include <malloc.h>
#include <ram.h>
#include <reset.h>
+#include <asm/global_data.h>
#include "stm32mp1_ddr.h"
#include "stm32mp1_tests.h"
diff --git a/drivers/ram/stm32mp1/stm32mp1_tests.c b/drivers/ram/stm32mp1/stm32mp1_tests.c
index 1fcc7cfd69..64262f1aa9 100644
--- a/drivers/ram/stm32mp1/stm32mp1_tests.c
+++ b/drivers/ram/stm32mp1/stm32mp1_tests.c
@@ -11,6 +11,7 @@
#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"
diff --git a/drivers/remoteproc/rproc-uclass.c b/drivers/remoteproc/rproc-uclass.c
index c2d6a4e0c1..5919c8bb97 100644
--- a/drivers/remoteproc/rproc-uclass.c
+++ b/drivers/remoteproc/rproc-uclass.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <malloc.h>
#include <remoteproc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device-internal.h>
#include <dm.h>
diff --git a/drivers/remoteproc/ti_power_proc.c b/drivers/remoteproc/ti_power_proc.c
index 9dbbb44e95..86d544cc85 100644
--- a/drivers/remoteproc/ti_power_proc.c
+++ b/drivers/remoteproc/ti_power_proc.c
@@ -10,6 +10,7 @@
#include <fdtdec.h>
#include <log.h>
#include <remoteproc.h>
+#include <asm/global_data.h>
#include <mach/psc_defs.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/reset/sti-reset.c b/drivers/reset/sti-reset.c
index 8041490630..9287f28952 100644
--- a/drivers/reset/sti-reset.c
+++ b/drivers/reset/sti-reset.c
@@ -13,6 +13,7 @@
#include <reset-uclass.h>
#include <regmap.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <dt-bindings/reset/stih407-resets.h>
#include <linux/bitops.h>
diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c
index 7edec23e64..bd14f3e781 100644
--- a/drivers/serial/atmel_usart.c
+++ b/drivers/serial/atmel_usart.c
@@ -13,6 +13,7 @@
#include <watchdog.h>
#include <serial.h>
#include <debug_uart.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <linux/delay.h>
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 65c6db073e..b9e99babeb 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -14,6 +14,7 @@
#include <reset.h>
#include <serial.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <linux/err.h>
#include <linux/types.h>
#include <asm/io.h>
diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c
index 756738c2d2..5243c955fb 100644
--- a/drivers/serial/sandbox.c
+++ b/drivers/serial/sandbox.c
@@ -16,6 +16,7 @@
#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>
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index ead0193ad4..8a87eed683 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -12,6 +12,7 @@
#include <serial.h>
#include <stdio_dev.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dm/device-internal.h>
#include <dm/of_access.h>
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c
index 355659ba05..dea25a049c 100644
--- a/drivers/serial/serial.c
+++ b/drivers/serial/serial.c
@@ -10,6 +10,7 @@
#include <serial.h>
#include <stdio_dev.h>
#include <post.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <errno.h>
#include <linux/delay.h>
diff --git a/drivers/serial/serial_arc.c b/drivers/serial/serial_arc.c
index 445eacc8aa..8f3e4dd44f 100644
--- a/drivers/serial/serial_arc.c
+++ b/drivers/serial/serial_arc.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <dm.h>
#include <serial.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/serial/serial_linflexuart.c b/drivers/serial/serial_linflexuart.c
index c3714e1e1e..876a4baa9f 100644
--- a/drivers/serial/serial_linflexuart.c
+++ b/drivers/serial/serial_linflexuart.c
@@ -7,6 +7,7 @@
#include <dm.h>
#include <errno.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <serial.h>
#include <linux/compiler.h>
diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c
index a35e5be303..2b473d70f6 100644
--- a/drivers/serial/serial_lpuart.c
+++ b/drivers/serial/serial_lpuart.c
@@ -10,6 +10,7 @@
#include <fsl_lpuart.h>
#include <log.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <serial.h>
#include <dm/device_compat.h>
diff --git a/drivers/serial/serial_mcf.c b/drivers/serial/serial_mcf.c
index e6e21b2ce8..bb2afd0d8c 100644
--- a/drivers/serial/serial_mcf.c
+++ b/drivers/serial/serial_mcf.c
@@ -17,6 +17,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/platform_data/serial_coldfire.h>
#include <serial.h>
#include <linux/compiler.h>
diff --git a/drivers/serial/serial_mpc8xx.c b/drivers/serial/serial_mpc8xx.c
index 50d6e70f17..0978930dcd 100644
--- a/drivers/serial/serial_mpc8xx.c
+++ b/drivers/serial/serial_mpc8xx.c
@@ -10,6 +10,7 @@
#include <serial.h>
#include <watchdog.h>
#include <asm/cpm_8xx.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/serial/serial_msm.c b/drivers/serial/serial_msm.c
index 024c2c956e..d8c6c2f6b5 100644
--- a/drivers/serial/serial_msm.c
+++ b/drivers/serial/serial_msm.c
@@ -15,6 +15,7 @@
#include <malloc.h>
#include <serial.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/compiler.h>
#include <dm/pinctrl.h>
diff --git a/drivers/serial/serial_mtk.c b/drivers/serial/serial_mtk.c
index 665b2aa3b2..6d416021de 100644
--- a/drivers/serial/serial_mtk.c
+++ b/drivers/serial/serial_mtk.c
@@ -14,6 +14,7 @@
#include <log.h>
#include <serial.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/types.h>
#include <linux/err.h>
diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index e5795da99d..e4970a169b 100644
--- a/drivers/serial/serial_mxc.c
+++ b/drivers/serial/serial_mxc.c
@@ -9,6 +9,7 @@
#include <watchdog.h>
#include <asm/arch/imx-regs.h>
#include <asm/arch/clock.h>
+#include <asm/global_data.h>
#include <dm/platform_data/serial_mxc.h>
#include <serial.h>
#include <linux/compiler.h>
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index b5beca976d..97b6a4ff40 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -8,6 +8,7 @@
#include <clock_legacy.h>
#include <ns16550.h>
#include <serial.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#ifndef CONFIG_NS16550_MIN_FUNCTIONS
diff --git a/drivers/serial/serial_pic32.c b/drivers/serial/serial_pic32.c
index 5d1dbe7a91..ccdda9f033 100644
--- a/drivers/serial/serial_pic32.c
+++ b/drivers/serial/serial_pic32.c
@@ -9,6 +9,7 @@
#include <malloc.h>
#include <serial.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <mach/pic32.h>
#include <dt-bindings/clock/microchip,clock.h>
diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c
index b21e943d21..4f9de0da76 100644
--- a/drivers/serial/serial_pl01x.c
+++ b/drivers/serial/serial_pl01x.c
@@ -11,6 +11,7 @@
/* Simple U-Boot driver for the PrimeCell PL010/PL011 UARTs */
#include <common.h>
+#include <asm/global_data.h>
/* For get_bus_freq() */
#include <clock_legacy.h>
#include <dm.h>
diff --git a/drivers/serial/serial_pxa.c b/drivers/serial/serial_pxa.c
index 669841ede4..330fc127ec 100644
--- a/drivers/serial/serial_pxa.c
+++ b/drivers/serial/serial_pxa.c
@@ -23,6 +23,7 @@
#include <hang.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/regs-uart.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <dm/platform_data/serial_pxa.h>
diff --git a/drivers/serial/serial_s5p.c b/drivers/serial/serial_s5p.c
index 0eac0d53a5..6d09952a5d 100644
--- a/drivers/serial/serial_s5p.c
+++ b/drivers/serial/serial_s5p.c
@@ -11,6 +11,7 @@
#include <dm.h>
#include <errno.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <asm/io.h>
#include <asm/arch/clk.h>
diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c
index d74f890233..e6c23cedff 100644
--- a/drivers/serial/serial_sh.c
+++ b/drivers/serial/serial_sh.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <clk.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/processor.h>
#include <serial.h>
diff --git a/drivers/serial/serial_sifive.c b/drivers/serial/serial_sifive.c
index 97bf20c967..794f9c924b 100644
--- a/drivers/serial/serial_sifive.c
+++ b/drivers/serial/serial_sifive.c
@@ -11,6 +11,7 @@
#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>
diff --git a/drivers/serial/serial_sti_asc.c b/drivers/serial/serial_sti_asc.c
index 5d1a46c6bc..2cada4efbf 100644
--- a/drivers/serial/serial_sti_asc.c
+++ b/drivers/serial/serial_sti_asc.c
@@ -10,6 +10,7 @@
#include <dm.h>
#include <log.h>
#include <serial.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/serial/serial_xen.c b/drivers/serial/serial_xen.c
index dbb7b22b51..e1d5b229bd 100644
--- a/drivers/serial/serial_xen.c
+++ b/drivers/serial/serial_xen.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <serial.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <linux/bug.h>
diff --git a/drivers/smem/msm_smem.c b/drivers/smem/msm_smem.c
index 26462151b3..6395b61b0d 100644
--- a/drivers/smem/msm_smem.c
+++ b/drivers/smem/msm_smem.c
@@ -8,6 +8,7 @@
#include <common.h>
#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>
diff --git a/drivers/sound/ivybridge_sound.c b/drivers/sound/ivybridge_sound.c
index 492a86cafe..d982219e06 100644
--- a/drivers/sound/ivybridge_sound.c
+++ b/drivers/sound/ivybridge_sound.c
@@ -19,6 +19,7 @@
#include <pch.h>
#include <sound.h>
#include <linux/bitops.h>
+#include <asm/global_data.h>
static int bd82x6x_azalia_probe(struct udevice *dev)
{
diff --git a/drivers/spi/atcspi200_spi.c b/drivers/spi/atcspi200_spi.c
index 0f05158c84..634cd56561 100644
--- a/drivers/spi/atcspi200_spi.c
+++ b/drivers/spi/atcspi200_spi.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
diff --git a/drivers/spi/bcmstb_spi.c b/drivers/spi/bcmstb_spi.c
index dc4fdacdc9..503c47a271 100644
--- a/drivers/spi/bcmstb_spi.c
+++ b/drivers/spi/bcmstb_spi.c
@@ -5,6 +5,7 @@
* Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
*/
+#include <asm/global_data.h>
#include <asm/io.h>
#include <command.h>
#include <config.h>
diff --git a/drivers/spi/ca_sflash.c b/drivers/spi/ca_sflash.c
index 84569845b7..38bddd3861 100644
--- a/drivers/spi/ca_sflash.c
+++ b/drivers/spi/ca_sflash.c
@@ -21,6 +21,7 @@
#include <spi.h>
#include <spi-mem.h>
#include <reset.h>
+#include <asm/global_data.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/spi/cf_spi.c b/drivers/spi/cf_spi.c
index 298f350ef3..6511c0e0e5 100644
--- a/drivers/spi/cf_spi.c
+++ b/drivers/spi/cf_spi.c
@@ -16,6 +16,7 @@
#include <common.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/platform_data/spi_coldfire.h>
#include <spi.h>
#include <malloc.h>
diff --git a/drivers/spi/davinci_spi.c b/drivers/spi/davinci_spi.c
index 53a791ea29..15557a6230 100644
--- a/drivers/spi/davinci_spi.c
+++ b/drivers/spi/davinci_spi.c
@@ -12,6 +12,7 @@
#include <log.h>
#include <spi.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/hardware.h>
#include <dm.h>
diff --git a/drivers/spi/exynos_spi.c b/drivers/spi/exynos_spi.c
index 30b1a77a73..1bcc3ad318 100644
--- a/drivers/spi/exynos_spi.c
+++ b/drivers/spi/exynos_spi.c
@@ -18,6 +18,7 @@
#include <asm/arch/gpio.h>
#include <asm/arch/pinmux.h>
#include <asm/arch/spi.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
index c17a5522bc..8fe3508c64 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -9,6 +9,7 @@
* Haikun Wang (B53464@freescale.com)
*/
+#include <asm/global_data.h>
#include <linux/math64.h>
#include <common.h>
#include <dm.h>
diff --git a/drivers/spi/fsl_espi.c b/drivers/spi/fsl_espi.c
index abc28e37d2..387b547159 100644
--- a/drivers/spi/fsl_espi.c
+++ b/drivers/spi/fsl_espi.c
@@ -15,6 +15,7 @@
#include <malloc.h>
#include <spi.h>
+#include <asm/global_data.h>
#include <asm/immap_85xx.h>
#include <dm.h>
#include <errno.h>
diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c
index f965301d6a..3f97730bad 100644
--- a/drivers/spi/fsl_qspi.c
+++ b/drivers/spi/fsl_qspi.c
@@ -29,6 +29,7 @@
#include <log.h>
#include <spi.h>
#include <spi-mem.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
diff --git a/drivers/spi/mvebu_a3700_spi.c b/drivers/spi/mvebu_a3700_spi.c
index c40d7d17be..b1dce048ad 100644
--- a/drivers/spi/mvebu_a3700_spi.c
+++ b/drivers/spi/mvebu_a3700_spi.c
@@ -12,6 +12,7 @@
#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>
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index 553a0315df..bb68eb90e9 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -9,6 +9,7 @@
#include <log.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index 74931768c0..c69f8fee6e 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -20,6 +20,7 @@
#include <dm.h>
#include <spi.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
#include <omap3_spi.h>
diff --git a/drivers/spi/pic32_spi.c b/drivers/spi/pic32_spi.c
index 34d7d3e2ac..45f07f083d 100644
--- a/drivers/spi/pic32_spi.c
+++ b/drivers/spi/pic32_spi.c
@@ -10,6 +10,7 @@
#include <clk.h>
#include <dm.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/compat.h>
#include <malloc.h>
diff --git a/drivers/spi/pl022_spi.c b/drivers/spi/pl022_spi.c
index 133363ea7d..9856a5669c 100644
--- a/drivers/spi/pl022_spi.c
+++ b/drivers/spi/pl022_spi.c
@@ -14,6 +14,7 @@
#include <dm.h>
#include <dm/platform_data/spi_pl022.h>
#include <linux/io.h>
+#include <asm/global_data.h>
#include <spi.h>
#define SSP_CR0 0x000
diff --git a/drivers/spi/renesas_rpc_spi.c b/drivers/spi/renesas_rpc_spi.c
index 105765168e..26b6aa85c9 100644
--- a/drivers/spi/renesas_rpc_spi.c
+++ b/drivers/spi/renesas_rpc_spi.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk.h>
#include <dm.h>
diff --git a/drivers/spi/soft_spi.c b/drivers/spi/soft_spi.c
index 3425d9950a..f3602a25ba 100644
--- a/drivers/spi/soft_spi.c
+++ b/drivers/spi/soft_spi.c
@@ -16,6 +16,7 @@
#include <log.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c
index 1145380078..4ca5d3a93a 100644
--- a/drivers/spi/spi-sunxi.c
+++ b/drivers/spi/spi-sunxi.c
@@ -27,6 +27,7 @@
#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>
diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
index 3fe351f8a7..7155d4aebd 100644
--- a/drivers/spi/spi-uclass.c
+++ b/drivers/spi/spi-uclass.c
@@ -12,6 +12,7 @@
#include <malloc.h>
#include <spi.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>
diff --git a/drivers/spi/tegra20_sflash.c b/drivers/spi/tegra20_sflash.c
index 4384a48ec8..10e38cf839 100644
--- a/drivers/spi/tegra20_sflash.c
+++ b/drivers/spi/tegra20_sflash.c
@@ -10,6 +10,7 @@
#include <errno.h>
#include <log.h>
#include <time.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/gpio.h>
#include <asm/arch/clock.h>
diff --git a/drivers/spi/tegra20_slink.c b/drivers/spi/tegra20_slink.c
index 3057fe1a22..209ba8b0cc 100644
--- a/drivers/spi/tegra20_slink.c
+++ b/drivers/spi/tegra20_slink.c
@@ -9,6 +9,7 @@
#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>
diff --git a/drivers/spi/tegra210_qspi.c b/drivers/spi/tegra210_qspi.c
index b464b9ccb0..5c8c1859cc 100644
--- a/drivers/spi/tegra210_qspi.c
+++ b/drivers/spi/tegra210_qspi.c
@@ -10,6 +10,7 @@
#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>
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 76bc480f43..c542f40c7d 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -9,6 +9,7 @@
#include <cpu_func.h>
#include <log.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/omap.h>
#include <malloc.h>
diff --git a/drivers/spi/uniphier_spi.c b/drivers/spi/uniphier_spi.c
index e47ed5b221..fcc1bfe64b 100644
--- a/drivers/spi/uniphier_spi.c
+++ b/drivers/spi/uniphier_spi.c
@@ -9,6 +9,7 @@
#include <dm.h>
#include <log.h>
#include <time.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitfield.h>
#include <linux/bitops.h>
diff --git a/drivers/spi/zynq_qspi.c b/drivers/spi/zynq_qspi.c
index 845f2d2f5f..3d829bcb73 100644
--- a/drivers/spi/zynq_qspi.c
+++ b/drivers/spi/zynq_qspi.c
@@ -13,6 +13,7 @@
#include <log.h>
#include <malloc.h>
#include <spi.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c
index 2971e55f41..52b8fbc874 100644
--- a/drivers/spi/zynq_spi.c
+++ b/drivers/spi/zynq_spi.c
@@ -14,6 +14,7 @@
#include <spi.h>
#include <time.h>
#include <clk.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c
index efcbd0557f..f669974af1 100644
--- a/drivers/spi/zynqmp_gqspi.c
+++ b/drivers/spi/zynqmp_gqspi.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <asm/arch/sys_proto.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <clk.h>
#include <dm.h>
diff --git a/drivers/spmi/spmi-msm.c b/drivers/spmi/spmi-msm.c
index 7f21443f6a..5a335e50aa 100644
--- a/drivers/spmi/spmi-msm.c
+++ b/drivers/spmi/spmi-msm.c
@@ -11,6 +11,7 @@
#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>
diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c
index e69fb2255b..a9908ebf79 100644
--- a/drivers/sysreset/sysreset-uclass.c
+++ b/drivers/sysreset/sysreset-uclass.c
@@ -21,6 +21,7 @@
#include <dm/root.h>
#include <linux/delay.h>
#include <linux/err.h>
+#include <asm/global_data.h>
int sysreset_request(struct udevice *dev, enum sysreset_t type)
{
diff --git a/drivers/sysreset/sysreset_mpc83xx.c b/drivers/sysreset/sysreset_mpc83xx.c
index 4e89971840..81fccf9576 100644
--- a/drivers/sysreset/sysreset_mpc83xx.c
+++ b/drivers/sysreset/sysreset_mpc83xx.c
@@ -11,6 +11,7 @@
#include <sysreset.h>
#include <wait_bit.h>
#include <linux/delay.h>
+#include <asm/global_data.h>
#include "sysreset_mpc83xx.h"
diff --git a/drivers/sysreset/sysreset_sti.c b/drivers/sysreset/sysreset_sti.c
index 29e88dbcd1..f0f445f22e 100644
--- a/drivers/sysreset/sysreset_sti.c
+++ b/drivers/sysreset/sysreset_sti.c
@@ -9,6 +9,7 @@
#include <regmap.h>
#include <syscon.h>
#include <sysreset.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
diff --git a/drivers/thermal/imx_scu_thermal.c b/drivers/thermal/imx_scu_thermal.c
index b785be7bd0..e704bcbea8 100644
--- a/drivers/thermal/imx_scu_thermal.c
+++ b/drivers/thermal/imx_scu_thermal.c
@@ -9,6 +9,7 @@
#include <errno.h>
#include <log.h>
#include <thermal.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/device.h>
#include <asm/arch/sci/sci.h>
diff --git a/drivers/thermal/imx_tmu.c b/drivers/thermal/imx_tmu.c
index 1bd0340410..02cefecd0d 100644
--- a/drivers/thermal/imx_tmu.c
+++ b/drivers/thermal/imx_tmu.c
@@ -6,6 +6,7 @@
#include <config.h>
#include <common.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/sys_proto.h>
diff --git a/drivers/timer/arc_timer.c b/drivers/timer/arc_timer.c
index 904950457c..497f8a0415 100644
--- a/drivers/timer/arc_timer.c
+++ b/drivers/timer/arc_timer.c
@@ -8,6 +8,7 @@
#include <errno.h>
#include <timer.h>
#include <asm/arcregs.h>
+#include <asm/global_data.h>
#include <asm/io.h>
DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/timer/cadence-ttc.c b/drivers/timer/cadence-ttc.c
index 3cac2ec422..2f95d45ecd 100644
--- a/drivers/timer/cadence-ttc.c
+++ b/drivers/timer/cadence-ttc.c
@@ -9,6 +9,7 @@
#include <errno.h>
#include <init.h>
#include <timer.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
#include <linux/err.h>
diff --git a/drivers/timer/mpc83xx_timer.c b/drivers/timer/mpc83xx_timer.c
index 2f2b8be3dc..f4f6e90387 100644
--- a/drivers/timer/mpc83xx_timer.c
+++ b/drivers/timer/mpc83xx_timer.c
@@ -14,6 +14,7 @@
#include <time.h>
#include <timer.h>
#include <watchdog.h>
+#include <asm/global_data.h>
#include <asm/ptrace.h>
#include <linux/bitops.h>
diff --git a/drivers/timer/ostm_timer.c b/drivers/timer/ostm_timer.c
index 99bd36f9f2..24813de265 100644
--- a/drivers/timer/ostm_timer.c
+++ b/drivers/timer/ostm_timer.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <clk.h>
diff --git a/drivers/timer/rockchip_timer.c b/drivers/timer/rockchip_timer.c
index 8d3eceb8d8..18c61450af 100644
--- a/drivers/timer/rockchip_timer.c
+++ b/drivers/timer/rockchip_timer.c
@@ -8,6 +8,7 @@
#include <dm.h>
#include <init.h>
#include <log.h>
+#include <asm/global_data.h>
#include <dm/ofnode.h>
#include <mapmem.h>
#include <asm/arch-rockchip/timer.h>
diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c
index da1a72f025..6f00a5d0db 100644
--- a/drivers/timer/timer-uclass.c
+++ b/drivers/timer/timer-uclass.c
@@ -7,6 +7,7 @@
#include <clk.h>
#include <cpu.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dm/device_compat.h>
#include <dm/device-internal.h>
diff --git a/drivers/timer/tsc_timer.c b/drivers/timer/tsc_timer.c
index 7d0fc66cc7..7d19a99622 100644
--- a/drivers/timer/tsc_timer.c
+++ b/drivers/timer/tsc_timer.c
@@ -14,6 +14,7 @@
#include <time.h>
#include <timer.h>
#include <asm/cpu.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/i8254.h>
#include <asm/ibmpc.h>
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index 5e5c3c3e3d..2a47f40bba 100644
--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <linux/usb/otg.h>
#include <linux/usb/ch9.h>
#include <linux/usb/phy.h>
diff --git a/drivers/usb/host/dwc3-octeon-glue.c b/drivers/usb/host/dwc3-octeon-glue.c
index 742e156cbb..975f375e15 100644
--- a/drivers/usb/host/dwc3-octeon-glue.c
+++ b/drivers/usb/host/dwc3-octeon-glue.c
@@ -12,6 +12,7 @@
#include <dm.h>
#include <errno.h>
#include <usb.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm/device_compat.h>
#include <dm/lists.h>
diff --git a/drivers/usb/host/dwc3-sti-glue.c b/drivers/usb/host/dwc3-sti-glue.c
index 1234399f33..239b671ac3 100644
--- a/drivers/usb/host/dwc3-sti-glue.c
+++ b/drivers/usb/host/dwc3-sti-glue.c
@@ -8,6 +8,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <dm.h>
#include <errno.h>
diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c
index fda04c4933..c1cdd4b088 100644
--- a/drivers/usb/host/ehci-exynos.c
+++ b/drivers/usb/host/ehci-exynos.c
@@ -10,6 +10,7 @@
#include <dm.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
#include <malloc.h>
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 8e79bdd847..cf1f882441 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -12,6 +12,7 @@
#include <log.h>
#include <pci.h>
#include <usb.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <usb/ehci-ci.h>
diff --git a/drivers/usb/host/ehci-marvell.c b/drivers/usb/host/ehci-marvell.c
index 3ecbfd032f..5420bb9772 100644
--- a/drivers/usb/host/ehci-marvell.c
+++ b/drivers/usb/host/ehci-marvell.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <usb.h>
#include <linux/delay.h>
diff --git a/drivers/usb/host/ehci-mx5.c b/drivers/usb/host/ehci-mx5.c
index 0af02ba273..ab863f41b2 100644
--- a/drivers/usb/host/ehci-mx5.c
+++ b/drivers/usb/host/ehci-mx5.c
@@ -11,6 +11,7 @@
#include <linux/compiler.h>
#include <linux/delay.h>
#include <usb/ehci-ci.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/imx-regs.h>
#include <asm/arch/clock.h>
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
index ef3a63afa4..aeea539999 100644
--- a/drivers/usb/host/ehci-mx6.c
+++ b/drivers/usb/host/ehci-mx6.c
@@ -9,6 +9,7 @@
#include <usb.h>
#include <errno.h>
#include <wait_bit.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <linux/delay.h>
#include <usb/ehci-ci.h>
diff --git a/drivers/usb/host/ehci-vf.c b/drivers/usb/host/ehci-vf.c
index 25f76c9fa9..648e136447 100644
--- a/drivers/usb/host/ehci-vf.c
+++ b/drivers/usb/host/ehci-vf.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <usb.h>
#include <errno.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <asm/io.h>
#include <asm-generic/gpio.h>
diff --git a/drivers/usb/host/xhci-exynos5.c b/drivers/usb/host/xhci-exynos5.c
index 9893a8ccce..270be934e7 100644
--- a/drivers/usb/host/xhci-exynos5.c
+++ b/drivers/usb/host/xhci-exynos5.c
@@ -16,6 +16,7 @@
#include <dm.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
#include <malloc.h>
diff --git a/drivers/usb/musb-new/da8xx.c b/drivers/usb/musb-new/da8xx.c
index f42803533d..68fc0c3614 100644
--- a/drivers/usb/musb-new/da8xx.c
+++ b/drivers/usb/musb-new/da8xx.c
@@ -23,6 +23,7 @@
#include <asm/arch/da8xx-usb.h>
#include <linux/delay.h>
#include <linux/usb/otg.h>
+#include <asm/global_data.h>
#include <asm/omap_musb.h>
#include <generic-phy.h>
#include "linux-compat.h"
diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c
index 3fdcaeaa5d..7d15b94a6c 100644
--- a/drivers/usb/musb-new/omap2430.c
+++ b/drivers/usb/musb-new/omap2430.c
@@ -17,6 +17,7 @@
#include <dm/lists.h>
#include <linux/err.h>
#include <linux/usb/otg.h>
+#include <asm/global_data.h>
#include <asm/omap_common.h>
#include <asm/omap_musb.h>
#include <twl4030.h>
diff --git a/drivers/usb/musb-new/pic32.c b/drivers/usb/musb-new/pic32.c
index b833f10f4b..4ed5e6e90c 100644
--- a/drivers/usb/musb-new/pic32.c
+++ b/drivers/usb/musb-new/pic32.c
@@ -11,6 +11,7 @@
#include <common.h>
#include <dm.h>
+#include <asm/global_data.h>
#include <dm/device_compat.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/usb/musb-new/ti-musb.c b/drivers/usb/musb-new/ti-musb.c
index 75cf1811f7..91042935b0 100644
--- a/drivers/usb/musb-new/ti-musb.c
+++ b/drivers/usb/musb-new/ti-musb.c
@@ -11,6 +11,7 @@
#include <dm.h>
#include <log.h>
#include <malloc.h>
+#include <asm/global_data.h>
#include <linux/usb/otg.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/usb/phy/rockchip_usb2_phy.c b/drivers/usb/phy/rockchip_usb2_phy.c
index f1cf9160d5..93caa821a1 100644
--- a/drivers/usb/phy/rockchip_usb2_phy.c
+++ b/drivers/usb/phy/rockchip_usb2_phy.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <hang.h>
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitops.h>
#include <linux/delay.h>
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index 0485ae2436..c7b59b71e1 100644
--- a/drivers/video/atmel_hlcdfb.c
+++ b/drivers/video/atmel_hlcdfb.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <malloc.h>
#include <part.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/gpio.h>
#include <asm/arch/clk.h>
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index f87c0224a1..c38cac174a 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -12,6 +12,7 @@
#include <log.h>
#include <part.h>
#include <video.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/gpio.h>
#include <asm/arch/clk.h>
diff --git a/drivers/video/bridge/ps862x.c b/drivers/video/bridge/ps862x.c
index 76115b7bc5..c8e105857f 100644
--- a/drivers/video/bridge/ps862x.c
+++ b/drivers/video/bridge/ps862x.c
@@ -10,6 +10,7 @@
#include <i2c.h>
#include <log.h>
#include <video_bridge.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <power/regulator.h>
diff --git a/drivers/video/broadwell_igd.c b/drivers/video/broadwell_igd.c
index cba105c19a..2551f162e8 100644
--- a/drivers/video/broadwell_igd.c
+++ b/drivers/video/broadwell_igd.c
@@ -14,6 +14,7 @@
#include <vbe.h>
#include <video.h>
#include <asm/cpu.h>
+#include <asm/global_data.h>
#include <asm/intel_regs.h>
#include <asm/io.h>
#include <asm/mtrr.h>
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 3f07f4eb29..27ff7163f3 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -74,6 +74,7 @@
#include <version.h>
#include <malloc.h>
#include <video.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#if defined(CONFIG_VIDEO_MXS)
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 4984dda847..462c318126 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -17,6 +17,7 @@
#include <malloc.h>
#include <memalign.h>
#include <video_fb.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/list.h>
#include <linux/fb.h>
diff --git a/drivers/video/exynos/exynos_dp.c b/drivers/video/exynos/exynos_dp.c
index 63b5b8e61a..a532d5ae1a 100644
--- a/drivers/video/exynos/exynos_dp.c
+++ b/drivers/video/exynos/exynos_dp.c
@@ -11,6 +11,7 @@
#include <display.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
#include <malloc.h>
diff --git a/drivers/video/exynos/exynos_fb.c b/drivers/video/exynos/exynos_fb.c
index 7b4459ced8..69992b3c2b 100644
--- a/drivers/video/exynos/exynos_fb.c
+++ b/drivers/video/exynos/exynos_fb.c
@@ -13,6 +13,7 @@
#include <dm.h>
#include <fdtdec.h>
#include <log.h>
+#include <asm/global_data.h>
#include <linux/libfdt.h>
#include <panel.h>
#include <video.h>
diff --git a/drivers/video/exynos/exynos_mipi_dsi.c b/drivers/video/exynos/exynos_mipi_dsi.c
index 042aa9a5b9..c56eadc823 100644
--- a/drivers/video/exynos/exynos_mipi_dsi.c
+++ b/drivers/video/exynos/exynos_mipi_dsi.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <malloc.h>
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <dm/devres.h>
#include <linux/libfdt.h>
#include <linux/compat.h>
diff --git a/drivers/video/fsl_dcu_fb.c b/drivers/video/fsl_dcu_fb.c
index 4ea0f12487..dc5b24c98b 100644
--- a/drivers/video/fsl_dcu_fb.c
+++ b/drivers/video/fsl_dcu_fb.c
@@ -8,6 +8,7 @@
#include <init.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <common.h>
#include <dm.h>
diff --git a/drivers/video/ivybridge_igd.c b/drivers/video/ivybridge_igd.c
index e7db0cbcef..1aa5317dd5 100644
--- a/drivers/video/ivybridge_igd.c
+++ b/drivers/video/ivybridge_igd.c
@@ -12,6 +12,7 @@
#include <pci_rom.h>
#include <vbe.h>
#include <video.h>
+#include <asm/global_data.h>
#include <asm/intel_regs.h>
#include <asm/io.h>
#include <asm/mtrr.h>
diff --git a/drivers/video/mali_dp.c b/drivers/video/mali_dp.c
index dc4f542256..ba1ddd64e0 100644
--- a/drivers/video/mali_dp.c
+++ b/drivers/video/mali_dp.c
@@ -13,6 +13,7 @@
#include <display.h>
#endif
#include <fdtdec.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <os.h>
#include <fdt_support.h>
diff --git a/drivers/video/meson/meson_vpu.c b/drivers/video/meson/meson_vpu.c
index 558f9ba766..67d4ce7b3b 100644
--- a/drivers/video/meson/meson_vpu.c
+++ b/drivers/video/meson/meson_vpu.c
@@ -15,6 +15,7 @@
#include <part.h>
#include <linux/sizes.h>
#include <asm/arch/mem.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/uclass-internal.h>
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
index b43732a77a..e1fd36a62d 100644
--- a/drivers/video/mxsfb.c
+++ b/drivers/video/mxsfb.c
@@ -20,6 +20,7 @@
#include <asm/arch/clock.h>
#include <asm/arch/imx-regs.h>
#include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
#include <asm/mach-imx/dma.h>
#include <asm/io.h>
diff --git a/drivers/video/rockchip/rk3288_vop.c b/drivers/video/rockchip/rk3288_vop.c
index 3f6ee74487..44f32bb5fa 100644
--- a/drivers/video/rockchip/rk3288_vop.c
+++ b/drivers/video/rockchip/rk3288_vop.c
@@ -11,6 +11,7 @@
#include <regmap.h>
#include <syscon.h>
#include <video.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/grf_rk3288.h>
diff --git a/drivers/video/rockchip/rk3399_vop.c b/drivers/video/rockchip/rk3399_vop.c
index 30e81b88b6..a34b491058 100644
--- a/drivers/video/rockchip/rk3399_vop.c
+++ b/drivers/video/rockchip/rk3399_vop.c
@@ -12,6 +12,7 @@
#include <regmap.h>
#include <video.h>
#include <asm/arch-rockchip/hardware.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include "rk_vop.h"
diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c
index 03c8257a35..9cf3e3ca76 100644
--- a/drivers/video/rockchip/rk_lvds.c
+++ b/drivers/video/rockchip/rk_lvds.c
@@ -11,6 +11,7 @@
#include <panel.h>
#include <regmap.h>
#include <syscon.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c
index 159201a591..8813220671 100644
--- a/drivers/video/rockchip/rk_mipi.c
+++ b/drivers/video/rockchip/rk_mipi.c
@@ -11,6 +11,7 @@
#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>
diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c
index fcb393b906..145c333020 100644
--- a/drivers/video/rockchip/rk_vop.c
+++ b/drivers/video/rockchip/rk_vop.c
@@ -13,6 +13,7 @@
#include <regmap.h>
#include <syscon.h>
#include <video.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c
index 12edf9c90c..5956b59ce4 100644
--- a/drivers/video/sandbox_sdl.c
+++ b/drivers/video/sandbox_sdl.c
@@ -8,6 +8,7 @@
#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>
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c
index b5fb6f62bb..fd58426cf5 100644
--- a/drivers/video/simplefb.c
+++ b/drivers/video/simplefb.c
@@ -9,6 +9,7 @@
#include <fdt_support.h>
#include <log.h>
#include <video.h>
+#include <asm/global_data.h>
static int simple_video_probe(struct udevice *dev)
{
diff --git a/drivers/video/sunxi/sunxi_lcd.c b/drivers/video/sunxi/sunxi_lcd.c
index 635edf6dd3..7a9eba1ed4 100644
--- a/drivers/video/sunxi/sunxi_lcd.c
+++ b/drivers/video/sunxi/sunxi_lcd.c
@@ -16,6 +16,7 @@
#include <asm/arch/clock.h>
#include <asm/arch/lcdc.h>
#include <asm/arch/gpio.h>
+#include <asm/global_data.h>
#include <asm/gpio.h>
struct sunxi_lcd_priv {
diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
index 08b006b469..d60132eb77 100644
--- a/drivers/video/tegra.c
+++ b/drivers/video/tegra.c
@@ -12,6 +12,7 @@
#include <pwm.h>
#include <video.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/system.h>
#include <asm/gpio.h>
#include <asm/io.h>
diff --git a/drivers/video/ti/am335x-fb.c b/drivers/video/ti/am335x-fb.c
index 5fa6f794ec..8b41dac66d 100644
--- a/drivers/video/ti/am335x-fb.c
+++ b/drivers/video/ti/am335x-fb.c
@@ -18,6 +18,7 @@
#include <asm/arch/hardware.h>
#include <asm/arch/omap.h>
#include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/err.h>
diff --git a/drivers/video/ti/tilcdc.c b/drivers/video/ti/tilcdc.c
index 814126af66..90c1edd87e 100644
--- a/drivers/video/ti/tilcdc.c
+++ b/drivers/video/ti/tilcdc.c
@@ -11,6 +11,7 @@
#include <log.h>
#include <panel.h>
#include <video.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/utils.h>
#include "tilcdc.h"
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 91d078a9d5..96ec6f80af 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -14,6 +14,7 @@
#include <video.h>
#include <video_console.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <dm/lists.h>
#include <dm/device_compat.h>
#include <dm/device-internal.h>
diff --git a/drivers/video/videomodes.c b/drivers/video/videomodes.c
index 89003eea72..ed7373eac8 100644
--- a/drivers/video/videomodes.c
+++ b/drivers/video/videomodes.c
@@ -60,6 +60,7 @@
#include <edid.h>
#include <env.h>
#include <errno.h>
+#include <fdtdec.h>
#include <linux/ctype.h>
#include "videomodes.h"
diff --git a/drivers/watchdog/armada-37xx-wdt.c b/drivers/watchdog/armada-37xx-wdt.c
index dd97a17a70..6b5e1ab6fc 100644
--- a/drivers/watchdog/armada-37xx-wdt.c
+++ b/drivers/watchdog/armada-37xx-wdt.c
@@ -8,6 +8,7 @@
#include <common.h>
#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>
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index 9e0d89be62..647ae325e9 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -15,6 +15,7 @@
*/
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/arch/at91_wdt.h>
#include <common.h>
diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
index 8b5ed28ebd..f7d201b921 100644
--- a/drivers/watchdog/mt7621_wdt.c
+++ b/drivers/watchdog/mt7621_wdt.c
@@ -12,6 +12,7 @@
#include <common.h>
#include <dm.h>
#include <wdt.h>
+#include <asm/global_data.h>
#include <linux/bitops.h>
#include <linux/io.h>
diff --git a/drivers/watchdog/octeontx_wdt.c b/drivers/watchdog/octeontx_wdt.c
index 5f586ef683..01b244db80 100644
--- a/drivers/watchdog/octeontx_wdt.c
+++ b/drivers/watchdog/octeontx_wdt.c
@@ -9,6 +9,7 @@
#include <dm.h>
#include <errno.h>
#include <wdt.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <linux/bitfield.h>
diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
index 167af904dc..cebea426fb 100644
--- a/drivers/watchdog/orion_wdt.c
+++ b/drivers/watchdog/orion_wdt.c
@@ -17,6 +17,7 @@
#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>
diff --git a/drivers/watchdog/sbsa_gwdt.c b/drivers/watchdog/sbsa_gwdt.c
index b7cb199c92..f43cd3fd2f 100644
--- a/drivers/watchdog/sbsa_gwdt.c
+++ b/drivers/watchdog/sbsa_gwdt.c
@@ -5,6 +5,7 @@
* Copyright 2020 NXP
*/
+#include <asm/global_data.h>
#include <asm/io.h>
#include <common.h>
#include <dm/device.h>
diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
index 291aad7570..bec8827ceb 100644
--- a/drivers/watchdog/sp805_wdt.c
+++ b/drivers/watchdog/sp805_wdt.c
@@ -6,6 +6,7 @@
*/
#include <log.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <common.h>
#include <clk.h>
diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
index e632f077f3..28f7918c46 100644
--- a/drivers/watchdog/wdt-uclass.c
+++ b/drivers/watchdog/wdt-uclass.c
@@ -10,6 +10,7 @@
#include <log.h>
#include <time.h>
#include <wdt.h>
+#include <asm/global_data.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
diff --git a/drivers/xen/gnttab.c b/drivers/xen/gnttab.c
index 9bf1091ab3..778729d646 100644
--- a/drivers/xen/gnttab.c
+++ b/drivers/xen/gnttab.c
@@ -15,6 +15,7 @@
* [1] - http://xenbits.xen.org/gitweb/?p=mini-os.git;a=summary
*/
#include <common.h>
+#include <asm/global_data.h>
#include <linux/compiler.h>
#include <log.h>
#include <malloc.h>
diff --git a/drivers/xen/pvblock.c b/drivers/xen/pvblock.c
index 6455dfd5c9..1c5d039ef0 100644
--- a/drivers/xen/pvblock.c
+++ b/drivers/xen/pvblock.c
@@ -11,6 +11,7 @@
#include <part.h>
#include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/xen/system.h>