All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] common: Drop remaining includes in common.h (part A)
@ 2020-10-31  3:38 Simon Glass
  2020-10-31  3:38 ` [PATCH 1/4] common: Drop asm/global_data.h from common header Simon Glass
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Simon Glass @ 2020-10-31  3:38 UTC (permalink / raw)
  To: u-boot

This series continues the removal of include files in the common.h header.


Simon Glass (4):
  common: Drop asm/global_data.h from common header
  common: Drop display_options.h from common header
  common: Drop linux/printk.h from common header
  Fix code style for time functions

 arch/arc/lib/bootm.c                          |   1 +
 arch/arc/lib/cache.c                          |   1 +
 arch/arc/lib/cpu.c                            |   1 +
 arch/arc/lib/relocate.c                       |   1 +
 arch/arm/cpu/arm1136/mx35/generic.c           |   1 +
 arch/arm/cpu/arm920t/imx/timer.c              |   2 +-
 arch/arm/cpu/arm926ejs/armada100/dram.c       |   1 +
 arch/arm/cpu/arm926ejs/armada100/timer.c      |   1 +
 arch/arm/cpu/arm926ejs/mx25/generic.c         |   1 +
 arch/arm/cpu/arm926ejs/mx27/timer.c           |   1 +
 arch/arm/cpu/arm926ejs/mxs/mxs.c              |   1 +
 arch/arm/cpu/arm926ejs/mxs/spl_boot.c         |   1 +
 arch/arm/cpu/arm926ejs/mxs/timer.c            |   1 +
 arch/arm/cpu/arm926ejs/spear/spr_misc.c       |   1 +
 arch/arm/cpu/arm926ejs/spear/timer.c          |   1 +
 arch/arm/cpu/armv7/arch_timer.c               |   1 +
 arch/arm/cpu/armv7/ls102xa/clock.c            |   1 +
 arch/arm/cpu/armv7/ls102xa/cpu.c              |   1 +
 arch/arm/cpu/armv7/ls102xa/fdt.c              |   1 +
 arch/arm/cpu/armv7/ls102xa/timer.c            |   1 +
 arch/arm/cpu/armv7/s5p-common/cpu_info.c      |   2 +
 arch/arm/cpu/armv7/s5p-common/timer.c         |   1 +
 arch/arm/cpu/armv7/s5p4418/cpu.c              |   1 +
 arch/arm/cpu/armv7/stv0991/timer.c            |   1 +
 arch/arm/cpu/armv7/sunxi/timer.c              |   1 +
 arch/arm/cpu/armv7/vf610/generic.c            |   1 +
 arch/arm/cpu/armv7/vf610/timer.c              |   1 +
 arch/arm/cpu/armv7m/systick-timer.c           |   1 +
 arch/arm/cpu/armv8/cache_v8.c                 |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/cpu.c       |   1 +
 .../armv8/fsl-layerscape/fsl_lsch2_speed.c    |   1 +
 .../armv8/fsl-layerscape/fsl_lsch3_speed.c    |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/mp.c        |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/ppa.c       |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/spl.c       |   1 +
 arch/arm/cpu/armv8/generic_timer.c            |   1 +
 arch/arm/cpu/armv8/s32v234/generic.c          |   1 +
 arch/arm/cpu/armv8/sec_firmware.c             |   1 +
 arch/arm/cpu/sa1100/timer.c                   |   2 +-
 arch/arm/include/asm/arch-rockchip/clock.h    |   2 +
 arch/arm/include/asm/arch-tegra/clock.h       |   2 +
 arch/arm/include/asm/arch-tegra/tegra_i2c.h   |   2 +
 arch/arm/include/asm/global_data.h            |   3 +
 arch/arm/include/asm/mach-imx/video.h         |   4 +-
 arch/arm/include/asm/secure.h                 |   1 +
 arch/arm/include/asm/spl.h                    |   1 +
 arch/arm/include/asm/string.h                 |   2 -
 arch/arm/include/asm/ti-common/sys_proto.h    |   2 +
 arch/arm/lib/bdinfo.c                         |   1 +
 arch/arm/lib/bootm-fdt.c                      |   1 +
 arch/arm/lib/bootm.c                          |   1 +
 arch/arm/lib/cache-cp15.c                     |   1 +
 arch/arm/lib/cache.c                          |   1 +
 arch/arm/lib/gic-v3-its.c                     |   1 +
 arch/arm/lib/image.c                          |   1 +
 arch/arm/lib/interrupts.c                     |   1 +
 arch/arm/lib/interrupts_64.c                  |   1 +
 arch/arm/lib/spl.c                            |   1 +
 arch/arm/lib/stack.c                          |   1 +
 arch/arm/mach-aspeed/ast2500/board_common.c   |   1 +
 arch/arm/mach-at91/arm920t/clock.c            |   1 +
 arch/arm/mach-at91/arm920t/timer.c            |   1 +
 arch/arm/mach-at91/arm926ejs/clock.c          |   1 +
 arch/arm/mach-at91/arm926ejs/eflash.c         |   1 +
 arch/arm/mach-at91/arm926ejs/timer.c          |   1 +
 arch/arm/mach-at91/armv7/clock.c              |   1 +
 arch/arm/mach-at91/armv7/timer.c              |   1 +
 arch/arm/mach-at91/spl_at91.c                 |   1 +
 arch/arm/mach-bcm283x/init.c                  |   1 +
 arch/arm/mach-davinci/cpu.c                   |   1 +
 arch/arm/mach-davinci/misc.c                  |   1 +
 arch/arm/mach-davinci/timer.c                 |   1 +
 arch/arm/mach-exynos/spl_boot.c               |   1 +
 arch/arm/mach-imx/hab.c                       |   1 +
 arch/arm/mach-imx/imx8/ahab.c                 |   1 +
 arch/arm/mach-imx/imx8/clock.c                |   1 +
 arch/arm/mach-imx/imx8/cpu.c                  |   1 +
 arch/arm/mach-imx/imx8/fdt.c                  |   2 +
 arch/arm/mach-imx/imx8/iomux.c                |   1 +
 arch/arm/mach-imx/imx8/snvs_security_sc.c     |   1 +
 arch/arm/mach-imx/imx8m/clock_imx8mm.c        |   1 +
 arch/arm/mach-imx/imx8m/soc.c                 |   1 +
 arch/arm/mach-imx/misc.c                      |   1 +
 arch/arm/mach-imx/mx5/mx53_dram.c             |   1 +
 arch/arm/mach-imx/mx6/litesom.c               |   1 +
 arch/arm/mach-imx/mx6/opos6ul.c               |   1 +
 arch/arm/mach-imx/mx7/clock.c                 |   1 +
 arch/arm/mach-imx/mx7ulp/clock.c              |   1 +
 arch/arm/mach-imx/speed.c                     |   1 +
 arch/arm/mach-imx/spl.c                       |   1 +
 arch/arm/mach-imx/spl_imx_romapi.c            |   1 +
 arch/arm/mach-imx/syscounter.c                |   1 +
 arch/arm/mach-k3/am6_init.c                   |   1 +
 arch/arm/mach-k3/common.c                     |   2 +
 arch/arm/mach-k3/sysfw-loader.c               |   1 +
 arch/arm/mach-mediatek/mt7623/init.c          |   1 +
 arch/arm/mach-mediatek/mt7629/init.c          |   1 +
 arch/arm/mach-mediatek/mt8512/init.c          |   1 +
 arch/arm/mach-mediatek/mt8516/init.c          |   1 +
 arch/arm/mach-mediatek/mt8518/init.c          |   1 +
 arch/arm/mach-meson/board-axg.c               |   1 +
 arch/arm/mach-meson/board-common.c            |   1 +
 arch/arm/mach-meson/board-g12a.c              |   1 +
 arch/arm/mach-meson/board-gx.c                |   2 +
 arch/arm/mach-meson/board-info.c              |   1 +
 arch/arm/mach-meson/sm.c                      |   1 +
 arch/arm/mach-mvebu/arm64-common.c            |   1 +
 arch/arm/mach-mvebu/armada3700/cpu.c          |   1 +
 arch/arm/mach-mvebu/armada8k/dram.c           |   1 +
 arch/arm/mach-mvebu/dram.c                    |   1 +
 arch/arm/mach-mvebu/spl.c                     |   1 +
 arch/arm/mach-nexell/cmd_boot_linux.c         |   1 +
 arch/arm/mach-octeontx/cpu.c                  |   1 +
 arch/arm/mach-octeontx2/cpu.c                 |   1 +
 arch/arm/mach-omap2/am33xx/board.c            |   2 +
 arch/arm/mach-omap2/boot-common.c             |   1 +
 arch/arm/mach-omap2/hwinit-common.c           |   1 +
 arch/arm/mach-omap2/omap-cache.c              |   1 +
 arch/arm/mach-omap2/omap3/am35x_musb.c        |   1 +
 arch/arm/mach-omap2/omap3/emif4.c             |   1 +
 arch/arm/mach-omap2/omap3/sdrc.c              |   1 +
 arch/arm/mach-omap2/timer.c                   |   1 +
 arch/arm/mach-omap2/utils.c                   |   1 +
 arch/arm/mach-orion5x/dram.c                  |   1 +
 arch/arm/mach-orion5x/timer.c                 |   1 +
 arch/arm/mach-owl/soc.c                       |   1 +
 arch/arm/mach-rmobile/memmap-gen3.c           |   1 +
 arch/arm/mach-rockchip/board.c                |   1 +
 arch/arm/mach-rockchip/boot_mode.c            |   1 +
 arch/arm/mach-rockchip/rk3036-board-spl.c     |   1 +
 arch/arm/mach-rockchip/rk3036/rk3036.c        |   1 +
 arch/arm/mach-rockchip/rk3128/rk3128.c        |   1 +
 arch/arm/mach-rockchip/rk3188/rk3188.c        |   2 +
 arch/arm/mach-rockchip/rk3288/rk3288.c        |   1 +
 arch/arm/mach-rockchip/rk3308/rk3308.c        |   1 +
 arch/arm/mach-rockchip/rk3328/rk3328.c        |   1 +
 arch/arm/mach-rockchip/rk3368/rk3368.c        |   1 +
 arch/arm/mach-rockchip/rk3399/rk3399.c        |   2 +
 arch/arm/mach-rockchip/sdram.c                |   1 +
 arch/arm/mach-rockchip/spl-boot-order.c       |   1 +
 arch/arm/mach-rockchip/spl.c                  |   1 +
 arch/arm/mach-snapdragon/pinctrl-snapdragon.h |   2 +-
 arch/arm/mach-socfpga/board.c                 |   1 +
 arch/arm/mach-socfpga/clock_manager.c         |   1 +
 arch/arm/mach-socfpga/clock_manager_agilex.c  |   1 +
 arch/arm/mach-socfpga/clock_manager_s10.c     |   1 +
 arch/arm/mach-socfpga/mailbox_s10.c           |   1 +
 arch/arm/mach-socfpga/misc.c                  |   2 +
 arch/arm/mach-socfpga/misc_gen5.c             |   1 +
 arch/arm/mach-socfpga/misc_s10.c              |   1 +
 arch/arm/mach-socfpga/mmu-arm64_s10.c         |   1 +
 arch/arm/mach-socfpga/reset_manager_arria10.c |   1 +
 arch/arm/mach-socfpga/reset_manager_s10.c     |   1 +
 arch/arm/mach-socfpga/spl_a10.c               |   1 +
 arch/arm/mach-socfpga/spl_agilex.c            |   1 +
 arch/arm/mach-socfpga/spl_gen5.c              |   1 +
 arch/arm/mach-socfpga/spl_s10.c               |   1 +
 arch/arm/mach-socfpga/system_manager_s10.c    |   1 +
 arch/arm/mach-stm32mp/boot_params.c           |   1 +
 arch/arm/mach-stm32mp/bsec.c                  |   1 +
 arch/arm/mach-stm32mp/cmd_stm32key.c          |   1 +
 .../cmd_stm32prog/cmd_stm32prog.c             |   1 +
 .../mach-stm32mp/cmd_stm32prog/stm32prog.c    |   2 +
 .../mach-stm32mp/cmd_stm32prog/stm32prog.h    |   2 +
 .../cmd_stm32prog/stm32prog_serial.c          |   2 +
 .../cmd_stm32prog/stm32prog_usb.c             |   1 +
 arch/arm/mach-stm32mp/cpu.c                   |   2 +
 arch/arm/mach-stm32mp/dram_init.c             |   1 +
 arch/arm/mach-stm32mp/fdt.c                   |   1 +
 .../mach-stm32mp/include/mach/stm32mp1_smc.h  |   1 +
 arch/arm/mach-stm32mp/spl.c                   |   1 +
 arch/arm/mach-tegra/board.c                   |   1 +
 arch/arm/mach-tegra/board2.c                  |   1 +
 arch/arm/mach-tegra/cboot.c                   |   2 +
 arch/arm/mach-tegra/emc.c                     |   1 +
 arch/arm/mach-tegra/ivc.c                     |   1 +
 arch/arm/mach-tegra/pmc.c                     |   1 +
 arch/arm/mach-tegra/tegra124/xusb-padctl.c    |   2 +
 arch/arm/mach-tegra/tegra20/clock.c           |   1 +
 arch/arm/mach-tegra/tegra20/warmboot.c        |   1 +
 arch/arm/mach-tegra/tegra210/xusb-padctl.c    |   2 +
 arch/arm/mach-tegra/tegra30/clock.c           |   1 +
 arch/arm/mach-tegra/xusb-padctl-common.c      |   1 +
 arch/arm/mach-uniphier/board_late_init.c      |   1 +
 .../mach-uniphier/boot-device/boot-device.c   |   1 +
 arch/arm/mach-uniphier/clk/dpll-ld4.c         |   1 +
 arch/arm/mach-uniphier/clk/dpll-pro4.c        |   1 +
 arch/arm/mach-uniphier/dram/umc-ld4.c         |   1 +
 arch/arm/mach-uniphier/dram/umc-pro4.c        |   1 +
 arch/arm/mach-uniphier/dram/umc-sld8.c        |   1 +
 arch/arm/mach-uniphier/memconf.c              |   1 +
 arch/arm/mach-uniphier/spl_board_init.c       |   1 +
 arch/arm/mach-versal/clk.c                    |   1 +
 arch/arm/mach-versal/cpu.c                    |   1 +
 arch/arm/mach-versal/mp.c                     |   1 +
 arch/arm/mach-zynq/clk.c                      |   1 +
 arch/arm/mach-zynq/timer.c                    |   1 +
 arch/arm/mach-zynqmp-r5/cpu.c                 |   1 +
 arch/arm/mach-zynqmp/clk.c                    |   1 +
 arch/arm/mach-zynqmp/cpu.c                    |   1 +
 arch/m68k/cpu/mcf5227x/cpu.c                  |   1 +
 arch/m68k/cpu/mcf5227x/speed.c                |   1 +
 arch/m68k/cpu/mcf523x/cpu.c                   |   1 +
 arch/m68k/cpu/mcf523x/speed.c                 |   1 +
 arch/m68k/cpu/mcf52x2/cpu.c                   |   1 +
 arch/m68k/cpu/mcf52x2/speed.c                 |   1 +
 arch/m68k/cpu/mcf530x/speed.c                 |   1 +
 arch/m68k/cpu/mcf532x/cpu.c                   |   1 +
 arch/m68k/cpu/mcf532x/speed.c                 |   1 +
 arch/m68k/cpu/mcf5445x/cpu.c                  |   1 +
 arch/m68k/cpu/mcf5445x/speed.c                |   1 +
 arch/m68k/cpu/mcf547x_8x/cpu.c                |   1 +
 arch/m68k/cpu/mcf547x_8x/slicetimer.c         |   1 +
 arch/m68k/cpu/mcf547x_8x/speed.c              |   1 +
 arch/m68k/include/asm/immap.h                 |   1 +
 arch/m68k/lib/bdinfo.c                        |   1 +
 arch/m68k/lib/bootm.c                         |   1 +
 arch/m68k/lib/fec.c                           |   1 +
 arch/m68k/lib/time.c                          |   1 +
 arch/microblaze/cpu/interrupts.c              |   1 +
 arch/microblaze/cpu/timer.c                   |   3 +-
 arch/microblaze/lib/bootm.c                   |   1 +
 arch/mips/include/asm/io.h                    |   1 +
 arch/mips/include/asm/spl.h                   |   1 +
 arch/mips/lib/boot.c                          |   1 +
 arch/mips/lib/bootm.c                         |   1 +
 arch/mips/lib/cache.c                         |   1 +
 arch/mips/lib/reloc.c                         |   1 +
 arch/mips/lib/stack.c                         |   1 +
 arch/mips/lib/traps.c                         |   1 +
 arch/mips/mach-ath79/ar933x/clk.c             |   1 +
 arch/mips/mach-ath79/ar934x/clk.c             |   1 +
 arch/mips/mach-ath79/ar934x/ddr.c             |   1 +
 arch/mips/mach-ath79/cpu.c                    |   1 +
 arch/mips/mach-ath79/dram.c                   |   1 +
 arch/mips/mach-ath79/include/mach/ath79.h     |   1 +
 arch/mips/mach-ath79/qca953x/clk.c            |   1 +
 arch/mips/mach-ath79/qca956x/clk.c            |   1 +
 arch/mips/mach-ath79/qca956x/ddr.c            |   1 +
 arch/mips/mach-bmips/dram.c                   |   1 +
 arch/mips/mach-jz47xx/jz4780/jz4780.c         |   1 +
 arch/mips/mach-mscc/cpu.c                     |   1 +
 arch/mips/mach-mscc/dram.c                    |   1 +
 arch/mips/mach-mtmips/cpu.c                   |   1 +
 arch/mips/mach-mtmips/ddr_cal.c               |   1 +
 arch/mips/mach-mtmips/mt7628/ddr.c            |   1 +
 arch/mips/mach-mtmips/mt7628/init.c           |   1 +
 arch/mips/mach-mtmips/spl.c                   |   2 +-
 arch/mips/mach-octeon/bootoctlinux.c          |   1 +
 arch/mips/mach-pic32/cpu.c                    |   1 +
 arch/nds32/lib/bootm.c                        |   1 +
 arch/nios2/cpu/cpu.c                          |   1 +
 arch/nios2/include/asm/io.h                   |   3 +
 arch/nios2/lib/cache.c                        |   1 +
 arch/powerpc/cpu/mpc83xx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc83xx/cpu_init.c           |   1 +
 arch/powerpc/cpu/mpc83xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc83xx/interrupts.c         |   1 +
 arch/powerpc/cpu/mpc83xx/pci.c                |   1 +
 arch/powerpc/cpu/mpc83xx/pcie.c               |   1 +
 arch/powerpc/cpu/mpc83xx/spd_sdram.c          |   1 +
 arch/powerpc/cpu/mpc83xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc83xx/spl_minimal.c        |   1 +
 arch/powerpc/cpu/mpc83xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc85xx/commproc.c           |   1 +
 arch/powerpc/cpu/mpc85xx/cpu.c                |   2 +
 arch/powerpc/cpu/mpc85xx/cpu_init.c           |   1 +
 arch/powerpc/cpu/mpc85xx/cpu_init_early.c     |   1 +
 arch/powerpc/cpu/mpc85xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc85xx/mp.c                 |   1 +
 arch/powerpc/cpu/mpc85xx/serial_scc.c         |   1 +
 arch/powerpc/cpu/mpc85xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc85xx/tlb.c                |   2 +
 arch/powerpc/cpu/mpc85xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc86xx/cpu.c                |   2 +
 arch/powerpc/cpu/mpc86xx/cpu_init.c           |   1 +
 arch/powerpc/cpu/mpc86xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc86xx/mp.c                 |   1 +
 arch/powerpc/cpu/mpc86xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc86xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc8xx/cpu.c                 |   2 +
 arch/powerpc/cpu/mpc8xx/fdt.c                 |   1 +
 arch/powerpc/cpu/mpc8xx/immap.c               |   1 +
 arch/powerpc/cpu/mpc8xx/speed.c               |   1 +
 arch/powerpc/cpu/mpc8xxx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc8xxx/law.c                |   2 +
 arch/powerpc/cpu/mpc8xxx/pamu_table.c         |   1 +
 arch/powerpc/lib/bat_rw.c                     |   1 +
 arch/powerpc/lib/bdinfo.c                     |   1 +
 arch/powerpc/lib/bootm.c                      |   1 +
 arch/powerpc/lib/interrupts.c                 |   2 +-
 arch/powerpc/lib/stack.c                      |   1 +
 arch/powerpc/lib/time.c                       |   5 +-
 arch/riscv/cpu/fu540/cache.c                  |   1 +
 arch/riscv/cpu/fu540/dram.c                   |   1 +
 arch/riscv/cpu/generic/dram.c                 |   1 +
 arch/riscv/lib/andes_plic.c                   |   1 +
 arch/riscv/lib/asm-offsets.c                  |   1 +
 arch/riscv/lib/bootm.c                        |   1 +
 arch/riscv/lib/fdt_fixup.c                    |   1 +
 arch/riscv/lib/image.c                        |   1 +
 arch/riscv/lib/interrupts.c                   |   1 +
 arch/riscv/lib/sifive_clint.c                 |   1 +
 arch/riscv/lib/smp.c                          |   2 +
 arch/riscv/lib/spl.c                          |   1 +
 arch/sandbox/cpu/cpu.c                        |   1 +
 arch/sandbox/cpu/spl.c                        |   1 +
 arch/sandbox/cpu/start.c                      |   1 +
 arch/sh/lib/board.c                           |   1 +
 arch/x86/cpu/apollolake/cpu_spl.c             |   1 +
 arch/x86/cpu/apollolake/fsp_s.c               |   1 +
 arch/x86/cpu/baytrail/fsp_configs.c           |   1 +
 arch/x86/cpu/braswell/fsp_configs.c           |   1 +
 arch/x86/cpu/broadwell/cpu.c                  |   1 +
 arch/x86/cpu/broadwell/cpu_from_spl.c         |   1 +
 arch/x86/cpu/broadwell/cpu_full.c             |   1 +
 arch/x86/cpu/broadwell/lpc.c                  |   1 +
 arch/x86/cpu/broadwell/northbridge.c          |   1 +
 arch/x86/cpu/broadwell/pch.c                  |   1 +
 arch/x86/cpu/broadwell/pinctrl_broadwell.c    |   1 +
 arch/x86/cpu/broadwell/refcode.c              |   1 +
 arch/x86/cpu/broadwell/sata.c                 |   1 +
 arch/x86/cpu/broadwell/sdram.c                |   1 +
 arch/x86/cpu/coreboot/coreboot.c              |   1 +
 arch/x86/cpu/coreboot/sdram.c                 |   1 +
 arch/x86/cpu/coreboot/tables.c                |   1 +
 arch/x86/cpu/cpu.c                            |   1 +
 arch/x86/cpu/cpu_x86.c                        |   1 +
 arch/x86/cpu/efi/payload.c                    |   1 +
 arch/x86/cpu/efi/sdram.c                      |   1 +
 arch/x86/cpu/i386/cpu.c                       |   1 +
 arch/x86/cpu/i386/interrupt.c                 |   1 +
 arch/x86/cpu/intel_common/acpi.c              |   1 +
 arch/x86/cpu/intel_common/cpu.c               |   1 +
 arch/x86/cpu/intel_common/cpu_from_spl.c      |   1 +
 arch/x86/cpu/intel_common/itss.c              |   1 +
 arch/x86/cpu/intel_common/lpc.c               |   1 +
 arch/x86/cpu/intel_common/microcode.c         |   1 +
 arch/x86/cpu/intel_common/mrc.c               |   1 +
 arch/x86/cpu/irq.c                            |   1 +
 arch/x86/cpu/ivybridge/bd82x6x.c              |   1 +
 arch/x86/cpu/ivybridge/cpu.c                  |   1 +
 arch/x86/cpu/ivybridge/fsp_configs.c          |   1 +
 arch/x86/cpu/ivybridge/lpc.c                  |   1 +
 arch/x86/cpu/ivybridge/model_206ax.c          |   1 +
 arch/x86/cpu/ivybridge/northbridge.c          |   1 +
 arch/x86/cpu/ivybridge/sata.c                 |   1 +
 arch/x86/cpu/ivybridge/sdram_nop.c            |   1 +
 arch/x86/cpu/mp_init.c                        |   1 +
 arch/x86/cpu/mtrr.c                           |   1 +
 arch/x86/cpu/qemu/dram.c                      |   1 +
 arch/x86/cpu/qemu/e820.c                      |   1 +
 arch/x86/cpu/quark/acpi.c                     |   1 +
 arch/x86/cpu/quark/dram.c                     |   1 +
 arch/x86/cpu/slimbootloader/sdram.c           |   1 +
 arch/x86/cpu/slimbootloader/serial.c          |   1 +
 arch/x86/cpu/slimbootloader/slimbootloader.c  |   1 +
 arch/x86/cpu/tangier/pinmux.c                 |   1 +
 arch/x86/cpu/tangier/sdram.c                  |   1 +
 arch/x86/cpu/turbo.c                          |   1 +
 arch/x86/cpu/x86_64/cpu.c                     |   1 +
 arch/x86/include/asm/cpu_common.h             |   1 +
 arch/x86/include/asm/fast_spi.h               |   4 +-
 arch/x86/include/asm/io.h                     |   2 +-
 arch/x86/include/asm/mp.h                     |   2 +
 arch/x86/include/asm/mrccache.h               |   2 +
 arch/x86/include/asm/u-boot-x86.h             |   1 +
 arch/x86/lib/acpi_s3.c                        |   1 +
 arch/x86/lib/acpi_table.c                     |   1 +
 arch/x86/lib/asm-offsets.c                    |   1 +
 arch/x86/lib/bios.c                           |   1 +
 arch/x86/lib/bootm.c                          |   1 +
 arch/x86/lib/cmd_boot.c                       |   1 +
 arch/x86/lib/coreboot_table.c                 |   1 +
 arch/x86/lib/e820.c                           |   1 +
 arch/x86/lib/fsp/fsp_common.c                 |   1 +
 arch/x86/lib/fsp/fsp_dram.c                   |   1 +
 arch/x86/lib/fsp/fsp_graphics.c               |   1 +
 arch/x86/lib/fsp1/fsp_common.c                |   1 +
 arch/x86/lib/fsp1/fsp_dram.c                  |   1 +
 arch/x86/lib/fsp2/fsp_dram.c                  |   1 +
 arch/x86/lib/fsp2/fsp_meminit.c               |   1 +
 arch/x86/lib/fsp2/fsp_silicon_init.c          |   1 +
 arch/x86/lib/fsp2/fsp_support.c               |   1 +
 arch/x86/lib/init_helpers.c                   |   1 +
 arch/x86/lib/mpspec.c                         |   1 +
 arch/x86/lib/mrccache.c                       |   1 +
 arch/x86/lib/physmem.c                        |   1 +
 arch/x86/lib/pinctrl_ich6.c                   |   1 +
 arch/x86/lib/pirq_routing.c                   |   1 +
 arch/x86/lib/relocate.c                       |   1 +
 arch/x86/lib/spl.c                            |   1 +
 arch/x86/lib/tables.c                         |   1 +
 arch/x86/lib/tpl.c                            |   1 +
 arch/xtensa/lib/bootm.c                       |   1 +
 board/AndesTech/adp-ae3xx/adp-ae3xx.c         |   1 +
 board/AndesTech/adp-ag101p/adp-ag101p.c       |   1 +
 board/AndesTech/ax25-ae350/ax25-ae350.c       |   1 +
 board/Arcturus/ucp1020/spl.c                  |   1 +
 board/BuR/brppt1/board.c                      |   1 +
 board/BuR/brppt2/board.c                      |   1 +
 board/BuR/brsmarc1/board.c                    |   1 +
 board/BuR/brxre1/board.c                      |   1 +
 board/BuR/common/common.c                     |   1 +
 board/BuS/eb_cpu5282/eb_cpu5282.c             |   1 +
 board/CZ.NIC/turris_mox/turris_mox.c          |   1 +
 board/CZ.NIC/turris_omnia/turris_omnia.c      |   1 +
 board/CarMediaLab/flea3/flea3.c               |   1 +
 board/LaCie/edminiv2/edminiv2.c               |   1 +
 board/LaCie/net2big_v2/net2big_v2.c           |   1 +
 board/LaCie/netspace_v2/netspace_v2.c         |   1 +
 board/Marvell/aspenite/aspenite.c             |   1 +
 board/Marvell/db-88f6281-bp/db-88f6281-bp.c   |   1 +
 board/Marvell/db-88f6720/db-88f6720.c         |   1 +
 board/Marvell/db-88f6820-amc/db-88f6820-amc.c |   1 +
 board/Marvell/db-88f6820-gp/db-88f6820-gp.c   |   1 +
 board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c   |   1 +
 board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c   |   1 +
 board/Marvell/dreamplug/dreamplug.c           |   1 +
 board/Marvell/gplugd/gplugd.c                 |   1 +
 board/Marvell/guruplug/guruplug.c             |   1 +
 board/Marvell/mvebu_armada-37xx/board.c       |   1 +
 board/Marvell/mvebu_armada-8k/board.c         |   1 +
 board/Marvell/octeontx/board.c                |   2 +
 board/Marvell/octeontx2/board.c               |   2 +
 board/Marvell/openrd/openrd.c                 |   1 +
 board/Marvell/sheevaplug/sheevaplug.c         |   1 +
 board/Seagate/dockstar/dockstar.c             |   1 +
 board/Seagate/goflexhome/goflexhome.c         |   1 +
 board/Seagate/nas220/nas220.c                 |   1 +
 board/Synology/ds109/ds109.c                  |   1 +
 board/Synology/ds414/ds414.c                  |   1 +
 board/advantech/dms-ba16/dms-ba16.c           |   1 +
 .../imx8qm_rom7720_a1/imx8qm_rom7720_a1.c     |   1 +
 board/advantech/imx8qm_rom7720_a1/spl.c       |   1 +
 board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c   |   1 +
 .../alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c |   1 +
 board/alliedtelesis/common/gpio_hog.c         |   1 +
 board/alliedtelesis/x530/x530.c               |   1 +
 board/amazon/kc1/kc1.c                        |   1 +
 board/amlogic/vim3/vim3.c                     |   1 +
 board/aristainetos/aristainetos.c             |   1 +
 board/armadeus/apf27/apf27.c                  |   1 +
 board/armltd/integrator/integrator.c          |   1 +
 board/armltd/integrator/timer.c               |   2 +-
 board/armltd/total_compute/total_compute.c    |   1 +
 board/armltd/vexpress/vexpress_common.c       |   1 +
 board/armltd/vexpress64/vexpress64.c          |   1 +
 board/astro/mcf5373l/mcf5373l.c               |   1 +
 .../armadillo-800eva/armadillo-800eva.c       |   1 +
 board/atmel/at91rm9200ek/at91rm9200ek.c       |   1 +
 board/atmel/at91sam9260ek/at91sam9260ek.c     |   1 +
 board/atmel/at91sam9261ek/at91sam9261ek.c     |   1 +
 board/atmel/at91sam9263ek/at91sam9263ek.c     |   1 +
 .../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c |   1 +
 board/atmel/at91sam9n12ek/at91sam9n12ek.c     |   1 +
 board/atmel/at91sam9rlek/at91sam9rlek.c       |   1 +
 board/atmel/at91sam9x5ek/at91sam9x5ek.c       |   1 +
 board/atmel/common/video_display.c            |   1 +
 board/atmel/sam9x60ek/sam9x60ek.c             |   1 +
 .../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c |   1 +
 .../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c   |   1 +
 board/atmel/sama5d2_icp/sama5d2_icp.c         |   1 +
 board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c   |   1 +
 .../atmel/sama5d2_xplained/sama5d2_xplained.c |   1 +
 .../atmel/sama5d3_xplained/sama5d3_xplained.c |   1 +
 board/atmel/sama5d3xek/sama5d3xek.c           |   1 +
 .../atmel/sama5d4_xplained/sama5d4_xplained.c |   1 +
 board/atmel/sama5d4ek/sama5d4ek.c             |   1 +
 board/bachmann/ot1200/ot1200.c                |   1 +
 board/barco/platinum/platinum.c               |   1 +
 board/barco/titanium/titanium.c               |   1 +
 board/beacon/beacon-rzg2m/beacon-rzg2m.c      |   1 +
 board/beacon/imx8mm/imx8mm_beacon.c           |   1 +
 board/beacon/imx8mm/spl.c                     |   1 +
 board/beckhoff/mx53cx9020/mx53cx9020.c        |   1 +
 board/bluegiga/apx4devkit/apx4devkit.c        |   1 +
 board/bluewater/gurnard/gurnard.c             |   1 +
 board/bluewater/snapper9260/snapper9260.c     |   1 +
 board/bosch/guardian/board.c                  |   1 +
 board/bosch/shc/board.c                       |   1 +
 board/boundary/nitrogen6x/nitrogen6x.c        |   1 +
 board/broadcom/bcm23550_w1d/bcm23550_w1d.c    |   1 +
 board/broadcom/bcm28155_ap/bcm28155_ap.c      |   1 +
 board/broadcom/bcm_ep/board.c                 |   1 +
 board/broadcom/bcmns2/northstar2.c            |   1 +
 board/broadcom/bcmns3/ns3.c                   |   1 +
 board/broadcom/bcmstb/bcmstb.c                |   1 +
 board/bticino/mamoj/mamoj.c                   |   1 +
 board/bticino/mamoj/spl.c                     |   1 +
 board/buffalo/lsxl/lsxl.c                     |   1 +
 board/calao/usb_a9263/usb_a9263.c             |   1 +
 board/cavium/thunderx/thunderx.c              |   1 +
 board/ccv/xpress/xpress.c                     |   1 +
 board/cirrus/edb93xx/edb93xx.c                |   1 +
 board/cloudengines/pogo_e02/pogo_e02.c        |   1 +
 board/cobra5272/cobra5272.c                   |   1 +
 board/compulab/cl-som-imx7/cl-som-imx7.c      |   1 +
 board/compulab/cm_fx6/cm_fx6.c                |   1 +
 board/compulab/cm_t335/cm_t335.c              |   1 +
 board/compulab/cm_t43/cm_t43.c                |   1 +
 board/congatec/cgtqmx6eval/cgtqmx6eval.c      |   1 +
 board/corscience/tricorder/tricorder-eeprom.c |   1 +
 board/corscience/tricorder/tricorder.c        |   1 +
 board/cortina/presidio-asic/presidio.c        |   1 +
 board/creative/xfi3/xfi3.c                    |   1 +
 board/cssi/MCR3000/MCR3000.c                  |   1 +
 board/d-link/dns325/dns325.c                  |   1 +
 board/davinci/da8xxevm/da850evm.c             |   1 +
 board/davinci/da8xxevm/omapl138_lcdk.c        |   1 +
 board/dhelectronics/dh_imx6/dh_imx6.c         |   1 +
 board/dhelectronics/dh_stm32mp1/board.c       |   2 +
 board/ea/mx7ulp_com/mx7ulp_com.c              |   1 +
 board/eets/pdu001/board.c                     |   1 +
 board/egnite/ethernut5/ethernut5.c            |   1 +
 board/el/el6x/el6x.c                          |   1 +
 board/elgin/elgin_rv1108/elgin_rv1108.c       |   1 +
 board/embest/mx6boards/mx6boards.c            |   1 +
 board/engicam/common/board.c                  |   1 +
 board/esd/meesc/meesc.c                       |   1 +
 board/esd/vme8349/vme8349.c                   |   1 +
 board/firefly/firefly-rk3288/firefly-rk3288.c |   1 +
 board/freescale/common/arm_sleep.c            |   1 +
 board/freescale/common/emc2305.c              |   1 +
 board/freescale/common/mpc85xx_sleep.c        |   1 +
 board/freescale/corenet_ds/corenet_ds.c       |   1 +
 board/freescale/corenet_ds/ddr.c              |   1 +
 board/freescale/imx8mm_evk/imx8mm_evk.c       |   1 +
 board/freescale/imx8mm_evk/spl.c              |   1 +
 board/freescale/imx8mn_evk/imx8mn_evk.c       |   1 +
 board/freescale/imx8mn_evk/spl.c              |   1 +
 board/freescale/imx8mp_evk/imx8mp_evk.c       |   1 +
 board/freescale/imx8mp_evk/spl.c              |   1 +
 board/freescale/imx8mq_evk/imx8mq_evk.c       |   1 +
 board/freescale/imx8mq_evk/spl.c              |   1 +
 board/freescale/imx8qm_mek/imx8qm_mek.c       |   1 +
 board/freescale/imx8qm_mek/spl.c              |   1 +
 board/freescale/imx8qxp_mek/imx8qxp_mek.c     |   1 +
 board/freescale/imx8qxp_mek/spl.c             |   1 +
 board/freescale/imxrt1020-evk/imxrt1020-evk.c |   1 +
 board/freescale/imxrt1050-evk/imxrt1050-evk.c |   1 +
 board/freescale/ls1012afrdm/ls1012afrdm.c     |   1 +
 board/freescale/ls1012aqds/ls1012aqds.c       |   1 +
 board/freescale/ls1012ardb/ls1012ardb.c       |   1 +
 board/freescale/ls1021aiot/dcu.c              |   1 +
 board/freescale/ls1021aiot/ls1021aiot.c       |   1 +
 board/freescale/ls1021aqds/dcu.c              |   1 +
 board/freescale/ls1021aqds/ddr.c              |   1 +
 board/freescale/ls1021atsn/ls1021atsn.c       |   1 +
 board/freescale/ls1021atwr/dcu.c              |   1 +
 board/freescale/ls1021atwr/ls1021atwr.c       |   1 +
 board/freescale/ls1028a/ddr.c                 |   1 +
 board/freescale/ls1028a/ls1028a.c             |   2 +
 board/freescale/ls1043aqds/ddr.c              |   1 +
 board/freescale/ls1043aqds/ls1043aqds.c       |   1 +
 board/freescale/ls1043ardb/ddr.c              |   1 +
 board/freescale/ls1043ardb/ls1043ardb.c       |   1 +
 board/freescale/ls1046afrwy/ddr.c             |   1 +
 board/freescale/ls1046afrwy/ls1046afrwy.c     |   1 +
 board/freescale/ls1046aqds/ddr.c              |   1 +
 board/freescale/ls1046aqds/ls1046aqds.c       |   1 +
 board/freescale/ls1046ardb/ddr.c              |   1 +
 board/freescale/ls1046ardb/ls1046ardb.c       |   1 +
 board/freescale/ls1088a/ddr.c                 |   1 +
 board/freescale/ls1088a/ls1088a.c             |   2 +
 board/freescale/ls2080a/ddr.c                 |   1 +
 board/freescale/ls2080a/ls2080a.c             |   2 +
 board/freescale/ls2080aqds/ddr.c              |   1 +
 board/freescale/ls2080aqds/ls2080aqds.c       |   2 +
 board/freescale/ls2080ardb/ddr.c              |   1 +
 board/freescale/ls2080ardb/eth_ls2080rdb.c    |   1 +
 board/freescale/ls2080ardb/ls2080ardb.c       |   2 +
 board/freescale/lx2160a/ddr.c                 |   1 +
 board/freescale/lx2160a/eth_lx2160aqds.c      |   1 +
 board/freescale/lx2160a/eth_lx2160ardb.c      |   1 +
 board/freescale/lx2160a/lx2160a.c             |   2 +
 board/freescale/m5208evbe/m5208evbe.c         |   1 +
 board/freescale/m52277evb/m52277evb.c         |   1 +
 board/freescale/m5235evb/m5235evb.c           |   1 +
 board/freescale/m5249evb/m5249evb.c           |   1 +
 board/freescale/m5253demo/m5253demo.c         |   1 +
 board/freescale/m5272c3/m5272c3.c             |   1 +
 board/freescale/m5275evb/m5275evb.c           |   1 +
 board/freescale/m5282evb/m5282evb.c           |   1 +
 board/freescale/m53017evb/m53017evb.c         |   1 +
 board/freescale/m5329evb/m5329evb.c           |   1 +
 board/freescale/m5373evb/m5373evb.c           |   1 +
 board/freescale/m54418twr/m54418twr.c         |   1 +
 board/freescale/m54451evb/m54451evb.c         |   1 +
 board/freescale/m54455evb/m54455evb.c         |   1 +
 board/freescale/m547xevb/m547xevb.c           |   1 +
 board/freescale/m548xevb/m548xevb.c           |   1 +
 board/freescale/mpc8308rdb/sdram.c            |   1 +
 board/freescale/mpc8313erdb/mpc8313erdb.c     |   1 +
 board/freescale/mpc8313erdb/sdram.c           |   1 +
 board/freescale/mpc8315erdb/mpc8315erdb.c     |   1 +
 board/freescale/mpc8315erdb/sdram.c           |   1 +
 board/freescale/mpc8323erdb/mpc8323erdb.c     |   1 +
 board/freescale/mpc832xemds/mpc832xemds.c     |   1 +
 board/freescale/mpc8349emds/mpc8349emds.c     |   1 +
 board/freescale/mpc8349itx/mpc8349itx.c       |   1 +
 board/freescale/mpc837xemds/mpc837xemds.c     |   1 +
 board/freescale/mpc837xerdb/mpc837xerdb.c     |   1 +
 board/freescale/mpc8541cds/mpc8541cds.c       |   1 +
 board/freescale/mpc8548cds/mpc8548cds.c       |   1 +
 board/freescale/mpc8555cds/mpc8555cds.c       |   1 +
 board/freescale/mpc8568mds/mpc8568mds.c       |   1 +
 board/freescale/mpc8610hpcd/mpc8610hpcd.c     |   1 +
 board/freescale/mpc8641hpcn/mpc8641hpcn.c     |   1 +
 board/freescale/mx23evk/mx23evk.c             |   1 +
 board/freescale/mx25pdk/mx25pdk.c             |   1 +
 board/freescale/mx28evk/mx28evk.c             |   1 +
 board/freescale/mx35pdk/mx35pdk.c             |   1 +
 board/freescale/mx51evk/mx51evk.c             |   1 +
 board/freescale/mx53ard/mx53ard.c             |   1 +
 board/freescale/mx53evk/mx53evk.c             |   1 +
 board/freescale/mx53loco/mx53loco.c           |   1 +
 board/freescale/mx53smd/mx53smd.c             |   1 +
 board/freescale/mx6memcal/mx6memcal.c         |   1 +
 board/freescale/mx6memcal/spl.c               |   1 +
 board/freescale/mx6qarm2/mx6qarm2.c           |   1 +
 board/freescale/mx6sabreauto/mx6sabreauto.c   |   1 +
 board/freescale/mx6sabresd/mx6sabresd.c       |   1 +
 board/freescale/mx6slevk/mx6slevk.c           |   1 +
 board/freescale/mx6sllevk/mx6sllevk.c         |   1 +
 .../freescale/mx6sxsabreauto/mx6sxsabreauto.c |   1 +
 board/freescale/mx6sxsabresd/mx6sxsabresd.c   |   1 +
 .../mx6ul_14x14_evk/mx6ul_14x14_evk.c         |   1 +
 board/freescale/mx6ullevk/mx6ullevk.c         |   1 +
 board/freescale/mx7dsabresd/mx7dsabresd.c     |   1 +
 board/freescale/mx7ulp_evk/mx7ulp_evk.c       |   1 +
 board/freescale/p1010rdb/ddr.c                |   1 +
 board/freescale/p1010rdb/p1010rdb.c           |   1 +
 board/freescale/p1010rdb/spl.c                |   1 +
 board/freescale/p1023rdb/p1023rdb.c           | 161 +++++++++++++
 board/freescale/p1_p2_rdb_pc/spl.c            |   1 +
 board/freescale/p2041rdb/ddr.c                |   1 +
 board/freescale/p2041rdb/p2041rdb.c           |   1 +
 board/freescale/qemu-ppce500/qemu-ppce500.c   |   1 +
 board/freescale/s32v234evb/s32v234evb.c       |   1 +
 board/freescale/t102xrdb/ddr.c                |   1 +
 board/freescale/t102xrdb/spl.c                |   1 +
 board/freescale/t102xrdb/t102xrdb.c           |   1 +
 board/freescale/t104xrdb/ddr.c                |   1 +
 board/freescale/t104xrdb/spl.c                |   1 +
 board/freescale/t104xrdb/t104xrdb.c           |   1 +
 board/freescale/t208xqds/ddr.c                |   1 +
 board/freescale/t208xqds/spl.c                |   1 +
 board/freescale/t208xqds/t208xqds.c           |   1 +
 board/freescale/t208xrdb/ddr.c                |   1 +
 board/freescale/t208xrdb/spl.c                |   1 +
 board/freescale/t208xrdb/t208xrdb.c           |   1 +
 board/freescale/t4rdb/ddr.c                   |   1 +
 board/freescale/t4rdb/spl.c                   |   1 +
 board/freescale/t4rdb/t4240rdb.c              |   1 +
 board/freescale/vf610twr/vf610twr.c           |   1 +
 board/friendlyarm/nanopi2/board.c             |   1 +
 board/gardena/smart-gateway-at91sam/board.c   |   1 +
 board/gateworks/gw_ventana/gw_ventana.c       |   1 +
 board/gdsys/a38x/controlcenterdc.c            |   1 +
 board/gdsys/a38x/hydra.c                      |   1 +
 board/gdsys/mpc8308/gazerbeam.c               |   1 +
 board/gdsys/mpc8308/sdram.c                   |   1 +
 board/gdsys/p1022/controlcenterd-id.c         |   1 +
 board/ge/bx50v3/bx50v3.c                      |   1 +
 board/ge/mx53ppd/mx53ppd.c                    |   1 +
 .../google/imx8mq_phanbell/imx8mq_phanbell.c  |   1 +
 board/google/imx8mq_phanbell/spl.c            |   1 +
 board/google/veyron/veyron.c                  |   1 +
 board/grinn/chiliboard/board.c                |   1 +
 board/grinn/liteboard/board.c                 |   1 +
 board/highbank/highbank.c                     |   1 +
 board/hisilicon/hikey/hikey.c                 |   1 +
 board/hisilicon/hikey960/hikey960.c           |   1 +
 board/hisilicon/poplar/poplar.c               |   1 +
 board/ids/ids8313/ids8313.c                   |   1 +
 board/imgtec/boston/ddr.c                     |   1 +
 board/imgtec/boston/dt.c                      |   1 +
 board/imgtec/ci20/ci20.c                      |   1 +
 board/imgtec/malta/malta.c                    |   1 +
 board/imgtec/xilfpga/xilfpga.c                |   1 +
 board/inversepath/usbarmory/usbarmory.c       |   1 +
 board/iomega/iconnect/iconnect.c              |   1 +
 board/isee/igep003x/board.c                   |   1 +
 board/isee/igep00x0/common.c                  |   1 +
 board/k+p/kp_imx53/kp_imx53.c                 |   1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c         |   1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c     |   1 +
 board/keymile/common/common.c                 |   1 +
 board/keymile/km83xx/km83xx.c                 |   1 +
 board/keymile/km_arm/km_arm.c                 |   1 +
 board/keymile/kmp204x/ddr.c                   |   1 +
 board/kmc/kzm9g/kzm9g.c                       |   1 +
 board/kobol/helios4/helios4.c                 |   1 +
 board/kontron/sl28/ddr.c                      |   1 +
 board/kontron/sl28/sl28.c                     |   2 +
 board/kosagi/novena/novena.c                  |   2 +
 board/l+g/vinco/vinco.c                       |   1 +
 board/laird/wb45n/wb45n.c                     |   1 +
 board/laird/wb50n/wb50n.c                     |   1 +
 board/lego/ev3/legoev3.c                      |   1 +
 board/lg/sniper/sniper.c                      |   1 +
 board/liebherr/display5/display5.c            |   1 +
 board/liebherr/display5/spl.c                 |   1 +
 board/liebherr/mccmon6/mccmon6.c              |   1 +
 board/liebherr/xea/xea.c                      |   1 +
 board/logicpd/am3517evm/am3517evm.c           |   1 +
 board/logicpd/imx6/imx6logic.c                |   1 +
 board/logicpd/omap3som/omap3logic.c           |   1 +
 board/maxbcm/maxbcm.c                         |   1 +
 board/mediatek/mt7622/mt7622_rfb.c            |   1 +
 board/mediatek/mt7623/mt7623_rfb.c            |   1 +
 board/mediatek/mt7629/mt7629_rfb.c            |   1 +
 board/mediatek/mt8512/mt8512.c                |   1 +
 board/mediatek/mt8518/mt8518_ap1.c            |   2 +
 board/menlo/m53menlo/m53menlo.c               |   1 +
 .../crs3xx-98dx3236/crs3xx-98dx3236.c         |   1 +
 board/mini-box/picosam9g45/picosam9g45.c      |   1 +
 board/mpc8308_p1m/sdram.c                     |   1 +
 board/mscc/jr2/jr2.c                          |   1 +
 board/mscc/luton/luton.c                      |   1 +
 board/mscc/ocelot/ocelot.c                    |   2 +
 board/mscc/serval/serval.c                    |   1 +
 board/mscc/servalt/servalt.c                  |   1 +
 board/myir/mys_6ulx/mys_6ulx.c                |   1 +
 board/nokia/rx51/rx51.c                       |   1 +
 board/novtech/meerkat96/meerkat96.c           |   1 +
 board/nvidia/jetson-tk1/jetson-tk1.c          |   1 +
 board/olimex/mx23_olinuxino/mx23_olinuxino.c  |   1 +
 board/phytec/pcl063/pcl063.c                  |   1 +
 board/phytec/pcm052/pcm052.c                  |   1 +
 board/phytec/pcm058/pcm058.c                  |   1 +
 board/phytec/pfla02/pfla02.c                  |   1 +
 board/phytec/phycore_am335x_r2/board.c        |   1 +
 board/phytec/phycore_rk3288/phycore-rk3288.c  |   1 +
 board/phytium/durian/durian.c                 |   1 +
 .../pinebook-pro-rk3399/pinebook-pro-rk3399.c |   1 +
 board/ppcag/bg0900/bg0900.c                   |   1 +
 board/qemu-mips/qemu-mips.c                   |   1 +
 .../dragonboard410c/dragonboard410c.c         |   1 +
 .../dragonboard820c/dragonboard820c.c         |   1 +
 board/raidsonic/ib62x0/ib62x0.c               |   1 +
 board/renesas/alt/alt.c                       |   1 +
 board/renesas/blanche/blanche.c               |   1 +
 board/renesas/condor/condor.c                 |   1 +
 board/renesas/draak/draak.c                   |   1 +
 board/renesas/eagle/eagle.c                   |   1 +
 board/renesas/ebisu/ebisu.c                   |   1 +
 board/renesas/gose/gose.c                     |   1 +
 board/renesas/grpeach/grpeach.c               |   1 +
 board/renesas/koelsch/koelsch.c               |   1 +
 board/renesas/lager/lager.c                   |   1 +
 board/renesas/porter/porter.c                 |   1 +
 board/renesas/rcar-common/common.c            |   1 +
 board/renesas/salvator-x/salvator-x.c         |   1 +
 board/renesas/silk/silk.c                     |   1 +
 board/renesas/stout/stout.c                   |   1 +
 board/renesas/ulcb/ulcb.c                     |   1 +
 board/rockchip/evb_rk3308/evb_rk3308.c        |   1 +
 board/rockchip/evb_rv1108/evb_rv1108.c        |   1 +
 board/ronetix/pm9261/pm9261.c                 |   1 +
 board/ronetix/pm9263/pm9263.c                 |   1 +
 board/ronetix/pm9g45/pm9g45.c                 |   1 +
 board/samsung/arndale/arndale.c               |   1 +
 board/samsung/common/board.c                  |   1 +
 board/samsung/common/exynos5-dt-types.c       |   1 +
 board/samsung/common/exynos5-dt.c             |   2 +
 board/samsung/common/misc.c                   |   2 +
 board/samsung/goni/goni.c                     |   2 +
 board/samsung/odroid/odroid.c                 |   2 +
 board/samsung/smdkc100/smdkc100.c             |   1 +
 board/samsung/smdkv310/smdkv310.c             |   1 +
 board/samsung/universal_c210/universal.c      |   1 +
 board/sandbox/sandbox.c                       |   1 +
 board/sandisk/sansa_fuze_plus/sfp.c           |   1 +
 board/sbc8349/sbc8349.c                       |   1 +
 board/sbc8548/sbc8548.c                       |   1 +
 board/sbc8641d/sbc8641d.c                     |   1 +
 board/schulercontrol/sc_sps_1/sc_sps_1.c      |   1 +
 board/seco/mx6quq7/mx6quq7.c                  |   1 +
 board/siemens/capricorn/spl.c                 |   1 +
 board/siemens/common/board.c                  |   1 +
 board/siemens/corvus/board.c                  |   1 +
 board/siemens/smartweb/smartweb.c             |   1 +
 board/siemens/taurus/taurus.c                 |   1 +
 board/sks-kinkel/sksimx6/sksimx6.c            |   1 +
 board/socrates/socrates.c                     |   1 +
 board/softing/vining_2000/vining_2000.c       |   1 +
 board/softing/vining_fpga/socfpga.c           |   1 +
 board/solidrun/clearfog/clearfog.c            |   1 +
 board/solidrun/common/tlv_data.c              |   1 +
 board/solidrun/mx6cuboxi/mx6cuboxi.c          |   1 +
 board/somlabs/visionsom-6ull/visionsom-6ull.c |   1 +
 board/st/common/stm32mp_dfu.c                 |   1 +
 board/st/common/stm32mp_mtdparts.c            |   2 +
 board/st/stih410-b2260/board.c                |   1 +
 .../stm32f429-discovery/stm32f429-discovery.c |   1 +
 .../stm32f429-evaluation.c                    |   1 +
 .../stm32f469-discovery/stm32f469-discovery.c |   1 +
 board/st/stm32f746-disco/stm32f746-disco.c    |   1 +
 board/st/stm32h743-disco/stm32h743-disco.c    |   1 +
 board/st/stm32h743-eval/stm32h743-eval.c      |   1 +
 board/st/stm32mp1/stm32mp1.c                  |   2 +
 board/st/stv0991/stv0991.c                    |   1 +
 board/ste/stemmy/stemmy.c                     |   1 +
 board/sunxi/board.c                           |   2 +
 board/synopsys/axs10x/axs10x.c                |   1 +
 board/synopsys/emsdp/emsdp.c                  |   1 +
 board/synopsys/hsdk/clk-lib.c                 |   1 +
 board/synopsys/hsdk/env-lib.c                 |   1 +
 board/synopsys/hsdk/hsdk.c                    |   1 +
 board/synopsys/iot_devkit/iot_devkit.c        |   1 +
 board/sysam/amcore/amcore.c                   |   1 +
 board/sysam/stmark2/stmark2.c                 |   1 +
 board/syteco/zmx25/zmx25.c                    |   1 +
 board/tbs/tbs2910/tbs2910.c                   |   2 +
 board/tcl/sl50/board.c                        |   1 +
 board/technexion/pico-imx6/pico-imx6.c        |   3 +-
 board/technexion/pico-imx6ul/pico-imx6ul.c    |   1 +
 board/technexion/pico-imx7d/pico-imx7d.c      |   1 +
 board/technexion/pico-imx8mq/pico-imx8mq.c    |   1 +
 board/technexion/pico-imx8mq/spl.c            |   1 +
 board/technexion/tao3530/tao3530.c            |   1 +
 board/technologic/ts4600/ts4600.c             |   1 +
 board/technologic/ts4800/ts4800.c             |   1 +
 board/theadorable/theadorable.c               |   1 +
 board/ti/am335x/board.c                       |   1 +
 board/ti/am3517crane/am3517crane.c            |   1 +
 board/ti/am43xx/board.c                       |   1 +
 board/ti/am57xx/board.c                       |   1 +
 board/ti/am65x/evm.c                          |   2 +
 board/ti/beagle/beagle.c                      |   1 +
 board/ti/common/board_detect.c                |   1 +
 board/ti/dra7xx/evm.c                         |   1 +
 board/ti/evm/evm.c                            |   1 +
 board/ti/j721e/evm.c                          |   2 +
 board/ti/ks2_evm/board.c                      |   1 +
 board/ti/omap5_uevm/evm.c                     |   1 +
 board/ti/panda/panda.c                        |   1 +
 board/ti/sdp4430/sdp.c                        |   1 +
 board/ti/ti816x/evm.c                         |   1 +
 board/timll/devkit3250/devkit3250.c           |   1 +
 board/timll/devkit8000/devkit8000.c           |   1 +
 board/toradex/apalis-imx8/apalis-imx8.c       |   1 +
 board/toradex/apalis-tk1/apalis-tk1.c         |   1 +
 board/toradex/apalis_imx6/apalis_imx6.c       |   1 +
 board/toradex/apalis_t30/apalis_t30.c         |   1 +
 .../toradex/colibri-imx6ull/colibri-imx6ull.c |   1 +
 board/toradex/colibri-imx8x/colibri-imx8x.c   |   1 +
 board/toradex/colibri_imx6/colibri_imx6.c     |   1 +
 board/toradex/colibri_imx7/colibri_imx7.c     |   1 +
 board/toradex/colibri_pxa270/colibri_pxa270.c |   1 +
 board/toradex/colibri_t20/colibri_t20.c       |   1 +
 board/toradex/colibri_vf/colibri_vf.c         |   1 +
 board/toradex/common/tdx-cfg-block.c          |   1 +
 board/toradex/common/tdx-eeprom.c             |   1 +
 board/toradex/verdin-imx8mm/spl.c             |   1 +
 board/toradex/verdin-imx8mm/verdin-imx8mm.c   |   1 +
 board/tqc/tqm834x/tqm834x.c                   |   1 +
 board/tqc/tqma6/tqma6.c                       |   1 +
 board/udoo/neo/neo.c                          |   1 +
 board/udoo/udoo.c                             |   1 +
 board/variscite/dart_6ul/dart_6ul.c           |   1 +
 board/varisys/cyrus/ddr.c                     |   1 +
 board/ve8313/ve8313.c                         |   1 +
 board/vscom/baltos/board.c                    |   1 +
 board/wandboard/wandboard.c                   |   1 +
 board/warp/warp.c                             |   1 +
 board/warp7/warp7.c                           |   1 +
 board/work-microwave/work_92105/work_92105.c  |   1 +
 board/xen/xenguest_arm64/xenguest_arm64.c     |   1 +
 board/xes/xpedite517x/xpedite517x.c           |   1 +
 board/xilinx/common/board.c                   |   1 +
 .../microblaze-generic/microblaze-generic.c   |   1 +
 board/xilinx/versal/board.c                   |   1 +
 board/xilinx/zynq/board.c                     |   1 +
 board/xilinx/zynq/bootimg.c                   |   1 +
 board/xilinx/zynq/cmds.c                      |   1 +
 board/xilinx/zynqmp/zynqmp.c                  |   1 +
 board/zyxel/nsa310s/nsa310s.c                 |   1 +
 cmd/acpi.c                                    |   2 +
 cmd/adc.c                                     |   1 +
 cmd/axi.c                                     |   1 +
 cmd/bcb.c                                     |   1 +
 cmd/bdinfo.c                                  |   1 +
 cmd/bedbug.c                                  |   1 +
 cmd/bloblist.c                                |   1 +
 cmd/bootefi.c                                 |   1 +
 cmd/booti.c                                   |   1 +
 cmd/bootm.c                                   |   1 +
 cmd/cpu.c                                     |   1 +
 cmd/date.c                                    |   1 +
 cmd/efi.c                                     |   1 +
 cmd/fastboot.c                                |   1 +
 cmd/fpgad.c                                   |   1 +
 cmd/io.c                                      |   1 +
 cmd/load.c                                    |   1 +
 cmd/log.c                                     |   1 +
 cmd/mem.c                                     |   2 +
 cmd/mmc.c                                     |   1 +
 cmd/mtdparts.c                                |   1 +
 cmd/nvedit.c                                  |   2 +
 cmd/onenand.c                                 |   1 +
 cmd/pstore.c                                  |   1 +
 cmd/pxe_utils.h                               |   2 +
 cmd/regulator.c                               |   1 +
 cmd/rtc.c                                     |   1 +
 cmd/sb.c                                      |   1 +
 cmd/sf.c                                      |   1 +
 cmd/sound.c                                   |   1 +
 cmd/spl.c                                     |   1 +
 cmd/thordown.c                                |   1 +
 cmd/ti/ddr3.c                                 |   1 +
 cmd/tlv_eeprom.c                              |   1 +
 cmd/tpm_test.c                                |   1 +
 cmd/usb_gadget_sdp.c                          |   1 +
 cmd/usb_mass_storage.c                        |   1 +
 cmd/version.c                                 |   1 +
 cmd/x86/fsp.c                                 |   1 +
 cmd/x86/hob.c                                 |   1 +
 common/autoboot.c                             |   1 +
 common/bloblist.c                             |   2 +
 common/board_f.c                              |   2 +
 common/board_info.c                           |   1 +
 common/board_r.c                              |   2 +
 common/bootm.c                                |   1 +
 common/bootm_os.c                             |   1 +
 common/bootstage.c                            |   1 +
 common/cli.c                                  |   1 +
 common/cli_hush.c                             |   1 +
 common/cli_readline.c                         |   1 +
 common/command.c                              |   1 +
 common/console.c                              |   2 +
 common/dfu.c                                  |   1 +
 common/dlmalloc.c                             |   1 +
 common/exports.c                              |   1 +
 common/hash.c                                 |   1 +
 common/hwconfig.c                             |   1 +
 common/image-android.c                        |   1 +
 common/image-cipher.c                         |   1 +
 common/image-fdt.c                            |   1 +
 common/image-fit-sig.c                        |   1 +
 common/image-fit.c                            |   1 +
 common/image-sig.c                            |   1 +
 common/image.c                                |   2 +
 common/init/board_init.c                      |   1 +
 common/init/handoff.c                         |   1 +
 common/iotrace.c                              |   1 +
 common/lcd.c                                  |   1 +
 common/lcd_simplefb.c                         |   1 +
 common/log.c                                  |   1 +
 common/log_console.c                          |   1 +
 common/log_syslog.c                           |   1 +
 common/malloc_simple.c                        |   1 +
 common/memsize.c                              |   1 +
 common/spl/spl.c                              |   1 +
 common/spl/spl_dfu.c                          |   1 +
 common/spl/spl_fit.c                          |   2 +
 common/spl/spl_opensbi.c                      |   2 +
 common/spl/spl_sdp.c                          |   1 +
 common/spl/spl_spi.c                          |   1 +
 common/splash.c                               |   1 +
 common/splash_source.c                        |   1 +
 common/stdio.c                                |   2 +-
 common/update.c                               |   1 +
 disk/part_efi.c                               |   2 +
 drivers/adc/adc-uclass.c                      |   1 +
 drivers/adc/exynos-adc.c                      |   1 +
 drivers/adc/meson-saradc.c                    |   1 +
 drivers/adc/rockchip-saradc.c                 |   1 +
 drivers/adc/sandbox.c                         |   1 +
 drivers/ata/dwc_ahci.c                        |   1 +
 drivers/ata/libata.c                          |   2 +
 drivers/ata/mtk_ahci.c                        |   1 +
 drivers/ata/sata_mv.c                         |   1 +
 drivers/bios_emulator/atibios.c               |   1 +
 drivers/bios_emulator/include/x86emu/debug.h  |   1 +
 drivers/bios_emulator/include/x86emu/regs.h   |   1 +
 drivers/bios_emulator/x86emu/debug.c          |   1 +
 drivers/bios_emulator/x86emu/decode.c         |   1 +
 drivers/bios_emulator/x86emu/ops.c            |   1 +
 drivers/bios_emulator/x86emu/ops2.c           |   1 +
 drivers/bios_emulator/x86emu/sys.c            |   1 +
 drivers/block/blkcache.c                      |   1 +
 drivers/block/sandbox.c                       |   1 +
 drivers/bootcount/bootcount-uclass.c          |   1 +
 drivers/bootcount/bootcount_ram.c             |   1 +
 drivers/cache/cache-v5l2.c                    |   1 +
 drivers/cache/sandbox_cache.c                 |   1 +
 drivers/clk/altera/clk-agilex.c               |   1 +
 drivers/clk/altera/clk-arria10.c              |   1 +
 drivers/clk/analogbits/wrpll-cln28hpc.c       |   1 +
 drivers/clk/aspeed/clk_ast2500.c              |   1 +
 drivers/clk/at91/clk-generated.c              | 179 ++++++++++++++
 drivers/clk/at91/clk-h32mx.c                  |  57 +++++
 drivers/clk/at91/clk-main.c                   |   1 +
 drivers/clk/at91/clk-master.c                 |   1 +
 drivers/clk/at91/clk-plla.c                   |  55 +++++
 drivers/clk/at91/clk-usb.c                    | 148 ++++++++++++
 drivers/clk/at91/compat.c                     |   1 +
 drivers/clk/at91/pmc.c                        |   4 +-
 drivers/clk/clk-divider.c                     |   1 +
 drivers/clk/clk-gate.c                        |   1 +
 drivers/clk/clk-hsdk-cgu.c                    |   1 +
 drivers/clk/clk-mux.c                         |   1 +
 drivers/clk/clk-uclass.c                      |   1 +
 drivers/clk/clk_boston.c                      |   1 +
 drivers/clk/clk_octeon.c                      |   1 +
 drivers/clk/clk_pic32.c                       |   1 +
 drivers/clk/clk_stm32f.c                      |   1 +
 drivers/clk/clk_stm32h7.c                     |   1 +
 drivers/clk/clk_stm32mp1.c                    |   2 +
 drivers/clk/clk_zynq.c                        |   1 +
 drivers/clk/imx/clk-pll14xx.c                 |   1 +
 drivers/clk/mpc83xx_clk.c                     |   1 +
 drivers/clk/renesas/clk-rcar-gen2.c           |   1 +
 drivers/clk/renesas/clk-rcar-gen3.c           |   1 +
 drivers/clk/rockchip/clk_px30.c               |   1 +
 drivers/clk/rockchip/clk_rk3288.c             |   1 +
 drivers/clk/rockchip/clk_rk3308.c             |   1 +
 drivers/clk/rockchip/clk_rk3368.c             |   1 +
 drivers/clk/rockchip/clk_rk3399.c             |   1 +
 drivers/clk/rockchip/clk_rv1108.c             |   1 +
 drivers/core/acpi.c                           |   1 +
 drivers/core/device-remove.c                  |   1 +
 drivers/core/device.c                         |   2 +
 drivers/core/fdtaddr.c                        |   1 +
 drivers/core/of_access.c                      |   1 +
 drivers/core/of_addr.c                        |   1 +
 drivers/core/ofnode.c                         |   1 +
 drivers/core/read.c                           |   1 +
 drivers/core/regmap.c                         |   1 +
 drivers/core/root.c                           |   2 +
 drivers/core/uclass.c                         |   1 +
 drivers/cpu/bmips_cpu.c                       |   1 +
 drivers/cpu/imx8_cpu.c                        |   1 +
 drivers/cpu/riscv_cpu.c                       |   1 +
 drivers/crypto/rsa_mod_exp/mod_exp_uclass.c   |   1 +
 drivers/ddr/altera/sdram_agilex.c             |   1 +
 drivers/ddr/altera/sdram_arria10.c            |   1 +
 drivers/ddr/altera/sdram_s10.c                |   1 +
 drivers/ddr/altera/sdram_soc64.c              |   1 +
 drivers/ddr/fsl/main.c                        |   1 +
 drivers/ddr/imx/imx8m/helper.c                |   1 +
 drivers/demo/demo-shape.c                     |   1 +
 drivers/demo/demo-uclass.c                    |   1 +
 drivers/dfu/dfu.c                             |   1 +
 drivers/dfu/dfu_mmc.c                         |   1 +
 drivers/dfu/dfu_ram.c                         |   1 +
 drivers/dfu/dfu_tftp.c                        |   1 +
 drivers/dma/bcm6348-iudma.c                   |   1 +
 drivers/dma/dma-uclass.c                      |   1 +
 drivers/dma/lpc32xx_dma.c                     |   1 +
 drivers/dma/sandbox-dma-test.c                |   1 +
 drivers/dma/ti-edma3.c                        |   1 +
 drivers/dma/ti/k3-udma.c                      |   1 +
 drivers/fastboot/fb_command.c                 |   1 +
 drivers/fastboot/fb_getvar.c                  |   1 +
 drivers/fastboot/fb_mmc.c                     |   1 +
 drivers/fastboot/fb_nand.c                    |   1 +
 drivers/fpga/ACEX1K.c                         |   4 +-
 drivers/fpga/socfpga_arria10.c                |   1 +
 drivers/fpga/spartan2.c                       |  24 +-
 drivers/fpga/spartan3.c                       |  24 +-
 drivers/fpga/zynqmppl.c                       |   1 +
 drivers/gpio/74x164_gpio.c                    |   1 +
 drivers/gpio/altera_pio.c                     |   1 +
 drivers/gpio/atmel_pio4.c                     |   1 +
 drivers/gpio/da8xx_gpio.c                     |   1 +
 drivers/gpio/gpio-rcar.c                      |   1 +
 drivers/gpio/gpio-rza1.c                      |   1 +
 drivers/gpio/gpio-uclass.c                    |   1 +
 drivers/gpio/intel_broadwell_gpio.c           |   1 +
 drivers/gpio/intel_ich6_gpio.c                |   1 +
 drivers/gpio/msm_gpio.c                       |   1 +
 drivers/gpio/mxs_gpio.c                       |   1 +
 drivers/gpio/nx_gpio.c                        |   1 +
 drivers/gpio/omap_gpio.c                      |   1 +
 drivers/gpio/pcf8575_gpio.c                   |   1 +
 drivers/gpio/pic32_gpio.c                     |   1 +
 drivers/gpio/s5p_gpio.c                       |   1 +
 drivers/gpio/vybrid_gpio.c                    |   1 +
 drivers/hwspinlock/hwspinlock-uclass.c        |   1 +
 drivers/i2c/at91_i2c.c                        |   1 +
 drivers/i2c/cros_ec_tunnel.c                  |   1 +
 drivers/i2c/exynos_hs_i2c.c                   |   1 +
 drivers/i2c/fsl_i2c.c                         |   1 +
 drivers/i2c/i2c-gpio.c                        |   2 +
 drivers/i2c/i2c_core.c                        |   1 +
 drivers/i2c/ihs_i2c.c                         |   1 +
 drivers/i2c/iproc_i2c.c                       |   2 +
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c    |   1 +
 drivers/i2c/muxes/i2c-mux-gpio.c              |   1 +
 drivers/i2c/muxes/pca954x.c                   |   1 +
 drivers/i2c/mvtwsi.c                          |   1 +
 drivers/i2c/mxc_i2c.c                         |   1 +
 drivers/i2c/nx_i2c.c                          |   1 +
 drivers/i2c/omap24xx_i2c.c                    |   1 +
 drivers/i2c/s3c24x0_i2c.c                     |   1 +
 drivers/i2c/sh_i2c.c                          |   1 +
 drivers/i2c/soft_i2c.c                        |   1 +
 drivers/i2c/stm32f7_i2c.c                     |   1 +
 drivers/i2c/tegra186_bpmp_i2c.c               |   1 +
 drivers/i2c/tegra_i2c.c                       |   1 +
 drivers/input/i8042.c                         |   1 +
 drivers/mailbox/k3-sec-proxy.c                |   1 +
 drivers/misc/atsha204a-i2c.c                  |   1 +
 drivers/misc/fs_loader.c                      |   1 +
 drivers/misc/imx8/fuse.c                      |   1 +
 drivers/misc/imx8/scu.c                       |   1 +
 drivers/misc/imx8/scu_api.c                   |   1 +
 drivers/misc/sifive-otp.c                     |   1 +
 drivers/misc/tegra186_bpmp.c                  |   2 +
 drivers/mmc/atmel_sdhci.c                     |   1 +
 drivers/mmc/ca_dw_mmc.c                       |   1 +
 drivers/mmc/exynos_dw_mmc.c                   |   2 +
 drivers/mmc/fsl_esdhc.c                       |   1 +
 drivers/mmc/fsl_esdhc_imx.c                   |   2 +
 drivers/mmc/ftsdc010_mci.c                    |   1 +
 drivers/mmc/gen_atmel_mci.c                   |   1 +
 drivers/mmc/hi6220_dw_mmc.c                   |   1 +
 drivers/mmc/iproc_sdhci.c                     |   1 +
 drivers/mmc/jz_mmc.c                          |   1 +
 drivers/mmc/mmc.c                             |   1 +
 drivers/mmc/msm_sdhci.c                       |   1 +
 drivers/mmc/mtk-sd.c                          |   1 +
 drivers/mmc/mv_sdhci.c                        |   1 +
 drivers/mmc/mvebu_mmc.c                       |   1 +
 drivers/mmc/omap_hsmmc.c                      |   1 +
 drivers/mmc/pic32_sdhci.c                     |   3 +
 drivers/mmc/renesas-sdhi.c                    |   1 +
 drivers/mmc/s5p_sdhci.c                       |   1 +
 drivers/mmc/sdhci-cadence.c                   |   1 +
 drivers/mmc/sdhci.c                           |   1 +
 drivers/mmc/sh_mmcif.c                        |   1 +
 drivers/mmc/sh_sdhi.c                         |   1 +
 drivers/mmc/socfpga_dw_mmc.c                  |   1 +
 drivers/mmc/sti_sdhci.c                       |   2 +
 drivers/mmc/stm32_sdmmc2.c                    |   1 +
 drivers/mmc/tmio-common.c                     |   1 +
 drivers/mmc/xenon_sdhci.c                     |   2 +
 drivers/mtd/altera_qspi.c                     |   1 +
 drivers/mtd/cfi_flash.c                       |   1 +
 drivers/mtd/mtd_uboot.c                       |   1 +
 drivers/mtd/mtdconcat.c                       |   1 +
 drivers/mtd/mtdcore.c                         |   1 +
 drivers/mtd/mtdpart.c                         |   1 +
 drivers/mtd/nand/bbt.c                        |   1 +
 drivers/mtd/nand/core.c                       |   1 +
 drivers/mtd/nand/raw/arasan_nfc.c             |   1 +
 drivers/mtd/nand/raw/atmel_nand.c             |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c  |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c  |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c  |   1 +
 drivers/mtd/nand/raw/davinci_nand.c           |   1 +
 drivers/mtd/nand/raw/lpc32xx_nand_mlc.c       |   1 +
 drivers/mtd/nand/raw/lpc32xx_nand_slc.c       |   1 +
 drivers/mtd/nand/raw/mxc_nand.c               |   1 +
 drivers/mtd/nand/raw/nand_base.c              |   2 +
 drivers/mtd/nand/raw/nand_bbt.c               |   1 +
 drivers/mtd/nand/raw/nand_bch.c               |   1 +
 drivers/mtd/nand/raw/octeontx_nand.c          |   1 +
 drivers/mtd/nand/raw/pxa3xx_nand.c            |   2 +
 drivers/mtd/nand/raw/stm32_fmc2_nand.c        |   1 +
 drivers/mtd/nand/raw/sunxi_nand.c             |   2 +
 drivers/mtd/nand/raw/tegra_nand.c             |   2 +
 drivers/mtd/nand/raw/vf610_nfc.c              |   1 +
 drivers/mtd/nand/raw/zynq_nand.c              |   1 +
 drivers/mtd/nand/spi/core.c                   |   1 +
 drivers/mtd/onenand/onenand_base.c            |   1 +
 drivers/mtd/onenand/onenand_bbt.c             |   1 +
 drivers/mtd/onenand/onenand_uboot.c           |   1 +
 drivers/mtd/onenand/samsung.c                 |   1 +
 drivers/mtd/pic32_flash.c                     |   1 +
 drivers/mtd/renesas_rpc_hf.c                  |   1 +
 drivers/mtd/spi/sf-uclass.c                   |   1 +
 drivers/mtd/spi/sf_dataflash.c                |   1 +
 drivers/mtd/spi/spi-nor-core.c                |   2 +
 drivers/mtd/spi/spi-nor-tiny.c                |   1 +
 drivers/mtd/ubi/attach.c                      |   1 +
 drivers/mtd/ubi/build.c                       |   1 +
 drivers/mtd/ubi/debug.c                       |   1 +
 drivers/mtd/ubi/debug.h                       |   1 +
 drivers/mtd/ubi/ubi.h                         |   1 +
 drivers/net/ag7xxx.c                          |   1 +
 drivers/net/altera_tse.c                      |   1 +
 drivers/net/bcm-sf2-eth-gmac.c                |   1 +
 drivers/net/bcm-sf2-eth.c                     |   1 +
 drivers/net/bcm6348-eth.c                     |   1 +
 drivers/net/bcm6368-eth.c                     |   1 +
 drivers/net/designware.c                      |   1 +
 drivers/net/dwc_eth_qos.c                     |   2 +
 drivers/net/dwmac_s700.c                      |   1 +
 drivers/net/ep93xx_eth.c                      |   1 +
 drivers/net/fec_mxc.c                         |   1 +
 drivers/net/fsl-mc/dpio/qbman_sys.h           |   1 +
 drivers/net/fsl-mc/mc.c                       |   1 +
 drivers/net/fsl_mcdmafec.c                    |   1 +
 drivers/net/ftgmac100.c                       |   1 +
 drivers/net/ftmac100.c                        |   1 +
 drivers/net/gmac_rockchip.c                   |   1 +
 drivers/net/lan91c96.c                        |   4 +-
 drivers/net/ldpaa_eth/ldpaa_eth.c             |   1 +
 drivers/net/macb.c                            |   1 +
 drivers/net/mcffec.c                          |   1 +
 drivers/net/mcfmii.c                          |   1 +
 drivers/net/mpc8xx_fec.c                      |   1 +
 drivers/net/mscc_eswitch/jr2_switch.c         |   1 +
 drivers/net/mscc_eswitch/ocelot_switch.c      |   1 +
 drivers/net/mscc_eswitch/serval_switch.c      |   1 +
 drivers/net/mscc_eswitch/servalt_switch.c     |   1 +
 drivers/net/mt7628-eth.c                      |   1 +
 drivers/net/mtk_eth.c                         |   1 +
 drivers/net/mvgbe.c                           |   1 +
 drivers/net/mvmdio.c                          |   1 +
 drivers/net/mvneta.c                          |   1 +
 drivers/net/mvpp2.c                           |   1 +
 drivers/net/ne2000_base.c                     |   4 +-
 drivers/net/octeontx/smi.c                    |   1 +
 drivers/net/phy/dp83867.c                     |   1 +
 drivers/net/phy/fixed.c                       |   1 +
 drivers/net/phy/miiphybb.c                    |   1 +
 drivers/net/phy/mscc.c                        |   1 +
 drivers/net/phy/phy.c                         |   1 +
 drivers/net/phy/xilinx_gmii2rgmii.c           |   4 +-
 drivers/net/pic32_eth.c                       |   1 +
 drivers/net/qe/dm_qe_uec.c                    |   1 +
 drivers/net/ravb.c                            |   1 +
 drivers/net/rtl8169.c                         |   1 +
 drivers/net/sandbox-raw.c                     |   1 +
 drivers/net/sandbox.c                         |   1 +
 drivers/net/sh_eth.c                          |   1 +
 drivers/net/smc91111.c                        |   4 +-
 drivers/net/sni_ave.c                         |   2 +
 drivers/net/sun8i_emac.c                      |   1 +
 drivers/net/ti/am65-cpsw-nuss.c               |   1 +
 drivers/net/ti/cpsw-common.c                  |   2 +
 drivers/net/ti/cpsw.c                         |   1 +
 drivers/net/ti/keystone_net.c                 |   2 +
 drivers/net/xilinx_axi_emac.c                 |   2 +
 drivers/net/xilinx_emaclite.c                 |   1 +
 drivers/pci/fsl_pci_init.c                    |   1 +
 drivers/pci/pci-uclass.c                      |   2 +
 drivers/pci/pci.c                             |   1 +
 drivers/pci/pci_mvebu.c                       |   2 +
 drivers/pci/pci_octeontx.c                    |   1 +
 drivers/pci/pci_rom.c                         |   1 +
 drivers/pci/pci_tegra.c                       |   1 +
 drivers/pci/pcie_dw_mvebu.c                   |   1 +
 drivers/pci/pcie_dw_ti.c                      |   1 +
 drivers/pci/pcie_ecam_generic.c               |   2 +
 drivers/pci/pcie_fsl.c                        |   2 +
 drivers/pci/pcie_intel_fpga.c                 |   1 +
 drivers/pci/pcie_layerscape.c                 |   1 +
 drivers/pci/pcie_layerscape_ep.c              |   1 +
 drivers/pci/pcie_layerscape_fixup_common.c    |   1 +
 drivers/pci/pcie_layerscape_gen4.c            |   1 +
 drivers/pci/pcie_layerscape_rc.c              |   1 +
 drivers/pci/pcie_mediatek.c                   |   1 +
 drivers/pci/pcie_phytium.c                    |   2 +
 drivers/pci/pcie_rockchip.c                   |   1 +
 drivers/pci/pcie_xilinx.c                     |   2 +
 drivers/pci_endpoint/pci_ep-uclass.c          |   1 +
 drivers/pci_endpoint/pcie-cadence-ep.c        |   1 +
 drivers/phy/keystone-usb-phy.c                |   1 +
 drivers/phy/marvell/comphy_a3700.c            |   1 +
 drivers/phy/marvell/comphy_core.c             |   1 +
 drivers/phy/marvell/comphy_cp110.c            |   2 +
 drivers/phy/meson-g12a-usb2.c                 |   1 +
 drivers/phy/meson-g12a-usb3-pcie.c            |   1 +
 drivers/phy/meson-gxbb-usb2.c                 |   1 +
 drivers/phy/meson-gxl-usb2.c                  |   1 +
 drivers/phy/meson-gxl-usb3.c                  | 220 ++++++++++++++++++
 drivers/phy/omap-usb2-phy.c                   |   1 +
 drivers/phy/phy-rcar-gen3.c                   |   1 +
 drivers/phy/phy-stm32-usbphyc.c               |   1 +
 drivers/phy/phy-uclass.c                      |   2 +
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c |   1 +
 drivers/phy/rockchip/phy-rockchip-pcie.c      |   1 +
 drivers/phy/rockchip/phy-rockchip-typec.c     |   1 +
 drivers/phy/sti_usb_phy.c                     |   2 +
 drivers/phy/ti-pipe3-phy.c                    |   2 +
 drivers/pinctrl/ath79/pinctrl_ar933x.c        |   1 +
 drivers/pinctrl/ath79/pinctrl_qca953x.c       |   1 +
 drivers/pinctrl/exynos/pinctrl-exynos.c       |   1 +
 drivers/pinctrl/meson/pinctrl-meson.c         |   1 +
 drivers/pinctrl/mtmips/pinctrl-mt7628.c       |   1 +
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c   |   2 +
 drivers/pinctrl/mvebu/pinctrl-mvebu.c         |   1 +
 drivers/pinctrl/nexell/pinctrl-nexell.c       |   1 +
 drivers/pinctrl/nexell/pinctrl-s5pxx18.c      |   1 +
 drivers/pinctrl/nxp/pinctrl-imx.c             |   1 +
 drivers/pinctrl/nxp/pinctrl-imx8.c            |   1 +
 drivers/pinctrl/nxp/pinctrl-mxs.c             |   1 +
 drivers/pinctrl/pinctrl-at91-pio4.c           |   1 +
 drivers/pinctrl/pinctrl-at91.c                |   1 +
 drivers/pinctrl/pinctrl-sti.c                 |   2 +
 drivers/pinctrl/pinctrl-uclass.c              |   1 +
 drivers/pinctrl/pinctrl_pic32.c               |   1 +
 drivers/pinctrl/pinctrl_stm32.c               |   2 +
 drivers/pinctrl/renesas/pfc-r7s72100.c        |   1 +
 .../pinctrl/rockchip/pinctrl-rockchip-core.c  |   1 +
 .../power/domain/imx8-power-domain-legacy.c   |   1 +
 drivers/power/domain/imx8m-power-domain.c     |   1 +
 drivers/power/palmas.c                        |   1 +
 drivers/power/pmic/as3722.c                   |   1 +
 drivers/power/pmic/as3722_gpio.c              |   1 +
 drivers/power/pmic/bd71837.c                  |   2 +
 drivers/power/pmic/da9063.c                   |   1 +
 drivers/power/pmic/fan53555.c                 |   1 +
 drivers/power/pmic/i2c_pmic_emul.c            |   1 +
 drivers/power/pmic/lp873x.c                   |   1 +
 drivers/power/pmic/lp87565.c                  |   1 +
 drivers/power/pmic/max77686.c                 |   1 +
 drivers/power/pmic/max8997.c                  |   1 +
 drivers/power/pmic/max8998.c                  |   1 +
 drivers/power/pmic/mc34708.c                  |   1 +
 drivers/power/pmic/palmas.c                   |   1 +
 drivers/power/pmic/pca9450.c                  |   2 +
 drivers/power/pmic/pfuze100.c                 |   1 +
 drivers/power/pmic/pmic_tps65910_dm.c         |   1 +
 drivers/power/pmic/s2mps11.c                  |   1 +
 drivers/power/pmic/s5m8767.c                  |   1 +
 drivers/power/pmic/sandbox.c                  |   1 +
 drivers/power/pmic/tps65090.c                 |   1 +
 drivers/power/pmic/tps65941.c                 |   1 +
 drivers/power/regulator/bd71837.c             |   1 +
 drivers/power/regulator/fan53555.c            |   1 +
 drivers/power/regulator/fixed.c               |   2 +
 drivers/power/regulator/gpio-regulator.c      |   2 +
 drivers/power/regulator/max77686.c            |   1 +
 drivers/power/regulator/pbias_regulator.c     |   1 +
 drivers/power/regulator/pwm_regulator.c       |   1 +
 drivers/power/regulator/regulator_common.c    |   2 +
 drivers/power/regulator/s2mps11_regulator.c   |   1 +
 drivers/power/regulator/sandbox.c             |   1 +
 drivers/power/regulator/tps65910_regulator.c  |   1 +
 drivers/power/twl4030.c                       |   1 +
 drivers/power/twl6030.c                       |   1 +
 drivers/pwm/pwm-sifive.c                      |   1 +
 drivers/pwm/rk_pwm.c                          |   1 +
 drivers/pwm/sunxi_pwm.c                       |   1 +
 drivers/qe/fdt.c                              |   1 +
 drivers/qe/qe.c                               |   1 +
 drivers/ram/aspeed/sdram_ast2500.c            |   1 +
 drivers/ram/imxrt_sdram.c                     |   1 +
 drivers/ram/mpc83xx_sdram.c                   |   1 +
 drivers/ram/octeon/octeon_ddr.c               |   1 +
 drivers/ram/rockchip/dmc-rk3368.c             |   1 +
 drivers/ram/rockchip/sdram_rk322x.c           |   1 +
 drivers/ram/sandbox_ram.c                     |   1 +
 drivers/ram/sifive/fu540_ddr.c                |   1 +
 drivers/ram/stm32_sdram.c                     |   1 +
 drivers/ram/stm32mp1/stm32mp1_ddr.c           |   1 +
 drivers/ram/stm32mp1/stm32mp1_interactive.c   |   1 +
 drivers/ram/stm32mp1/stm32mp1_ram.c           |   1 +
 drivers/ram/stm32mp1/stm32mp1_tests.c         |   1 +
 drivers/ram/stm32mp1/stm32mp1_tuning.c        |   1 +
 drivers/remoteproc/rproc-elf-loader.c         |   1 +
 drivers/remoteproc/rproc-uclass.c             |   2 +
 drivers/remoteproc/sandbox_testproc.c         |   1 +
 drivers/remoteproc/stm32_copro.c              |   1 +
 drivers/remoteproc/ti_power_proc.c            |   2 +
 drivers/remoteproc/ti_sci_proc.h              |   1 +
 drivers/reset/sti-reset.c                     |   2 +
 drivers/serial/atmel_usart.c                  |   1 +
 drivers/serial/ns16550.c                      |   1 +
 drivers/serial/sandbox.c                      |   1 +
 drivers/serial/serial-uclass.c                |   1 +
 drivers/serial/serial.c                       |   1 +
 drivers/serial/serial_arc.c                   |   1 +
 drivers/serial/serial_linflexuart.c           |   1 +
 drivers/serial/serial_lpuart.c                |   1 +
 drivers/serial/serial_mcf.c                   |   1 +
 drivers/serial/serial_mpc8xx.c                |   1 +
 drivers/serial/serial_msm.c                   |   1 +
 drivers/serial/serial_mtk.c                   |   2 +
 drivers/serial/serial_mxc.c                   |   1 +
 drivers/serial/serial_ns16550.c               |   1 +
 drivers/serial/serial_pic32.c                 |   1 +
 drivers/serial/serial_pl01x.c                 |   1 +
 drivers/serial/serial_pxa.c                   |   1 +
 drivers/serial/serial_s5p.c                   |   1 +
 drivers/serial/serial_sh.c                    |   1 +
 drivers/serial/serial_sifive.c                |   1 +
 drivers/serial/serial_sti_asc.c               |   1 +
 drivers/serial/serial_xen.c                   |   1 +
 drivers/smem/msm_smem.c                       |   1 +
 drivers/soc/ti/k3-navss-ringacc.c             |   1 +
 drivers/sound/ivybridge_sound.c               |   1 +
 drivers/spi/atcspi200_spi.c                   |   1 +
 drivers/spi/atmel_spi.c                       |   1 +
 drivers/spi/bcmstb_spi.c                      |   1 +
 drivers/spi/cf_spi.c                          |   1 +
 drivers/spi/davinci_spi.c                     |   1 +
 drivers/spi/exynos_spi.c                      |   1 +
 drivers/spi/fsl_dspi.c                        |   2 +
 drivers/spi/fsl_espi.c                        |   1 +
 drivers/spi/fsl_qspi.c                        |   1 +
 drivers/spi/mt7621_spi.c                      |   1 +
 drivers/spi/mvebu_a3700_spi.c                 |   1 +
 drivers/spi/mxc_spi.c                         |   2 +
 drivers/spi/omap3_spi.c                       |   1 +
 drivers/spi/pic32_spi.c                       |   1 +
 drivers/spi/pl022_spi.c                       |   2 +
 drivers/spi/renesas_rpc_spi.c                 |   1 +
 drivers/spi/soft_spi.c                        |   1 +
 drivers/spi/spi-sunxi.c                       |   1 +
 drivers/spi/spi-uclass.c                      |   1 +
 drivers/spi/stm32_qspi.c                      |   1 +
 drivers/spi/stm32_spi.c                       |   1 +
 drivers/spi/tegra20_sflash.c                  |   1 +
 drivers/spi/tegra20_slink.c                   |   1 +
 drivers/spi/tegra210_qspi.c                   |   1 +
 drivers/spi/ti_qspi.c                         |   1 +
 drivers/spi/uniphier_spi.c                    |   2 +
 drivers/spi/zynq_qspi.c                       |   1 +
 drivers/spi/zynq_spi.c                        |   1 +
 drivers/spi/zynqmp_gqspi.c                    |   1 +
 drivers/spmi/spmi-msm.c                       |   1 +
 drivers/sysreset/sysreset-uclass.c            |   1 +
 drivers/sysreset/sysreset_mpc83xx.c           |   1 +
 drivers/sysreset/sysreset_sti.c               |   2 +
 drivers/sysreset/sysreset_syscon.c            |   1 +
 drivers/sysreset/sysreset_watchdog.c          |   1 +
 drivers/thermal/imx_scu_thermal.c             |   1 +
 drivers/thermal/imx_tmu.c                     |   1 +
 drivers/timer/andes_plmt_timer.c              |   1 +
 drivers/timer/arc_timer.c                     |   1 +
 drivers/timer/cadence-ttc.c                   |   1 +
 drivers/timer/mpc83xx_timer.c                 |   1 +
 drivers/timer/ostm_timer.c                    |   1 +
 drivers/timer/rockchip_timer.c                |   1 +
 drivers/timer/timer-uclass.c                  |   1 +
 drivers/timer/tsc_timer.c                     |   1 +
 drivers/tpm/tpm2_tis_spi.c                    |   1 +
 drivers/tpm/tpm_atmel_twi.c                   |   1 +
 drivers/tpm/tpm_tis_infineon.c                |   1 +
 drivers/tpm/tpm_tis_sandbox.c                 |   1 +
 drivers/usb/cdns3/gadget.c                    |   1 +
 drivers/usb/common/common.c                   |   2 +
 drivers/usb/dwc3/dwc3-generic.c               |   1 +
 drivers/usb/dwc3/dwc3-meson-g12a.c            |   1 +
 drivers/usb/dwc3/gadget.c                     |   1 +
 drivers/usb/eth/mcs7830.c                     |   1 +
 drivers/usb/gadget/at91_udc.c                 |   1 +
 drivers/usb/gadget/atmel_usba_udc.c           |   1 +
 drivers/usb/gadget/dwc2_udc_otg.c             |   1 +
 drivers/usb/gadget/ether.c                    |   1 +
 drivers/usb/gadget/f_fastboot.c               |   1 +
 drivers/usb/gadget/f_sdp.c                    |   1 +
 drivers/usb/gadget/f_thor.c                   |   1 +
 drivers/usb/gadget/pxa27x_udc.c               |   1 +
 drivers/usb/gadget/udc/udc-uclass.c           |   1 +
 drivers/usb/host/dwc3-octeon-glue.c           |   1 +
 drivers/usb/host/dwc3-sti-glue.c              |   2 +
 drivers/usb/host/ehci-exynos.c                |   1 +
 drivers/usb/host/ehci-fsl.c                   |   1 +
 drivers/usb/host/ehci-marvell.c               |   1 +
 drivers/usb/host/ehci-mx5.c                   |   1 +
 drivers/usb/host/ehci-mx6.c                   |   1 +
 drivers/usb/host/ehci-vf.c                    |   1 +
 drivers/usb/host/xhci-exynos5.c               |   1 +
 drivers/usb/musb-new/da8xx.c                  |   1 +
 drivers/usb/musb-new/mt85xx.c                 |   1 +
 drivers/usb/musb-new/musb_core.c              |   1 +
 drivers/usb/musb-new/musb_debug.h             |   1 +
 drivers/usb/musb-new/musb_dsps.c              |   1 +
 drivers/usb/musb-new/musb_gadget.c            |   1 +
 drivers/usb/musb-new/musb_gadget_ep0.c        |   1 +
 drivers/usb/musb-new/omap2430.c               |   2 +
 drivers/usb/musb-new/pic32.c                  |   1 +
 drivers/usb/musb-new/sunxi.c                  |   1 +
 drivers/usb/musb-new/ti-musb.c                |   2 +
 drivers/usb/phy/rockchip_usb2_phy.c           |   1 +
 drivers/video/am335x-fb.c                     |   2 +
 drivers/video/atmel_hlcdfb.c                  |   1 +
 drivers/video/atmel_lcdfb.c                   |   1 +
 drivers/video/bridge/ps862x.c                 |   1 +
 drivers/video/broadwell_igd.c                 |   1 +
 drivers/video/cfb_console.c                   |   1 +
 drivers/video/da8xx-fb.c                      |   1 +
 drivers/video/exynos/exynos_dp.c              |   1 +
 drivers/video/exynos/exynos_fb.c              |   1 +
 drivers/video/exynos/exynos_mipi_dsi.c        |   1 +
 drivers/video/fsl_dcu_fb.c                    |   1 +
 drivers/video/ivybridge_igd.c                 |   1 +
 drivers/video/mali_dp.c                       |   1 +
 drivers/video/meson/meson_dw_hdmi.c           |   1 +
 drivers/video/meson/meson_vclk.c              |   1 +
 drivers/video/meson/meson_vpu.c               |   1 +
 drivers/video/mxsfb.c                         |   1 +
 drivers/video/rockchip/rk3288_vop.c           |   1 +
 drivers/video/rockchip/rk3399_vop.c           |   1 +
 drivers/video/rockchip/rk_lvds.c              |   1 +
 drivers/video/rockchip/rk_mipi.c              |   1 +
 drivers/video/rockchip/rk_vop.c               |   1 +
 drivers/video/sandbox_sdl.c                   |   1 +
 drivers/video/simplefb.c                      |   1 +
 drivers/video/stm32/stm32_dsi.c               |   2 +
 drivers/video/stm32/stm32_ltdc.c              |   2 +
 drivers/video/sunxi/sunxi_lcd.c               |   1 +
 drivers/video/tegra.c                         |   1 +
 drivers/video/tegra124/sor.c                  |   1 +
 drivers/video/video-uclass.c                  |   1 +
 drivers/video/videomodes.c                    |   1 +
 drivers/watchdog/armada-37xx-wdt.c            |   1 +
 drivers/watchdog/at91sam9_wdt.c               |   1 +
 drivers/watchdog/mt7621_wdt.c                 |   1 +
 drivers/watchdog/octeontx_wdt.c               |   1 +
 drivers/watchdog/orion_wdt.c                  |   1 +
 drivers/watchdog/sbsa_gwdt.c                  |   1 +
 drivers/watchdog/sp805_wdt.c                  |   1 +
 drivers/watchdog/stm32mp_wdt.c                |   1 +
 drivers/watchdog/wdt-uclass.c                 |   1 +
 drivers/xen/gnttab.c                          |   2 +
 drivers/xen/pvblock.c                         |   1 +
 env/callback.c                                |   1 +
 env/common.c                                  |   2 +
 env/eeprom.c                                  |   1 +
 env/env.c                                     |   1 +
 env/ext4.c                                    |   1 +
 env/flash.c                                   |   1 +
 env/mmc.c                                     |   1 +
 env/nand.c                                    |   1 +
 env/nowhere.c                                 |   1 +
 env/nvram.c                                   |   1 +
 env/onenand.c                                 |   1 +
 env/remote.c                                  |   1 +
 env/sf.c                                      |   1 +
 env/ubi.c                                     |   1 +
 examples/standalone/stubs.c                   |   1 +
 fs/ext4/ext4_journal.c                        |   1 +
 fs/ext4/ext4_journal.h                        |   1 +
 fs/ext4/ext4fs.c                              |   2 +-
 fs/fs.c                                       |   2 +
 fs/reiserfs/reiserfs_private.h                |   2 +
 fs/ubifs/debug.c                              |   1 +
 fs/ubifs/debug.h                              |   1 +
 fs/ubifs/lpt_commit.c                         |   1 +
 fs/ubifs/super.c                              |   1 +
 fs/ubifs/ubifs.c                              |   1 +
 fs/ubifs/ubifs.h                              |   1 +
 fs/yaffs2/yaffs_uboot_glue.c                  |   1 +
 include/audio_codec.h                         |   2 +
 include/axi.h                                 |   2 +
 include/backlight.h                           |   2 +
 include/board.h                               |   3 +
 include/bootcount.h                           |   1 +
 include/cache.h                               |   2 +
 include/common.h                              |   3 -
 include/cpu.h                                 |   2 +
 include/crypto/pkcs7_parser.h                 |   1 +
 include/display_options.h                     |   1 +
 include/dm/device-internal.h                  |   1 +
 include/dm/device_compat.h                    |   1 +
 include/dm/read.h                             |   1 +
 include/dm/root.h                             |   1 +
 include/dma.h                                 |   2 +
 include/exports.h                             |   1 +
 include/ext_common.h                          |   2 +
 include/fsl_qe.h                              |   2 +
 include/i2c.h                                 |   1 +
 include/image-sparse.h                        |   1 +
 include/init.h                                |   7 +-
 include/initcall.h                            |   1 +
 include/led.h                                 |   2 +
 include/libata.h                              |   2 -
 include/linux/soc/ti/cppi5.h                  |   1 +
 include/misc.h                                |   2 +
 include/netdev.h                              |   2 +
 include/pci.h                                 |   2 -
 include/power/as3722.h                        |   2 +
 include/power/regulator.h                     |   2 +
 include/pwm.h                                 |   2 +
 include/ram.h                                 |   2 +
 include/scsi.h                                |   2 +
 include/soc.h                                 |   2 +
 include/sysreset.h                            |   2 +
 include/tee.h                                 |   2 +
 include/tlv_eeprom.h                          |   2 +
 include/tpm-common.h                          |   2 +
 include/tpm-v1.h                              |   2 +
 include/tpm-v2.h                              |   2 +
 include/tps6586x.h                            |   2 +
 include/ufs.h                                 |   3 +
 lib/acpi/acpi_table.c                         |   1 +
 lib/aes.c                                     |   1 +
 lib/asm-offsets.c                             |   1 +
 lib/asn1_decoder.c                            |   1 +
 lib/bch.c                                     |   1 +
 lib/crypto/asymmetric_type.c                  |   1 +
 lib/crypto/pkcs7_parser.c                     |   1 +
 lib/crypto/pkcs7_verify.c                     |   1 +
 lib/crypto/public_key.c                       |   1 +
 lib/crypto/rsa_helper.c                       |   1 +
 lib/crypto/x509_cert_parser.c                 |   1 +
 lib/crypto/x509_public_key.c                  |   1 +
 lib/display_options.c                         |   1 +
 lib/efi/efi_app.c                             |   1 +
 lib/efi/efi_info.c                            |   1 +
 lib/efi_loader/efi_boottime.c                 |   1 +
 lib/efi_loader/efi_gop.c                      |   1 +
 lib/efi_loader/efi_memory.c                   |   1 +
 lib/efi_loader/efi_rng.c                      |   1 +
 lib/efi_loader/efi_runtime.c                  |   1 +
 lib/fdtdec.c                                  |   2 +
 lib/list_sort.c                               |   1 +
 lib/optee/optee.c                             |   1 +
 lib/time.c                                    |   1 +
 lib/trace.c                                   |   1 +
 lib/zlib/zlib.c                               |   1 +
 net/eth-uclass.c                              |   1 +
 net/eth_legacy.c                              |   1 +
 net/fastboot.c                                |   1 +
 net/nfs.c                                     |   1 +
 net/tftp.c                                    |   2 +
 post/drivers/memory.c                         |   1 +
 post/drivers/rtc.c                            |   4 +-
 post/post.c                                   |   1 +
 test/bloblist.c                               |   1 +
 test/dm/acpi.c                                |   1 +
 test/dm/blk.c                                 |   1 +
 test/dm/bus.c                                 |   1 +
 test/dm/core.c                                |   1 +
 test/dm/fdtdec.c                              |   1 +
 test/dm/mux-emul.c                            |   1 +
 test/dm/ram.c                                 |   1 +
 test/dm/test-fdt.c                            |   1 +
 test/dm/test-main.c                           |   1 +
 test/lib/test_print.c                         |   1 +
 test/log/cont_test.c                          |   1 +
 test/log/nolog_test.c                         |   1 +
 test/log/syslog_test.c                        |   1 +
 test/log/syslog_test_ndebug.c                 |   1 +
 test/ut.c                                     |   1 +
 1638 files changed, 2642 insertions(+), 68 deletions(-)
 create mode 100644 board/freescale/p1023rdb/p1023rdb.c
 create mode 100644 drivers/clk/at91/clk-generated.c
 create mode 100644 drivers/clk/at91/clk-h32mx.c
 create mode 100644 drivers/clk/at91/clk-plla.c
 create mode 100644 drivers/clk/at91/clk-usb.c
 create mode 100644 drivers/phy/meson-gxl-usb3.c

-- 
2.29.1.341.ge80a0c044ae-goog

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

* [PATCH 1/4] common: Drop asm/global_data.h from common header
  2020-10-31  3:38 [PATCH 0/4] common: Drop remaining includes in common.h (part A) Simon Glass
@ 2020-10-31  3:38 ` Simon Glass
  2021-02-03 14:19   ` [PATCHv2] " Tom Rini
  2020-10-31  3:38 ` [PATCH 2/4] common: Drop display_options.h " Simon Glass
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Simon Glass @ 2020-10-31  3:38 UTC (permalink / raw)
  To: u-boot

Move this out of the common header and include it only where needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arc/lib/bootm.c                          |   1 +
 arch/arc/lib/cache.c                          |   1 +
 arch/arc/lib/cpu.c                            |   1 +
 arch/arc/lib/relocate.c                       |   1 +
 arch/arm/cpu/arm1136/mx35/generic.c           |   1 +
 arch/arm/cpu/arm926ejs/armada100/dram.c       |   1 +
 arch/arm/cpu/arm926ejs/armada100/timer.c      |   1 +
 arch/arm/cpu/arm926ejs/mx25/generic.c         |   1 +
 arch/arm/cpu/arm926ejs/mx27/timer.c           |   1 +
 arch/arm/cpu/arm926ejs/mxs/mxs.c              |   1 +
 arch/arm/cpu/arm926ejs/mxs/spl_boot.c         |   1 +
 arch/arm/cpu/arm926ejs/mxs/timer.c            |   1 +
 arch/arm/cpu/arm926ejs/spear/spr_misc.c       |   1 +
 arch/arm/cpu/arm926ejs/spear/timer.c          |   1 +
 arch/arm/cpu/armv7/arch_timer.c               |   1 +
 arch/arm/cpu/armv7/ls102xa/clock.c            |   1 +
 arch/arm/cpu/armv7/ls102xa/cpu.c              |   1 +
 arch/arm/cpu/armv7/ls102xa/fdt.c              |   1 +
 arch/arm/cpu/armv7/ls102xa/timer.c            |   1 +
 arch/arm/cpu/armv7/s5p-common/cpu_info.c      |   1 +
 arch/arm/cpu/armv7/s5p-common/timer.c         |   1 +
 arch/arm/cpu/armv7/s5p4418/cpu.c              |   1 +
 arch/arm/cpu/armv7/stv0991/timer.c            |   1 +
 arch/arm/cpu/armv7/sunxi/timer.c              |   1 +
 arch/arm/cpu/armv7/vf610/generic.c            |   1 +
 arch/arm/cpu/armv7/vf610/timer.c              |   1 +
 arch/arm/cpu/armv7m/systick-timer.c           |   1 +
 arch/arm/cpu/armv8/cache_v8.c                 |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/cpu.c       |   1 +
 .../armv8/fsl-layerscape/fsl_lsch2_speed.c    |   1 +
 .../armv8/fsl-layerscape/fsl_lsch3_speed.c    |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/mp.c        |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/ppa.c       |   1 +
 arch/arm/cpu/armv8/fsl-layerscape/spl.c       |   1 +
 arch/arm/cpu/armv8/generic_timer.c            |   1 +
 arch/arm/cpu/armv8/s32v234/generic.c          |   1 +
 arch/arm/cpu/armv8/sec_firmware.c             |   1 +
 arch/arm/include/asm/arch-rockchip/clock.h    |   2 +
 arch/arm/include/asm/arch-tegra/clock.h       |   2 +
 arch/arm/include/asm/arch-tegra/tegra_i2c.h   |   2 +
 arch/arm/include/asm/global_data.h            |   3 +
 arch/arm/include/asm/mach-imx/video.h         |   4 +-
 arch/arm/include/asm/secure.h                 |   1 +
 arch/arm/include/asm/spl.h                    |   1 +
 arch/arm/include/asm/string.h                 |   2 -
 arch/arm/include/asm/ti-common/sys_proto.h    |   2 +
 arch/arm/lib/bdinfo.c                         |   1 +
 arch/arm/lib/bootm-fdt.c                      |   1 +
 arch/arm/lib/bootm.c                          |   1 +
 arch/arm/lib/cache-cp15.c                     |   1 +
 arch/arm/lib/cache.c                          |   1 +
 arch/arm/lib/image.c                          |   1 +
 arch/arm/lib/interrupts.c                     |   1 +
 arch/arm/lib/interrupts_64.c                  |   1 +
 arch/arm/lib/spl.c                            |   1 +
 arch/arm/lib/stack.c                          |   1 +
 arch/arm/mach-aspeed/ast2500/board_common.c   |   1 +
 arch/arm/mach-at91/arm920t/clock.c            |   1 +
 arch/arm/mach-at91/arm920t/timer.c            |   1 +
 arch/arm/mach-at91/arm926ejs/clock.c          |   1 +
 arch/arm/mach-at91/arm926ejs/timer.c          |   1 +
 arch/arm/mach-at91/armv7/clock.c              |   1 +
 arch/arm/mach-at91/armv7/timer.c              |   1 +
 arch/arm/mach-at91/spl_at91.c                 |   1 +
 arch/arm/mach-bcm283x/init.c                  |   1 +
 arch/arm/mach-davinci/cpu.c                   |   1 +
 arch/arm/mach-davinci/misc.c                  |   1 +
 arch/arm/mach-davinci/timer.c                 |   1 +
 arch/arm/mach-exynos/spl_boot.c               |   1 +
 arch/arm/mach-imx/imx8/ahab.c                 |   1 +
 arch/arm/mach-imx/imx8/clock.c                |   1 +
 arch/arm/mach-imx/imx8/cpu.c                  |   1 +
 arch/arm/mach-imx/imx8/fdt.c                  |   1 +
 arch/arm/mach-imx/imx8/iomux.c                |   1 +
 arch/arm/mach-imx/imx8/snvs_security_sc.c     |   1 +
 arch/arm/mach-imx/imx8m/clock_imx8mm.c        |   1 +
 arch/arm/mach-imx/imx8m/soc.c                 |   1 +
 arch/arm/mach-imx/misc.c                      |   1 +
 arch/arm/mach-imx/mx5/mx53_dram.c             |   1 +
 arch/arm/mach-imx/mx6/litesom.c               |   1 +
 arch/arm/mach-imx/mx6/opos6ul.c               |   1 +
 arch/arm/mach-imx/mx7/clock.c                 |   1 +
 arch/arm/mach-imx/mx7ulp/clock.c              |   1 +
 arch/arm/mach-imx/speed.c                     |   1 +
 arch/arm/mach-imx/spl.c                       |   1 +
 arch/arm/mach-imx/spl_imx_romapi.c            |   1 +
 arch/arm/mach-imx/syscounter.c                |   1 +
 arch/arm/mach-k3/am6_init.c                   |   1 +
 arch/arm/mach-k3/common.c                     |   1 +
 arch/arm/mach-k3/sysfw-loader.c               |   1 +
 arch/arm/mach-mediatek/mt7623/init.c          |   1 +
 arch/arm/mach-mediatek/mt7629/init.c          |   1 +
 arch/arm/mach-mediatek/mt8512/init.c          |   1 +
 arch/arm/mach-mediatek/mt8516/init.c          |   1 +
 arch/arm/mach-mediatek/mt8518/init.c          |   1 +
 arch/arm/mach-meson/board-axg.c               |   1 +
 arch/arm/mach-meson/board-common.c            |   1 +
 arch/arm/mach-meson/board-g12a.c              |   1 +
 arch/arm/mach-meson/board-gx.c                |   1 +
 arch/arm/mach-meson/board-info.c              |   1 +
 arch/arm/mach-meson/sm.c                      |   1 +
 arch/arm/mach-mvebu/arm64-common.c            |   1 +
 arch/arm/mach-mvebu/armada3700/cpu.c          |   1 +
 arch/arm/mach-mvebu/armada8k/dram.c           |   1 +
 arch/arm/mach-mvebu/dram.c                    |   1 +
 arch/arm/mach-mvebu/spl.c                     |   1 +
 arch/arm/mach-nexell/cmd_boot_linux.c         |   1 +
 arch/arm/mach-octeontx/cpu.c                  |   1 +
 arch/arm/mach-octeontx2/cpu.c                 |   1 +
 arch/arm/mach-omap2/am33xx/board.c            |   1 +
 arch/arm/mach-omap2/boot-common.c             |   1 +
 arch/arm/mach-omap2/hwinit-common.c           |   1 +
 arch/arm/mach-omap2/omap-cache.c              |   1 +
 arch/arm/mach-omap2/omap3/am35x_musb.c        |   1 +
 arch/arm/mach-omap2/omap3/emif4.c             |   1 +
 arch/arm/mach-omap2/omap3/sdrc.c              |   1 +
 arch/arm/mach-omap2/timer.c                   |   1 +
 arch/arm/mach-orion5x/dram.c                  |   1 +
 arch/arm/mach-orion5x/timer.c                 |   1 +
 arch/arm/mach-owl/soc.c                       |   1 +
 arch/arm/mach-rmobile/memmap-gen3.c           |   1 +
 arch/arm/mach-rockchip/board.c                |   1 +
 arch/arm/mach-rockchip/rk3036-board-spl.c     |   1 +
 arch/arm/mach-rockchip/rk3036/rk3036.c        |   1 +
 arch/arm/mach-rockchip/rk3128/rk3128.c        |   1 +
 arch/arm/mach-rockchip/rk3188/rk3188.c        |   1 +
 arch/arm/mach-rockchip/rk3288/rk3288.c        |   1 +
 arch/arm/mach-rockchip/rk3308/rk3308.c        |   1 +
 arch/arm/mach-rockchip/rk3328/rk3328.c        |   1 +
 arch/arm/mach-rockchip/rk3368/rk3368.c        |   1 +
 arch/arm/mach-rockchip/rk3399/rk3399.c        |   1 +
 arch/arm/mach-rockchip/sdram.c                |   1 +
 arch/arm/mach-rockchip/spl-boot-order.c       |   1 +
 arch/arm/mach-rockchip/spl.c                  |   1 +
 arch/arm/mach-snapdragon/pinctrl-snapdragon.h |   2 +-
 arch/arm/mach-socfpga/board.c                 |   1 +
 arch/arm/mach-socfpga/clock_manager.c         |   1 +
 arch/arm/mach-socfpga/clock_manager_agilex.c  |   1 +
 arch/arm/mach-socfpga/clock_manager_s10.c     |   1 +
 arch/arm/mach-socfpga/mailbox_s10.c           |   1 +
 arch/arm/mach-socfpga/misc.c                  |   1 +
 arch/arm/mach-socfpga/misc_gen5.c             |   1 +
 arch/arm/mach-socfpga/misc_s10.c              |   1 +
 arch/arm/mach-socfpga/mmu-arm64_s10.c         |   1 +
 arch/arm/mach-socfpga/reset_manager_arria10.c |   1 +
 arch/arm/mach-socfpga/reset_manager_s10.c     |   1 +
 arch/arm/mach-socfpga/spl_a10.c               |   1 +
 arch/arm/mach-socfpga/spl_agilex.c            |   1 +
 arch/arm/mach-socfpga/spl_gen5.c              |   1 +
 arch/arm/mach-socfpga/spl_s10.c               |   1 +
 arch/arm/mach-socfpga/system_manager_s10.c    |   1 +
 arch/arm/mach-stm32mp/boot_params.c           |   1 +
 .../mach-stm32mp/cmd_stm32prog/stm32prog.c    |   1 +
 .../cmd_stm32prog/stm32prog_serial.c          |   1 +
 arch/arm/mach-stm32mp/cpu.c                   |   1 +
 arch/arm/mach-stm32mp/dram_init.c             |   1 +
 arch/arm/mach-stm32mp/fdt.c                   |   1 +
 arch/arm/mach-stm32mp/spl.c                   |   1 +
 arch/arm/mach-tegra/board.c                   |   1 +
 arch/arm/mach-tegra/board2.c                  |   1 +
 arch/arm/mach-tegra/cboot.c                   |   1 +
 arch/arm/mach-tegra/emc.c                     |   1 +
 arch/arm/mach-tegra/pmc.c                     |   1 +
 arch/arm/mach-tegra/tegra124/xusb-padctl.c    |   1 +
 arch/arm/mach-tegra/tegra20/warmboot.c        |   1 +
 arch/arm/mach-tegra/tegra210/xusb-padctl.c    |   1 +
 arch/arm/mach-uniphier/board_late_init.c      |   1 +
 arch/arm/mach-versal/clk.c                    |   1 +
 arch/arm/mach-versal/cpu.c                    |   1 +
 arch/arm/mach-versal/mp.c                     |   1 +
 arch/arm/mach-zynq/clk.c                      |   1 +
 arch/arm/mach-zynq/timer.c                    |   1 +
 arch/arm/mach-zynqmp-r5/cpu.c                 |   1 +
 arch/arm/mach-zynqmp/clk.c                    |   1 +
 arch/arm/mach-zynqmp/cpu.c                    |   1 +
 arch/m68k/cpu/mcf5227x/cpu.c                  |   1 +
 arch/m68k/cpu/mcf5227x/speed.c                |   1 +
 arch/m68k/cpu/mcf523x/cpu.c                   |   1 +
 arch/m68k/cpu/mcf523x/speed.c                 |   1 +
 arch/m68k/cpu/mcf52x2/cpu.c                   |   1 +
 arch/m68k/cpu/mcf52x2/speed.c                 |   1 +
 arch/m68k/cpu/mcf530x/speed.c                 |   1 +
 arch/m68k/cpu/mcf532x/cpu.c                   |   1 +
 arch/m68k/cpu/mcf532x/speed.c                 |   1 +
 arch/m68k/cpu/mcf5445x/cpu.c                  |   1 +
 arch/m68k/cpu/mcf5445x/speed.c                |   1 +
 arch/m68k/cpu/mcf547x_8x/cpu.c                |   1 +
 arch/m68k/cpu/mcf547x_8x/slicetimer.c         |   1 +
 arch/m68k/cpu/mcf547x_8x/speed.c              |   1 +
 arch/m68k/include/asm/immap.h                 |   1 +
 arch/m68k/lib/bdinfo.c                        |   1 +
 arch/m68k/lib/bootm.c                         |   1 +
 arch/m68k/lib/fec.c                           |   1 +
 arch/m68k/lib/time.c                          |   1 +
 arch/microblaze/cpu/interrupts.c              |   1 +
 arch/microblaze/cpu/timer.c                   |   1 +
 arch/microblaze/lib/bootm.c                   |   1 +
 arch/mips/include/asm/io.h                    |   1 +
 arch/mips/include/asm/spl.h                   |   1 +
 arch/mips/lib/boot.c                          |   1 +
 arch/mips/lib/bootm.c                         |   1 +
 arch/mips/lib/cache.c                         |   1 +
 arch/mips/lib/reloc.c                         |   1 +
 arch/mips/lib/stack.c                         |   1 +
 arch/mips/lib/traps.c                         |   1 +
 arch/mips/mach-ath79/ar933x/clk.c             |   1 +
 arch/mips/mach-ath79/ar934x/clk.c             |   1 +
 arch/mips/mach-ath79/ar934x/ddr.c             |   1 +
 arch/mips/mach-ath79/cpu.c                    |   1 +
 arch/mips/mach-ath79/dram.c                   |   1 +
 arch/mips/mach-ath79/include/mach/ath79.h     |   1 +
 arch/mips/mach-ath79/qca953x/clk.c            |   1 +
 arch/mips/mach-ath79/qca956x/clk.c            |   1 +
 arch/mips/mach-ath79/qca956x/ddr.c            |   1 +
 arch/mips/mach-bmips/dram.c                   |   1 +
 arch/mips/mach-jz47xx/jz4780/jz4780.c         |   1 +
 arch/mips/mach-mscc/cpu.c                     |   1 +
 arch/mips/mach-mscc/dram.c                    |   1 +
 arch/mips/mach-mtmips/cpu.c                   |   1 +
 arch/mips/mach-mtmips/ddr_cal.c               |   1 +
 arch/mips/mach-mtmips/mt7628/ddr.c            |   1 +
 arch/mips/mach-mtmips/mt7628/init.c           |   1 +
 arch/mips/mach-mtmips/spl.c                   |   2 +-
 arch/mips/mach-octeon/bootoctlinux.c          |   1 +
 arch/mips/mach-pic32/cpu.c                    |   1 +
 arch/nds32/lib/bootm.c                        |   1 +
 arch/nios2/cpu/cpu.c                          |   1 +
 arch/nios2/include/asm/io.h                   |   3 +
 arch/nios2/lib/cache.c                        |   1 +
 arch/powerpc/cpu/mpc83xx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc83xx/cpu_init.c           |   1 +
 arch/powerpc/cpu/mpc83xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc83xx/interrupts.c         |   1 +
 arch/powerpc/cpu/mpc83xx/pci.c                |   1 +
 arch/powerpc/cpu/mpc83xx/pcie.c               |   1 +
 arch/powerpc/cpu/mpc83xx/spd_sdram.c          |   1 +
 arch/powerpc/cpu/mpc83xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc83xx/spl_minimal.c        |   1 +
 arch/powerpc/cpu/mpc83xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc85xx/commproc.c           |   1 +
 arch/powerpc/cpu/mpc85xx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc85xx/cpu_init_early.c     |   1 +
 arch/powerpc/cpu/mpc85xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc85xx/mp.c                 |   1 +
 arch/powerpc/cpu/mpc85xx/serial_scc.c         |   1 +
 arch/powerpc/cpu/mpc85xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc85xx/tlb.c                |   1 +
 arch/powerpc/cpu/mpc85xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc86xx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc86xx/cpu_init.c           |   1 +
 arch/powerpc/cpu/mpc86xx/fdt.c                |   1 +
 arch/powerpc/cpu/mpc86xx/mp.c                 |   1 +
 arch/powerpc/cpu/mpc86xx/speed.c              |   1 +
 arch/powerpc/cpu/mpc86xx/traps.c              |   1 +
 arch/powerpc/cpu/mpc8xx/cpu.c                 |   1 +
 arch/powerpc/cpu/mpc8xx/fdt.c                 |   1 +
 arch/powerpc/cpu/mpc8xx/immap.c               |   1 +
 arch/powerpc/cpu/mpc8xx/speed.c               |   1 +
 arch/powerpc/cpu/mpc8xxx/cpu.c                |   1 +
 arch/powerpc/cpu/mpc8xxx/law.c                |   1 +
 arch/powerpc/cpu/mpc8xxx/pamu_table.c         |   1 +
 arch/powerpc/lib/bat_rw.c                     |   1 +
 arch/powerpc/lib/bdinfo.c                     |   1 +
 arch/powerpc/lib/bootm.c                      |   1 +
 arch/powerpc/lib/stack.c                      |   1 +
 arch/riscv/cpu/fu540/cache.c                  |   1 +
 arch/riscv/cpu/fu540/dram.c                   |   1 +
 arch/riscv/cpu/generic/dram.c                 |   1 +
 arch/riscv/lib/andes_plic.c                   |   1 +
 arch/riscv/lib/asm-offsets.c                  |   1 +
 arch/riscv/lib/bootm.c                        |   1 +
 arch/riscv/lib/fdt_fixup.c                    |   1 +
 arch/riscv/lib/image.c                        |   1 +
 arch/riscv/lib/interrupts.c                   |   1 +
 arch/riscv/lib/sifive_clint.c                 |   1 +
 arch/riscv/lib/smp.c                          |   1 +
 arch/riscv/lib/spl.c                          |   1 +
 arch/sandbox/cpu/cpu.c                        |   1 +
 arch/sandbox/cpu/spl.c                        |   1 +
 arch/sandbox/cpu/start.c                      |   1 +
 arch/sh/lib/board.c                           |   1 +
 arch/x86/cpu/apollolake/cpu_spl.c             |   1 +
 arch/x86/cpu/apollolake/fsp_s.c               |   1 +
 arch/x86/cpu/baytrail/fsp_configs.c           |   1 +
 arch/x86/cpu/braswell/fsp_configs.c           |   1 +
 arch/x86/cpu/broadwell/cpu.c                  |   1 +
 arch/x86/cpu/broadwell/cpu_from_spl.c         |   1 +
 arch/x86/cpu/broadwell/cpu_full.c             |   1 +
 arch/x86/cpu/broadwell/lpc.c                  |   1 +
 arch/x86/cpu/broadwell/northbridge.c          |   1 +
 arch/x86/cpu/broadwell/pch.c                  |   1 +
 arch/x86/cpu/broadwell/pinctrl_broadwell.c    |   1 +
 arch/x86/cpu/broadwell/sata.c                 |   1 +
 arch/x86/cpu/broadwell/sdram.c                |   1 +
 arch/x86/cpu/coreboot/coreboot.c              |   1 +
 arch/x86/cpu/coreboot/sdram.c                 |   1 +
 arch/x86/cpu/coreboot/tables.c                |   1 +
 arch/x86/cpu/cpu.c                            |   1 +
 arch/x86/cpu/cpu_x86.c                        |   1 +
 arch/x86/cpu/efi/payload.c                    |   1 +
 arch/x86/cpu/efi/sdram.c                      |   1 +
 arch/x86/cpu/i386/cpu.c                       |   1 +
 arch/x86/cpu/i386/interrupt.c                 |   1 +
 arch/x86/cpu/intel_common/acpi.c              |   1 +
 arch/x86/cpu/intel_common/cpu.c               |   1 +
 arch/x86/cpu/intel_common/cpu_from_spl.c      |   1 +
 arch/x86/cpu/intel_common/itss.c              |   1 +
 arch/x86/cpu/intel_common/lpc.c               |   1 +
 arch/x86/cpu/intel_common/microcode.c         |   1 +
 arch/x86/cpu/intel_common/mrc.c               |   1 +
 arch/x86/cpu/irq.c                            |   1 +
 arch/x86/cpu/ivybridge/bd82x6x.c              |   1 +
 arch/x86/cpu/ivybridge/cpu.c                  |   1 +
 arch/x86/cpu/ivybridge/fsp_configs.c          |   1 +
 arch/x86/cpu/ivybridge/lpc.c                  |   1 +
 arch/x86/cpu/ivybridge/model_206ax.c          |   1 +
 arch/x86/cpu/ivybridge/northbridge.c          |   1 +
 arch/x86/cpu/ivybridge/sata.c                 |   1 +
 arch/x86/cpu/ivybridge/sdram_nop.c            |   1 +
 arch/x86/cpu/mp_init.c                        |   1 +
 arch/x86/cpu/mtrr.c                           |   1 +
 arch/x86/cpu/qemu/dram.c                      |   1 +
 arch/x86/cpu/qemu/e820.c                      |   1 +
 arch/x86/cpu/quark/acpi.c                     |   1 +
 arch/x86/cpu/quark/dram.c                     |   1 +
 arch/x86/cpu/slimbootloader/sdram.c           |   1 +
 arch/x86/cpu/slimbootloader/serial.c          |   1 +
 arch/x86/cpu/slimbootloader/slimbootloader.c  |   1 +
 arch/x86/cpu/turbo.c                          |   1 +
 arch/x86/cpu/x86_64/cpu.c                     |   1 +
 arch/x86/include/asm/cpu_common.h             |   1 +
 arch/x86/include/asm/fast_spi.h               |   4 +-
 arch/x86/include/asm/io.h                     |   2 +-
 arch/x86/include/asm/mp.h                     |   2 +
 arch/x86/include/asm/mrccache.h               |   2 +
 arch/x86/include/asm/u-boot-x86.h             |   1 +
 arch/x86/lib/acpi_s3.c                        |   1 +
 arch/x86/lib/acpi_table.c                     |   1 +
 arch/x86/lib/asm-offsets.c                    |   1 +
 arch/x86/lib/bios.c                           |   1 +
 arch/x86/lib/bootm.c                          |   1 +
 arch/x86/lib/cmd_boot.c                       |   1 +
 arch/x86/lib/coreboot_table.c                 |   1 +
 arch/x86/lib/e820.c                           |   1 +
 arch/x86/lib/fsp/fsp_common.c                 |   1 +
 arch/x86/lib/fsp/fsp_dram.c                   |   1 +
 arch/x86/lib/fsp/fsp_graphics.c               |   1 +
 arch/x86/lib/fsp1/fsp_common.c                |   1 +
 arch/x86/lib/fsp1/fsp_dram.c                  |   1 +
 arch/x86/lib/fsp2/fsp_dram.c                  |   1 +
 arch/x86/lib/fsp2/fsp_meminit.c               |   1 +
 arch/x86/lib/fsp2/fsp_silicon_init.c          |   1 +
 arch/x86/lib/fsp2/fsp_support.c               |   1 +
 arch/x86/lib/init_helpers.c                   |   1 +
 arch/x86/lib/mpspec.c                         |   1 +
 arch/x86/lib/mrccache.c                       |   1 +
 arch/x86/lib/physmem.c                        |   1 +
 arch/x86/lib/pinctrl_ich6.c                   |   1 +
 arch/x86/lib/pirq_routing.c                   |   1 +
 arch/x86/lib/relocate.c                       |   1 +
 arch/x86/lib/spl.c                            |   1 +
 arch/x86/lib/tables.c                         |   1 +
 arch/x86/lib/tpl.c                            |   1 +
 arch/xtensa/lib/bootm.c                       |   1 +
 board/AndesTech/adp-ae3xx/adp-ae3xx.c         |   1 +
 board/AndesTech/adp-ag101p/adp-ag101p.c       |   1 +
 board/AndesTech/ax25-ae350/ax25-ae350.c       |   1 +
 board/Arcturus/ucp1020/spl.c                  |   1 +
 board/BuR/brppt1/board.c                      |   1 +
 board/BuR/brppt2/board.c                      |   1 +
 board/BuR/brsmarc1/board.c                    |   1 +
 board/BuR/brxre1/board.c                      |   1 +
 board/BuR/common/common.c                     |   1 +
 board/BuS/eb_cpu5282/eb_cpu5282.c             |   1 +
 board/CZ.NIC/turris_mox/turris_mox.c          |   1 +
 board/CZ.NIC/turris_omnia/turris_omnia.c      |   1 +
 board/CarMediaLab/flea3/flea3.c               |   1 +
 board/LaCie/edminiv2/edminiv2.c               |   1 +
 board/LaCie/net2big_v2/net2big_v2.c           |   1 +
 board/LaCie/netspace_v2/netspace_v2.c         |   1 +
 board/Marvell/aspenite/aspenite.c             |   1 +
 board/Marvell/db-88f6281-bp/db-88f6281-bp.c   |   1 +
 board/Marvell/db-88f6720/db-88f6720.c         |   1 +
 board/Marvell/db-88f6820-amc/db-88f6820-amc.c |   1 +
 board/Marvell/db-88f6820-gp/db-88f6820-gp.c   |   1 +
 board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c   |   1 +
 board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c   |   1 +
 board/Marvell/dreamplug/dreamplug.c           |   1 +
 board/Marvell/gplugd/gplugd.c                 |   1 +
 board/Marvell/guruplug/guruplug.c             |   1 +
 board/Marvell/mvebu_armada-37xx/board.c       |   1 +
 board/Marvell/mvebu_armada-8k/board.c         |   1 +
 board/Marvell/octeontx/board.c                |   2 +
 board/Marvell/octeontx2/board.c               |   2 +
 board/Marvell/openrd/openrd.c                 |   1 +
 board/Marvell/sheevaplug/sheevaplug.c         |   1 +
 board/Seagate/dockstar/dockstar.c             |   1 +
 board/Seagate/goflexhome/goflexhome.c         |   1 +
 board/Seagate/nas220/nas220.c                 |   1 +
 board/Synology/ds109/ds109.c                  |   1 +
 board/Synology/ds414/ds414.c                  |   1 +
 board/advantech/dms-ba16/dms-ba16.c           |   1 +
 .../imx8qm_rom7720_a1/imx8qm_rom7720_a1.c     |   1 +
 board/advantech/imx8qm_rom7720_a1/spl.c       |   1 +
 board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c   |   1 +
 .../alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c |   1 +
 board/alliedtelesis/common/gpio_hog.c         |   1 +
 board/alliedtelesis/x530/x530.c               |   1 +
 board/amazon/kc1/kc1.c                        |   1 +
 board/amlogic/vim3/vim3.c                     |   1 +
 board/aristainetos/aristainetos.c             |   1 +
 board/armadeus/apf27/apf27.c                  |   1 +
 board/armltd/integrator/integrator.c          |   1 +
 board/armltd/total_compute/total_compute.c    |   1 +
 board/armltd/vexpress/vexpress_common.c       |   1 +
 board/armltd/vexpress64/vexpress64.c          |   1 +
 board/astro/mcf5373l/mcf5373l.c               |   1 +
 .../armadillo-800eva/armadillo-800eva.c       |   1 +
 board/atmel/at91rm9200ek/at91rm9200ek.c       |   1 +
 board/atmel/at91sam9260ek/at91sam9260ek.c     |   1 +
 board/atmel/at91sam9261ek/at91sam9261ek.c     |   1 +
 board/atmel/at91sam9263ek/at91sam9263ek.c     |   1 +
 .../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c |   1 +
 board/atmel/at91sam9n12ek/at91sam9n12ek.c     |   1 +
 board/atmel/at91sam9rlek/at91sam9rlek.c       |   1 +
 board/atmel/at91sam9x5ek/at91sam9x5ek.c       |   1 +
 board/atmel/common/video_display.c            |   1 +
 board/atmel/sam9x60ek/sam9x60ek.c             |   1 +
 .../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c |   1 +
 .../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c   |   1 +
 board/atmel/sama5d2_icp/sama5d2_icp.c         |   1 +
 board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c   |   1 +
 .../atmel/sama5d2_xplained/sama5d2_xplained.c |   1 +
 .../atmel/sama5d3_xplained/sama5d3_xplained.c |   1 +
 board/atmel/sama5d3xek/sama5d3xek.c           |   1 +
 .../atmel/sama5d4_xplained/sama5d4_xplained.c |   1 +
 board/atmel/sama5d4ek/sama5d4ek.c             |   1 +
 board/bachmann/ot1200/ot1200.c                |   1 +
 board/barco/platinum/platinum.c               |   1 +
 board/barco/titanium/titanium.c               |   1 +
 board/beacon/beacon-rzg2m/beacon-rzg2m.c      |   1 +
 board/beacon/imx8mm/imx8mm_beacon.c           |   1 +
 board/beacon/imx8mm/spl.c                     |   1 +
 board/beckhoff/mx53cx9020/mx53cx9020.c        |   1 +
 board/bluegiga/apx4devkit/apx4devkit.c        |   1 +
 board/bluewater/gurnard/gurnard.c             |   1 +
 board/bluewater/snapper9260/snapper9260.c     |   1 +
 board/bosch/guardian/board.c                  |   1 +
 board/bosch/shc/board.c                       |   1 +
 board/boundary/nitrogen6x/nitrogen6x.c        |   1 +
 board/broadcom/bcm23550_w1d/bcm23550_w1d.c    |   1 +
 board/broadcom/bcm28155_ap/bcm28155_ap.c      |   1 +
 board/broadcom/bcm_ep/board.c                 |   1 +
 board/broadcom/bcmns2/northstar2.c            |   1 +
 board/broadcom/bcmns3/ns3.c                   |   1 +
 board/broadcom/bcmstb/bcmstb.c                |   1 +
 board/bticino/mamoj/mamoj.c                   |   1 +
 board/bticino/mamoj/spl.c                     |   1 +
 board/buffalo/lsxl/lsxl.c                     |   1 +
 board/calao/usb_a9263/usb_a9263.c             |   1 +
 board/cavium/thunderx/thunderx.c              |   1 +
 board/ccv/xpress/xpress.c                     |   1 +
 board/cirrus/edb93xx/edb93xx.c                |   1 +
 board/cloudengines/pogo_e02/pogo_e02.c        |   1 +
 board/cobra5272/cobra5272.c                   |   1 +
 board/compulab/cl-som-imx7/cl-som-imx7.c      |   1 +
 board/compulab/cm_fx6/cm_fx6.c                |   1 +
 board/compulab/cm_t335/cm_t335.c              |   1 +
 board/compulab/cm_t43/cm_t43.c                |   1 +
 board/congatec/cgtqmx6eval/cgtqmx6eval.c      |   1 +
 board/corscience/tricorder/tricorder.c        |   1 +
 board/cortina/presidio-asic/presidio.c        |   1 +
 board/creative/xfi3/xfi3.c                    |   1 +
 board/cssi/MCR3000/MCR3000.c                  |   1 +
 board/d-link/dns325/dns325.c                  |   1 +
 board/davinci/da8xxevm/da850evm.c             |   1 +
 board/davinci/da8xxevm/omapl138_lcdk.c        |   1 +
 board/dhelectronics/dh_imx6/dh_imx6.c         |   1 +
 board/dhelectronics/dh_stm32mp1/board.c       |   1 +
 board/ea/mx7ulp_com/mx7ulp_com.c              |   1 +
 board/eets/pdu001/board.c                     |   1 +
 board/egnite/ethernut5/ethernut5.c            |   1 +
 board/el/el6x/el6x.c                          |   1 +
 board/elgin/elgin_rv1108/elgin_rv1108.c       |   1 +
 board/embest/mx6boards/mx6boards.c            |   1 +
 board/engicam/common/board.c                  |   1 +
 board/esd/meesc/meesc.c                       |   1 +
 board/esd/vme8349/vme8349.c                   |   1 +
 board/firefly/firefly-rk3288/firefly-rk3288.c |   1 +
 board/freescale/common/arm_sleep.c            |   1 +
 board/freescale/common/emc2305.c              |   1 +
 board/freescale/common/mpc85xx_sleep.c        |   1 +
 board/freescale/corenet_ds/corenet_ds.c       |   1 +
 board/freescale/corenet_ds/ddr.c              |   1 +
 board/freescale/imx8mm_evk/imx8mm_evk.c       |   1 +
 board/freescale/imx8mm_evk/spl.c              |   1 +
 board/freescale/imx8mn_evk/imx8mn_evk.c       |   1 +
 board/freescale/imx8mn_evk/spl.c              |   1 +
 board/freescale/imx8mp_evk/imx8mp_evk.c       |   1 +
 board/freescale/imx8mp_evk/spl.c              |   1 +
 board/freescale/imx8mq_evk/imx8mq_evk.c       |   1 +
 board/freescale/imx8mq_evk/spl.c              |   1 +
 board/freescale/imx8qm_mek/imx8qm_mek.c       |   1 +
 board/freescale/imx8qm_mek/spl.c              |   1 +
 board/freescale/imx8qxp_mek/imx8qxp_mek.c     |   1 +
 board/freescale/imx8qxp_mek/spl.c             |   1 +
 board/freescale/imxrt1020-evk/imxrt1020-evk.c |   1 +
 board/freescale/imxrt1050-evk/imxrt1050-evk.c |   1 +
 board/freescale/ls1012afrdm/ls1012afrdm.c     |   1 +
 board/freescale/ls1012aqds/ls1012aqds.c       |   1 +
 board/freescale/ls1012ardb/ls1012ardb.c       |   1 +
 board/freescale/ls1021aiot/dcu.c              |   1 +
 board/freescale/ls1021aiot/ls1021aiot.c       |   1 +
 board/freescale/ls1021aqds/dcu.c              |   1 +
 board/freescale/ls1021aqds/ddr.c              |   1 +
 board/freescale/ls1021atsn/ls1021atsn.c       |   1 +
 board/freescale/ls1021atwr/dcu.c              |   1 +
 board/freescale/ls1021atwr/ls1021atwr.c       |   1 +
 board/freescale/ls1028a/ddr.c                 |   1 +
 board/freescale/ls1028a/ls1028a.c             |   1 +
 board/freescale/ls1043aqds/ddr.c              |   1 +
 board/freescale/ls1043aqds/ls1043aqds.c       |   1 +
 board/freescale/ls1043ardb/ddr.c              |   1 +
 board/freescale/ls1043ardb/ls1043ardb.c       |   1 +
 board/freescale/ls1046afrwy/ddr.c             |   1 +
 board/freescale/ls1046afrwy/ls1046afrwy.c     |   1 +
 board/freescale/ls1046aqds/ddr.c              |   1 +
 board/freescale/ls1046aqds/ls1046aqds.c       |   1 +
 board/freescale/ls1046ardb/ddr.c              |   1 +
 board/freescale/ls1046ardb/ls1046ardb.c       |   1 +
 board/freescale/ls1088a/ddr.c                 |   1 +
 board/freescale/ls1088a/ls1088a.c             |   1 +
 board/freescale/ls2080a/ddr.c                 |   1 +
 board/freescale/ls2080a/ls2080a.c             |   1 +
 board/freescale/ls2080aqds/ddr.c              |   1 +
 board/freescale/ls2080aqds/ls2080aqds.c       |   1 +
 board/freescale/ls2080ardb/ddr.c              |   1 +
 board/freescale/ls2080ardb/eth_ls2080rdb.c    |   1 +
 board/freescale/ls2080ardb/ls2080ardb.c       |   1 +
 board/freescale/lx2160a/ddr.c                 |   1 +
 board/freescale/lx2160a/eth_lx2160aqds.c      |   1 +
 board/freescale/lx2160a/eth_lx2160ardb.c      |   1 +
 board/freescale/lx2160a/lx2160a.c             |   1 +
 board/freescale/m5208evbe/m5208evbe.c         |   1 +
 board/freescale/m52277evb/m52277evb.c         |   1 +
 board/freescale/m5235evb/m5235evb.c           |   1 +
 board/freescale/m5249evb/m5249evb.c           |   1 +
 board/freescale/m5253demo/m5253demo.c         |   1 +
 board/freescale/m5272c3/m5272c3.c             |   1 +
 board/freescale/m5275evb/m5275evb.c           |   1 +
 board/freescale/m5282evb/m5282evb.c           |   1 +
 board/freescale/m53017evb/m53017evb.c         |   1 +
 board/freescale/m5329evb/m5329evb.c           |   1 +
 board/freescale/m5373evb/m5373evb.c           |   1 +
 board/freescale/m54418twr/m54418twr.c         |   1 +
 board/freescale/m54451evb/m54451evb.c         |   1 +
 board/freescale/m54455evb/m54455evb.c         |   1 +
 board/freescale/m547xevb/m547xevb.c           |   1 +
 board/freescale/m548xevb/m548xevb.c           |   1 +
 board/freescale/mpc8308rdb/sdram.c            |   1 +
 board/freescale/mpc8313erdb/mpc8313erdb.c     |   1 +
 board/freescale/mpc8313erdb/sdram.c           |   1 +
 board/freescale/mpc8315erdb/mpc8315erdb.c     |   1 +
 board/freescale/mpc8315erdb/sdram.c           |   1 +
 board/freescale/mpc8323erdb/mpc8323erdb.c     |   1 +
 board/freescale/mpc832xemds/mpc832xemds.c     |   1 +
 board/freescale/mpc8349emds/mpc8349emds.c     |   1 +
 board/freescale/mpc8349itx/mpc8349itx.c       |   1 +
 board/freescale/mpc837xemds/mpc837xemds.c     |   1 +
 board/freescale/mpc837xerdb/mpc837xerdb.c     |   1 +
 board/freescale/mpc8610hpcd/mpc8610hpcd.c     |   1 +
 board/freescale/mpc8641hpcn/mpc8641hpcn.c     |   1 +
 board/freescale/mx23evk/mx23evk.c             |   1 +
 board/freescale/mx25pdk/mx25pdk.c             |   1 +
 board/freescale/mx28evk/mx28evk.c             |   1 +
 board/freescale/mx35pdk/mx35pdk.c             |   1 +
 board/freescale/mx51evk/mx51evk.c             |   1 +
 board/freescale/mx53ard/mx53ard.c             |   1 +
 board/freescale/mx53evk/mx53evk.c             |   1 +
 board/freescale/mx53loco/mx53loco.c           |   1 +
 board/freescale/mx53smd/mx53smd.c             |   1 +
 board/freescale/mx6memcal/mx6memcal.c         |   1 +
 board/freescale/mx6memcal/spl.c               |   1 +
 board/freescale/mx6qarm2/mx6qarm2.c           |   1 +
 board/freescale/mx6sabreauto/mx6sabreauto.c   |   1 +
 board/freescale/mx6sabresd/mx6sabresd.c       |   1 +
 board/freescale/mx6slevk/mx6slevk.c           |   1 +
 board/freescale/mx6sllevk/mx6sllevk.c         |   1 +
 .../freescale/mx6sxsabreauto/mx6sxsabreauto.c |   1 +
 board/freescale/mx6sxsabresd/mx6sxsabresd.c   |   1 +
 .../mx6ul_14x14_evk/mx6ul_14x14_evk.c         |   1 +
 board/freescale/mx6ullevk/mx6ullevk.c         |   1 +
 board/freescale/mx7dsabresd/mx7dsabresd.c     |   1 +
 board/freescale/mx7ulp_evk/mx7ulp_evk.c       |   1 +
 board/freescale/p1010rdb/ddr.c                |   1 +
 board/freescale/p1010rdb/p1010rdb.c           |   1 +
 board/freescale/p1010rdb/spl.c                |   1 +
 board/freescale/p1023rdb/p1023rdb.c           | 161 ++++++++++++++++
 board/freescale/p1_p2_rdb_pc/spl.c            |   1 +
 board/freescale/p2041rdb/ddr.c                |   1 +
 board/freescale/p2041rdb/p2041rdb.c           |   1 +
 board/freescale/qemu-ppce500/qemu-ppce500.c   |   1 +
 board/freescale/s32v234evb/s32v234evb.c       |   1 +
 board/freescale/t102xrdb/ddr.c                |   1 +
 board/freescale/t102xrdb/spl.c                |   1 +
 board/freescale/t102xrdb/t102xrdb.c           |   1 +
 board/freescale/t104xrdb/ddr.c                |   1 +
 board/freescale/t104xrdb/spl.c                |   1 +
 board/freescale/t104xrdb/t104xrdb.c           |   1 +
 board/freescale/t208xqds/ddr.c                |   1 +
 board/freescale/t208xqds/spl.c                |   1 +
 board/freescale/t208xqds/t208xqds.c           |   1 +
 board/freescale/t208xrdb/ddr.c                |   1 +
 board/freescale/t208xrdb/spl.c                |   1 +
 board/freescale/t208xrdb/t208xrdb.c           |   1 +
 board/freescale/t4rdb/ddr.c                   |   1 +
 board/freescale/t4rdb/spl.c                   |   1 +
 board/freescale/t4rdb/t4240rdb.c              |   1 +
 board/freescale/vf610twr/vf610twr.c           |   1 +
 board/friendlyarm/nanopi2/board.c             |   1 +
 board/gardena/smart-gateway-at91sam/board.c   |   1 +
 board/gateworks/gw_ventana/gw_ventana.c       |   1 +
 board/gdsys/a38x/controlcenterdc.c            |   1 +
 board/gdsys/a38x/hydra.c                      |   1 +
 board/gdsys/mpc8308/gazerbeam.c               |   1 +
 board/gdsys/mpc8308/sdram.c                   |   1 +
 board/ge/bx50v3/bx50v3.c                      |   1 +
 board/ge/mx53ppd/mx53ppd.c                    |   1 +
 .../google/imx8mq_phanbell/imx8mq_phanbell.c  |   1 +
 board/google/imx8mq_phanbell/spl.c            |   1 +
 board/google/veyron/veyron.c                  |   1 +
 board/grinn/chiliboard/board.c                |   1 +
 board/grinn/liteboard/board.c                 |   1 +
 board/highbank/highbank.c                     |   1 +
 board/hisilicon/hikey/hikey.c                 |   1 +
 board/hisilicon/hikey960/hikey960.c           |   1 +
 board/hisilicon/poplar/poplar.c               |   1 +
 board/ids/ids8313/ids8313.c                   |   1 +
 board/imgtec/boston/ddr.c                     |   1 +
 board/imgtec/boston/dt.c                      |   1 +
 board/imgtec/ci20/ci20.c                      |   1 +
 board/imgtec/malta/malta.c                    |   1 +
 board/imgtec/xilfpga/xilfpga.c                |   1 +
 board/inversepath/usbarmory/usbarmory.c       |   1 +
 board/iomega/iconnect/iconnect.c              |   1 +
 board/isee/igep003x/board.c                   |   1 +
 board/isee/igep00x0/common.c                  |   1 +
 board/k+p/kp_imx53/kp_imx53.c                 |   1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c         |   1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c     |   1 +
 board/keymile/common/common.c                 |   1 +
 board/keymile/km83xx/km83xx.c                 |   1 +
 board/keymile/km_arm/km_arm.c                 |   1 +
 board/keymile/kmp204x/ddr.c                   |   1 +
 board/kmc/kzm9g/kzm9g.c                       |   1 +
 board/kobol/helios4/helios4.c                 |   1 +
 board/kontron/sl28/ddr.c                      |   1 +
 board/kontron/sl28/sl28.c                     |   1 +
 board/kosagi/novena/novena.c                  |   1 +
 board/l+g/vinco/vinco.c                       |   1 +
 board/laird/wb45n/wb45n.c                     |   1 +
 board/laird/wb50n/wb50n.c                     |   1 +
 board/lego/ev3/legoev3.c                      |   1 +
 board/lg/sniper/sniper.c                      |   1 +
 board/liebherr/display5/display5.c            |   1 +
 board/liebherr/display5/spl.c                 |   1 +
 board/liebherr/mccmon6/mccmon6.c              |   1 +
 board/liebherr/xea/xea.c                      |   1 +
 board/logicpd/am3517evm/am3517evm.c           |   1 +
 board/logicpd/imx6/imx6logic.c                |   1 +
 board/logicpd/omap3som/omap3logic.c           |   1 +
 board/maxbcm/maxbcm.c                         |   1 +
 board/mediatek/mt7622/mt7622_rfb.c            |   1 +
 board/mediatek/mt7623/mt7623_rfb.c            |   1 +
 board/mediatek/mt7629/mt7629_rfb.c            |   1 +
 board/mediatek/mt8512/mt8512.c                |   1 +
 board/mediatek/mt8518/mt8518_ap1.c            |   1 +
 board/menlo/m53menlo/m53menlo.c               |   1 +
 .../crs3xx-98dx3236/crs3xx-98dx3236.c         |   1 +
 board/mini-box/picosam9g45/picosam9g45.c      |   1 +
 board/mpc8308_p1m/sdram.c                     |   1 +
 board/mscc/jr2/jr2.c                          |   1 +
 board/mscc/luton/luton.c                      |   1 +
 board/mscc/ocelot/ocelot.c                    |   1 +
 board/mscc/serval/serval.c                    |   1 +
 board/mscc/servalt/servalt.c                  |   1 +
 board/myir/mys_6ulx/mys_6ulx.c                |   1 +
 board/nokia/rx51/rx51.c                       |   1 +
 board/novtech/meerkat96/meerkat96.c           |   1 +
 board/olimex/mx23_olinuxino/mx23_olinuxino.c  |   1 +
 board/phytec/pcl063/pcl063.c                  |   1 +
 board/phytec/pcm052/pcm052.c                  |   1 +
 board/phytec/pcm058/pcm058.c                  |   1 +
 board/phytec/pfla02/pfla02.c                  |   1 +
 board/phytec/phycore_am335x_r2/board.c        |   1 +
 board/phytec/phycore_rk3288/phycore-rk3288.c  |   1 +
 board/phytium/durian/durian.c                 |   1 +
 board/ppcag/bg0900/bg0900.c                   |   1 +
 board/qemu-mips/qemu-mips.c                   |   1 +
 .../dragonboard410c/dragonboard410c.c         |   1 +
 .../dragonboard820c/dragonboard820c.c         |   1 +
 board/raidsonic/ib62x0/ib62x0.c               |   1 +
 board/renesas/alt/alt.c                       |   1 +
 board/renesas/blanche/blanche.c               |   1 +
 board/renesas/condor/condor.c                 |   1 +
 board/renesas/draak/draak.c                   |   1 +
 board/renesas/eagle/eagle.c                   |   1 +
 board/renesas/ebisu/ebisu.c                   |   1 +
 board/renesas/gose/gose.c                     |   1 +
 board/renesas/grpeach/grpeach.c               |   1 +
 board/renesas/koelsch/koelsch.c               |   1 +
 board/renesas/lager/lager.c                   |   1 +
 board/renesas/porter/porter.c                 |   1 +
 board/renesas/rcar-common/common.c            |   1 +
 board/renesas/salvator-x/salvator-x.c         |   1 +
 board/renesas/silk/silk.c                     |   1 +
 board/renesas/stout/stout.c                   |   1 +
 board/renesas/ulcb/ulcb.c                     |   1 +
 board/rockchip/evb_rk3308/evb_rk3308.c        |   1 +
 board/rockchip/evb_rv1108/evb_rv1108.c        |   1 +
 board/ronetix/pm9261/pm9261.c                 |   1 +
 board/ronetix/pm9263/pm9263.c                 |   1 +
 board/ronetix/pm9g45/pm9g45.c                 |   1 +
 board/samsung/arndale/arndale.c               |   1 +
 board/samsung/common/board.c                  |   1 +
 board/samsung/common/exynos5-dt-types.c       |   1 +
 board/samsung/common/exynos5-dt.c             |   1 +
 board/samsung/common/misc.c                   |   1 +
 board/samsung/goni/goni.c                     |   1 +
 board/samsung/odroid/odroid.c                 |   1 +
 board/samsung/smdkc100/smdkc100.c             |   1 +
 board/samsung/smdkv310/smdkv310.c             |   1 +
 board/samsung/universal_c210/universal.c      |   1 +
 board/sandbox/sandbox.c                       |   1 +
 board/sandisk/sansa_fuze_plus/sfp.c           |   1 +
 board/sbc8349/sbc8349.c                       |   1 +
 board/sbc8641d/sbc8641d.c                     |   1 +
 board/schulercontrol/sc_sps_1/sc_sps_1.c      |   1 +
 board/seco/mx6quq7/mx6quq7.c                  |   1 +
 board/siemens/capricorn/spl.c                 |   1 +
 board/siemens/common/board.c                  |   1 +
 board/siemens/corvus/board.c                  |   1 +
 board/siemens/smartweb/smartweb.c             |   1 +
 board/siemens/taurus/taurus.c                 |   1 +
 board/sks-kinkel/sksimx6/sksimx6.c            |   1 +
 board/socrates/socrates.c                     |   1 +
 board/softing/vining_2000/vining_2000.c       |   1 +
 board/softing/vining_fpga/socfpga.c           |   1 +
 board/solidrun/clearfog/clearfog.c            |   1 +
 board/solidrun/common/tlv_data.c              |   1 +
 board/solidrun/mx6cuboxi/mx6cuboxi.c          |   1 +
 board/somlabs/visionsom-6ull/visionsom-6ull.c |   1 +
 board/st/common/stm32mp_mtdparts.c            |   1 +
 board/st/stih410-b2260/board.c                |   1 +
 .../stm32f429-discovery/stm32f429-discovery.c |   1 +
 .../stm32f429-evaluation.c                    |   1 +
 .../stm32f469-discovery/stm32f469-discovery.c |   1 +
 board/st/stm32f746-disco/stm32f746-disco.c    |   1 +
 board/st/stm32h743-disco/stm32h743-disco.c    |   1 +
 board/st/stm32h743-eval/stm32h743-eval.c      |   1 +
 board/st/stm32mp1/stm32mp1.c                  |   1 +
 board/st/stv0991/stv0991.c                    |   1 +
 board/ste/stemmy/stemmy.c                     |   1 +
 board/sunxi/board.c                           |   1 +
 board/synopsys/axs10x/axs10x.c                |   1 +
 board/synopsys/emsdp/emsdp.c                  |   1 +
 board/synopsys/hsdk/hsdk.c                    |   1 +
 board/synopsys/iot_devkit/iot_devkit.c        |   1 +
 board/sysam/amcore/amcore.c                   |   1 +
 board/sysam/stmark2/stmark2.c                 |   1 +
 board/syteco/zmx25/zmx25.c                    |   1 +
 board/tbs/tbs2910/tbs2910.c                   |   2 +
 board/tcl/sl50/board.c                        |   1 +
 board/technexion/pico-imx6/pico-imx6.c        |   3 +-
 board/technexion/pico-imx6ul/pico-imx6ul.c    |   1 +
 board/technexion/pico-imx7d/pico-imx7d.c      |   1 +
 board/technexion/pico-imx8mq/pico-imx8mq.c    |   1 +
 board/technexion/pico-imx8mq/spl.c            |   1 +
 board/technexion/tao3530/tao3530.c            |   1 +
 board/technologic/ts4600/ts4600.c             |   1 +
 board/technologic/ts4800/ts4800.c             |   1 +
 board/theadorable/theadorable.c               |   1 +
 board/ti/am335x/board.c                       |   1 +
 board/ti/am3517crane/am3517crane.c            |   1 +
 board/ti/am43xx/board.c                       |   1 +
 board/ti/am57xx/board.c                       |   1 +
 board/ti/am65x/evm.c                          |   1 +
 board/ti/beagle/beagle.c                      |   1 +
 board/ti/dra7xx/evm.c                         |   1 +
 board/ti/evm/evm.c                            |   1 +
 board/ti/j721e/evm.c                          |   1 +
 board/ti/ks2_evm/board.c                      |   1 +
 board/ti/omap5_uevm/evm.c                     |   1 +
 board/ti/panda/panda.c                        |   1 +
 board/ti/sdp4430/sdp.c                        |   1 +
 board/ti/ti816x/evm.c                         |   1 +
 board/timll/devkit3250/devkit3250.c           |   1 +
 board/timll/devkit8000/devkit8000.c           |   1 +
 board/toradex/apalis-imx8/apalis-imx8.c       |   1 +
 board/toradex/apalis_imx6/apalis_imx6.c       |   1 +
 board/toradex/apalis_t30/apalis_t30.c         |   1 +
 .../toradex/colibri-imx6ull/colibri-imx6ull.c |   1 +
 board/toradex/colibri-imx8x/colibri-imx8x.c   |   1 +
 board/toradex/colibri_imx6/colibri_imx6.c     |   1 +
 board/toradex/colibri_imx7/colibri_imx7.c     |   1 +
 board/toradex/colibri_pxa270/colibri_pxa270.c |   1 +
 board/toradex/colibri_t20/colibri_t20.c       |   1 +
 board/toradex/colibri_vf/colibri_vf.c         |   1 +
 board/toradex/common/tdx-cfg-block.c          |   1 +
 board/toradex/common/tdx-eeprom.c             |   1 +
 board/toradex/verdin-imx8mm/spl.c             |   1 +
 board/toradex/verdin-imx8mm/verdin-imx8mm.c   |   1 +
 board/tqc/tqm834x/tqm834x.c                   |   1 +
 board/tqc/tqma6/tqma6.c                       |   1 +
 board/udoo/neo/neo.c                          |   1 +
 board/udoo/udoo.c                             |   1 +
 board/variscite/dart_6ul/dart_6ul.c           |   1 +
 board/varisys/cyrus/ddr.c                     |   1 +
 board/ve8313/ve8313.c                         |   1 +
 board/vscom/baltos/board.c                    |   1 +
 board/wandboard/wandboard.c                   |   1 +
 board/warp/warp.c                             |   1 +
 board/warp7/warp7.c                           |   1 +
 board/work-microwave/work_92105/work_92105.c  |   1 +
 board/xen/xenguest_arm64/xenguest_arm64.c     |   1 +
 board/xes/xpedite517x/xpedite517x.c           |   1 +
 board/xilinx/common/board.c                   |   1 +
 .../microblaze-generic/microblaze-generic.c   |   1 +
 board/xilinx/versal/board.c                   |   1 +
 board/xilinx/zynq/board.c                     |   1 +
 board/xilinx/zynq/bootimg.c                   |   1 +
 board/xilinx/zynq/cmds.c                      |   1 +
 board/xilinx/zynqmp/zynqmp.c                  |   1 +
 board/zyxel/nsa310s/nsa310s.c                 |   1 +
 cmd/acpi.c                                    |   1 +
 cmd/bdinfo.c                                  |   1 +
 cmd/bedbug.c                                  |   1 +
 cmd/bloblist.c                                |   1 +
 cmd/bootefi.c                                 |   1 +
 cmd/booti.c                                   |   1 +
 cmd/bootm.c                                   |   1 +
 cmd/date.c                                    |   1 +
 cmd/efi.c                                     |   1 +
 cmd/load.c                                    |   1 +
 cmd/log.c                                     |   1 +
 cmd/mem.c                                     |   1 +
 cmd/mtdparts.c                                |   1 +
 cmd/nvedit.c                                  |   1 +
 cmd/pstore.c                                  |   1 +
 cmd/pxe_utils.h                               |   2 +
 cmd/sb.c                                      |   1 +
 cmd/sound.c                                   |   1 +
 cmd/spl.c                                     |   1 +
 cmd/ti/ddr3.c                                 |   1 +
 cmd/tlv_eeprom.c                              |   1 +
 cmd/x86/fsp.c                                 |   1 +
 cmd/x86/hob.c                                 |   1 +
 common/autoboot.c                             |   1 +
 common/bloblist.c                             |   1 +
 common/board_f.c                              |   1 +
 common/board_info.c                           |   1 +
 common/board_r.c                              |   1 +
 common/bootm.c                                |   1 +
 common/bootm_os.c                             |   1 +
 common/bootstage.c                            |   1 +
 common/cli.c                                  |   1 +
 common/cli_hush.c                             |   1 +
 common/cli_readline.c                         |   1 +
 common/command.c                              |   1 +
 common/console.c                              |   1 +
 common/dlmalloc.c                             |   1 +
 common/exports.c                              |   1 +
 common/hash.c                                 |   1 +
 common/hwconfig.c                             |   1 +
 common/image-android.c                        |   1 +
 common/image-cipher.c                         |   1 +
 common/image-fdt.c                            |   1 +
 common/image-fit-sig.c                        |   1 +
 common/image-fit.c                            |   1 +
 common/image-sig.c                            |   1 +
 common/image.c                                |   1 +
 common/init/board_init.c                      |   1 +
 common/init/handoff.c                         |   1 +
 common/iotrace.c                              |   1 +
 common/lcd.c                                  |   1 +
 common/lcd_simplefb.c                         |   1 +
 common/log.c                                  |   1 +
 common/log_console.c                          |   1 +
 common/log_syslog.c                           |   1 +
 common/malloc_simple.c                        |   1 +
 common/memsize.c                              |   1 +
 common/spl/spl.c                              |   1 +
 common/spl/spl_fit.c                          |   1 +
 common/spl/spl_opensbi.c                      |   1 +
 common/spl/spl_spi.c                          |   1 +
 common/splash_source.c                        |   1 +
 common/stdio.c                                |   2 +-
 disk/part_efi.c                               |   1 +
 drivers/ata/libata.c                          |   2 +
 drivers/ata/mtk_ahci.c                        |   1 +
 drivers/ata/sata_mv.c                         |   1 +
 drivers/bios_emulator/atibios.c               |   1 +
 drivers/block/blkcache.c                      |   1 +
 drivers/block/sandbox.c                       |   1 +
 drivers/bootcount/bootcount_ram.c             |   1 +
 drivers/cache/cache-v5l2.c                    |   1 +
 drivers/cache/sandbox_cache.c                 |   1 +
 drivers/clk/altera/clk-agilex.c               |   1 +
 drivers/clk/altera/clk-arria10.c              |   1 +
 drivers/clk/aspeed/clk_ast2500.c              |   1 +
 drivers/clk/at91/clk-generated.c              | 179 ++++++++++++++++++
 drivers/clk/at91/clk-h32mx.c                  |  57 ++++++
 drivers/clk/at91/clk-main.c                   |   1 +
 drivers/clk/at91/clk-master.c                 |   1 +
 drivers/clk/at91/clk-plla.c                   |  55 ++++++
 drivers/clk/at91/clk-usb.c                    | 148 +++++++++++++++
 drivers/clk/at91/compat.c                     |   1 +
 drivers/clk/at91/pmc.c                        |   4 +-
 drivers/clk/clk-uclass.c                      |   1 +
 drivers/clk/clk_octeon.c                      |   1 +
 drivers/clk/clk_pic32.c                       |   1 +
 drivers/clk/clk_stm32mp1.c                    |   1 +
 drivers/clk/clk_zynq.c                        |   1 +
 drivers/clk/mpc83xx_clk.c                     |   1 +
 drivers/clk/renesas/clk-rcar-gen2.c           |   1 +
 drivers/clk/renesas/clk-rcar-gen3.c           |   1 +
 drivers/clk/rockchip/clk_px30.c               |   1 +
 drivers/clk/rockchip/clk_rk3288.c             |   1 +
 drivers/clk/rockchip/clk_rk3308.c             |   1 +
 drivers/clk/rockchip/clk_rv1108.c             |   1 +
 drivers/core/device-remove.c                  |   1 +
 drivers/core/device.c                         |   1 +
 drivers/core/fdtaddr.c                        |   1 +
 drivers/core/of_access.c                      |   1 +
 drivers/core/ofnode.c                         |   1 +
 drivers/core/read.c                           |   1 +
 drivers/core/regmap.c                         |   1 +
 drivers/core/root.c                           |   1 +
 drivers/core/uclass.c                         |   1 +
 drivers/cpu/imx8_cpu.c                        |   1 +
 drivers/cpu/riscv_cpu.c                       |   1 +
 drivers/crypto/rsa_mod_exp/mod_exp_uclass.c   |   1 +
 drivers/ddr/altera/sdram_agilex.c             |   1 +
 drivers/ddr/altera/sdram_arria10.c            |   1 +
 drivers/ddr/altera/sdram_s10.c                |   1 +
 drivers/ddr/altera/sdram_soc64.c              |   1 +
 drivers/ddr/imx/imx8m/helper.c                |   1 +
 drivers/demo/demo-shape.c                     |   1 +
 drivers/demo/demo-uclass.c                    |   1 +
 drivers/fpga/socfpga_arria10.c                |   1 +
 drivers/fpga/zynqmppl.c                       |   1 +
 drivers/gpio/74x164_gpio.c                    |   1 +
 drivers/gpio/altera_pio.c                     |   1 +
 drivers/gpio/atmel_pio4.c                     |   1 +
 drivers/gpio/da8xx_gpio.c                     |   1 +
 drivers/gpio/gpio-rcar.c                      |   1 +
 drivers/gpio/gpio-rza1.c                      |   1 +
 drivers/gpio/gpio-uclass.c                    |   1 +
 drivers/gpio/intel_broadwell_gpio.c           |   1 +
 drivers/gpio/intel_ich6_gpio.c                |   1 +
 drivers/gpio/msm_gpio.c                       |   1 +
 drivers/gpio/mxs_gpio.c                       |   1 +
 drivers/gpio/nx_gpio.c                        |   1 +
 drivers/gpio/omap_gpio.c                      |   1 +
 drivers/gpio/pcf8575_gpio.c                   |   1 +
 drivers/gpio/pic32_gpio.c                     |   1 +
 drivers/gpio/s5p_gpio.c                       |   1 +
 drivers/gpio/vybrid_gpio.c                    |   1 +
 drivers/hwspinlock/hwspinlock-uclass.c        |   1 +
 drivers/i2c/at91_i2c.c                        |   1 +
 drivers/i2c/cros_ec_tunnel.c                  |   1 +
 drivers/i2c/exynos_hs_i2c.c                   |   1 +
 drivers/i2c/fsl_i2c.c                         |   1 +
 drivers/i2c/i2c-gpio.c                        |   1 +
 drivers/i2c/i2c_core.c                        |   1 +
 drivers/i2c/ihs_i2c.c                         |   1 +
 drivers/i2c/iproc_i2c.c                       |   1 +
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c    |   1 +
 drivers/i2c/muxes/i2c-mux-gpio.c              |   1 +
 drivers/i2c/muxes/pca954x.c                   |   1 +
 drivers/i2c/mvtwsi.c                          |   1 +
 drivers/i2c/mxc_i2c.c                         |   1 +
 drivers/i2c/nx_i2c.c                          |   1 +
 drivers/i2c/s3c24x0_i2c.c                     |   1 +
 drivers/i2c/sh_i2c.c                          |   1 +
 drivers/i2c/soft_i2c.c                        |   1 +
 drivers/i2c/tegra186_bpmp_i2c.c               |   1 +
 drivers/input/i8042.c                         |   1 +
 drivers/mailbox/k3-sec-proxy.c                |   1 +
 drivers/misc/atsha204a-i2c.c                  |   1 +
 drivers/misc/fs_loader.c                      |   1 +
 drivers/misc/imx8/fuse.c                      |   1 +
 drivers/misc/imx8/scu.c                       |   1 +
 drivers/misc/imx8/scu_api.c                   |   1 +
 drivers/misc/tegra186_bpmp.c                  |   1 +
 drivers/mmc/atmel_sdhci.c                     |   1 +
 drivers/mmc/ca_dw_mmc.c                       |   1 +
 drivers/mmc/exynos_dw_mmc.c                   |   1 +
 drivers/mmc/fsl_esdhc.c                       |   1 +
 drivers/mmc/fsl_esdhc_imx.c                   |   1 +
 drivers/mmc/ftsdc010_mci.c                    |   1 +
 drivers/mmc/hi6220_dw_mmc.c                   |   1 +
 drivers/mmc/iproc_sdhci.c                     |   1 +
 drivers/mmc/jz_mmc.c                          |   1 +
 drivers/mmc/msm_sdhci.c                       |   1 +
 drivers/mmc/mv_sdhci.c                        |   1 +
 drivers/mmc/mvebu_mmc.c                       |   1 +
 drivers/mmc/omap_hsmmc.c                      |   1 +
 drivers/mmc/pic32_sdhci.c                     |   3 +
 drivers/mmc/renesas-sdhi.c                    |   1 +
 drivers/mmc/s5p_sdhci.c                       |   1 +
 drivers/mmc/sdhci-cadence.c                   |   1 +
 drivers/mmc/sh_mmcif.c                        |   1 +
 drivers/mmc/sh_sdhi.c                         |   1 +
 drivers/mmc/socfpga_dw_mmc.c                  |   1 +
 drivers/mmc/sti_sdhci.c                       |   1 +
 drivers/mmc/tmio-common.c                     |   1 +
 drivers/mmc/xenon_sdhci.c                     |   1 +
 drivers/mtd/altera_qspi.c                     |   1 +
 drivers/mtd/cfi_flash.c                       |   1 +
 drivers/mtd/mtd_uboot.c                       |   1 +
 drivers/mtd/nand/raw/nand_base.c              |   1 +
 drivers/mtd/nand/raw/octeontx_nand.c          |   1 +
 drivers/mtd/nand/raw/pxa3xx_nand.c            |   1 +
 drivers/mtd/nand/raw/sunxi_nand.c             |   1 +
 drivers/mtd/nand/raw/tegra_nand.c             |   1 +
 drivers/mtd/pic32_flash.c                     |   1 +
 drivers/mtd/renesas_rpc_hf.c                  |   1 +
 drivers/mtd/spi/sf-uclass.c                   |   1 +
 drivers/net/ag7xxx.c                          |   1 +
 drivers/net/altera_tse.c                      |   1 +
 drivers/net/dwc_eth_qos.c                     |   1 +
 drivers/net/dwmac_s700.c                      |   1 +
 drivers/net/fec_mxc.c                         |   1 +
 drivers/net/fsl-mc/mc.c                       |   1 +
 drivers/net/fsl_mcdmafec.c                    |   1 +
 drivers/net/ftmac100.c                        |   1 +
 drivers/net/gmac_rockchip.c                   |   1 +
 drivers/net/ldpaa_eth/ldpaa_eth.c             |   1 +
 drivers/net/macb.c                            |   1 +
 drivers/net/mcffec.c                          |   1 +
 drivers/net/mcfmii.c                          |   1 +
 drivers/net/mpc8xx_fec.c                      |   1 +
 drivers/net/mvgbe.c                           |   1 +
 drivers/net/mvneta.c                          |   1 +
 drivers/net/mvpp2.c                           |   1 +
 drivers/net/octeontx/smi.c                    |   1 +
 drivers/net/phy/fixed.c                       |   1 +
 drivers/net/phy/miiphybb.c                    |   1 +
 drivers/net/phy/phy.c                         |   1 +
 drivers/net/phy/xilinx_gmii2rgmii.c           |   4 +-
 drivers/net/pic32_eth.c                       |   1 +
 drivers/net/qe/dm_qe_uec.c                    |   1 +
 drivers/net/ravb.c                            |   1 +
 drivers/net/sandbox-raw.c                     |   1 +
 drivers/net/sandbox.c                         |   1 +
 drivers/net/sh_eth.c                          |   1 +
 drivers/net/sni_ave.c                         |   1 +
 drivers/net/sun8i_emac.c                      |   1 +
 drivers/net/ti/cpsw-common.c                  |   1 +
 drivers/net/ti/keystone_net.c                 |   1 +
 drivers/net/xilinx_axi_emac.c                 |   1 +
 drivers/net/xilinx_emaclite.c                 |   1 +
 drivers/pci/fsl_pci_init.c                    |   1 +
 drivers/pci/pci-uclass.c                      |   1 +
 drivers/pci/pci.c                             |   1 +
 drivers/pci/pci_mvebu.c                       |   1 +
 drivers/pci/pci_octeontx.c                    |   1 +
 drivers/pci/pci_rom.c                         |   1 +
 drivers/pci/pcie_dw_mvebu.c                   |   1 +
 drivers/pci/pcie_dw_ti.c                      |   1 +
 drivers/pci/pcie_ecam_generic.c               |   1 +
 drivers/pci/pcie_fsl.c                        |   1 +
 drivers/pci/pcie_intel_fpga.c                 |   1 +
 drivers/pci/pcie_layerscape.c                 |   1 +
 drivers/pci/pcie_layerscape_ep.c              |   1 +
 drivers/pci/pcie_layerscape_fixup_common.c    |   1 +
 drivers/pci/pcie_layerscape_gen4.c            |   1 +
 drivers/pci/pcie_layerscape_rc.c              |   1 +
 drivers/pci/pcie_phytium.c                    |   1 +
 drivers/pci/pcie_rockchip.c                   |   1 +
 drivers/pci/pcie_xilinx.c                     |   1 +
 drivers/pci_endpoint/pci_ep-uclass.c          |   1 +
 drivers/pci_endpoint/pcie-cadence-ep.c        |   1 +
 drivers/phy/marvell/comphy_a3700.c            |   1 +
 drivers/phy/marvell/comphy_core.c             |   1 +
 drivers/phy/marvell/comphy_cp110.c            |   1 +
 drivers/phy/omap-usb2-phy.c                   |   1 +
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c |   1 +
 drivers/phy/rockchip/phy-rockchip-pcie.c      |   1 +
 drivers/phy/rockchip/phy-rockchip-typec.c     |   1 +
 drivers/phy/sti_usb_phy.c                     |   1 +
 drivers/phy/ti-pipe3-phy.c                    |   1 +
 drivers/pinctrl/ath79/pinctrl_ar933x.c        |   1 +
 drivers/pinctrl/ath79/pinctrl_qca953x.c       |   1 +
 drivers/pinctrl/exynos/pinctrl-exynos.c       |   1 +
 drivers/pinctrl/meson/pinctrl-meson.c         |   1 +
 drivers/pinctrl/mtmips/pinctrl-mt7628.c       |   1 +
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c   |   1 +
 drivers/pinctrl/mvebu/pinctrl-mvebu.c         |   1 +
 drivers/pinctrl/nexell/pinctrl-nexell.c       |   1 +
 drivers/pinctrl/nexell/pinctrl-s5pxx18.c      |   1 +
 drivers/pinctrl/nxp/pinctrl-imx.c             |   1 +
 drivers/pinctrl/nxp/pinctrl-imx8.c            |   1 +
 drivers/pinctrl/nxp/pinctrl-mxs.c             |   1 +
 drivers/pinctrl/pinctrl-at91-pio4.c           |   1 +
 drivers/pinctrl/pinctrl-at91.c                |   1 +
 drivers/pinctrl/pinctrl-sti.c                 |   1 +
 drivers/pinctrl/pinctrl-uclass.c              |   1 +
 drivers/pinctrl/pinctrl_pic32.c               |   1 +
 drivers/pinctrl/pinctrl_stm32.c               |   1 +
 drivers/pinctrl/renesas/pfc-r7s72100.c        |   1 +
 .../pinctrl/rockchip/pinctrl-rockchip-core.c  |   1 +
 .../power/domain/imx8-power-domain-legacy.c   |   1 +
 drivers/power/domain/imx8m-power-domain.c     |   1 +
 drivers/power/pmic/bd71837.c                  |   1 +
 drivers/power/pmic/mc34708.c                  |   1 +
 drivers/power/pmic/pca9450.c                  |   1 +
 drivers/power/regulator/pwm_regulator.c       |   1 +
 drivers/pwm/pwm-sifive.c                      |   1 +
 drivers/pwm/rk_pwm.c                          |   1 +
 drivers/pwm/sunxi_pwm.c                       |   1 +
 drivers/qe/fdt.c                              |   1 +
 drivers/qe/qe.c                               |   1 +
 drivers/ram/aspeed/sdram_ast2500.c            |   1 +
 drivers/ram/mpc83xx_sdram.c                   |   1 +
 drivers/ram/octeon/octeon_ddr.c               |   1 +
 drivers/ram/rockchip/sdram_rk322x.c           |   1 +
 drivers/ram/sandbox_ram.c                     |   1 +
 drivers/ram/sifive/fu540_ddr.c                |   1 +
 drivers/ram/stm32mp1/stm32mp1_interactive.c   |   1 +
 drivers/ram/stm32mp1/stm32mp1_tests.c         |   1 +
 drivers/remoteproc/rproc-uclass.c             |   1 +
 drivers/remoteproc/ti_power_proc.c            |   1 +
 drivers/reset/sti-reset.c                     |   1 +
 drivers/serial/atmel_usart.c                  |   1 +
 drivers/serial/ns16550.c                      |   1 +
 drivers/serial/sandbox.c                      |   1 +
 drivers/serial/serial-uclass.c                |   1 +
 drivers/serial/serial.c                       |   1 +
 drivers/serial/serial_arc.c                   |   1 +
 drivers/serial/serial_linflexuart.c           |   1 +
 drivers/serial/serial_lpuart.c                |   1 +
 drivers/serial/serial_mcf.c                   |   1 +
 drivers/serial/serial_mpc8xx.c                |   1 +
 drivers/serial/serial_msm.c                   |   1 +
 drivers/serial/serial_mtk.c                   |   1 +
 drivers/serial/serial_mxc.c                   |   1 +
 drivers/serial/serial_ns16550.c               |   1 +
 drivers/serial/serial_pic32.c                 |   1 +
 drivers/serial/serial_pl01x.c                 |   1 +
 drivers/serial/serial_pxa.c                   |   1 +
 drivers/serial/serial_s5p.c                   |   1 +
 drivers/serial/serial_sh.c                    |   1 +
 drivers/serial/serial_sifive.c                |   1 +
 drivers/serial/serial_sti_asc.c               |   1 +
 drivers/serial/serial_xen.c                   |   1 +
 drivers/smem/msm_smem.c                       |   1 +
 drivers/sound/ivybridge_sound.c               |   1 +
 drivers/spi/atcspi200_spi.c                   |   1 +
 drivers/spi/bcmstb_spi.c                      |   1 +
 drivers/spi/cf_spi.c                          |   1 +
 drivers/spi/davinci_spi.c                     |   1 +
 drivers/spi/exynos_spi.c                      |   1 +
 drivers/spi/fsl_dspi.c                        |   1 +
 drivers/spi/fsl_espi.c                        |   1 +
 drivers/spi/fsl_qspi.c                        |   1 +
 drivers/spi/mvebu_a3700_spi.c                 |   1 +
 drivers/spi/mxc_spi.c                         |   1 +
 drivers/spi/omap3_spi.c                       |   1 +
 drivers/spi/pic32_spi.c                       |   1 +
 drivers/spi/pl022_spi.c                       |   1 +
 drivers/spi/renesas_rpc_spi.c                 |   1 +
 drivers/spi/soft_spi.c                        |   1 +
 drivers/spi/spi-sunxi.c                       |   1 +
 drivers/spi/spi-uclass.c                      |   1 +
 drivers/spi/tegra20_sflash.c                  |   1 +
 drivers/spi/tegra20_slink.c                   |   1 +
 drivers/spi/tegra210_qspi.c                   |   1 +
 drivers/spi/ti_qspi.c                         |   1 +
 drivers/spi/uniphier_spi.c                    |   1 +
 drivers/spi/zynq_qspi.c                       |   1 +
 drivers/spi/zynq_spi.c                        |   1 +
 drivers/spi/zynqmp_gqspi.c                    |   1 +
 drivers/spmi/spmi-msm.c                       |   1 +
 drivers/sysreset/sysreset-uclass.c            |   1 +
 drivers/sysreset/sysreset_mpc83xx.c           |   1 +
 drivers/sysreset/sysreset_sti.c               |   1 +
 drivers/thermal/imx_scu_thermal.c             |   1 +
 drivers/thermal/imx_tmu.c                     |   1 +
 drivers/timer/andes_plmt_timer.c              |   1 +
 drivers/timer/arc_timer.c                     |   1 +
 drivers/timer/cadence-ttc.c                   |   1 +
 drivers/timer/mpc83xx_timer.c                 |   1 +
 drivers/timer/ostm_timer.c                    |   1 +
 drivers/timer/rockchip_timer.c                |   1 +
 drivers/timer/timer-uclass.c                  |   1 +
 drivers/timer/tsc_timer.c                     |   1 +
 drivers/tpm/tpm2_tis_spi.c                    |   1 +
 drivers/usb/common/common.c                   |   1 +
 drivers/usb/host/dwc3-octeon-glue.c           |   1 +
 drivers/usb/host/dwc3-sti-glue.c              |   1 +
 drivers/usb/host/ehci-exynos.c                |   1 +
 drivers/usb/host/ehci-fsl.c                   |   1 +
 drivers/usb/host/ehci-marvell.c               |   1 +
 drivers/usb/host/ehci-mx5.c                   |   1 +
 drivers/usb/host/ehci-mx6.c                   |   1 +
 drivers/usb/host/ehci-vf.c                    |   1 +
 drivers/usb/host/xhci-exynos5.c               |   1 +
 drivers/usb/musb-new/da8xx.c                  |   1 +
 drivers/usb/musb-new/omap2430.c               |   1 +
 drivers/usb/musb-new/pic32.c                  |   1 +
 drivers/usb/musb-new/ti-musb.c                |   1 +
 drivers/usb/phy/rockchip_usb2_phy.c           |   1 +
 drivers/video/am335x-fb.c                     |   1 +
 drivers/video/atmel_hlcdfb.c                  |   1 +
 drivers/video/atmel_lcdfb.c                   |   1 +
 drivers/video/bridge/ps862x.c                 |   1 +
 drivers/video/broadwell_igd.c                 |   1 +
 drivers/video/cfb_console.c                   |   1 +
 drivers/video/da8xx-fb.c                      |   1 +
 drivers/video/exynos/exynos_dp.c              |   1 +
 drivers/video/exynos/exynos_fb.c              |   1 +
 drivers/video/exynos/exynos_mipi_dsi.c        |   1 +
 drivers/video/fsl_dcu_fb.c                    |   1 +
 drivers/video/ivybridge_igd.c                 |   1 +
 drivers/video/mali_dp.c                       |   1 +
 drivers/video/meson/meson_vpu.c               |   1 +
 drivers/video/mxsfb.c                         |   1 +
 drivers/video/rockchip/rk3288_vop.c           |   1 +
 drivers/video/rockchip/rk3399_vop.c           |   1 +
 drivers/video/rockchip/rk_lvds.c              |   1 +
 drivers/video/rockchip/rk_mipi.c              |   1 +
 drivers/video/rockchip/rk_vop.c               |   1 +
 drivers/video/sandbox_sdl.c                   |   1 +
 drivers/video/simplefb.c                      |   1 +
 drivers/video/stm32/stm32_dsi.c               |   1 +
 drivers/video/stm32/stm32_ltdc.c              |   1 +
 drivers/video/sunxi/sunxi_lcd.c               |   1 +
 drivers/video/tegra.c                         |   1 +
 drivers/video/video-uclass.c                  |   1 +
 drivers/video/videomodes.c                    |   1 +
 drivers/watchdog/armada-37xx-wdt.c            |   1 +
 drivers/watchdog/at91sam9_wdt.c               |   1 +
 drivers/watchdog/mt7621_wdt.c                 |   1 +
 drivers/watchdog/octeontx_wdt.c               |   1 +
 drivers/watchdog/orion_wdt.c                  |   1 +
 drivers/watchdog/sbsa_gwdt.c                  |   1 +
 drivers/watchdog/sp805_wdt.c                  |   1 +
 drivers/watchdog/wdt-uclass.c                 |   1 +
 drivers/xen/gnttab.c                          |   1 +
 drivers/xen/pvblock.c                         |   1 +
 env/callback.c                                |   1 +
 env/common.c                                  |   1 +
 env/eeprom.c                                  |   1 +
 env/env.c                                     |   1 +
 env/ext4.c                                    |   1 +
 env/flash.c                                   |   1 +
 env/mmc.c                                     |   1 +
 env/nand.c                                    |   1 +
 env/nowhere.c                                 |   1 +
 env/nvram.c                                   |   1 +
 env/onenand.c                                 |   1 +
 env/remote.c                                  |   1 +
 env/sf.c                                      |   1 +
 env/ubi.c                                     |   1 +
 examples/standalone/stubs.c                   |   1 +
 fs/ext4/ext4_journal.c                        |   1 +
 fs/ext4/ext4_journal.h                        |   1 +
 fs/ext4/ext4fs.c                              |   2 +-
 fs/fs.c                                       |   1 +
 fs/reiserfs/reiserfs_private.h                |   2 +
 fs/ubifs/ubifs.c                              |   1 +
 include/audio_codec.h                         |   2 +
 include/axi.h                                 |   2 +
 include/backlight.h                           |   2 +
 include/board.h                               |   3 +
 include/bootcount.h                           |   1 +
 include/cache.h                               |   2 +
 include/common.h                              |   1 -
 include/cpu.h                                 |   2 +
 include/dm/device-internal.h                  |   1 +
 include/dm/read.h                             |   1 +
 include/dm/root.h                             |   1 +
 include/dma.h                                 |   2 +
 include/exports.h                             |   1 +
 include/ext_common.h                          |   2 +
 include/i2c.h                                 |   1 +
 include/image-sparse.h                        |   1 +
 include/init.h                                |   7 +-
 include/initcall.h                            |   1 +
 include/led.h                                 |   2 +
 include/libata.h                              |   2 -
 include/misc.h                                |   2 +
 include/netdev.h                              |   2 +
 include/pci.h                                 |   2 -
 include/power/as3722.h                        |   2 +
 include/power/regulator.h                     |   2 +
 include/pwm.h                                 |   2 +
 include/ram.h                                 |   2 +
 include/scsi.h                                |   2 +
 include/soc.h                                 |   2 +
 include/sysreset.h                            |   2 +
 include/tee.h                                 |   2 +
 include/tlv_eeprom.h                          |   2 +
 include/tpm-common.h                          |   2 +
 include/tpm-v1.h                              |   2 +
 include/tpm-v2.h                              |   2 +
 include/tps6586x.h                            |   2 +
 include/ufs.h                                 |   3 +
 lib/acpi/acpi_table.c                         |   1 +
 lib/asm-offsets.c                             |   1 +
 lib/efi/efi_app.c                             |   1 +
 lib/efi/efi_info.c                            |   1 +
 lib/efi_loader/efi_boottime.c                 |   1 +
 lib/efi_loader/efi_gop.c                      |   1 +
 lib/efi_loader/efi_memory.c                   |   1 +
 lib/efi_loader/efi_rng.c                      |   1 +
 lib/efi_loader/efi_runtime.c                  |   1 +
 lib/fdtdec.c                                  |   1 +
 lib/optee/optee.c                             |   1 +
 lib/time.c                                    |   1 +
 lib/trace.c                                   |   1 +
 lib/zlib/zlib.c                               |   1 +
 net/eth-uclass.c                              |   1 +
 net/eth_legacy.c                              |   1 +
 net/tftp.c                                    |   1 +
 post/drivers/memory.c                         |   1 +
 post/post.c                                   |   1 +
 test/bloblist.c                               |   1 +
 test/dm/acpi.c                                |   1 +
 test/dm/blk.c                                 |   1 +
 test/dm/bus.c                                 |   1 +
 test/dm/core.c                                |   1 +
 test/dm/fdtdec.c                              |   1 +
 test/dm/mux-emul.c                            |   1 +
 test/dm/ram.c                                 |   1 +
 test/dm/test-fdt.c                            |   1 +
 test/dm/test-main.c                           |   1 +
 test/lib/test_print.c                         |   1 +
 test/log/cont_test.c                          |   1 +
 test/log/nolog_test.c                         |   1 +
 test/log/syslog_test.c                        |   1 +
 test/log/syslog_test_ndebug.c                 |   1 +
 test/ut.c                                     |   1 +
 1345 files changed, 1988 insertions(+), 25 deletions(-)
 create mode 100644 board/freescale/p1023rdb/p1023rdb.c
 create mode 100644 drivers/clk/at91/clk-generated.c
 create mode 100644 drivers/clk/at91/clk-h32mx.c
 create mode 100644 drivers/clk/at91/clk-plla.c
 create mode 100644 drivers/clk/at91/clk-usb.c

diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
index 63d6207c047..8a8d394a5f0 100644
--- a/arch/arc/lib/bootm.c
+++ b/arch/arc/lib/bootm.c
@@ -11,6 +11,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arc/lib/cache.c b/arch/arc/lib/cache.c
index 85651b219cf..f807cd83d6b 100644
--- a/arch/arc/lib/cache.c
+++ b/arch/arc/lib/cache.c
@@ -6,6 +6,7 @@
 #include <config.h>
 #include <common.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
 #include <linux/kernel.h>
diff --git a/arch/arc/lib/cpu.c b/arch/arc/lib/cpu.c
index d66a8c867ac..07f57878ef1 100644
--- a/arch/arc/lib/cpu.c
+++ b/arch/arc/lib/cpu.c
@@ -9,6 +9,7 @@
 #include <vsprintf.h>
 #include <asm/arcregs.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arc/lib/relocate.c b/arch/arc/lib/relocate.c
index 6882ebec6d8..7f531c95eec 100644
--- a/arch/arc/lib/relocate.c
+++ b/arch/arc/lib/relocate.c
@@ -7,6 +7,7 @@
 #include <elf.h>
 #include <log.h>
 #include <asm-generic/sections.h>
+#include <asm/global_data.h>
 
 extern ulong __image_copy_start;
 extern ulong __ivt_start;
diff --git a/arch/arm/cpu/arm1136/mx35/generic.c b/arch/arm/cpu/arm1136/mx35/generic.c
index 10f9ce42708..cbf76ab4fee 100644
--- a/arch/arm/cpu/arm1136/mx35/generic.c
+++ b/arch/arm/cpu/arm1136/mx35/generic.c
@@ -12,6 +12,7 @@
 #include <div64.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/arm926ejs/armada100/dram.c b/arch/arm/cpu/arm926ejs/armada100/dram.c
index da0615faf15..c97b5b1940a 100644
--- a/arch/arm/cpu/arm926ejs/armada100/dram.c
+++ b/arch/arm/cpu/arm926ejs/armada100/dram.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/armada100.h>
 
diff --git a/arch/arm/cpu/arm926ejs/armada100/timer.c b/arch/arm/cpu/arm926ejs/armada100/timer.c
index 0f1e68c8355..ec73393d0fc 100644
--- a/arch/arm/cpu/arm926ejs/armada100/timer.c
+++ b/arch/arm/cpu/arm926ejs/armada100/timer.c
@@ -12,6 +12,7 @@
 #include <time.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/armada100.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 /*
diff --git a/arch/arm/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c
index a4528cbaf52..9cd60abcccb 100644
--- a/arch/arm/cpu/arm926ejs/mx25/generic.c
+++ b/arch/arm/cpu/arm926ejs/mx25/generic.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-imx/cpu.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/arm926ejs/mx27/timer.c b/arch/arm/cpu/arm926ejs/mx27/timer.c
index 408e88aa129..4fd6a805968 100644
--- a/arch/arm/cpu/arm926ejs/mx27/timer.c
+++ b/arch/arm/cpu/arm926ejs/mx27/timer.c
@@ -19,6 +19,7 @@
 #include <div64.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/ptrace.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c b/arch/arm/cpu/arm926ejs/mxs/mxs.c
index 8243aeb2c0f..c9362136fbf 100644
--- a/arch/arm/cpu/arm926ejs/mxs/mxs.c
+++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c
@@ -15,6 +15,7 @@
 #include <hang.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
index 1501d7df0dc..a16a15e79d8 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/timer.c b/arch/arm/cpu/arm926ejs/mxs/timer.c
index 5ab4ed0c5a3..3dff3d768d1 100644
--- a/arch/arm/cpu/arm926ejs/mxs/timer.c
+++ b/arch/arm/cpu/arm926ejs/mxs/timer.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/cpu/arm926ejs/spear/spr_misc.c b/arch/arm/cpu/arm926ejs/spear/spr_misc.c
index 998423b6525..044052b32f9 100644
--- a/arch/arm/cpu/arm926ejs/spear/spr_misc.c
+++ b/arch/arm/cpu/arm926ejs/spear/spr_misc.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/mtd/st_smi.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
diff --git a/arch/arm/cpu/arm926ejs/spear/timer.c b/arch/arm/cpu/arm926ejs/spear/timer.c
index dd0f15c0cee..b42baa71506 100644
--- a/arch/arm/cpu/arm926ejs/spear/timer.c
+++ b/arch/arm/cpu/arm926ejs/spear/timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/spr_gpt.h>
diff --git a/arch/arm/cpu/armv7/arch_timer.c b/arch/arm/cpu/armv7/arch_timer.c
index 871629c2333..d96406f7626 100644
--- a/arch/arm/cpu/armv7/arch_timer.c
+++ b/arch/arm/cpu/armv7/arch_timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <bootstage.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/clock.c b/arch/arm/cpu/armv7/ls102xa/clock.c
index f3bdb14c072..940995ef5af 100644
--- a/arch/arm/cpu/armv7/ls102xa/clock.c
+++ b/arch/arm/cpu/armv7/ls102xa/clock.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c
index ce472aa9bd5..cbc8254b42a 100644
--- a/arch/arm/cpu/armv7/ls102xa/cpu.c
+++ b/arch/arm/cpu/armv7/ls102xa/cpu.c
@@ -9,6 +9,7 @@
 #include <net.h>
 #include <vsprintf.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/cache.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c
index d8cb78ecc67..d1d09f93650 100644
--- a/arch/arm/cpu/armv7/ls102xa/fdt.c
+++ b/arch/arm/cpu/armv7/ls102xa/fdt.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/io.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/timer.c b/arch/arm/cpu/armv7/ls102xa/timer.c
index 2a32b30999f..d79bf105f13 100644
--- a/arch/arm/cpu/armv7/ls102xa/timer.c
+++ b/arch/arm/cpu/armv7/ls102xa/timer.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/immap_ls102xa.h>
diff --git a/arch/arm/cpu/armv7/s5p-common/cpu_info.c b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
index 7790f087a09..d910282e2b2 100644
--- a/arch/arm/cpu/armv7/s5p-common/cpu_info.c
+++ b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 
diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c
index 3064fd25d4d..8141f40d5c0 100644
--- a/arch/arm/cpu/armv7/s5p-common/timer.c
+++ b/arch/arm/cpu/armv7/s5p-common/timer.c
@@ -10,6 +10,7 @@
 #include <div64.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/pwm.h>
 #include <asm/arch/clk.h>
diff --git a/arch/arm/cpu/armv7/s5p4418/cpu.c b/arch/arm/cpu/armv7/s5p4418/cpu.c
index 8add9474ad2..3c71a37a74b 100644
--- a/arch/arm/cpu/armv7/s5p4418/cpu.c
+++ b/arch/arm/cpu/armv7/s5p4418/cpu.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <asm/system.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <asm/io.h>
 #include <asm/arch/nexell.h>
diff --git a/arch/arm/cpu/armv7/stv0991/timer.c b/arch/arm/cpu/armv7/stv0991/timer.c
index 919529aa1b0..07033acb5c1 100644
--- a/arch/arm/cpu/armv7/stv0991/timer.c
+++ b/arch/arm/cpu/armv7/stv0991/timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-stv0991/hardware.h>
 #include <asm/arch-stv0991/stv0991_cgu.h>
diff --git a/arch/arm/cpu/armv7/sunxi/timer.c b/arch/arm/cpu/armv7/sunxi/timer.c
index 65b64b5ac75..b7585996369 100644
--- a/arch/arm/cpu/armv7/sunxi/timer.c
+++ b/arch/arm/cpu/armv7/sunxi/timer.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 #include <linux/delay.h>
diff --git a/arch/arm/cpu/armv7/vf610/generic.c b/arch/arm/cpu/armv7/vf610/generic.c
index 743bfced643..c23ddc12b45 100644
--- a/arch/arm/cpu/armv7/vf610/generic.c
+++ b/arch/arm/cpu/armv7/vf610/generic.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv7/vf610/timer.c b/arch/arm/cpu/armv7/vf610/timer.c
index fa8f8fae10a..a9c1a8fcebc 100644
--- a/arch/arm/cpu/armv7/vf610/timer.c
+++ b/arch/arm/cpu/armv7/vf610/timer.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/armv7m/systick-timer.c b/arch/arm/cpu/armv7m/systick-timer.c
index d2672fd40cd..556eaf8c74a 100644
--- a/arch/arm/cpu/armv7m/systick-timer.c
+++ b/arch/arm/cpu/armv7m/systick-timer.c
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c
index 7c31d98a6f0..15cecb5e0b3 100644
--- a/arch/arm/cpu/armv8/cache_v8.c
+++ b/arch/arm/cpu/armv8/cache_v8.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index 596b88d3e29..fea170f8cd3 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <vsprintf.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/ptrace.h>
 #include <linux/errno.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
index c56689086de..63d34e1ec03 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
index 7f8178f72eb..767359fa5bd 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <fsl_ifc.h>
 #include <asm/processor.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/mp.c b/arch/arm/cpu/armv8/fsl-layerscape/mp.c
index bd85351705a..5ac545f9df8 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/mp.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/mp.c
@@ -8,6 +8,7 @@
 #include <image.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/system.h>
 #include <asm/arch/mp.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
index 1ddb267093c..f26be5a25b0 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <errno.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/types.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/spl.c b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
index 77724336d62..7d594a9f749 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/spl.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fsl_ifc.h>
 #include <i2c.h>
diff --git a/arch/arm/cpu/armv8/generic_timer.c b/arch/arm/cpu/armv8/generic_timer.c
index e23629ab0bc..f27a74b9d09 100644
--- a/arch/arm/cpu/armv8/generic_timer.c
+++ b/arch/arm/cpu/armv8/generic_timer.c
@@ -8,6 +8,7 @@
 #include <bootstage.h>
 #include <command.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/cpu/armv8/s32v234/generic.c b/arch/arm/cpu/armv8/s32v234/generic.c
index de5a098adb8..0fc98852228 100644
--- a/arch/arm/cpu/armv8/s32v234/generic.c
+++ b/arch/arm/cpu/armv8/s32v234/generic.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c
index bfc0fac3eff..c6c4fcc7e07 100644
--- a/arch/arm/cpu/armv8/sec_firmware.c
+++ b/arch/arm/cpu/armv8/sec_firmware.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/kernel.h>
 #include <asm/io.h>
diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h
index 22de0aef8dc..5108180ea77 100644
--- a/arch/arm/include/asm/arch-rockchip/clock.h
+++ b/arch/arm/include/asm/arch-rockchip/clock.h
@@ -6,6 +6,8 @@
 #ifndef _ASM_ARCH_CLOCK_H
 #define _ASM_ARCH_CLOCK_H
 
+struct udevice;
+
 /* define pll mode */
 #define RKCLK_PLL_MODE_SLOW		0
 #define RKCLK_PLL_MODE_NORMAL		1
diff --git a/arch/arm/include/asm/arch-tegra/clock.h b/arch/arm/include/asm/arch-tegra/clock.h
index 8aa90d5c0c5..1d80d9e9461 100644
--- a/arch/arm/include/asm/arch-tegra/clock.h
+++ b/arch/arm/include/asm/arch-tegra/clock.h
@@ -8,6 +8,8 @@
 #ifndef _TEGRA_CLOCK_H_
 #define _TEGRA_CLOCK_H_
 
+struct udevice;
+
 /* Set of oscillator frequencies supported in the internal API. */
 enum clock_osc_freq {
 	/* All in MHz, so 13_0 is 13.0MHz */
diff --git a/arch/arm/include/asm/arch-tegra/tegra_i2c.h b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
index 5316bc47e4b..e57b9ef9c47 100644
--- a/arch/arm/include/asm/arch-tegra/tegra_i2c.h
+++ b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
@@ -10,6 +10,8 @@
 
 #include <asm/types.h>
 
+struct udevice;
+
 enum {
 	I2C_TIMEOUT_USEC = 10000,	/* Wait time for completion */
 	I2C_FIFO_DEPTH = 8,		/* I2C fifo depth */
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 2aafc6d2062..5a935d34e20 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -7,6 +7,9 @@
 #ifndef	__ASM_GBL_DATA_H
 #define __ASM_GBL_DATA_H
 
+#include <asm/types.h>
+#include <linux/types.h>
+
 /* Architecture-specific global data */
 struct arch_global_data {
 #if defined(CONFIG_FSL_ESDHC) || defined(CONFIG_FSL_ESDHC_IMX)
diff --git a/arch/arm/include/asm/mach-imx/video.h b/arch/arm/include/asm/mach-imx/video.h
index d1a14ad7d34..1fdc2de662a 100644
--- a/arch/arm/include/asm/mach-imx/video.h
+++ b/arch/arm/include/asm/mach-imx/video.h
@@ -16,9 +16,7 @@ struct display_info_t {
 	struct	fb_videomode mode;
 };
 
-#ifdef CONFIG_IMX_HDMI
-extern int detect_hdmi(struct display_info_t const *dev);
-#endif
+int detect_hdmi(struct display_info_t const *dev);
 
 #ifdef CONFIG_IMX_VIDEO_SKIP
 extern struct display_info_t const displays[];
diff --git a/arch/arm/include/asm/secure.h b/arch/arm/include/asm/secure.h
index 50582c972b7..64e5582c1f2 100644
--- a/arch/arm/include/asm/secure.h
+++ b/arch/arm/include/asm/secure.h
@@ -2,6 +2,7 @@
 #define __ASM_SECURE_H
 
 #include <config.h>
+#include <asm/global_data.h>
 
 #define __secure __attribute__ ((section ("._secure.text")))
 #define __secure_data __attribute__ ((section ("._secure.data")))
diff --git a/arch/arm/include/asm/spl.h b/arch/arm/include/asm/spl.h
index e568af25611..8954db61b88 100644
--- a/arch/arm/include/asm/spl.h
+++ b/arch/arm/include/asm/spl.h
@@ -41,4 +41,5 @@ extern char __bss_start[], __bss_end[];
 extern gd_t gdata;
 #endif
 
+#include <asm/global_data.h>
 #endif
diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h
index 11eaa34fab8..cefeddd73f1 100644
--- a/arch/arm/include/asm/string.h
+++ b/arch/arm/include/asm/string.h
@@ -1,8 +1,6 @@
 #ifndef __ASM_ARM_STRING_H
 #define __ASM_ARM_STRING_H
 
-#include <config.h>
-
 /*
  * We don't do inline string functions, since the
  * optimised inline asm versions are not small.
diff --git a/arch/arm/include/asm/ti-common/sys_proto.h b/arch/arm/include/asm/ti-common/sys_proto.h
index db042a1aef2..a96a8382fb6 100644
--- a/arch/arm/include/asm/ti-common/sys_proto.h
+++ b/arch/arm/include/asm/ti-common/sys_proto.h
@@ -6,6 +6,8 @@
 #ifndef _TI_COMMON_SYS_PROTO_H_
 #define _TI_COMMON_SYS_PROTO_H_
 
+#include <asm/global_data.h>
+
 DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_ARCH_OMAP2PLUS
diff --git a/arch/arm/lib/bdinfo.c b/arch/arm/lib/bdinfo.c
index 25bc6e80f47..572f7fb2429 100644
--- a/arch/arm/lib/bdinfo.c
+++ b/arch/arm/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/lib/bootm-fdt.c b/arch/arm/lib/bootm-fdt.c
index 02a49a8e10f..e1970ea9f14 100644
--- a/arch/arm/lib/bootm-fdt.c
+++ b/arch/arm/lib/bootm-fdt.c
@@ -19,6 +19,7 @@
 #ifdef CONFIG_ARMV7_NONSEC
 #include <asm/armv7.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/psci.h>
 #include <asm/spin_table.h>
 
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 1206e306db6..70c181e45b7 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -19,6 +19,7 @@
 #include <hang.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/root.h>
 #include <env.h>
 #include <image.h>
diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index abd81d21c73..24050e5bdd3 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/cache.h>
 #include <linux/compiler.h>
diff --git a/arch/arm/lib/cache.c b/arch/arm/lib/cache.c
index ee7d14b2d31..b494611d6e8 100644
--- a/arch/arm/lib/cache.c
+++ b/arch/arm/lib/cache.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/lib/image.c b/arch/arm/lib/image.c
index 94590d3049a..e394c1ad909 100644
--- a/arch/arm/lib/image.c
+++ b/arch/arm/lib/image.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <image.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/sizes.h>
 
diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c
index 703be5a3209..05bb1a38b35 100644
--- a/arch/arm/lib/interrupts.c
+++ b/arch/arm/lib/interrupts.c
@@ -22,6 +22,7 @@
 #include <cpu_func.h>
 #include <efi_loader.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <asm/proc-armv/ptrace.h>
 #include <asm/ptrace.h>
 #include <asm/u-boot-arm.h>
diff --git a/arch/arm/lib/interrupts_64.c b/arch/arm/lib/interrupts_64.c
index 52994890137..c653e67db28 100644
--- a/arch/arm/lib/interrupts_64.c
+++ b/arch/arm/lib/interrupts_64.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <irq_func.h>
 #include <linux/compiler.h>
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index af0c9ad6bd6..b2b54f28fc4 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -14,6 +14,7 @@
 #include <spl.h>
 #include <image.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mach-types.h>
 
diff --git a/arch/arm/lib/stack.c b/arch/arm/lib/stack.c
index 96a248c0a90..b03e1cfc80c 100644
--- a/arch/arm/lib/stack.c
+++ b/arch/arm/lib/stack.c
@@ -12,6 +12,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-aspeed/ast2500/board_common.c b/arch/arm/mach-aspeed/ast2500/board_common.c
index 3482ee91efd..aca20022312 100644
--- a/arch/arm/mach-aspeed/ast2500/board_common.c
+++ b/arch/arm/mach-aspeed/ast2500/board_common.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <ram.h>
 #include <timer.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 #include <asm/arch/wdt.h>
diff --git a/arch/arm/mach-at91/arm920t/clock.c b/arch/arm/mach-at91/arm920t/clock.c
index 9a57dd40891..c7440278d8f 100644
--- a/arch/arm/mach-at91/arm920t/clock.c
+++ b/arch/arm/mach-at91/arm920t/clock.c
@@ -8,6 +8,7 @@
  * Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  */
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/arch/arm/mach-at91/arm920t/timer.c b/arch/arm/mach-at91/arm920t/timer.c
index dca2d2c70c7..c400e878135 100644
--- a/arch/arm/mach-at91/arm920t/timer.c
+++ b/arch/arm/mach-at91/arm920t/timer.c
@@ -16,6 +16,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/io.h>
diff --git a/arch/arm/mach-at91/arm926ejs/clock.c b/arch/arm/mach-at91/arm926ejs/clock.c
index 7156185a46f..c68e0c0c3c4 100644
--- a/arch/arm/mach-at91/arm926ejs/clock.c
+++ b/arch/arm/mach-at91/arm926ejs/clock.c
@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/arch/arm/mach-at91/arm926ejs/timer.c b/arch/arm/mach-at91/arm926ejs/timer.c
index 42ef349966b..a8cf0e4bd79 100644
--- a/arch/arm/mach-at91/arm926ejs/timer.c
+++ b/arch/arm/mach-at91/arm926ejs/timer.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pit.h>
diff --git a/arch/arm/mach-at91/armv7/clock.c b/arch/arm/mach-at91/armv7/clock.c
index 39268969580..aa6bb6bf31e 100644
--- a/arch/arm/mach-at91/armv7/clock.c
+++ b/arch/arm/mach-at91/armv7/clock.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-at91/armv7/timer.c b/arch/arm/mach-at91/armv7/timer.c
index a6346c01b28..1f54c5dcad9 100644
--- a/arch/arm/mach-at91/armv7/timer.c
+++ b/arch/arm/mach-at91/armv7/timer.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pit.h>
diff --git a/arch/arm/mach-at91/spl_at91.c b/arch/arm/mach-at91/spl_at91.c
index 35a3d5185d3..d0c73253924 100644
--- a/arch/arm/mach-at91/spl_at91.c
+++ b/arch/arm/mach-at91/spl_at91.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91sam9_matrix.h>
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
index f2a54116237..b2708e4876e 100644
--- a/arch/arm/mach-bcm283x/init.c
+++ b/arch/arm/mach-bcm283x/init.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <fdt_support.h>
 
diff --git a/arch/arm/mach-davinci/cpu.c b/arch/arm/mach-davinci/cpu.c
index 40dd44af67e..aefd21dc458 100644
--- a/arch/arm/mach-davinci/cpu.c
+++ b/arch/arm/mach-davinci/cpu.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-davinci/misc.c b/arch/arm/mach-davinci/misc.c
index 5bfc47dae45..90b38b7e020 100644
--- a/arch/arm/mach-davinci/misc.c
+++ b/arch/arm/mach-davinci/misc.c
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <net.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/davinci_misc.h>
 
diff --git a/arch/arm/mach-davinci/timer.c b/arch/arm/mach-davinci/timer.c
index a6681821f6d..43e0574901e 100644
--- a/arch/arm/mach-davinci/timer.c
+++ b/arch/arm/mach-davinci/timer.c
@@ -23,6 +23,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer_defs.h>
 #include <div64.h>
diff --git a/arch/arm/mach-exynos/spl_boot.c b/arch/arm/mach-exynos/spl_boot.c
index 9c7ca49519b..27f0dac182d 100644
--- a/arch/arm/mach-exynos/spl_boot.c
+++ b/arch/arm/mach-exynos/spl_boot.c
@@ -7,6 +7,7 @@
 #include <config.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/cache.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c
index 5dbe1d56e02..bbcefc8e9b6 100644
--- a/arch/arm/mach-imx/imx8/ahab.c
+++ b/arch/arm/mach-imx/imx8/ahab.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sci/sci.h>
 #include <asm/mach-imx/sys_proto.h>
diff --git a/arch/arm/mach-imx/imx8/clock.c b/arch/arm/mach-imx/imx8/clock.c
index d747e1332f0..9941b57b4be 100644
--- a/arch/arm/mach-imx/imx8/clock.c
+++ b/arch/arm/mach-imx/imx8/clock.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/arch/clock.h>
 
diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c
index 38b2c0926f5..293c931b2ff 100644
--- a/arch/arm/mach-imx/imx8/cpu.c
+++ b/arch/arm/mach-imx/imx8/cpu.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/uclass.h>
diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
index 3e05b972a45..a132ce2e6a3 100644
--- a/arch/arm/mach-imx/imx8/fdt.c
+++ b/arch/arm/mach-imx/imx8/fdt.c
@@ -7,6 +7,7 @@
 #include <log.h>
 #include <asm/arch/sci/sci.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/arch/arm/mach-imx/imx8/iomux.c b/arch/arm/mach-imx/imx8/iomux.c
index b8e6f48a5f7..9c3cfbf0068 100644
--- a/arch/arm/mach-imx/imx8/iomux.c
+++ b/arch/arm/mach-imx/imx8/iomux.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/sci/sci.h>
diff --git a/arch/arm/mach-imx/imx8/snvs_security_sc.c b/arch/arm/mach-imx/imx8/snvs_security_sc.c
index 564d1bfdfb2..6f9b1c99fcd 100644
--- a/arch/arm/mach-imx/imx8/snvs_security_sc.c
+++ b/arch/arm/mach-imx/imx8/snvs_security_sc.c
@@ -18,6 +18,7 @@
 #include <asm/arch/sci/sci.h>
 #include <asm/arch-imx8/imx8-pins.h>
 #include <asm/arch-imx8/snvs_security_sc.h>
+#include <asm/global_data.h>
 
 /* Access to gd */
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
index 9dde11cdedf..4024dafca10 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
@@ -9,6 +9,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/io.h>
 #include <div64.h>
 #include <errno.h>
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 9bca5bf9727..75e2357da73 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch/imx-regs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c
index 818f38e17dd..d82efa7f8f0 100644
--- a/arch/arm/mach-imx/misc.c
+++ b/arch/arm/mach-imx/misc.c
@@ -7,6 +7,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-imx/mx5/mx53_dram.c b/arch/arm/mach-imx/mx5/mx53_dram.c
index a7f033f3f44..f7441441947 100644
--- a/arch/arm/mach-imx/mx5/mx53_dram.c
+++ b/arch/arm/mach-imx/mx5/mx53_dram.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-imx/mx6/litesom.c b/arch/arm/mach-imx/mx6/litesom.c
index 92176dc8615..699a3dc317f 100644
--- a/arch/arm/mach-imx/mx6/litesom.c
+++ b/arch/arm/mach-imx/mx6/litesom.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/arch/arm/mach-imx/mx6/opos6ul.c b/arch/arm/mach-imx/mx6/opos6ul.c
index 4b3c59f7eef..e9d78740a15 100644
--- a/arch/arm/mach-imx/mx6/opos6ul.c
+++ b/arch/arm/mach-imx/mx6/opos6ul.c
@@ -8,6 +8,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <env.h>
diff --git a/arch/arm/mach-imx/mx7/clock.c b/arch/arm/mach-imx/mx7/clock.c
index aba9461d920..b1d7290704a 100644
--- a/arch/arm/mach-imx/mx7/clock.c
+++ b/arch/arm/mach-imx/mx7/clock.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <div64.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/mach-imx/mx7ulp/clock.c b/arch/arm/mach-imx/mx7ulp/clock.c
index a987ff22dfd..467832074af 100644
--- a/arch/arm/mach-imx/mx7ulp/clock.c
+++ b/arch/arm/mach-imx/mx7ulp/clock.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <command.h>
 #include <div64.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-imx/speed.c b/arch/arm/mach-imx/speed.c
index e78b1fd71b6..b729187ec81 100644
--- a/arch/arm/mach-imx/speed.c
+++ b/arch/arm/mach-imx/speed.c
@@ -11,6 +11,7 @@
 #include <clock_legacy.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_FSL_ESDHC_IMX
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
index aa2686bb921..d20221b556e 100644
--- a/arch/arm/mach-imx/spl.c
+++ b/arch/arm/mach-imx/spl.c
@@ -10,6 +10,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index f588a5f5216..9f4d95982e5 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -7,6 +7,7 @@
 #include <errno.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <spl.h>
 
diff --git a/arch/arm/mach-imx/syscounter.c b/arch/arm/mach-imx/syscounter.c
index 7da43c32e0d..6dfed365d29 100644
--- a/arch/arm/mach-imx/syscounter.c
+++ b/arch/arm/mach-imx/syscounter.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/mach-k3/am6_init.c b/arch/arm/mach-k3/am6_init.c
index 603834e5078..1e56a0917fd 100644
--- a/arch/arm/mach-k3/am6_init.c
+++ b/arch/arm/mach-k3/am6_init.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <spl.h>
 #include <asm/arch/hardware.h>
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index 8c903f14ff8..f01aeb40c9d 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include "common.h"
 #include <dm.h>
 #include <remoteproc.h>
diff --git a/arch/arm/mach-k3/sysfw-loader.c b/arch/arm/mach-k3/sysfw-loader.c
index 78c158c63f7..91182d04b22 100644
--- a/arch/arm/mach-k3/sysfw-loader.c
+++ b/arch/arm/mach-k3/sysfw-loader.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <remoteproc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
 #include <g_dnl.h>
 #include <usb.h>
diff --git a/arch/arm/mach-mediatek/mt7623/init.c b/arch/arm/mach-mediatek/mt7623/init.c
index 2778e260e02..5d837e05971 100644
--- a/arch/arm/mach-mediatek/mt7623/init.c
+++ b/arch/arm/mach-mediatek/mt7623/init.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-mediatek/mt7629/init.c b/arch/arm/mach-mediatek/mt7629/init.c
index c260413a57a..617a77e9800 100644
--- a/arch/arm/mach-mediatek/mt7629/init.c
+++ b/arch/arm/mach-mediatek/mt7629/init.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <ram.h>
 #include <asm/arch/misc.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <linux/bitops.h>
diff --git a/arch/arm/mach-mediatek/mt8512/init.c b/arch/arm/mach-mediatek/mt8512/init.c
index aa779f43766..c14e7d22e6f 100644
--- a/arch/arm/mach-mediatek/mt8512/init.c
+++ b/arch/arm/mach-mediatek/mt8512/init.c
@@ -17,6 +17,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8512-clk.h>
diff --git a/arch/arm/mach-mediatek/mt8516/init.c b/arch/arm/mach-mediatek/mt8516/init.c
index 13be3912211..0eb65aa76b5 100644
--- a/arch/arm/mach-mediatek/mt8516/init.c
+++ b/arch/arm/mach-mediatek/mt8516/init.c
@@ -15,6 +15,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8516-clk.h>
diff --git a/arch/arm/mach-mediatek/mt8518/init.c b/arch/arm/mach-mediatek/mt8518/init.c
index 531a403da1b..28b00c3dec8 100644
--- a/arch/arm/mach-mediatek/mt8518/init.c
+++ b/arch/arm/mach-mediatek/mt8518/init.c
@@ -16,6 +16,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8518-clk.h>
diff --git a/arch/arm/mach-meson/board-axg.c b/arch/arm/mach-meson/board-axg.c
index 0d4eda93b8c..3b14bc99894 100644
--- a/arch/arm/mach-meson/board-axg.c
+++ b/arch/arm/mach-meson/board-axg.c
@@ -11,6 +11,7 @@
 #include <asm/arch/eth.h>
 #include <asm/arch/axg.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c
index 7ea0ed47947..34b3c8f399d 100644
--- a/arch/arm/mach-meson/board-common.c
+++ b/arch/arm/mach-meson/board-common.c
@@ -11,6 +11,7 @@
 #include <asm/arch/boot.h>
 #include <env.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/libfdt.h>
 #include <linux/err.h>
diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c
index 14127ca737c..bb75d4f8ad3 100644
--- a/arch/arm/mach-meson/board-g12a.c
+++ b/arch/arm/mach-meson/board-g12a.c
@@ -13,6 +13,7 @@
 #include <asm/arch/g12a.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
index 7a0e7035966..f5273f42af6 100644
--- a/arch/arm/mach-meson/board-gx.c
+++ b/arch/arm/mach-meson/board-gx.c
@@ -12,6 +12,7 @@
 #include <asm/arch/gx.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-info.c b/arch/arm/mach-meson/board-info.c
index 3abb27e03b4..28385488995 100644
--- a/arch/arm/mach-meson/board-info.c
+++ b/arch/arm/mach-meson/board-info.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm.h>
 #include <linux/bitfield.h>
diff --git a/arch/arm/mach-meson/sm.c b/arch/arm/mach-meson/sm.c
index ebbb880b71e..1a8f23cb1fa 100644
--- a/arch/arm/mach-meson/sm.c
+++ b/arch/arm/mach-meson/sm.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <asm/arch/sm.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/bitops.h>
 #include <linux/err.h>
diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c
index c8c065e93c3..fa687d8abbb 100644
--- a/arch/arm/mach-mvebu/arm64-common.c
+++ b/arch/arm/mach-mvebu/arm64-common.c
@@ -8,6 +8,7 @@
 #include <fdtdec.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/libfdt.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c
index e438b4922e1..70f76c7d707 100644
--- a/arch/arm/mach-mvebu/armada3700/cpu.c
+++ b/arch/arm/mach-mvebu/armada3700/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-mvebu/armada8k/dram.c b/arch/arm/mach-mvebu/armada8k/dram.c
index 3da9fa589d2..bab375e18ac 100644
--- a/arch/arm/mach-mvebu/armada8k/dram.c
+++ b/arch/arm/mach-mvebu/armada8k/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-mvebu/dram.c b/arch/arm/mach-mvebu/dram.c
index 6c6f8d8c5c5..349e0cc4c18 100644
--- a/arch/arm/mach-mvebu/dram.c
+++ b/arch/arm/mach-mvebu/dram.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index f645befb2c0..16ebb7a59e5 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/mach-nexell/cmd_boot_linux.c b/arch/arm/mach-nexell/cmd_boot_linux.c
index f2dedfe1625..9b38d38ddb5 100644
--- a/arch/arm/mach-nexell/cmd_boot_linux.c
+++ b/arch/arm/mach-nexell/cmd_boot_linux.c
@@ -11,6 +11,7 @@
 #include <errno.h>
 #include <image.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 
 #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_CLI_FRAMEWORK)
 
diff --git a/arch/arm/mach-octeontx/cpu.c b/arch/arm/mach-octeontx/cpu.c
index 9c29c31393c..ce5f2b42d72 100644
--- a/arch/arm/mach-octeontx/cpu.c
+++ b/arch/arm/mach-octeontx/cpu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/board.h>
 
diff --git a/arch/arm/mach-octeontx2/cpu.c b/arch/arm/mach-octeontx2/cpu.c
index 2a6d5e86613..87868152b7b 100644
--- a/arch/arm/mach-octeontx2/cpu.c
+++ b/arch/arm/mach-octeontx2/cpu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/board.h>
 
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
index 2888390d240..852d36132a5 100644
--- a/arch/arm/mach-omap2/am33xx/board.c
+++ b/arch/arm/mach-omap2/am33xx/board.c
@@ -26,6 +26,7 @@
 #include <asm/arch/mem.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c
index cb9d7fdb156..05efe04dc35 100644
--- a/arch/arm/mach-omap2/boot-common.c
+++ b/arch/arm/mach-omap2/boot-common.c
@@ -11,6 +11,7 @@
 #include <ahci.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/omap_common.h>
 #include <asm/arch/omap.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/arch/arm/mach-omap2/hwinit-common.c b/arch/arm/mach-omap2/hwinit-common.c
index 7a7086776ee..3da50f974dc 100644
--- a/arch/arm/mach-omap2/hwinit-common.c
+++ b/arch/arm/mach-omap2/hwinit-common.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <spl.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/emif.h>
 #include <asm/omap_common.h>
diff --git a/arch/arm/mach-omap2/omap-cache.c b/arch/arm/mach-omap2/omap-cache.c
index 502ea6987ab..1b246f844a8 100644
--- a/arch/arm/mach-omap2/omap-cache.c
+++ b/arch/arm/mach-omap2/omap-cache.c
@@ -15,6 +15,7 @@
 #include <cpu_func.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-omap2/omap3/am35x_musb.c b/arch/arm/mach-omap2/omap3/am35x_musb.c
index 026e5d2d130..95e15c1a51b 100644
--- a/arch/arm/mach-omap2/omap3/am35x_musb.c
+++ b/arch/arm/mach-omap2/omap3/am35x_musb.c
@@ -9,6 +9,7 @@
  */
 
 #include <common.h>
+#include <dm.h>
 #include <log.h>
 #include <asm/io.h>
 #include <asm/arch/am35x_def.h>
diff --git a/arch/arm/mach-omap2/omap3/emif4.c b/arch/arm/mach-omap2/omap3/emif4.c
index 4cfa1323881..df6e9ce1d6c 100644
--- a/arch/arm/mach-omap2/omap3/emif4.c
+++ b/arch/arm/mach-omap2/omap3/emif4.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-omap2/omap3/sdrc.c b/arch/arm/mach-omap2/omap3/sdrc.c
index 1d65ed62270..4d85b1dee99 100644
--- a/arch/arm/mach-omap2/omap3/sdrc.c
+++ b/arch/arm/mach-omap2/omap3/sdrc.c
@@ -23,6 +23,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index bcfba16a08e..82b10f6b248 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -18,6 +18,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-orion5x/dram.c b/arch/arm/mach-orion5x/dram.c
index 33f65db48ea..c9a3750e48d 100644
--- a/arch/arm/mach-orion5x/dram.c
+++ b/arch/arm/mach-orion5x/dram.c
@@ -12,6 +12,7 @@
 #include <config.h>
 #include <init.h>
 #include <asm/arch/cpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-orion5x/timer.c b/arch/arm/mach-orion5x/timer.c
index 4926bb77796..0adf3dcc648 100644
--- a/arch/arm/mach-orion5x/timer.c
+++ b/arch/arm/mach-orion5x/timer.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/arch/arm/mach-owl/soc.c b/arch/arm/mach-owl/soc.c
index fd6ee7c1c0f..4d2b9d0b0eb 100644
--- a/arch/arm/mach-owl/soc.c
+++ b/arch/arm/mach-owl/soc.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 #include <linux/psci.h>
 #include <common.h>
diff --git a/arch/arm/mach-rmobile/memmap-gen3.c b/arch/arm/mach-rmobile/memmap-gen3.c
index 578cb9bfd3f..a68eb806b35 100644
--- a/arch/arm/mach-rmobile/memmap-gen3.c
+++ b/arch/arm/mach-rmobile/memmap-gen3.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 
 #define GEN3_NR_REGIONS 16
 
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index ba4da72b391..c386b52987e 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -12,6 +12,7 @@
 #include <ram.h>
 #include <syscon.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/boot_mode.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3036-board-spl.c b/arch/arm/mach-rockchip/rk3036-board-spl.c
index 6eb89e15b81..964e981b863 100644
--- a/arch/arm/mach-rockchip/rk3036-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3036-board-spl.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/sdram_rk3036.h>
diff --git a/arch/arm/mach-rockchip/rk3036/rk3036.c b/arch/arm/mach-rockchip/rk3036/rk3036.c
index e9e020ff3f5..0a072cf03a8 100644
--- a/arch/arm/mach-rockchip/rk3036/rk3036.c
+++ b/arch/arm/mach-rockchip/rk3036/rk3036.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/grf_rk3036.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/arch/arm/mach-rockchip/rk3128/rk3128.c b/arch/arm/mach-rockchip/rk3128/rk3128.c
index 740bd2ba077..01dbfa75cb2 100644
--- a/arch/arm/mach-rockchip/rk3128/rk3128.c
+++ b/arch/arm/mach-rockchip/rk3128/rk3128.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c
index 222953ab94a..ad8c6cd1d79 100644
--- a/arch/arm/mach-rockchip/rk3188/rk3188.c
+++ b/arch/arm/mach-rockchip/rk3188/rk3188.c
@@ -9,6 +9,7 @@
 #include <led.h>
 #include <log.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c
index 1a4ecdf6254..bc20bc5ab90 100644
--- a/arch/arm/mach-rockchip/rk3288/rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/rk3288.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/armv7.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3308/rk3308.c b/arch/arm/mach-rockchip/rk3308/rk3308.c
index 8e8214cf7ec..70fe0d0ac35 100644
--- a/arch/arm/mach-rockchip/rk3308/rk3308.c
+++ b/arch/arm/mach-rockchip/rk3308/rk3308.c
@@ -5,6 +5,7 @@
 #include <common.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/grf_rk3308.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c
index 7c85b2663c8..ec3336cb49a 100644
--- a/arch/arm/mach-rockchip/rk3328/rk3328.c
+++ b/arch/arm/mach-rockchip/rk3328/rk3328.c
@@ -10,6 +10,7 @@
 #include <asm/arch-rockchip/grf_rk3328.h>
 #include <asm/arch-rockchip/uart.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c b/arch/arm/mach-rockchip/rk3368/rk3368.c
index 1c6d65a5887..9b7132d471c 100644
--- a/arch/arm/mach-rockchip/rk3368/rk3368.c
+++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <syscon.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index c6434839719..869d2159bea 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -11,6 +11,7 @@
 #include <spl_gpio.h>
 #include <syscon.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/sdram.c b/arch/arm/mach-rockchip/sdram.c
index 4c637b77673..ed07ece15a4 100644
--- a/arch/arm/mach-rockchip/sdram.c
+++ b/arch/arm/mach-rockchip/sdram.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <ram.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/sdram.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
index 94673f34c9b..e05c12e0cd3 100644
--- a/arch/arm/mach-rockchip/spl-boot-order.c
+++ b/arch/arm/mach-rockchip/spl-boot-order.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <mmc.h>
 #include <spl.h>
+#include <asm/global_data.h>
 
 #if CONFIG_IS_ENABLED(OF_LIBFDT)
 /**
diff --git a/arch/arm/mach-rockchip/spl.c b/arch/arm/mach-rockchip/spl.c
index f148d48b6a3..4b5c22dc138 100644
--- a/arch/arm/mach-rockchip/spl.c
+++ b/arch/arm/mach-rockchip/spl.c
@@ -13,6 +13,7 @@
 #include <ram.h>
 #include <spl.h>
 #include <asm/arch-rockchip/bootrom.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/mach-snapdragon/pinctrl-snapdragon.h b/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
index 24f8863f59b..61d466f4d84 100644
--- a/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
+++ b/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
@@ -8,7 +8,7 @@
 #ifndef _PINCTRL_SNAPDRAGON_H
 #define _PINCTRL_SNAPDRAGON_H
 
-#include <common.h>
+struct udevice;
 
 struct msm_pinctrl_data {
 	int pin_count;
diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c
index 340abf9305c..bdd5b863c45 100644
--- a/arch/arm/mach-socfpga/board.c
+++ b/arch/arm/mach-socfpga/board.c
@@ -12,6 +12,7 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/misc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include <usb.h>
diff --git a/arch/arm/mach-socfpga/clock_manager.c b/arch/arm/mach-socfpga/clock_manager.c
index a4a97b6a0fc..f0b15f770cc 100644
--- a/arch/arm/mach-socfpga/clock_manager.c
+++ b/arch/arm/mach-socfpga/clock_manager.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <init.h>
 #include <wait_bit.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock_manager.h>
 
diff --git a/arch/arm/mach-socfpga/clock_manager_agilex.c b/arch/arm/mach-socfpga/clock_manager_agilex.c
index 6188a8c3d2d..4bf01f3c8ae 100644
--- a/arch/arm/mach-socfpga/clock_manager_agilex.c
+++ b/arch/arm/mach-socfpga/clock_manager_agilex.c
@@ -11,6 +11,7 @@
 #include <malloc.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/system_manager.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dt-bindings/clock/agilex-clock.h>
 
diff --git a/arch/arm/mach-socfpga/clock_manager_s10.c b/arch/arm/mach-socfpga/clock_manager_s10.c
index 05e42127b57..642dcbb0ac0 100644
--- a/arch/arm/mach-socfpga/clock_manager_s10.c
+++ b/arch/arm/mach-socfpga/clock_manager_s10.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/handoff_s10.h>
diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
index 18d44924e62..3332e44f3b6 100644
--- a/arch/arm/mach-socfpga/mailbox_s10.c
+++ b/arch/arm/mach-socfpga/mailbox_s10.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <hang.h>
 #include <wait_bit.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mailbox_s10.h>
 #include <asm/arch/system_manager.h>
diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach-socfpga/misc.c
index ac2b891fade..64a7c9d652c 100644
--- a/arch/arm/mach-socfpga/misc.c
+++ b/arch/arm/mach-socfpga/misc.c
@@ -9,6 +9,7 @@
 #include <hang.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <fdtdec.h>
diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
index 7209e8d6db7..4edf4f9b5c1 100644
--- a/arch/arm/mach-socfpga/misc_gen5.c
+++ b/arch/arm/mach-socfpga/misc_gen5.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <env.h>
 #include <errno.h>
diff --git a/arch/arm/mach-socfpga/misc_s10.c b/arch/arm/mach-socfpga/misc_s10.c
index 0d67b0fd836..50c7f19ae14 100644
--- a/arch/arm/mach-socfpga/misc_s10.c
+++ b/arch/arm/mach-socfpga/misc_s10.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mailbox_s10.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-socfpga/mmu-arm64_s10.c b/arch/arm/mach-socfpga/mmu-arm64_s10.c
index 670ceb92ae3..a55b7b7cf3b 100644
--- a/arch/arm/mach-socfpga/mmu-arm64_s10.c
+++ b/arch/arm/mach-socfpga/mmu-arm64_s10.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-socfpga/reset_manager_arria10.c b/arch/arm/mach-socfpga/reset_manager_arria10.c
index aa5299415a7..27c03080113 100644
--- a/arch/arm/mach-socfpga/reset_manager_arria10.c
+++ b/arch/arm/mach-socfpga/reset_manager_arria10.c
@@ -3,6 +3,7 @@
  * Copyright (C) 2016-2017 Intel Corporation
  */
 
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/fpga_manager.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-socfpga/reset_manager_s10.c b/arch/arm/mach-socfpga/reset_manager_s10.c
index 3746e6a60c3..dc521fb3e75 100644
--- a/arch/arm/mach-socfpga/reset_manager_s10.c
+++ b/arch/arm/mach-socfpga/reset_manager_s10.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
diff --git a/arch/arm/mach-socfpga/spl_a10.c b/arch/arm/mach-socfpga/spl_a10.c
index 45aea4ab6cc..92231b5ba3c 100644
--- a/arch/arm/mach-socfpga/spl_a10.c
+++ b/arch/arm/mach-socfpga/spl_a10.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/pl310.h>
 #include <asm/u-boot.h>
diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c
index 78b5d7c8d98..71b17ce3a59 100644
--- a/arch/arm/mach-socfpga/spl_agilex.c
+++ b/arch/arm/mach-socfpga/spl_agilex.c
@@ -6,6 +6,7 @@
 
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/spl_gen5.c b/arch/arm/mach-socfpga/spl_gen5.c
index 5a7c5ef76d5..7c716117685 100644
--- a/arch/arm/mach-socfpga/spl_gen5.c
+++ b/arch/arm/mach-socfpga/spl_gen5.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/spl_s10.c b/arch/arm/mach-socfpga/spl_s10.c
index daed05653ad..955a1161e89 100644
--- a/arch/arm/mach-socfpga/spl_s10.c
+++ b/arch/arm/mach-socfpga/spl_s10.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/system_manager_s10.c b/arch/arm/mach-socfpga/system_manager_s10.c
index cdda881efd7..c123cc96445 100644
--- a/arch/arm/mach-socfpga/system_manager_s10.c
+++ b/arch/arm/mach-socfpga/system_manager_s10.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/system_manager.h>
 
diff --git a/arch/arm/mach-stm32mp/boot_params.c b/arch/arm/mach-stm32mp/boot_params.c
index 37ee9e1612c..c4fba9e33af 100644
--- a/arch/arm/mach-stm32mp/boot_params.c
+++ b/arch/arm/mach-stm32mp/boot_params.c
@@ -7,6 +7,7 @@
 #include <log.h>
 #include <asm/sections.h>
 #include <asm/system.h>
+#include <linux/libfdt.h>
 
 /*
  * Force data-section, as .bss will not be valid
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index a777827c55e..ddf8b68f9a0 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -11,6 +11,7 @@
 #include <mmc.h>
 #include <part.h>
 #include <asm/arch/stm32mp1_smc.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <jffs2/load_kernel.h>
 #include <linux/list.h>
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
index 8aad4be467e..0150d2d5412 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
@@ -10,6 +10,7 @@
 #include <malloc.h>
 #include <serial.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <dm/lists.h>
 #include <dm/device-internal.h>
 #include <linux/delay.h>
diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
index 6785ab6b582..f273d84492f 100644
--- a/arch/arm/mach-stm32mp/cpu.c
+++ b/arch/arm/mach-stm32mp/cpu.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <misc.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/bsec.h>
 #include <asm/arch/stm32.h>
diff --git a/arch/arm/mach-stm32mp/dram_init.c b/arch/arm/mach-stm32mp/dram_init.c
index 0e8ce63f4a2..611e0ff0eb7 100644
--- a/arch/arm/mach-stm32mp/dram_init.c
+++ b/arch/arm/mach-stm32mp/dram_init.c
@@ -10,6 +10,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <ram.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-stm32mp/fdt.c b/arch/arm/mach-stm32mp/fdt.c
index 0de1d822912..9dbc595cc4f 100644
--- a/arch/arm/mach-stm32mp/fdt.c
+++ b/arch/arm/mach-stm32mp/fdt.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <fdtdec.h>
 #include <fdt_support.h>
 #include <log.h>
 #include <tee.h>
diff --git a/arch/arm/mach-stm32mp/spl.c b/arch/arm/mach-stm32mp/spl.c
index b679b0a6454..969eaa1dadd 100644
--- a/arch/arm/mach-stm32mp/spl.c
+++ b/arch/arm/mach-stm32mp/spl.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <linux/libfdt.h>
diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index 03faacbd577..ecdfcdde921 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -12,6 +12,7 @@
 #include <ns16550.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #if IS_ENABLED(CONFIG_TEGRA_CLKRST)
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index 48c4f32d6f9..66376dd39a2 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <ns16550.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/board.h>
diff --git a/arch/arm/mach-tegra/cboot.c b/arch/arm/mach-tegra/cboot.c
index 16c4cf306ec..bb46fb23ff7 100644
--- a/arch/arm/mach-tegra/cboot.c
+++ b/arch/arm/mach-tegra/cboot.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <stdlib.h>
 #include <string.h>
+#include <asm/global_data.h>
 
 #include <linux/ctype.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-tegra/emc.c b/arch/arm/mach-tegra/emc.c
index 66628933b65..2eea14b5a74 100644
--- a/arch/arm/mach-tegra/emc.c
+++ b/arch/arm/mach-tegra/emc.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "emc.h"
 #include <asm/io.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/pmc.c b/arch/arm/mach-tegra/pmc.c
index cdc8493efd8..93db63e104a 100644
--- a/arch/arm/mach-tegra/pmc.c
+++ b/arch/arm/mach-tegra/pmc.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <linux/arm-smccc.h>
 
diff --git a/arch/arm/mach-tegra/tegra124/xusb-padctl.c b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
index 38afc3cbe6d..c95ca048d5e 100644
--- a/arch/arm/mach-tegra/tegra124/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
diff --git a/arch/arm/mach-tegra/tegra20/warmboot.c b/arch/arm/mach-tegra/tegra20/warmboot.c
index ddde4a66772..3d3758f6e6f 100644
--- a/arch/arm/mach-tegra/tegra20/warmboot.c
+++ b/arch/arm/mach-tegra/tegra20/warmboot.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/tegra210/xusb-padctl.c b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
index d160ce4c999..c414dfd3b86 100644
--- a/arch/arm/mach-tegra/tegra210/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
diff --git a/arch/arm/mach-uniphier/board_late_init.c b/arch/arm/mach-uniphier/board_late_init.c
index 8c5e5bb58f6..b33c4b19389 100644
--- a/arch/arm/mach-uniphier/board_late_init.c
+++ b/arch/arm/mach-uniphier/board_late_init.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <init.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <stdio.h>
 #include <linux/printk.h>
diff --git a/arch/arm/mach-versal/clk.c b/arch/arm/mach-versal/clk.c
index b1e34796d0d..249e050cc8d 100644
--- a/arch/arm/mach-versal/clk.c
+++ b/arch/arm/mach-versal/clk.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-versal/cpu.c b/arch/arm/mach-versal/cpu.c
index 61c0b663fcf..a35aac2c02c 100644
--- a/arch/arm/mach-versal/cpu.c
+++ b/arch/arm/mach-versal/cpu.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-versal/mp.c b/arch/arm/mach-versal/mp.c
index 4b434b0ac3f..c97c311d313 100644
--- a/arch/arm/mach-versal/mp.c
+++ b/arch/arm/mach-versal/mp.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-zynq/clk.c b/arch/arm/mach-zynq/clk.c
index 1ace117fc8e..9bab393e211 100644
--- a/arch/arm/mach-zynq/clk.c
+++ b/arch/arm/mach-zynq/clk.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/arch/clk.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynq/timer.c b/arch/arm/mach-zynq/timer.c
index cc0e24cbfed..08cb4406cc3 100644
--- a/arch/arm/mach-zynq/timer.c
+++ b/arch/arm/mach-zynq/timer.c
@@ -34,6 +34,7 @@
 #include <init.h>
 #include <time.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/clk.h>
diff --git a/arch/arm/mach-zynqmp-r5/cpu.c b/arch/arm/mach-zynqmp-r5/cpu.c
index 87c1d75f9f3..d841c3a5b37 100644
--- a/arch/arm/mach-zynqmp-r5/cpu.c
+++ b/arch/arm/mach-zynqmp-r5/cpu.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/armv7_mpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynqmp/clk.c b/arch/arm/mach-zynqmp/clk.c
index 5067b339c21..1e6e726e879 100644
--- a/arch/arm/mach-zynqmp/clk.c
+++ b/arch/arm/mach-zynqmp/clk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynqmp/cpu.c b/arch/arm/mach-zynqmp/cpu.c
index 3eb8e8f4487..29743cae5aa 100644
--- a/arch/arm/mach-zynqmp/cpu.c
+++ b/arch/arm/mach-zynqmp/cpu.c
@@ -11,6 +11,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <zynqmp_firmware.h>
 #include <asm/cache.h>
diff --git a/arch/m68k/cpu/mcf5227x/cpu.c b/arch/m68k/cpu/mcf5227x/cpu.c
index 5ea6158c809..a7adf64f0de 100644
--- a/arch/m68k/cpu/mcf5227x/cpu.c
+++ b/arch/m68k/cpu/mcf5227x/cpu.c
@@ -13,6 +13,7 @@
 #include <vsprintf.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5227x/speed.c b/arch/m68k/cpu/mcf5227x/speed.c
index 207f4534807..fa9d5cb7887 100644
--- a/arch/m68k/cpu/mcf5227x/speed.c
+++ b/arch/m68k/cpu/mcf5227x/speed.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf523x/cpu.c b/arch/m68k/cpu/mcf523x/cpu.c
index 8664231b5a1..8d3ab6f3fb2 100644
--- a/arch/m68k/cpu/mcf523x/cpu.c
+++ b/arch/m68k/cpu/mcf523x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf523x/speed.c b/arch/m68k/cpu/mcf523x/speed.c
index 2f65ac23182..f41f977d7f5 100644
--- a/arch/m68k/cpu/mcf523x/speed.c
+++ b/arch/m68k/cpu/mcf523x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf52x2/cpu.c b/arch/m68k/cpu/mcf52x2/cpu.c
index 8898a7562ad..0676e391410 100644
--- a/arch/m68k/cpu/mcf52x2/cpu.c
+++ b/arch/m68k/cpu/mcf52x2/cpu.c
@@ -19,6 +19,7 @@
 #include <vsprintf.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/arch/m68k/cpu/mcf52x2/speed.c b/arch/m68k/cpu/mcf52x2/speed.c
index 751c83a4fc0..045908a13d4 100644
--- a/arch/m68k/cpu/mcf52x2/speed.c
+++ b/arch/m68k/cpu/mcf52x2/speed.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf530x/speed.c b/arch/m68k/cpu/mcf530x/speed.c
index cf53dfeb150..03d9abeb182 100644
--- a/arch/m68k/cpu/mcf530x/speed.c
+++ b/arch/m68k/cpu/mcf530x/speed.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap.h>
 
diff --git a/arch/m68k/cpu/mcf532x/cpu.c b/arch/m68k/cpu/mcf532x/cpu.c
index f1e6f734eb4..d37dd3defb7 100644
--- a/arch/m68k/cpu/mcf532x/cpu.c
+++ b/arch/m68k/cpu/mcf532x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf532x/speed.c b/arch/m68k/cpu/mcf532x/speed.c
index 0f54ea4b6a8..e2985792d96 100644
--- a/arch/m68k/cpu/mcf532x/speed.c
+++ b/arch/m68k/cpu/mcf532x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5445x/cpu.c b/arch/m68k/cpu/mcf5445x/cpu.c
index ebe15ca518c..ac1e5916816 100644
--- a/arch/m68k/cpu/mcf5445x/cpu.c
+++ b/arch/m68k/cpu/mcf5445x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5445x/speed.c b/arch/m68k/cpu/mcf5445x/speed.c
index eaa3b39bec6..a0b9af8866b 100644
--- a/arch/m68k/cpu/mcf5445x/speed.c
+++ b/arch/m68k/cpu/mcf5445x/speed.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/cpu.c b/arch/m68k/cpu/mcf547x_8x/cpu.c
index e53adeb46b5..c1361e70579 100644
--- a/arch/m68k/cpu/mcf547x_8x/cpu.c
+++ b/arch/m68k/cpu/mcf547x_8x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/slicetimer.c b/arch/m68k/cpu/mcf547x_8x/slicetimer.c
index 33b4cff4ec7..dc076fc6e81 100644
--- a/arch/m68k/cpu/mcf547x_8x/slicetimer.c
+++ b/arch/m68k/cpu/mcf547x_8x/slicetimer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/timer.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/speed.c b/arch/m68k/cpu/mcf547x_8x/speed.c
index bc22560ed2c..bbcf601f38f 100644
--- a/arch/m68k/cpu/mcf547x_8x/speed.c
+++ b/arch/m68k/cpu/mcf547x_8x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/include/asm/immap.h b/arch/m68k/include/asm/immap.h
index 9e84fb9d260..9551e047d02 100644
--- a/arch/m68k/include/asm/immap.h
+++ b/arch/m68k/include/asm/immap.h
@@ -30,6 +30,7 @@
 
 #define CONFIG_SYS_INTR_BASE		(MMAP_INTC0)
 #define CONFIG_SYS_NUM_IRQS		(128)
+#include <asm/global_data.h>
 #endif				/* CONFIG_M520x */
 
 #ifdef CONFIG_M52277
diff --git a/arch/m68k/lib/bdinfo.c b/arch/m68k/lib/bdinfo.c
index 404e5f19ed8..9ec56fd3418 100644
--- a/arch/m68k/lib/bdinfo.c
+++ b/arch/m68k/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/m68k/lib/bootm.c b/arch/m68k/lib/bootm.c
index 320451144fd..51a6f938586 100644
--- a/arch/m68k/lib/bootm.c
+++ b/arch/m68k/lib/bootm.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <bzlib.h>
 #include <watchdog.h>
diff --git a/arch/m68k/lib/fec.c b/arch/m68k/lib/fec.c
index dde353ad17f..eecea7a0235 100644
--- a/arch/m68k/lib/fec.c
+++ b/arch/m68k/lib/fec.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 
diff --git a/arch/m68k/lib/time.c b/arch/m68k/lib/time.c
index a3eb6db54be..cbe29e72a86 100644
--- a/arch/m68k/lib/time.c
+++ b/arch/m68k/lib/time.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <irq_func.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/timer.h>
diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c
index 829ae26ad27..fe65f3728fd 100644
--- a/arch/microblaze/cpu/interrupts.c
+++ b/arch/microblaze/cpu/interrupts.c
@@ -13,6 +13,7 @@
 #include <irq_func.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/microblaze_intc.h>
 #include <asm/asm.h>
 
diff --git a/arch/microblaze/cpu/timer.c b/arch/microblaze/cpu/timer.c
index 1b4617311c5..647bdcd5ba5 100644
--- a/arch/microblaze/cpu/timer.c
+++ b/arch/microblaze/cpu/timer.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/microblaze_timer.h>
 #include <asm/microblaze_intc.h>
 #include <linux/delay.h>
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index d2ea1453be0..6695ac63c77 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -18,6 +18,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 7c40e415c74..d3ad6693013 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -16,6 +16,7 @@
 #include <asm/addrspace.h>
 #include <asm/byteorder.h>
 #include <asm/cpu-features.h>
+#include <asm/global_data.h>
 #include <asm/pgtable-bits.h>
 #include <asm/processor.h>
 #include <asm/string.h>
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h
index 0a847edec89..4ff5af2eb9a 100644
--- a/arch/mips/include/asm/spl.h
+++ b/arch/mips/include/asm/spl.h
@@ -6,6 +6,7 @@
 #ifndef	_ASM_SPL_H_
 #define	_ASM_SPL_H_
 
+#include <asm/global_data.h>
 enum {
 	BOOT_DEVICE_RAM,
 	BOOT_DEVICE_MMC1,
diff --git a/arch/mips/lib/boot.c b/arch/mips/lib/boot.c
index 6ef9109022e..1b29d637ce9 100644
--- a/arch/mips/lib/boot.c
+++ b/arch/mips/lib/boot.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index d5c99d891cd..fde90fced44 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/mips/lib/cache.c b/arch/mips/lib/cache.c
index cf29994a7ae..51a8f433475 100644
--- a/arch/mips/lib/cache.c
+++ b/arch/mips/lib/cache.c
@@ -9,6 +9,7 @@
 #include <asm/cache.h>
 #include <asm/cacheops.h>
 #include <asm/cm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>
 #include <asm/system.h>
diff --git a/arch/mips/lib/reloc.c b/arch/mips/lib/reloc.c
index 67c8af2f35a..c1c04bc08e8 100644
--- a/arch/mips/lib/reloc.c
+++ b/arch/mips/lib/reloc.c
@@ -29,6 +29,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/relocs.h>
 #include <asm/sections.h>
 #include <linux/bitops.h>
diff --git a/arch/mips/lib/stack.c b/arch/mips/lib/stack.c
index 8f523fd6fb7..930d21856d9 100644
--- a/arch/mips/lib/stack.c
+++ b/arch/mips/lib/stack.c
@@ -3,6 +3,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/lib/traps.c b/arch/mips/lib/traps.c
index df8b63f383b..7c2fdf4a1a9 100644
--- a/arch/mips/lib/traps.c
+++ b/arch/mips/lib/traps.c
@@ -11,6 +11,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <cpu_func.h>
 #include <hang.h>
diff --git a/arch/mips/mach-ath79/ar933x/clk.c b/arch/mips/mach-ath79/ar933x/clk.c
index 3feb25ce71d..68d48939d7d 100644
--- a/arch/mips/mach-ath79/ar933x/clk.c
+++ b/arch/mips/mach-ath79/ar933x/clk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/ar934x/clk.c b/arch/mips/mach-ath79/ar934x/clk.c
index 9fa2225ed2b..6ed4057353a 100644
--- a/arch/mips/mach-ath79/ar934x/clk.c
+++ b/arch/mips/mach-ath79/ar934x/clk.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <command.h>
 #include <hang.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/ar934x/ddr.c b/arch/mips/mach-ath79/ar934x/ddr.c
index 218f60a96cc..9df48b97ef4 100644
--- a/arch/mips/mach-ath79/ar934x/ddr.c
+++ b/arch/mips/mach-ath79/ar934x/ddr.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
index 31e87d62060..ed190e8f9b0 100644
--- a/arch/mips/mach-ath79/cpu.c
+++ b/arch/mips/mach-ath79/cpu.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/dram.c b/arch/mips/mach-ath79/dram.c
index 1abe2a49e66..545b1199e10 100644
--- a/arch/mips/mach-ath79/dram.c
+++ b/arch/mips/mach-ath79/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/addrspace.h>
 #include <mach/ddr.h>
diff --git a/arch/mips/mach-ath79/include/mach/ath79.h b/arch/mips/mach-ath79/include/mach/ath79.h
index 0fde5079b16..2eda38885e3 100644
--- a/arch/mips/mach-ath79/include/mach/ath79.h
+++ b/arch/mips/mach-ath79/include/mach/ath79.h
@@ -11,6 +11,7 @@
 #ifndef __ASM_MACH_ATH79_H
 #define __ASM_MACH_ATH79_H
 
+#include <asm/global_data.h>
 #include <linux/types.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/mips/mach-ath79/qca953x/clk.c b/arch/mips/mach-ath79/qca953x/clk.c
index d450ad86523..f5438ef1c8d 100644
--- a/arch/mips/mach-ath79/qca953x/clk.c
+++ b/arch/mips/mach-ath79/qca953x/clk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/qca956x/clk.c b/arch/mips/mach-ath79/qca956x/clk.c
index 5adf6cd8159..6a58dba91f3 100644
--- a/arch/mips/mach-ath79/qca956x/clk.c
+++ b/arch/mips/mach-ath79/qca956x/clk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/qca956x/ddr.c b/arch/mips/mach-ath79/qca956x/ddr.c
index e61a368141b..f9cf8daa224 100644
--- a/arch/mips/mach-ath79/qca956x/ddr.c
+++ b/arch/mips/mach-ath79/qca956x/ddr.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-bmips/dram.c b/arch/mips/mach-bmips/dram.c
index a772a655d92..bba6cd6f4aa 100644
--- a/arch/mips/mach-bmips/dram.c
+++ b/arch/mips/mach-bmips/dram.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <ram.h>
 #include <dm.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/mach-jz47xx/jz4780/jz4780.c b/arch/mips/mach-jz47xx/jz4780/jz4780.c
index 26fcfc842c2..43f5651f832 100644
--- a/arch/mips/mach-jz47xx/jz4780/jz4780.c
+++ b/arch/mips/mach-jz47xx/jz4780/jz4780.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 #include <mach/jz4780.h>
diff --git a/arch/mips/mach-mscc/cpu.c b/arch/mips/mach-mscc/cpu.c
index b4ffd44ea44..5bc31006aa1 100644
--- a/arch/mips/mach-mscc/cpu.c
+++ b/arch/mips/mach-mscc/cpu.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 #include <asm/io.h>
diff --git a/arch/mips/mach-mscc/dram.c b/arch/mips/mach-mscc/dram.c
index b12bac63c27..c53a4202e0d 100644
--- a/arch/mips/mach-mscc/dram.c
+++ b/arch/mips/mach-mscc/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-mtmips/cpu.c b/arch/mips/mach-mtmips/cpu.c
index 2ddf8cb0967..76ad4f63205 100644
--- a/arch/mips/mach-mtmips/cpu.c
+++ b/arch/mips/mach-mtmips/cpu.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
diff --git a/arch/mips/mach-mtmips/ddr_cal.c b/arch/mips/mach-mtmips/ddr_cal.c
index 71a53c3c9cb..762619a960f 100644
--- a/arch/mips/mach-mtmips/ddr_cal.c
+++ b/arch/mips/mach-mtmips/ddr_cal.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <asm/addrspace.h>
 #include <asm/cacheops.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <mach/mc.h>
diff --git a/arch/mips/mach-mtmips/mt7628/ddr.c b/arch/mips/mach-mtmips/mt7628/ddr.c
index 3df85cd144a..b091f2ecffc 100644
--- a/arch/mips/mach-mtmips/mt7628/ddr.c
+++ b/arch/mips/mach-mtmips/mt7628/ddr.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/sizes.h>
diff --git a/arch/mips/mach-mtmips/mt7628/init.c b/arch/mips/mach-mtmips/mt7628/init.c
index 77d1f2ea0dc..27241050aaf 100644
--- a/arch/mips/mach-mtmips/mt7628/init.c
+++ b/arch/mips/mach-mtmips/mt7628/init.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <clk.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt7628-clk.h>
 #include <linux/io.h>
diff --git a/arch/mips/mach-mtmips/spl.c b/arch/mips/mach-mtmips/spl.c
index 38d9e9160d2..95201b8d7ab 100644
--- a/arch/mips/mach-mtmips/spl.c
+++ b/arch/mips/mach-mtmips/spl.c
@@ -6,10 +6,10 @@
  */
 
 #include <common.h>
-#include <fdt.h>
 #include <init.h>
 #include <spl.h>
 #include <asm/sections.h>
+#include <linux/libfdt.h>
 #include <linux/sizes.h>
 #include <mach/serial.h>
 
diff --git a/arch/mips/mach-octeon/bootoctlinux.c b/arch/mips/mach-octeon/bootoctlinux.c
index 75d7e83bd71..e43f6088fe3 100644
--- a/arch/mips/mach-octeon/bootoctlinux.c
+++ b/arch/mips/mach-octeon/bootoctlinux.c
@@ -10,6 +10,7 @@
 #include <elf.h>
 #include <env.h>
 #include <ram.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <linux/compat.h>
diff --git a/arch/mips/mach-pic32/cpu.c b/arch/mips/mach-pic32/cpu.c
index 1d8c3971441..eac2fe5f8c9 100644
--- a/arch/mips/mach-pic32/cpu.c
+++ b/arch/mips/mach-pic32/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <mach/pic32.h>
 #include <mach/ddr.h>
 #include <dt-bindings/clock/microchip,clock.h>
diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c
index e552a342300..b3b8bc29037 100644
--- a/arch/nds32/lib/bootm.c
+++ b/arch/nds32/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 #include <asm/bootm.h>
diff --git a/arch/nios2/cpu/cpu.c b/arch/nios2/cpu/cpu.c
index e7ca9882fc5..b55c8fbc584 100644
--- a/arch/nios2/cpu/cpu.c
+++ b/arch/nios2/cpu/cpu.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <irq_func.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/nios2/include/asm/io.h b/arch/nios2/include/asm/io.h
index 41e6bd4ee10..817cd72e00b 100644
--- a/arch/nios2/include/asm/io.h
+++ b/arch/nios2/include/asm/io.h
@@ -7,6 +7,8 @@
 #ifndef __ASM_NIOS2_IO_H_
 #define __ASM_NIOS2_IO_H_
 
+#include <asm/global_data.h>
+
 static inline void sync(void)
 {
 	__asm__ __volatile__ ("sync" : : : "memory");
@@ -170,5 +172,6 @@ static inline void outsl (unsigned long port, const void *src, unsigned long cou
 #define memcpy_toio(a, b, c)		memcpy((void *)(a), (b), (c))
 
 #include <asm-generic/io.h>
+#include <asm/global_data.h>
 
 #endif /* __ASM_NIOS2_IO_H_ */
diff --git a/arch/nios2/lib/cache.c b/arch/nios2/lib/cache.c
index 0b961ac6762..5864d8f0f47 100644
--- a/arch/nios2/lib/cache.c
+++ b/arch/nios2/lib/cache.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/cpu/mpc83xx/cpu.c b/arch/powerpc/cpu/mpc83xx/cpu.c
index 843f2df649e..8d531898bd8 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu.c
@@ -18,6 +18,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
index 840f907acb8..e6dcb8a3350 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
@@ -7,6 +7,7 @@
 #include <asm-offsets.h>
 #include <mpc83xx.h>
 #include <ioports.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 #include <fsl_qe.h>
diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c
index 4ea7b27ef41..3393ad562e8 100644
--- a/arch/powerpc/cpu/mpc83xx/fdt.c
+++ b/arch/powerpc/cpu/mpc83xx/fdt.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/cpu/mpc83xx/interrupts.c b/arch/powerpc/cpu/mpc83xx/interrupts.c
index 05380674dc7..f9486678af3 100644
--- a/arch/powerpc/cpu/mpc83xx/interrupts.c
+++ b/arch/powerpc/cpu/mpc83xx/interrupts.c
@@ -10,6 +10,7 @@
 #include <command.h>
 #include <irq_func.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/ptrace.h>
 
diff --git a/arch/powerpc/cpu/mpc83xx/pci.c b/arch/powerpc/cpu/mpc83xx/pci.c
index d057cd6351c..5c289d00226 100644
--- a/arch/powerpc/cpu/mpc83xx/pci.c
+++ b/arch/powerpc/cpu/mpc83xx/pci.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <pci.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #if defined(CONFIG_OF_LIBFDT)
diff --git a/arch/powerpc/cpu/mpc83xx/pcie.c b/arch/powerpc/cpu/mpc83xx/pcie.c
index 785d4805a46..84797c871c9 100644
--- a/arch/powerpc/cpu/mpc83xx/pcie.c
+++ b/arch/powerpc/cpu/mpc83xx/pcie.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <pci.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/arch/powerpc/cpu/mpc83xx/spd_sdram.c b/arch/powerpc/cpu/mpc83xx/spd_sdram.c
index aeff007fb06..a861e8dd2dd 100644
--- a/arch/powerpc/cpu/mpc83xx/spd_sdram.c
+++ b/arch/powerpc/cpu/mpc83xx/spd_sdram.c
@@ -24,6 +24,7 @@
 #include <asm/mmu.h>
 #include <spd_sdram.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc83xx/speed.c b/arch/powerpc/cpu/mpc83xx/speed.c
index 5c14aa1f32e..58e197f1208 100644
--- a/arch/powerpc/cpu/mpc83xx/speed.c
+++ b/arch/powerpc/cpu/mpc83xx/speed.c
@@ -13,6 +13,7 @@
 #include <mpc83xx.h>
 #include <command.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc83xx/spl_minimal.c b/arch/powerpc/cpu/mpc83xx/spl_minimal.c
index 2c61f2b81db..00cb2bd044e 100644
--- a/arch/powerpc/cpu/mpc83xx/spl_minimal.c
+++ b/arch/powerpc/cpu/mpc83xx/spl_minimal.c
@@ -8,6 +8,7 @@
 #include <clock_legacy.h>
 #include <mpc83xx.h>
 #include <time.h>
+#include <asm/global_data.h>
 
 #include "lblaw/lblaw.h"
 #include "elbc/elbc.h"
diff --git a/arch/powerpc/cpu/mpc83xx/traps.c b/arch/powerpc/cpu/mpc83xx/traps.c
index ea8bc6c1528..22e451c58d6 100644
--- a/arch/powerpc/cpu/mpc83xx/traps.c
+++ b/arch/powerpc/cpu/mpc83xx/traps.c
@@ -12,6 +12,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <kgdb.h>
diff --git a/arch/powerpc/cpu/mpc85xx/commproc.c b/arch/powerpc/cpu/mpc85xx/commproc.c
index 95215a0b829..8e8427a08bb 100644
--- a/arch/powerpc/cpu/mpc85xx/commproc.c
+++ b/arch/powerpc/cpu/mpc85xx/commproc.c
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <asm-offsets.h>
 #include <asm/cpm_85xx.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 3ff1ef45658..5170610f041 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -20,6 +20,7 @@
 #include <command.h>
 #include <fsl_esdhc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mmu.h>
 #include <fsl_ifc.h>
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
index c519e8bd4b0..4195ecc5c98 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <asm-offsets.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/fsl_law.h>
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 0d8353ceb26..7d168e3c9a0 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/cpu/mpc85xx/mp.c b/arch/powerpc/cpu/mpc85xx/mp.c
index 8822cf29fef..653efe09f93 100644
--- a/arch/powerpc/cpu/mpc85xx/mp.c
+++ b/arch/powerpc/cpu/mpc85xx/mp.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <env.h>
 #include <ioports.h>
diff --git a/arch/powerpc/cpu/mpc85xx/serial_scc.c b/arch/powerpc/cpu/mpc85xx/serial_scc.c
index a5c418570fa..a2505d1ffc1 100644
--- a/arch/powerpc/cpu/mpc85xx/serial_scc.c
+++ b/arch/powerpc/cpu/mpc85xx/serial_scc.c
@@ -18,6 +18,7 @@
 #include <common.h>
 #include <asm/cpm_85xx.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc85xx/speed.c b/arch/powerpc/cpu/mpc85xx/speed.c
index 773ae08dd3b..09653c70125 100644
--- a/arch/powerpc/cpu/mpc85xx/speed.c
+++ b/arch/powerpc/cpu/mpc85xx/speed.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <ppc_asm.tmpl>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/processor.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c
index 4465ae7565a..973b6fbe4b7 100644
--- a/arch/powerpc/cpu/mpc85xx/tlb.c
+++ b/arch/powerpc/cpu/mpc85xx/tlb.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #ifdef CONFIG_ADDR_MAP
diff --git a/arch/powerpc/cpu/mpc85xx/traps.c b/arch/powerpc/cpu/mpc85xx/traps.c
index db6ed1fc92e..def47285ba3 100644
--- a/arch/powerpc/cpu/mpc85xx/traps.c
+++ b/arch/powerpc/cpu/mpc85xx/traps.c
@@ -20,6 +20,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <init.h>
diff --git a/arch/powerpc/cpu/mpc86xx/cpu.c b/arch/powerpc/cpu/mpc86xx/cpu.c
index 9f5bce3992b..98b42bff7a3 100644
--- a/arch/powerpc/cpu/mpc86xx/cpu.c
+++ b/arch/powerpc/cpu/mpc86xx/cpu.c
@@ -13,6 +13,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <mpc86xx.h>
 #include <asm/fsl_law.h>
diff --git a/arch/powerpc/cpu/mpc86xx/cpu_init.c b/arch/powerpc/cpu/mpc86xx/cpu_init.c
index a17091d2ff8..73779f862c2 100644
--- a/arch/powerpc/cpu/mpc86xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc86xx/cpu_init.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc86xx.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <asm/fsl_law.h>
 #include <asm/fsl_serdes.h>
diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c
index 010b6d4fe60..1313d8adde6 100644
--- a/arch/powerpc/cpu/mpc86xx/fdt.c
+++ b/arch/powerpc/cpu/mpc86xx/fdt.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/mp.h>
diff --git a/arch/powerpc/cpu/mpc86xx/mp.c b/arch/powerpc/cpu/mpc86xx/mp.c
index 08d11ad4f2e..e6795e06c98 100644
--- a/arch/powerpc/cpu/mpc86xx/mp.c
+++ b/arch/powerpc/cpu/mpc86xx/mp.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <ioports.h>
diff --git a/arch/powerpc/cpu/mpc86xx/speed.c b/arch/powerpc/cpu/mpc86xx/speed.c
index 50014458622..86c1709c4ca 100644
--- a/arch/powerpc/cpu/mpc86xx/speed.c
+++ b/arch/powerpc/cpu/mpc86xx/speed.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <mpc86xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc86xx/traps.c b/arch/powerpc/cpu/mpc86xx/traps.c
index 3ee0ec859cf..46006ece416 100644
--- a/arch/powerpc/cpu/mpc86xx/traps.c
+++ b/arch/powerpc/cpu/mpc86xx/traps.c
@@ -14,6 +14,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <init.h>
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 7c93e35003f..893aecef21c 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -27,6 +27,7 @@
 #include <netdev.h>
 #include <asm/cache.h>
 #include <asm/cpm_8xx.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/fdt.c b/arch/powerpc/cpu/mpc8xx/fdt.c
index 226e258f0ea..b4a26efe302 100644
--- a/arch/powerpc/cpu/mpc8xx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xx/fdt.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/immap.c b/arch/powerpc/cpu/mpc8xx/immap.c
index e5b62e9f4ac..40793c26e12 100644
--- a/arch/powerpc/cpu/mpc8xx/immap.c
+++ b/arch/powerpc/cpu/mpc8xx/immap.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 #include <asm/immap_8xx.h>
 #include <asm/cpm_8xx.h>
diff --git a/arch/powerpc/cpu/mpc8xx/speed.c b/arch/powerpc/cpu/mpc8xx/speed.c
index 77d4f8e47f7..ad3d3f9101c 100644
--- a/arch/powerpc/cpu/mpc8xx/speed.c
+++ b/arch/powerpc/cpu/mpc8xx/speed.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <mpc8xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c
index b2d1dc5b481..eda64861ee6 100644
--- a/arch/powerpc/cpu/mpc8xxx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xxx/cpu.c
@@ -17,6 +17,7 @@
 #include <fm_eth.h>
 #include <netdev.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <vsc9953.h>
 
diff --git a/arch/powerpc/cpu/mpc8xxx/law.c b/arch/powerpc/cpu/mpc8xxx/law.c
index e388386ad42..cf03f410190 100644
--- a/arch/powerpc/cpu/mpc8xxx/law.c
+++ b/arch/powerpc/cpu/mpc8xxx/law.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/fsl_law.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/cpu/mpc8xxx/pamu_table.c b/arch/powerpc/cpu/mpc8xxx/pamu_table.c
index 7dd71d2e0c4..d917e9dfb62 100644
--- a/arch/powerpc/cpu/mpc8xxx/pamu_table.c
+++ b/arch/powerpc/cpu/mpc8xxx/pamu_table.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <log.h>
 #include <asm/fsl_pamu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/lib/bat_rw.c b/arch/powerpc/lib/bat_rw.c
index ac56e3aeddb..24dd30615bd 100644
--- a/arch/powerpc/lib/bat_rw.c
+++ b/arch/powerpc/lib/bat_rw.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/lib/bdinfo.c b/arch/powerpc/lib/bdinfo.c
index 36c9c99ee6f..39062804ccf 100644
--- a/arch/powerpc/lib/bdinfo.c
+++ b/arch/powerpc/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
index b903e6ec8dc..31c17b5bb38 100644
--- a/arch/powerpc/lib/bootm.c
+++ b/arch/powerpc/lib/bootm.c
@@ -18,6 +18,7 @@
 #include <command.h>
 #include <image.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <bzlib.h>
 #include <asm/byteorder.h>
diff --git a/arch/powerpc/lib/stack.c b/arch/powerpc/lib/stack.c
index 5840fe63490..f2a4652e081 100644
--- a/arch/powerpc/lib/stack.c
+++ b/arch/powerpc/lib/stack.c
@@ -12,6 +12,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/riscv/cpu/fu540/cache.c b/arch/riscv/cpu/fu540/cache.c
index 78f5ad9d602..0fc4ef6c007 100644
--- a/arch/riscv/cpu/fu540/cache.c
+++ b/arch/riscv/cpu/fu540/cache.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/riscv/cpu/fu540/dram.c b/arch/riscv/cpu/fu540/dram.c
index 1dc77efeca5..cec130ec8dc 100644
--- a/arch/riscv/cpu/fu540/dram.c
+++ b/arch/riscv/cpu/fu540/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/cpu/generic/dram.c b/arch/riscv/cpu/generic/dram.c
index 1dc77efeca5..cec130ec8dc 100644
--- a/arch/riscv/cpu/generic/dram.c
+++ b/arch/riscv/cpu/generic/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/lib/andes_plic.c b/arch/riscv/lib/andes_plic.c
index 267d6a191b2..221a5fe324e 100644
--- a/arch/riscv/lib/andes_plic.c
+++ b/arch/riscv/lib/andes_plic.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/riscv/lib/asm-offsets.c b/arch/riscv/lib/asm-offsets.c
index 7301c1b98e2..f1fe089b3d8 100644
--- a/arch/riscv/lib/asm-offsets.c
+++ b/arch/riscv/lib/asm-offsets.c
@@ -9,6 +9,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/kbuild.h>
 
 int main(void)
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
index c4137ded834..8dd18205403 100644
--- a/arch/riscv/lib/bootm.c
+++ b/arch/riscv/lib/bootm.c
@@ -13,6 +13,7 @@
 #include <fdt_support.h>
 #include <hang.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/root.h>
 #include <image.h>
 #include <asm/byteorder.h>
diff --git a/arch/riscv/lib/fdt_fixup.c b/arch/riscv/lib/fdt_fixup.c
index d02062fd5bd..1f3f23621c3 100644
--- a/arch/riscv/lib/fdt_fixup.c
+++ b/arch/riscv/lib/fdt_fixup.c
@@ -10,6 +10,7 @@
 #include <fdt_support.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/riscv/lib/image.c b/arch/riscv/lib/image.c
index 91b7f1624e9..47f2edcf7fc 100644
--- a/arch/riscv/lib/image.c
+++ b/arch/riscv/lib/image.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <mapmem.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <linux/stddef.h>
 
diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c
index 35de98e8ce6..4bc81a94e23 100644
--- a/arch/riscv/lib/interrupts.c
+++ b/arch/riscv/lib/interrupts.c
@@ -13,6 +13,7 @@
 #include <efi_loader.h>
 #include <hang.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/encoding.h>
diff --git a/arch/riscv/lib/sifive_clint.c b/arch/riscv/lib/sifive_clint.c
index c8079dc510c..0911e3d399d 100644
--- a/arch/riscv/lib/sifive_clint.c
+++ b/arch/riscv/lib/sifive_clint.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/smp.h>
 #include <linux/err.h>
diff --git a/arch/riscv/lib/smp.c b/arch/riscv/lib/smp.c
index 8f33ce1fe36..ba992100adf 100644
--- a/arch/riscv/lib/smp.c
+++ b/arch/riscv/lib/smp.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <dm.h>
 #include <asm/barrier.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/lib/spl.c b/arch/riscv/lib/spl.c
index 5e19d0f36ab..8baee07beac 100644
--- a/arch/riscv/lib/spl.c
+++ b/arch/riscv/lib/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c
index fb857e53d59..edd48e2c1b7 100644
--- a/arch/sandbox/cpu/cpu.c
+++ b/arch/sandbox/cpu/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <os.h>
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c
index 7ab8919eb90..17a3507406c 100644
--- a/arch/sandbox/cpu/spl.c
+++ b/arch/sandbox/cpu/spl.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <os.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/spl.h>
 #include <asm/state.h>
 
diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c
index c6a2bbe4689..c50d14eaf22 100644
--- a/arch/sandbox/cpu/start.c
+++ b/arch/sandbox/cpu/start.c
@@ -11,6 +11,7 @@
 #include <cli.h>
 #include <sort.h>
 #include <asm/getopt.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/malloc.h>
 #include <asm/sections.h>
diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index a6a8f07e6f2..3fa093a02ea 100644
--- a/arch/sh/lib/board.c
+++ b/arch/sh/lib/board.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/apollolake/cpu_spl.c b/arch/x86/cpu/apollolake/cpu_spl.c
index 9f32f2e27e1..a52bc288617 100644
--- a/arch/x86/cpu/apollolake/cpu_spl.c
+++ b/arch/x86/cpu/apollolake/cpu_spl.c
@@ -18,6 +18,7 @@
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
 #include <asm/fast_spi.h>
+#include <asm/global_data.h>
 #include <asm/intel_pinctrl.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/apollolake/fsp_s.c b/arch/x86/cpu/apollolake/fsp_s.c
index 715ceab6ac7..5ca2e1074bd 100644
--- a/arch/x86/cpu/apollolake/fsp_s.c
+++ b/arch/x86/cpu/apollolake/fsp_s.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <p2sb.h>
 #include <acpi/acpi_s3.h>
+#include <asm/global_data.h>
 #include <asm/intel_pinctrl.h>
 #include <asm/io.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/baytrail/fsp_configs.c b/arch/x86/cpu/baytrail/fsp_configs.c
index 21816ce5b88..fb3f946c45f 100644
--- a/arch/x86/cpu/baytrail/fsp_configs.c
+++ b/arch/x86/cpu/baytrail/fsp_configs.c
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/braswell/fsp_configs.c b/arch/x86/cpu/braswell/fsp_configs.c
index 9e710a940ca..243298fd571 100644
--- a/arch/x86/cpu/braswell/fsp_configs.c
+++ b/arch/x86/cpu/braswell/fsp_configs.c
@@ -7,6 +7,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/broadwell/cpu.c b/arch/x86/cpu/broadwell/cpu.c
index b77301118cd..3832a97f2c7 100644
--- a/arch/x86/cpu/broadwell/cpu.c
+++ b/arch/x86/cpu/broadwell/cpu.c
@@ -13,6 +13,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lpc_common.h>
 #include <asm/msr.h>
diff --git a/arch/x86/cpu/broadwell/cpu_from_spl.c b/arch/x86/cpu/broadwell/cpu_from_spl.c
index 4d4cdafa2b0..e5f62e7187c 100644
--- a/arch/x86/cpu/broadwell/cpu_from_spl.c
+++ b/arch/x86/cpu/broadwell/cpu_from_spl.c
@@ -11,6 +11,7 @@
 #include <handoff.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mtrr.h>
 
 int misc_init_r(void)
diff --git a/arch/x86/cpu/broadwell/cpu_full.c b/arch/x86/cpu/broadwell/cpu_full.c
index 706f68f63d6..4debddce8ad 100644
--- a/arch/x86/cpu/broadwell/cpu_full.c
+++ b/arch/x86/cpu/broadwell/cpu_full.c
@@ -13,6 +13,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/msr.h>
 #include <asm/post.h>
diff --git a/arch/x86/cpu/broadwell/lpc.c b/arch/x86/cpu/broadwell/lpc.c
index 5669a028cf3..d2638a4e7a6 100644
--- a/arch/x86/cpu/broadwell/lpc.c
+++ b/arch/x86/cpu/broadwell/lpc.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <log.h>
 #include <pch.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/broadwell/northbridge.c b/arch/x86/cpu/broadwell/northbridge.c
index 4bcab785560..141babc51c3 100644
--- a/arch/x86/cpu/broadwell/northbridge.c
+++ b/arch/x86/cpu/broadwell/northbridge.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrc_common.h>
 #include <asm/arch/iomap.h>
diff --git a/arch/x86/cpu/broadwell/pch.c b/arch/x86/cpu/broadwell/pch.c
index 9bcf211af99..f012db9debe 100644
--- a/arch/x86/cpu/broadwell/pch.c
+++ b/arch/x86/cpu/broadwell/pch.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <pch.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/i8259.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/broadwell/pinctrl_broadwell.c b/arch/x86/cpu/broadwell/pinctrl_broadwell.c
index 0ead13af62a..85bd37101ba 100644
--- a/arch/x86/cpu/broadwell/pinctrl_broadwell.c
+++ b/arch/x86/cpu/broadwell/pinctrl_broadwell.c
@@ -11,6 +11,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/arch/x86/cpu/broadwell/sata.c b/arch/x86/cpu/broadwell/sata.c
index 641da515c8f..27d6bf706e2 100644
--- a/arch/x86/cpu/broadwell/sata.c
+++ b/arch/x86/cpu/broadwell/sata.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/broadwell/sdram.c b/arch/x86/cpu/broadwell/sdram.c
index 72f59a0a573..c104a849a54 100644
--- a/arch/x86/cpu/broadwell/sdram.c
+++ b/arch/x86/cpu/broadwell/sdram.c
@@ -12,6 +12,7 @@
 #include <pci.h>
 #include <syscon.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
 #include <asm/mrccache.h>
diff --git a/arch/x86/cpu/coreboot/coreboot.c b/arch/x86/cpu/coreboot/coreboot.c
index 22a93254a93..15c3ad879a0 100644
--- a/arch/x86/cpu/coreboot/coreboot.c
+++ b/arch/x86/cpu/coreboot/coreboot.c
@@ -10,6 +10,7 @@
 #include <fdtdec.h>
 #include <init.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c
index 27e859885e8..a2e47d196a2 100644
--- a/arch/x86/cpu/coreboot/sdram.c
+++ b/arch/x86/cpu/coreboot/sdram.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <asm/e820.h>
 #include <asm/arch/sysinfo.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/cpu/coreboot/tables.c
index 1594b4a8b2a..c52741ac9da 100644
--- a/arch/x86/cpu/coreboot/tables.c
+++ b/arch/x86/cpu/coreboot/tables.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <net.h>
 #include <asm/arch/sysinfo.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index f8692753963..eda1e4f81c7 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -35,6 +35,7 @@
 #include <asm/control_regs.h>
 #include <asm/coreboot_tables.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/lapic.h>
 #include <asm/microcode.h>
 #include <asm/mp.h>
diff --git a/arch/x86/cpu/cpu_x86.c b/arch/x86/cpu/cpu_x86.c
index 7e83051646c..dc7c8116d04 100644
--- a/arch/x86/cpu/cpu_x86.c
+++ b/arch/x86/cpu/cpu_x86.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/efi/payload.c b/arch/x86/cpu/efi/payload.c
index 71619f6f01b..9a73b768e9b 100644
--- a/arch/x86/cpu/efi/payload.c
+++ b/arch/x86/cpu/efi/payload.c
@@ -13,6 +13,7 @@
 #include <usb.h>
 #include <asm/bootparam.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/cpu/efi/sdram.c b/arch/x86/cpu/efi/sdram.c
index 3143c079adb..af65982fd0c 100644
--- a/arch/x86/cpu/efi/sdram.c
+++ b/arch/x86/cpu/efi/sdram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <efi.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/cpu/i386/cpu.c b/arch/x86/cpu/i386/cpu.c
index 7517b756f43..7ba7c94506a 100644
--- a/arch/x86/cpu/i386/cpu.c
+++ b/arch/x86/cpu/i386/cpu.c
@@ -27,6 +27,7 @@
 #include <asm/control_regs.h>
 #include <asm/coreboot_tables.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/mp.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/i386/interrupt.c b/arch/x86/cpu/i386/interrupt.c
index c0c4bc95fd9..67a72146de8 100644
--- a/arch/x86/cpu/i386/interrupt.c
+++ b/arch/x86/cpu/i386/interrupt.c
@@ -18,6 +18,7 @@
 #include <irq.h>
 #include <irq_func.h>
 #include <asm/control_regs.h>
+#include <asm/global_data.h>
 #include <asm/i8259.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/intel_common/acpi.c b/arch/x86/cpu/intel_common/acpi.c
index 4496bbfd999..7899b17d775 100644
--- a/arch/x86/cpu/intel_common/acpi.c
+++ b/arch/x86/cpu/intel_common/acpi.c
@@ -17,6 +17,7 @@
 #include <asm/acpi_table.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_acpi.h>
 #include <asm/ioapic.h>
 #include <asm/mpspec.h>
diff --git a/arch/x86/cpu/intel_common/cpu.c b/arch/x86/cpu/intel_common/cpu.c
index 39aa0f63c65..5dc0bba9cec 100644
--- a/arch/x86/cpu/intel_common/cpu.c
+++ b/arch/x86/cpu/intel_common/cpu.c
@@ -15,6 +15,7 @@
 #include <acpi/acpigen.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lapic.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/cpu_from_spl.c b/arch/x86/cpu/intel_common/cpu_from_spl.c
index e4157c5734c..1c0dcedb582 100644
--- a/arch/x86/cpu/intel_common/cpu_from_spl.c
+++ b/arch/x86/cpu/intel_common/cpu_from_spl.c
@@ -9,6 +9,7 @@
 #include <handoff.h>
 #include <init.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lapic.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/itss.c b/arch/x86/cpu/intel_common/itss.c
index fe84ebe29f7..2f47bfe20e7 100644
--- a/arch/x86/cpu/intel_common/itss.c
+++ b/arch/x86/cpu/intel_common/itss.c
@@ -17,6 +17,7 @@
 #include <malloc.h>
 #include <p2sb.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/itss.h>
 
 struct itss_platdata {
diff --git a/arch/x86/cpu/intel_common/lpc.c b/arch/x86/cpu/intel_common/lpc.c
index 3420f03ccaa..23befbef15f 100644
--- a/arch/x86/cpu/intel_common/lpc.c
+++ b/arch/x86/cpu/intel_common/lpc.c
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <pch.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/microcode.c b/arch/x86/cpu/intel_common/microcode.c
index 0355d3c1da6..4d8e1d21083 100644
--- a/arch/x86/cpu/intel_common/microcode.c
+++ b/arch/x86/cpu/intel_common/microcode.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <asm/cpu.h>
 #include <asm/microcode.h>
diff --git a/arch/x86/cpu/intel_common/mrc.c b/arch/x86/cpu/intel_common/mrc.c
index 73bfd123321..a97b0b7ceb4 100644
--- a/arch/x86/cpu/intel_common/mrc.c
+++ b/arch/x86/cpu/intel_common/mrc.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <syscon.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/intel_regs.h>
 #include <asm/mrc_common.h>
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 836a0e8b86e..001c8913fad 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -10,6 +10,7 @@
 #include <irq.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/pci.h>
diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c
index 5448f064fcb..0540b021618 100644
--- a/arch/x86/cpu/ivybridge/bd82x6x.c
+++ b/arch/x86/cpu/ivybridge/bd82x6x.c
@@ -10,6 +10,7 @@
 #include <malloc.h>
 #include <pch.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
index cb6eded9c98..bddba3eddec 100644
--- a/arch/x86/cpu/ivybridge/cpu.c
+++ b/arch/x86/cpu/ivybridge/cpu.c
@@ -20,6 +20,7 @@
 #include <pch.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/ivybridge/fsp_configs.c b/arch/x86/cpu/ivybridge/fsp_configs.c
index 41d7d2a2b42..3c4ea6c267f 100644
--- a/arch/x86/cpu/ivybridge/fsp_configs.c
+++ b/arch/x86/cpu/ivybridge/fsp_configs.c
@@ -7,6 +7,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/ivybridge/lpc.c b/arch/x86/cpu/ivybridge/lpc.c
index 85fd2a965ab..f931d2be1b5 100644
--- a/arch/x86/cpu/ivybridge/lpc.c
+++ b/arch/x86/cpu/ivybridge/lpc.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <rtc.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index 55f7cc2b2ec..788e589b26d 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -15,6 +15,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/ivybridge/northbridge.c b/arch/x86/cpu/ivybridge/northbridge.c
index b713fcb1cfe..994f8a4ff6a 100644
--- a/arch/x86/cpu/ivybridge/northbridge.c
+++ b/arch/x86/cpu/ivybridge/northbridge.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/cpu.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c
index 025b20be31b..f47ecdffae7 100644
--- a/arch/x86/cpu/ivybridge/sata.c
+++ b/arch/x86/cpu/ivybridge/sata.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/pch_common.h>
 #include <asm/pci.h>
diff --git a/arch/x86/cpu/ivybridge/sdram_nop.c b/arch/x86/cpu/ivybridge/sdram_nop.c
index 54e6acf2621..51dfe23f94d 100644
--- a/arch/x86/cpu/ivybridge/sdram_nop.c
+++ b/arch/x86/cpu/ivybridge/sdram_nop.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index d2f1ee38cf0..03bd71c261a 100644
--- a/arch/x86/cpu/mp_init.c
+++ b/arch/x86/cpu/mp_init.c
@@ -14,6 +14,7 @@
 #include <qfw.h>
 #include <asm/atomic.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/mtrr.c b/arch/x86/cpu/mtrr.c
index 5180eb06fcd..cab858bc302 100644
--- a/arch/x86/cpu/mtrr.c
+++ b/arch/x86/cpu/mtrr.c
@@ -21,6 +21,7 @@
 #include <log.h>
 #include <sort.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mp.h>
 #include <asm/msr.h>
diff --git a/arch/x86/cpu/qemu/dram.c b/arch/x86/cpu/qemu/dram.c
index 19d92f27d80..c1745501294 100644
--- a/arch/x86/cpu/qemu/dram.c
+++ b/arch/x86/cpu/qemu/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 #include <asm/arch/qemu.h>
 
diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c
index 0da36bddeae..19e54c5202a 100644
--- a/arch/x86/cpu/qemu/e820.c
+++ b/arch/x86/cpu/qemu/e820.c
@@ -11,6 +11,7 @@
 #include <malloc.h>
 #include <asm/e820.h>
 #include <asm/arch/qemu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/quark/acpi.c b/arch/x86/cpu/quark/acpi.c
index b0406a04e92..82b776ff65f 100644
--- a/arch/x86/cpu/quark/acpi.c
+++ b/arch/x86/cpu/quark/acpi.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <acpi/acpi_table.h>
+#include <asm/processor.h>
 #include <asm/tables.h>
 #include <asm/arch/global_nvs.h>
 #include <asm/arch/iomap.h>
diff --git a/arch/x86/cpu/quark/dram.c b/arch/x86/cpu/quark/dram.c
index 72937139ed7..2287dce12b5 100644
--- a/arch/x86/cpu/quark/dram.c
+++ b/arch/x86/cpu/quark/dram.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
diff --git a/arch/x86/cpu/slimbootloader/sdram.c b/arch/x86/cpu/slimbootloader/sdram.c
index 33e91fb6366..36d0d4da553 100644
--- a/arch/x86/cpu/slimbootloader/sdram.c
+++ b/arch/x86/cpu/slimbootloader/sdram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/e820.h>
 #include <asm/arch/slimbootloader.h>
diff --git a/arch/x86/cpu/slimbootloader/serial.c b/arch/x86/cpu/slimbootloader/serial.c
index 9813f7977b5..8b84565ce62 100644
--- a/arch/x86/cpu/slimbootloader/serial.c
+++ b/arch/x86/cpu/slimbootloader/serial.c
@@ -9,6 +9,7 @@
 #include <ns16550.h>
 #include <serial.h>
 #include <asm/arch/slimbootloader.h>
+#include <asm/global_data.h>
 
 /**
  * The serial port info hob is generated by Slim Bootloader, so eligible for
diff --git a/arch/x86/cpu/slimbootloader/slimbootloader.c b/arch/x86/cpu/slimbootloader/slimbootloader.c
index f61fe814e94..ec5b87cfd63 100644
--- a/arch/x86/cpu/slimbootloader/slimbootloader.c
+++ b/arch/x86/cpu/slimbootloader/slimbootloader.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch/slimbootloader.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/turbo.c b/arch/x86/cpu/turbo.c
index f8d85d5a339..cbb10a00320 100644
--- a/arch/x86/cpu/turbo.c
+++ b/arch/x86/cpu/turbo.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
 #include <asm/turbo.h>
diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c
index 90a766c3c57..1d6376e4cd3 100644
--- a/arch/x86/cpu/x86_64/cpu.c
+++ b/arch/x86/cpu/x86_64/cpu.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 /*
  * Global declaration of gd.
diff --git a/arch/x86/include/asm/cpu_common.h b/arch/x86/include/asm/cpu_common.h
index 48f56c2aad9..99387bcbd9f 100644
--- a/arch/x86/include/asm/cpu_common.h
+++ b/arch/x86/include/asm/cpu_common.h
@@ -14,6 +14,7 @@ enum {
 };
 
 struct cpu_info;
+struct udevice;
 
 /**
  * cpu_common_init() - Set up common CPU init
diff --git a/arch/x86/include/asm/fast_spi.h b/arch/x86/include/asm/fast_spi.h
index 7a81d4f05c6..82e3d8f63ef 100644
--- a/arch/x86/include/asm/fast_spi.h
+++ b/arch/x86/include/asm/fast_spi.h
@@ -6,8 +6,10 @@
 #ifndef ASM_FAST_SPI_H
 #define ASM_FAST_SPI_H
 
-/* Register offsets from the MMIO region base (PCI_BASE_ADDRESS_0) */
+#include <pci.h>
 #include <linux/bitops.h>
+
+/* Register offsets from the MMIO region base (PCI_BASE_ADDRESS_0) */
 struct fast_spi_regs {
 	u32 bfp;
 	u32 hsfsts_ctl;
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index cf6c33cbe3a..83dc09757e0 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -7,7 +7,7 @@
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 
-#include <linux/compiler.h>
+#include <compiler.h>
 
 /*
  * This file contains the definitions for the x86 IO instructions
diff --git a/arch/x86/include/asm/mp.h b/arch/x86/include/asm/mp.h
index 5f9b8c65643..25edabbdd39 100644
--- a/arch/x86/include/asm/mp.h
+++ b/arch/x86/include/asm/mp.h
@@ -11,6 +11,8 @@
 #include <asm/atomic.h>
 #include <asm/cache.h>
 
+struct udevice;
+
 enum {
 	/* Indicates that the function should run on all CPUs */
 	MP_SELECT_ALL	= -1,
diff --git a/arch/x86/include/asm/mrccache.h b/arch/x86/include/asm/mrccache.h
index b60d1171f77..8b104a2f0b8 100644
--- a/arch/x86/include/asm/mrccache.h
+++ b/arch/x86/include/asm/mrccache.h
@@ -7,6 +7,8 @@
 #ifndef _ASM_MRCCACHE_H
 #define _ASM_MRCCACHE_H
 
+#include <compiler.h>
+
 #define MRC_DATA_ALIGN		0x100
 #define MRC_DATA_SIGNATURE	(('M' << 0) | ('R' << 8) | \
 				 ('C' << 16) | ('D'<<24))
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index d732661f6d4..a518977d633 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -7,6 +7,7 @@
 #ifndef _U_BOOT_I386_H_
 #define _U_BOOT_I386_H_	1
 
+#include <asm/global_data.h>
 struct global_data;
 
 extern char gdt_rom[];
diff --git a/arch/x86/lib/acpi_s3.c b/arch/x86/lib/acpi_s3.c
index 52410a515df..2c70acbe7b0 100644
--- a/arch/x86/lib/acpi_s3.c
+++ b/arch/x86/lib/acpi_s3.c
@@ -7,6 +7,7 @@
 #include <acpi/acpi_s3.h>
 #include <acpi/acpi_table.h>
 #include <asm/acpi.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 #include <linux/linkage.h>
 
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 6d405b09fde..bd93ff2f405 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -13,6 +13,7 @@
 #include <cpu.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/uclass-internal.h>
 #include <mapmem.h>
 #include <serial.h>
diff --git a/arch/x86/lib/asm-offsets.c b/arch/x86/lib/asm-offsets.c
index 47b38cd9e78..8df67db65c3 100644
--- a/arch/x86/lib/asm-offsets.c
+++ b/arch/x86/lib/asm-offsets.c
@@ -12,6 +12,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/kbuild.h>
 
 int main(void)
diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c
index 3ab432e2623..fbdc3b04e36 100644
--- a/arch/x86/lib/bios.c
+++ b/arch/x86/lib/bios.c
@@ -6,6 +6,7 @@
  * Copyright (C) 2009-2010 coresystems GmbH
  */
 #include <common.h>
+#include <compiler.h>
 #include <bios_emul.h>
 #include <irq_func.h>
 #include <log.h>
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index da6b8ce1ec1..aa5f0bf6b72 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <command.h>
 #include <hang.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/root.h>
 #include <errno.h>
diff --git a/arch/x86/lib/cmd_boot.c b/arch/x86/lib/cmd_boot.c
index baaf3d13ad4..4facbe5f32f 100644
--- a/arch/x86/lib/cmd_boot.c
+++ b/arch/x86/lib/cmd_boot.c
@@ -17,6 +17,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/lib/coreboot_table.c b/arch/x86/lib/coreboot_table.c
index 6cd32443012..6eab0452fda 100644
--- a/arch/x86/lib/coreboot_table.c
+++ b/arch/x86/lib/coreboot_table.c
@@ -10,6 +10,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/coreboot_tables.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/e820.c b/arch/x86/lib/e820.c
index 1f20c5c8c6b..12fcff12380 100644
--- a/arch/x86/lib/e820.c
+++ b/arch/x86/lib/e820.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <efi_loader.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/fsp/fsp_common.c b/arch/x86/lib/fsp/fsp_common.c
index 4061fa244c4..6365b0a50a7 100644
--- a/arch/x86/lib/fsp/fsp_common.c
+++ b/arch/x86/lib/fsp/fsp_common.c
@@ -13,6 +13,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/cmos_layout.h>
 #include <asm/early_cmos.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrccache.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp/fsp_dram.c
index a76497d4e01..6819213dc61 100644
--- a/arch/x86/lib/fsp/fsp_dram.c
+++ b/arch/x86/lib/fsp/fsp_dram.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/fsp/fsp_support.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp/fsp_graphics.c b/arch/x86/lib/fsp/fsp_graphics.c
index 858d7942fed..b37b2c84f51 100644
--- a/arch/x86/lib/fsp/fsp_graphics.c
+++ b/arch/x86/lib/fsp/fsp_graphics.c
@@ -13,6 +13,7 @@
 #include <video.h>
 #include <acpi/acpi_table.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 #include <asm/intel_opregion.h>
 #include <asm/mtrr.h>
 #include <dm/acpi.h>
diff --git a/arch/x86/lib/fsp1/fsp_common.c b/arch/x86/lib/fsp1/fsp_common.c
index da351cf097c..20926171822 100644
--- a/arch/x86/lib/fsp1/fsp_common.c
+++ b/arch/x86/lib/fsp1/fsp_common.c
@@ -13,6 +13,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/cmos_layout.h>
 #include <asm/early_cmos.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrccache.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp1/fsp_dram.c b/arch/x86/lib/fsp1/fsp_dram.c
index e3f9e30f6a6..cfd9b9f48c3 100644
--- a/arch/x86/lib/fsp1/fsp_dram.c
+++ b/arch/x86/lib/fsp1/fsp_dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 
 int dram_init(void)
 {
diff --git a/arch/x86/lib/fsp2/fsp_dram.c b/arch/x86/lib/fsp2/fsp_dram.c
index c9f6402e6a4..c31e2a11b7a 100644
--- a/arch/x86/lib/fsp2/fsp_dram.c
+++ b/arch/x86/lib/fsp2/fsp_dram.c
@@ -14,6 +14,7 @@
 #include <asm/fsp/fsp_support.h>
 #include <asm/fsp2/fsp_api.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 int dram_init(void)
diff --git a/arch/x86/lib/fsp2/fsp_meminit.c b/arch/x86/lib/fsp2/fsp_meminit.c
index ce0b0aff76b..022e2cb64e5 100644
--- a/arch/x86/lib/fsp2/fsp_meminit.c
+++ b/arch/x86/lib/fsp2/fsp_meminit.c
@@ -11,6 +11,7 @@
 #include <bootstage.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/fsp/fsp_infoheader.h>
 #include <asm/fsp2/fsp_api.h>
diff --git a/arch/x86/lib/fsp2/fsp_silicon_init.c b/arch/x86/lib/fsp2/fsp_silicon_init.c
index ead3493de82..a96d2b183f6 100644
--- a/arch/x86/lib/fsp2/fsp_silicon_init.c
+++ b/arch/x86/lib/fsp2/fsp_silicon_init.c
@@ -17,6 +17,7 @@
 #include <asm/arch/fsp/fsp_s_upd.h>
 #include <asm/fsp/fsp_infoheader.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 
 int fsp_silicon_init(bool s3wake, bool use_spi_flash)
 {
diff --git a/arch/x86/lib/fsp2/fsp_support.c b/arch/x86/lib/fsp2/fsp_support.c
index f220ef498b0..503f97d5f33 100644
--- a/arch/x86/lib/fsp2/fsp_support.c
+++ b/arch/x86/lib/fsp2/fsp_support.c
@@ -10,6 +10,7 @@
 #include <spi_flash.h>
 #include <asm/fsp/fsp_support.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 
 /* The amount of the FSP header to probe to obtain what we need */
 #define PROBE_BUF_SIZE 0x180
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
index d906b528b35..066dc404a2d 100644
--- a/arch/x86/lib/init_helpers.c
+++ b/arch/x86/lib/init_helpers.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/mtrr.h>
 
diff --git a/arch/x86/lib/mpspec.c b/arch/x86/lib/mpspec.c
index 1c49c41b310..8021d8f75a4 100644
--- a/arch/x86/lib/mpspec.c
+++ b/arch/x86/lib/mpspec.c
@@ -12,6 +12,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/irq.h>
 #include <asm/ioapic.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c
index f181e8100cb..b5269156801 100644
--- a/arch/x86/lib/mrccache.c
+++ b/arch/x86/lib/mrccache.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <spi.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/x86/lib/physmem.c b/arch/x86/lib/physmem.c
index 4578046169a..c11101b44ec 100644
--- a/arch/x86/lib/physmem.c
+++ b/arch/x86/lib/physmem.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <physmem.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/lib/pinctrl_ich6.c b/arch/x86/lib/pinctrl_ich6.c
index 482599478b8..fd5e311b291 100644
--- a/arch/x86/lib/pinctrl_ich6.c
+++ b/arch/x86/lib/pinctrl_ich6.c
@@ -11,6 +11,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/arch/x86/lib/pirq_routing.c b/arch/x86/lib/pirq_routing.c
index eb6a7d96de1..caeaec9287f 100644
--- a/arch/x86/lib/pirq_routing.c
+++ b/arch/x86/lib/pirq_routing.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/pci.h>
 #include <asm/pirq_routing.h>
 
diff --git a/arch/x86/lib/relocate.c b/arch/x86/lib/relocate.c
index ecbd0927e07..6fe51516477 100644
--- a/arch/x86/lib/relocate.c
+++ b/arch/x86/lib/relocate.c
@@ -17,6 +17,7 @@
 #include <common.h>
 #include <log.h>
 #include <relocate.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 #include <asm/sections.h>
 #include <elf.h>
diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
index cf22fa2d7b5..a220c71b576 100644
--- a/arch/x86/lib/spl.c
+++ b/arch/x86/lib/spl.c
@@ -17,6 +17,7 @@
 #include <syscon.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/pci.h>
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index 7bad5dd3032..730552a0ea5 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -8,6 +8,7 @@
 #include <malloc.h>
 #include <smbios.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <asm/sfi.h>
 #include <asm/mpspec.h>
 #include <asm/tables.h>
diff --git a/arch/x86/lib/tpl.c b/arch/x86/lib/tpl.c
index 6f7eb43a172..789472bc9a2 100644
--- a/arch/x86/lib/tpl.c
+++ b/arch/x86/lib/tpl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/mtrr.h>
 #include <asm/processor.h>
 #include <asm-generic/sections.h>
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c
index 0e564507f94..bb1e2886abc 100644
--- a/arch/xtensa/lib/bootm.c
+++ b/arch/xtensa/lib/bootm.c
@@ -9,6 +9,7 @@
 #include <command.h>
 #include <cpu_func.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 #include <asm/addrspace.h>
diff --git a/board/AndesTech/adp-ae3xx/adp-ae3xx.c b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
index b52cbd4d861..3c4a27d63f6 100644
--- a/board/AndesTech/adp-ae3xx/adp-ae3xx.c
+++ b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
@@ -7,6 +7,7 @@
 
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <common.h>
 #include <flash.h>
diff --git a/board/AndesTech/adp-ag101p/adp-ag101p.c b/board/AndesTech/adp-ag101p/adp-ag101p.c
index 3dd880f3d6c..8848b7f9738 100644
--- a/board/AndesTech/adp-ag101p/adp-ag101p.c
+++ b/board/AndesTech/adp-ag101p/adp-ag101p.c
@@ -12,6 +12,7 @@
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/AndesTech/ax25-ae350/ax25-ae350.c b/board/AndesTech/ax25-ae350/ax25-ae350.c
index 59a43e4dcc4..d781038de28 100644
--- a/board/AndesTech/ax25-ae350/ax25-ae350.c
+++ b/board/AndesTech/ax25-ae350/ax25-ae350.c
@@ -12,6 +12,7 @@
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <faraday/ftsmc020.h>
 #include <fdtdec.h>
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c
index 0fd9532d748..cf42f52b36c 100644
--- a/board/Arcturus/ucp1020/spl.c
+++ b/board/Arcturus/ucp1020/spl.c
@@ -20,6 +20,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/BuR/brppt1/board.c b/board/BuR/brppt1/board.c
index 8aa03eac283..7df37e4e66a 100644
--- a/board/BuR/brppt1/board.c
+++ b/board/BuR/brppt1/board.c
@@ -23,6 +23,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/BuR/brppt2/board.c b/board/BuR/brppt2/board.c
index f156b552a76..e6eb403fc3d 100644
--- a/board/BuR/brppt2/board.c
+++ b/board/BuR/brppt2/board.c
@@ -21,6 +21,7 @@
 # include <asm/arch/mx6-ddr.h>
 #endif
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 
diff --git a/board/BuR/brsmarc1/board.c b/board/BuR/brsmarc1/board.c
index 5b9108a89f9..738a5d2ff94 100644
--- a/board/BuR/brsmarc1/board.c
+++ b/board/BuR/brsmarc1/board.c
@@ -19,6 +19,7 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/emif.h>
diff --git a/board/BuR/brxre1/board.c b/board/BuR/brxre1/board.c
index 5d57e19fde0..ef692b006d5 100644
--- a/board/BuR/brxre1/board.c
+++ b/board/BuR/brxre1/board.c
@@ -21,6 +21,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
index 0a5104a48f9..d2d4ea5835b 100644
--- a/board/BuR/common/common.c
+++ b/board/BuR/common/common.c
@@ -15,6 +15,7 @@
 #include <fdtdec.h>
 #include <i2c.h>
 #include <lcd.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "bur_common.h"
 
diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c
index f5e4de3c418..153ed0e963b 100644
--- a/board/BuS/eb_cpu5282/eb_cpu5282.c
+++ b/board/BuS/eb_cpu5282/eb_cpu5282.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include "asm/m5282.h"
 #include <bmp_layout.h>
 #include <env.h>
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index 679f3eb7014..486680a49e8 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -7,6 +7,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <clk.h>
diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index 2da878d3648..0353d58a361 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -15,6 +15,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/CarMediaLab/flea3/flea3.c b/board/CarMediaLab/flea3/flea3.c
index 11fcecb94e5..12c5ac331f9 100644
--- a/board/CarMediaLab/flea3/flea3.c
+++ b/board/CarMediaLab/flea3/flea3.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <env.h>
 #include <linux/delay.h>
diff --git a/board/LaCie/edminiv2/edminiv2.c b/board/LaCie/edminiv2/edminiv2.c
index b5ffe8162f3..9c066a283c9 100644
--- a/board/LaCie/edminiv2/edminiv2.c
+++ b/board/LaCie/edminiv2/edminiv2.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <asm/arch/orion5x.h>
+#include <asm/global_data.h>
 #include "../common/common.h"
 #include <spl.h>
 #include <ns16550.h>
diff --git a/board/LaCie/net2big_v2/net2big_v2.c b/board/LaCie/net2big_v2/net2big_v2.c
index e94c9a6dce9..695d6f6ed47 100644
--- a/board/LaCie/net2big_v2/net2big_v2.c
+++ b/board/LaCie/net2big_v2/net2big_v2.c
@@ -14,6 +14,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c
index 33246b20152..730eab7e703 100644
--- a/board/LaCie/netspace_v2/netspace_v2.c
+++ b/board/LaCie/netspace_v2/netspace_v2.c
@@ -13,6 +13,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/aspenite/aspenite.c b/board/Marvell/aspenite/aspenite.c
index c1406d7489c..1f9389c0a7a 100644
--- a/board/Marvell/aspenite/aspenite.c
+++ b/board/Marvell/aspenite/aspenite.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <mvmfp.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/mfp.h>
diff --git a/board/Marvell/db-88f6281-bp/db-88f6281-bp.c b/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
index 62027bd6385..08f79d4b532 100644
--- a/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
+++ b/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
@@ -3,6 +3,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <miiphy.h>
diff --git a/board/Marvell/db-88f6720/db-88f6720.c b/board/Marvell/db-88f6720/db-88f6720.c
index 271535b7637..26c30647fbb 100644
--- a/board/Marvell/db-88f6720/db-88f6720.c
+++ b/board/Marvell/db-88f6720/db-88f6720.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
index 9cd9ea2c068..163a1b3de9d 100644
--- a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
+++ b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
@@ -9,6 +9,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
index 2bdd55329d0..06307e582ce 100644
--- a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
+++ b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
@@ -9,6 +9,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
index 8d1dbebdb7a..9e1fdecfca4 100644
--- a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
+++ b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c b/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
index 5f12a27002f..0abdca1cd21 100644
--- a/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
+++ b/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/Marvell/dreamplug/dreamplug.c b/board/Marvell/dreamplug/dreamplug.c
index 7d188c32795..e1c64b52246 100644
--- a/board/Marvell/dreamplug/dreamplug.c
+++ b/board/Marvell/dreamplug/dreamplug.c
@@ -15,6 +15,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "dreamplug.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/Marvell/gplugd/gplugd.c b/board/Marvell/gplugd/gplugd.c
index 58e433fd347..c6376cdf6a9 100644
--- a/board/Marvell/gplugd/gplugd.c
+++ b/board/Marvell/gplugd/gplugd.c
@@ -18,6 +18,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/mfp.h>
 #include <asm/arch/armada100.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <miiphy.h>
 #include <asm/mach-types.h>
diff --git a/board/Marvell/guruplug/guruplug.c b/board/Marvell/guruplug/guruplug.c
index f3981c66d20..8e7dbb3f3f6 100644
--- a/board/Marvell/guruplug/guruplug.c
+++ b/board/Marvell/guruplug/guruplug.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
index 73d69e03880..6e9c0ad37ff 100644
--- a/board/Marvell/mvebu_armada-37xx/board.c
+++ b/board/Marvell/mvebu_armada-37xx/board.c
@@ -9,6 +9,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <phy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/mvebu_armada-8k/board.c b/board/Marvell/mvebu_armada-8k/board.c
index bf8a929ec1e..7da5d9f96b1 100644
--- a/board/Marvell/mvebu_armada-8k/board.c
+++ b/board/Marvell/mvebu_armada-8k/board.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/octeontx/board.c b/board/Marvell/octeontx/board.c
index 940faacbe37..dcd69d38cff 100644
--- a/board/Marvell/octeontx/board.c
+++ b/board/Marvell/octeontx/board.c
@@ -5,6 +5,7 @@
  * https://spdx.org/licenses
  */
 
+#include <common.h>
 #include <dm.h>
 #include <malloc.h>
 #include <errno.h>
@@ -13,6 +14,7 @@
 #include <log.h>
 #include <netdev.h>
 #include <pci_ids.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <linux/libfdt.h>
diff --git a/board/Marvell/octeontx2/board.c b/board/Marvell/octeontx2/board.c
index 50e903d9aa9..ea229f191ed 100644
--- a/board/Marvell/octeontx2/board.c
+++ b/board/Marvell/octeontx2/board.c
@@ -5,10 +5,12 @@
  * https://spdx.org/licenses
  */
 
+#include <common.h>
 #include <command.h>
 #include <console.h>
 #include <cpu_func.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass-internal.h>
 #include <env.h>
 #include <init.h>
diff --git a/board/Marvell/openrd/openrd.c b/board/Marvell/openrd/openrd.c
index d9b5b213fea..f44ac3315eb 100644
--- a/board/Marvell/openrd/openrd.c
+++ b/board/Marvell/openrd/openrd.c
@@ -14,6 +14,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/sheevaplug/sheevaplug.c b/board/Marvell/sheevaplug/sheevaplug.c
index 6311ed3b2e5..0cc7f2b3924 100644
--- a/board/Marvell/sheevaplug/sheevaplug.c
+++ b/board/Marvell/sheevaplug/sheevaplug.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c
index 85dd10e55a2..380e37be550 100644
--- a/board/Seagate/dockstar/dockstar.c
+++ b/board/Seagate/dockstar/dockstar.c
@@ -16,6 +16,7 @@
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/cpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include "dockstar.h"
diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c
index de1ec544667..4c19fa7195e 100644
--- a/board/Seagate/goflexhome/goflexhome.c
+++ b/board/Seagate/goflexhome/goflexhome.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
diff --git a/board/Seagate/nas220/nas220.c b/board/Seagate/nas220/nas220.c
index 3a027d083a7..cd2bbdad1cd 100644
--- a/board/Seagate/nas220/nas220.c
+++ b/board/Seagate/nas220/nas220.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
diff --git a/board/Synology/ds109/ds109.c b/board/Synology/ds109/ds109.c
index aa2987d924f..bf57ffff438 100644
--- a/board/Synology/ds109/ds109.c
+++ b/board/Synology/ds109/ds109.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/setup.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Synology/ds414/ds414.c b/board/Synology/ds414/ds414.c
index 632205164eb..9c4ce670ddf 100644
--- a/board/Synology/ds414/ds414.c
+++ b/board/Synology/ds414/ds414.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/advantech/dms-ba16/dms-ba16.c b/board/advantech/dms-ba16/dms-ba16.c
index 20820fdf076..07a47e9fbb0 100644
--- a/board/advantech/dms-ba16/dms-ba16.c
+++ b/board/advantech/dms-ba16/dms-ba16.c
@@ -11,6 +11,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
index ea057d27cf3..8492e7603b4 100644
--- a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
+++ b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/board/advantech/imx8qm_rom7720_a1/spl.c b/board/advantech/imx8qm_rom7720_a1/spl.c
index a2386c9ef00..8493bb01588 100644
--- a/board/advantech/imx8qm_rom7720_a1/spl.c
+++ b/board/advantech/imx8qm_rom7720_a1/spl.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <spl.h>
 #include <fsl_esdhc.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c b/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
index 668484b71b6..d8b9fdfe356 100644
--- a/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
+++ b/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/io.h>
diff --git a/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c b/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
index e4bf507cc3f..52b8eba92fc 100644
--- a/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
+++ b/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
@@ -10,6 +10,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <led.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <asm/arch/cpu.h>
diff --git a/board/alliedtelesis/common/gpio_hog.c b/board/alliedtelesis/common/gpio_hog.c
index 1f87b3ac1b7..4aecf7e2cef 100644
--- a/board/alliedtelesis/common/gpio_hog.c
+++ b/board/alliedtelesis/common/gpio_hog.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/alliedtelesis/x530/x530.c b/board/alliedtelesis/x530/x530.c
index c7438aeaf14..d602092d732 100644
--- a/board/alliedtelesis/x530/x530.c
+++ b/board/alliedtelesis/x530/x530.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <wdt.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/amazon/kc1/kc1.c b/board/amazon/kc1/kc1.c
index 973bc5a9272..75fb14025c1 100644
--- a/board/amazon/kc1/kc1.c
+++ b/board/amazon/kc1/kc1.c
@@ -10,6 +10,7 @@
 #include <env.h>
 #include <fastboot.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/usb/musb.h>
 #include <asm/omap_musb.h>
diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c
index 09ef39ff30a..bb680444b26 100644
--- a/board/amlogic/vim3/vim3.c
+++ b/board/amlogic/vim3/vim3.c
@@ -9,6 +9,7 @@
 #include <env_internal.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/eth.h>
 #include <i2c.h>
diff --git a/board/aristainetos/aristainetos.c b/board/aristainetos/aristainetos.c
index 14931120f6f..a28f67a0b13 100644
--- a/board/aristainetos/aristainetos.c
+++ b/board/aristainetos/aristainetos.c
@@ -16,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/armadeus/apf27/apf27.c b/board/armadeus/apf27/apf27.c
index 29e0bf388d0..5e3fdd36fa2 100644
--- a/board/armadeus/apf27/apf27.c
+++ b/board/armadeus/apf27/apf27.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <jffs2/jffs2.h>
 #include <nand.h>
 #include <netdev.h>
diff --git a/board/armltd/integrator/integrator.c b/board/armltd/integrator/integrator.c
index 19871bee146..a730f15c7a3 100644
--- a/board/armltd/integrator/integrator.c
+++ b/board/armltd/integrator/integrator.c
@@ -24,6 +24,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include "arm-ebi.h"
diff --git a/board/armltd/total_compute/total_compute.c b/board/armltd/total_compute/total_compute.c
index 0be6435fe3b..526eb3e9702 100644
--- a/board/armltd/total_compute/total_compute.c
+++ b/board/armltd/total_compute/total_compute.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <asm/armv8/mmu.h>
 
diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index 70f6cd80d5a..d34c03bf9dd 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -23,6 +23,7 @@
 #include <errno.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/systimer.h>
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index 52ada0f6bce..6bf2ed23190 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -12,6 +12,7 @@
 #include <errno.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <dm/platform_data/serial_pl01x.h>
diff --git a/board/astro/mcf5373l/mcf5373l.c b/board/astro/mcf5373l/mcf5373l.c
index e7c2b909300..3e2f79a1cf4 100644
--- a/board/astro/mcf5373l/mcf5373l.c
+++ b/board/astro/mcf5373l/mcf5373l.c
@@ -10,6 +10,7 @@
 #include <serial.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <asm/m5329.h>
 #include <asm/immap_5329.h>
 #include <asm/io.h>
diff --git a/board/atmark-techno/armadillo-800eva/armadillo-800eva.c b/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
index a18fb275d9f..1bae2832522 100644
--- a/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
+++ b/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
@@ -24,6 +24,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c
index 8844bc75419..a314ced5e4a 100644
--- a/board/atmel/at91rm9200ek/at91rm9200ek.c
+++ b/board/atmel/at91rm9200ek/at91rm9200ek.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pio.h>
diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c
index 42fa7627724..38f97bce204 100644
--- a/board/atmel/at91sam9260ek/at91sam9260ek.c
+++ b/board/atmel/at91sam9260ek/at91sam9260ek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9260_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c
index f467a4f566c..0318eeaa94e 100644
--- a/board/atmel/at91sam9261ek/at91sam9261ek.c
+++ b/board/atmel/at91sam9261ek/at91sam9261ek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9261.h>
 #include <asm/arch/at91sam9261_matrix.h>
diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c
index be132bc185f..3218e14e860 100644
--- a/board/atmel/at91sam9263ek/at91sam9263ek.c
+++ b/board/atmel/at91sam9263ek/at91sam9263ek.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/arch/at91sam9263.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
index 8aabc559519..8cb2808e058 100644
--- a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
+++ b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/at91sam9g45_matrix.h>
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
index d7ff2e13352..a3fc55bbc34 100644
--- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c
+++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c
index f81dccc9ccc..f427ee658bf 100644
--- a/board/atmel/at91sam9rlek/at91sam9rlek.c
+++ b/board/atmel/at91sam9rlek/at91sam9rlek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/at91sam9rl.h>
diff --git a/board/atmel/at91sam9x5ek/at91sam9x5ek.c b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
index 2c071075bac..e0abe4aeb08 100644
--- a/board/atmel/at91sam9x5ek/at91sam9x5ek.c
+++ b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/common/video_display.c b/board/atmel/common/video_display.c
index 2666b0b3cd5..a5049f4aad4 100644
--- a/board/atmel/common/video_display.c
+++ b/board/atmel/common/video_display.c
@@ -13,6 +13,7 @@
 #include <video.h>
 #include <video_console.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 
diff --git a/board/atmel/sam9x60ek/sam9x60ek.c b/board/atmel/sam9x60ek/sam9x60ek.c
index fbd05c78a94..32e5a2bf23a 100644
--- a/board/atmel/sam9x60ek/sam9x60ek.c
+++ b/board/atmel/sam9x60ek/sam9x60ek.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
index 376562cd0e7..1b7d946b50c 100644
--- a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
+++ b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
index c8c2e958167..32d51bba7d9 100644
--- a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
+++ b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_icp/sama5d2_icp.c b/board/atmel/sama5d2_icp/sama5d2_icp.c
index 7c34df48b87..3f33fcfc466 100644
--- a/board/atmel/sama5d2_icp/sama5d2_icp.c
+++ b/board/atmel/sama5d2_icp/sama5d2_icp.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c b/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
index b0a23b02db2..a6937e7d524 100644
--- a/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
+++ b/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <nand.h>
 #include <version.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
index 01636fb73d0..5110ec89697 100644
--- a/board/atmel/sama5d2_xplained/sama5d2_xplained.c
+++ b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d3_xplained/sama5d3_xplained.c b/board/atmel/sama5d3_xplained/sama5d3_xplained.c
index 84c561be6fc..db9603f5847 100644
--- a/board/atmel/sama5d3_xplained/sama5d3_xplained.c
+++ b/board/atmel/sama5d3_xplained/sama5d3_xplained.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sama5d3_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d3xek/sama5d3xek.c b/board/atmel/sama5d3xek/sama5d3xek.c
index 7f6a3198592..b6f8dcd91dc 100644
--- a/board/atmel/sama5d3xek/sama5d3xek.c
+++ b/board/atmel/sama5d3xek/sama5d3xek.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sama5d3_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d4_xplained/sama5d4_xplained.c b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
index 93cc183a5b4..2088b48b7ee 100644
--- a/board/atmel/sama5d4_xplained/sama5d4_xplained.c
+++ b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_rstc.h>
diff --git a/board/atmel/sama5d4ek/sama5d4ek.c b/board/atmel/sama5d4ek/sama5d4ek.c
index 4b3883e20f8..46ec1eb3246 100644
--- a/board/atmel/sama5d4ek/sama5d4ek.c
+++ b/board/atmel/sama5d4ek/sama5d4ek.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_rstc.h>
diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c
index d3af634e3ab..69d1b106b07 100644
--- a/board/bachmann/ot1200/ot1200.c
+++ b/board/bachmann/ot1200/ot1200.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/barco/platinum/platinum.c b/board/barco/platinum/platinum.c
index f96106cb75e..ec8d5528887 100644
--- a/board/barco/platinum/platinum.c
+++ b/board/barco/platinum/platinum.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/barco/titanium/titanium.c b/board/barco/titanium/titanium.c
index 7a52e94c7ee..efd1dc35ef4 100644
--- a/board/barco/titanium/titanium.c
+++ b/board/barco/titanium/titanium.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/beacon/beacon-rzg2m/beacon-rzg2m.c b/board/beacon/beacon-rzg2m/beacon-rzg2m.c
index 86a24dd0658..c343de51023 100644
--- a/board/beacon/beacon-rzg2m/beacon-rzg2m.c
+++ b/board/beacon/beacon-rzg2m/beacon-rzg2m.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/rcar-mstp.h>
 
diff --git a/board/beacon/imx8mm/imx8mm_beacon.c b/board/beacon/imx8mm/imx8mm_beacon.c
index c61d25fbead..87ffebb5713 100644
--- a/board/beacon/imx8mm/imx8mm_beacon.c
+++ b/board/beacon/imx8mm/imx8mm_beacon.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <miiphy.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/beacon/imx8mm/spl.c b/board/beacon/imx8mm/spl.c
index 4ee10cf8555..12266b22a42 100644
--- a/board/beacon/imx8mm/spl.c
+++ b/board/beacon/imx8mm/spl.c
@@ -6,6 +6,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/beckhoff/mx53cx9020/mx53cx9020.c b/board/beckhoff/mx53cx9020/mx53cx9020.c
index 617b545232a..a3657db8266 100644
--- a/board/beckhoff/mx53cx9020/mx53cx9020.c
+++ b/board/beckhoff/mx53cx9020/mx53cx9020.c
@@ -13,6 +13,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/iomux-mx53.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/mx5_video.h>
 #include <ACEX1K.h>
 #include <asm/gpio.h>
diff --git a/board/bluegiga/apx4devkit/apx4devkit.c b/board/bluegiga/apx4devkit/apx4devkit.c
index 739f71f5c4d..ed0885f724c 100644
--- a/board/bluegiga/apx4devkit/apx4devkit.c
+++ b/board/bluegiga/apx4devkit/apx4devkit.c
@@ -16,6 +16,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/setup.h>
diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c
index dc9871d4469..c5c8bcc598e 100644
--- a/board/bluewater/gurnard/gurnard.c
+++ b/board/bluewater/gurnard/gurnard.c
@@ -19,6 +19,7 @@
 #ifndef CONFIG_DM_ETH
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/bluewater/snapper9260/snapper9260.c b/board/bluewater/snapper9260/snapper9260.c
index 9b0a75ac5df..87fb967ea05 100644
--- a/board/bluewater/snapper9260/snapper9260.c
+++ b/board/bluewater/snapper9260/snapper9260.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/mach-types.h>
diff --git a/board/bosch/guardian/board.c b/board/bosch/guardian/board.c
index 1d8fa781545..113838f8b72 100644
--- a/board/bosch/guardian/board.c
+++ b/board/bosch/guardian/board.c
@@ -19,6 +19,7 @@
 #include <led.h>
 #include <miiphy.h>
 #include <panel.h>
+#include <asm/global_data.h>
 #include <power/tps65217.h>
 #include <power/tps65910.h>
 #include <spl.h>
diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c
index b8f1b56502e..bfce291691a 100644
--- a/board/bosch/shc/board.c
+++ b/board/bosch/shc/board.c
@@ -29,6 +29,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index 5b2d675a557..84e14d1124f 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
index a1e3b25c2e0..90685c072a3 100644
--- a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
+++ b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <env.h>
diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
index 79ce54993dd..43726f79bde 100644
--- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
+++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <env.h>
diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c
index ad9af92b559..6064eb43db1 100644
--- a/board/broadcom/bcm_ep/board.c
+++ b/board/broadcom/bcm_ep/board.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <config.h>
 #include <netdev.h>
diff --git a/board/broadcom/bcmns2/northstar2.c b/board/broadcom/bcmns2/northstar2.c
index 91f489aad3f..494e457ff65 100644
--- a/board/broadcom/bcmns2/northstar2.c
+++ b/board/broadcom/bcmns2/northstar2.c
@@ -6,6 +6,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 
diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c
index 10ae344a06d..9d2df92fa1d 100644
--- a/board/broadcom/bcmns3/ns3.c
+++ b/board/broadcom/bcmns3/ns3.c
@@ -8,6 +8,7 @@
 #include <fdt_support.h>
 #include <asm/io.h>
 #include <asm/gic-v3.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 #include <asm/arch-bcmns3/bl33_info.h>
diff --git a/board/broadcom/bcmstb/bcmstb.c b/board/broadcom/bcmstb/bcmstb.c
index add4285db31..f6bdf1f5f40 100644
--- a/board/broadcom/bcmstb/bcmstb.c
+++ b/board/broadcom/bcmstb/bcmstb.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <common.h>
 #include <env.h>
diff --git a/board/bticino/mamoj/mamoj.c b/board/bticino/mamoj/mamoj.c
index b7d37b70044..c9da42b43bf 100644
--- a/board/bticino/mamoj/mamoj.c
+++ b/board/bticino/mamoj/mamoj.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/bticino/mamoj/spl.c b/board/bticino/mamoj/spl.c
index a9bb2a55e5d..883b7f4133b 100644
--- a/board/bticino/mamoj/spl.c
+++ b/board/bticino/mamoj/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/io.h>
diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
index 64daa456b3c..34be601fdde 100644
--- a/board/buffalo/lsxl/lsxl.c
+++ b/board/buffalo/lsxl/lsxl.c
@@ -24,6 +24,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include "lsxl.h"
diff --git a/board/calao/usb_a9263/usb_a9263.c b/board/calao/usb_a9263/usb_a9263.c
index 1fcaff60455..c0a5c518ca8 100644
--- a/board/calao/usb_a9263/usb_a9263.c
+++ b/board/calao/usb_a9263/usb_a9263.c
@@ -15,6 +15,7 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/gpio.h>
 #include <asm-generic/gpio.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <net.h>
 #include <netdev.h>
diff --git a/board/cavium/thunderx/thunderx.c b/board/cavium/thunderx/thunderx.c
index f8c2913eace..ccb6b26c91b 100644
--- a/board/cavium/thunderx/thunderx.c
+++ b/board/cavium/thunderx/thunderx.c
@@ -10,6 +10,7 @@
 #include <malloc.h>
 #include <errno.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 #include <cavium/atf.h>
diff --git a/board/ccv/xpress/xpress.c b/board/ccv/xpress/xpress.c
index 27beaeb101a..9f5e78ce680 100644
--- a/board/ccv/xpress/xpress.c
+++ b/board/ccv/xpress/xpress.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/cirrus/edb93xx/edb93xx.c b/board/cirrus/edb93xx/edb93xx.c
index cbed98b0e36..7a7f62fe88e 100644
--- a/board/cirrus/edb93xx/edb93xx.c
+++ b/board/cirrus/edb93xx/edb93xx.c
@@ -21,6 +21,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <status_led.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/ep93xx.h>
diff --git a/board/cloudengines/pogo_e02/pogo_e02.c b/board/cloudengines/pogo_e02/pogo_e02.c
index 8df039168c9..039fd6e3dd6 100644
--- a/board/cloudengines/pogo_e02/pogo_e02.c
+++ b/board/cloudengines/pogo_e02/pogo_e02.c
@@ -17,6 +17,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "pogo_e02.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/cobra5272/cobra5272.c b/board/cobra5272/cobra5272.c
index a79884cb506..3e2418866c7 100644
--- a/board/cobra5272/cobra5272.c
+++ b/board/cobra5272/cobra5272.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/compulab/cl-som-imx7/cl-som-imx7.c b/board/compulab/cl-som-imx7/cl-som-imx7.c
index 1eef1d55076..454c93a572f 100644
--- a/board/compulab/cl-som-imx7/cl-som-imx7.c
+++ b/board/compulab/cl-som-imx7/cl-som-imx7.c
@@ -15,6 +15,7 @@
 #include <phy.h>
 #include <netdev.h>
 #include <fsl_esdhc_imx.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <power/pmic.h>
 #include <power/pfuze3000_pmic.h>
diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index e2712680f95..2b11b7ee189 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -27,6 +27,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mxc_hdmi.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <asm/mach-imx/sata.h>
 #include <asm/mach-imx/video.h>
diff --git a/board/compulab/cm_t335/cm_t335.c b/board/compulab/cm_t335/cm_t335.c
index a9ba2b7e002..1d4a3aceef5 100644
--- a/board/compulab/cm_t335/cm_t335.c
+++ b/board/compulab/cm_t335/cm_t335.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <status_led.h>
 #include <cpsw.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/sys_proto.h>
diff --git a/board/compulab/cm_t43/cm_t43.c b/board/compulab/cm_t43/cm_t43.c
index 4b097c8f8f7..efdade155b5 100644
--- a/board/compulab/cm_t43/cm_t43.c
+++ b/board/compulab/cm_t43/cm_t43.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <cpsw.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/emif.h>
diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
index 9316b2c3772..6ae4a1af892 100644
--- a/board/congatec/cgtqmx6eval/cgtqmx6eval.c
+++ b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/corscience/tricorder/tricorder.c b/board/corscience/tricorder/tricorder.c
index 41675677de2..3f4a40fd659 100644
--- a/board/corscience/tricorder/tricorder.c
+++ b/board/corscience/tricorder/tricorder.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <twl4030.h>
 #include <status_led.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/cortina/presidio-asic/presidio.c b/board/cortina/presidio-asic/presidio.c
index 3c132f12717..5c735222637 100644
--- a/board/cortina/presidio-asic/presidio.c
+++ b/board/cortina/presidio-asic/presidio.c
@@ -8,6 +8,7 @@
 #include <malloc.h>
 #include <errno.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
diff --git a/board/creative/xfi3/xfi3.c b/board/creative/xfi3/xfi3.c
index b5f0d313074..2aa2435e49c 100644
--- a/board/creative/xfi3/xfi3.c
+++ b/board/creative/xfi3/xfi3.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/cssi/MCR3000/MCR3000.c b/board/cssi/MCR3000/MCR3000.c
index 55e955c36bb..c20e8714949 100644
--- a/board/cssi/MCR3000/MCR3000.c
+++ b/board/cssi/MCR3000/MCR3000.c
@@ -14,6 +14,7 @@
 #include <mpc8xx.h>
 #include <fdt_support.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/uclass.h>
 #include <wdt.h>
diff --git a/board/d-link/dns325/dns325.c b/board/d-link/dns325/dns325.c
index 0ae2e7d88c1..055783f63ad 100644
--- a/board/d-link/dns325/dns325.c
+++ b/board/d-link/dns325/dns325.c
@@ -19,6 +19,7 @@
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include "dns325.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c
index 683e8b452ad..383a8617384 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -17,6 +17,7 @@
 #include <spi.h>
 #include <spi_flash.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/ti-common/davinci_nand.h>
 #include <asm/arch/emac_defs.h>
 #include <asm/arch/pinmux_defs.h>
diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c
index 6bab7b18d44..7607e313b75 100644
--- a/board/davinci/da8xxevm/omapl138_lcdk.c
+++ b/board/davinci/da8xxevm/omapl138_lcdk.c
@@ -14,6 +14,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/ti-common/davinci_nand.h>
 #include <asm/io.h>
 #include <ns16550.h>
diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c b/board/dhelectronics/dh_imx6/dh_imx6.c
index 9937d6b0106..2969e90a707 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index f42d395098b..a7bde9de58f 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -9,6 +9,7 @@
 #include <net.h>
 #include <asm/arch/stm32.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <bootm.h>
diff --git a/board/ea/mx7ulp_com/mx7ulp_com.c b/board/ea/mx7ulp_com/mx7ulp_com.c
index a9b8a321082..5b2d444366c 100644
--- a/board/ea/mx7ulp_com/mx7ulp_com.c
+++ b/board/ea/mx7ulp_com/mx7ulp_com.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mx7ulp-pins.h>
diff --git a/board/eets/pdu001/board.c b/board/eets/pdu001/board.c
index a602b623adb..f806d1e7672 100644
--- a/board/eets/pdu001/board.c
+++ b/board/eets/pdu001/board.c
@@ -18,6 +18,7 @@
 #include <i2c.h>
 #include <watchdog.h>
 #include <debug_uart.h>
+#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/board/egnite/ethernut5/ethernut5.c b/board/egnite/ethernut5/ethernut5.c
index 0674b300109..559fdd2f646 100644
--- a/board/egnite/ethernut5/ethernut5.c
+++ b/board/egnite/ethernut5/ethernut5.c
@@ -60,6 +60,7 @@
 #include <i2c.h>
 #include <mmc.h>
 #include <atmel_mci.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/at91sam9260.h>
 #include <asm/arch/at91sam9260_matrix.h>
diff --git a/board/el/el6x/el6x.c b/board/el/el6x/el6x.c
index bdc0558eda2..ddac58f73d2 100644
--- a/board/el/el6x/el6x.c
+++ b/board/el/el6x/el6x.c
@@ -13,6 +13,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c
index 245e5abcaeb..eb7a322d847 100644
--- a/board/elgin/elgin_rv1108/elgin_rv1108.c
+++ b/board/elgin/elgin_rv1108/elgin_rv1108.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rv1108.h>
diff --git a/board/embest/mx6boards/mx6boards.c b/board/embest/mx6boards/mx6boards.c
index 752242bd54c..65b3942e399 100644
--- a/board/embest/mx6boards/mx6boards.c
+++ b/board/embest/mx6boards/mx6boards.c
@@ -20,6 +20,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/engicam/common/board.c b/board/engicam/common/board.c
index 5a2003d5098..df9149e0d6d 100644
--- a/board/engicam/common/board.c
+++ b/board/engicam/common/board.c
@@ -16,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 
 #include "board.h"
 
diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c
index deed3a9b84e..eaa525eb004 100644
--- a/board/esd/meesc/meesc.c
+++ b/board/esd/meesc/meesc.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <serial.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/mach-types.h>
diff --git a/board/esd/vme8349/vme8349.c b/board/esd/vme8349/vme8349.c
index 8d3d26e3c70..d388fc6d490 100644
--- a/board/esd/vme8349/vme8349.c
+++ b/board/esd/vme8349/vme8349.c
@@ -17,6 +17,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/firefly/firefly-rk3288/firefly-rk3288.c b/board/firefly/firefly-rk3288/firefly-rk3288.c
index bd8a32cf7b3..41c49e5daa7 100644
--- a/board/firefly/firefly-rk3288/firefly-rk3288.c
+++ b/board/firefly/firefly-rk3288/firefly-rk3288.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <led.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_SPL_BUILD
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/common/arm_sleep.c b/board/freescale/common/arm_sleep.c
index bb1ef997927..733940860f5 100644
--- a/board/freescale/common/arm_sleep.c
+++ b/board/freescale/common/arm_sleep.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #ifndef CONFIG_ARMV7_NONSEC
 #error " Deep sleep needs non-secure mode support. "
diff --git a/board/freescale/common/emc2305.c b/board/freescale/common/emc2305.c
index 050b679f3c5..12ad4b3e08a 100644
--- a/board/freescale/common/emc2305.c
+++ b/board/freescale/common/emc2305.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <command.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include "emc2305.h"
diff --git a/board/freescale/common/mpc85xx_sleep.c b/board/freescale/common/mpc85xx_sleep.c
index 6f6f4d40fcb..d2bb173c183 100644
--- a/board/freescale/common/mpc85xx_sleep.c
+++ b/board/freescale/common/mpc85xx_sleep.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/immap_85xx.h>
 #include "sleep.h"
 #ifdef CONFIG_U_QE
diff --git a/board/freescale/corenet_ds/corenet_ds.c b/board/freescale/corenet_ds/corenet_ds.c
index 15d11ed81ab..3a83e65f2fe 100644
--- a/board/freescale/corenet_ds/corenet_ds.c
+++ b/board/freescale/corenet_ds/corenet_ds.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/corenet_ds/ddr.c b/board/freescale/corenet_ds/ddr.c
index 19f6e8700d5..2c440673e7c 100644
--- a/board/freescale/corenet_ds/ddr.c
+++ b/board/freescale/corenet_ds/ddr.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
index 6af71006966..ab55135a972 100644
--- a/board/freescale/imx8mm_evk/imx8mm_evk.c
+++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/imx8mm_evk/spl.c b/board/freescale/imx8mm_evk/spl.c
index 19c8a5aa235..64bc60651d3 100644
--- a/board/freescale/imx8mm_evk/spl.c
+++ b/board/freescale/imx8mm_evk/spl.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index e5ca54f9ae7..9a0a0488bf4 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/imx8mn_evk/spl.c b/board/freescale/imx8mn_evk/spl.c
index dd38c1015cf..6d5c7a5b467 100644
--- a/board/freescale/imx8mn_evk/spl.c
+++ b/board/freescale/imx8mn_evk/spl.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/imx8mp_evk/imx8mp_evk.c b/board/freescale/imx8mp_evk/imx8mp_evk.c
index 034a349236e..56da4d4c6a3 100644
--- a/board/freescale/imx8mp_evk/imx8mp_evk.c
+++ b/board/freescale/imx8mp_evk/imx8mp_evk.c
@@ -7,6 +7,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm-generic/gpio.h>
 #include <asm/arch/imx8mp_pins.h>
diff --git a/board/freescale/imx8mp_evk/spl.c b/board/freescale/imx8mp_evk/spl.c
index 3214718e62b..ebfd94dc1fa 100644
--- a/board/freescale/imx8mp_evk/spl.c
+++ b/board/freescale/imx8mp_evk/spl.c
@@ -12,6 +12,7 @@
 #include <init.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/board/freescale/imx8mq_evk/imx8mq_evk.c b/board/freescale/imx8mq_evk/imx8mq_evk.c
index 1ad670b8ccf..93da67d7798 100644
--- a/board/freescale/imx8mq_evk/imx8mq_evk.c
+++ b/board/freescale/imx8mq_evk/imx8mq_evk.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/freescale/imx8mq_evk/spl.c b/board/freescale/imx8mq_evk/spl.c
index 42183ed5aa0..82753585f2f 100644
--- a/board/freescale/imx8mq_evk/spl.c
+++ b/board/freescale/imx8mq_evk/spl.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <asm/io.h>
diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c
index fba3baa1267..c6772206244 100644
--- a/board/freescale/imx8qm_mek/imx8qm_mek.c
+++ b/board/freescale/imx8qm_mek/imx8qm_mek.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/io.h>
diff --git a/board/freescale/imx8qm_mek/spl.c b/board/freescale/imx8qm_mek/spl.c
index 9dee12a2c6a..944ba745c09 100644
--- a/board/freescale/imx8qm_mek/spl.c
+++ b/board/freescale/imx8qm_mek/spl.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index da55933e21b..7179823a223 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/freescale/imx8qxp_mek/spl.c b/board/freescale/imx8qxp_mek/spl.c
index 881d297cf17..ae6b64ff6ea 100644
--- a/board/freescale/imx8qxp_mek/spl.c
+++ b/board/freescale/imx8qxp_mek/spl.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/freescale/imxrt1020-evk/imxrt1020-evk.c b/board/freescale/imxrt1020-evk/imxrt1020-evk.c
index 0cef6071feb..35241acd224 100644
--- a/board/freescale/imxrt1020-evk/imxrt1020-evk.c
+++ b/board/freescale/imxrt1020-evk/imxrt1020-evk.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <ram.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 
diff --git a/board/freescale/imxrt1050-evk/imxrt1050-evk.c b/board/freescale/imxrt1050-evk/imxrt1050-evk.c
index edc7fb176bb..b8d852f097b 100644
--- a/board/freescale/imxrt1050-evk/imxrt1050-evk.c
+++ b/board/freescale/imxrt1050-evk/imxrt1050-evk.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <ram.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 
diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c b/board/freescale/ls1012afrdm/ls1012afrdm.c
index 4770eadabd7..2cd651b943f 100644
--- a/board/freescale/ls1012afrdm/ls1012afrdm.c
+++ b/board/freescale/ls1012afrdm/ls1012afrdm.c
@@ -8,6 +8,7 @@
 #include <i2c.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1012aqds/ls1012aqds.c b/board/freescale/ls1012aqds/ls1012aqds.c
index 7bea45c8ae5..b77808ea57b 100644
--- a/board/freescale/ls1012aqds/ls1012aqds.c
+++ b/board/freescale/ls1012aqds/ls1012aqds.c
@@ -8,6 +8,7 @@
 #include <fdt_support.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1012ardb/ls1012ardb.c b/board/freescale/ls1012ardb/ls1012ardb.c
index 30b43ea135a..ed6dc9ff712 100644
--- a/board/freescale/ls1012ardb/ls1012ardb.c
+++ b/board/freescale/ls1012ardb/ls1012ardb.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1021aiot/dcu.c b/board/freescale/ls1021aiot/dcu.c
index 77732a6ab15..e4fbcbcaad3 100644
--- a/board/freescale/ls1021aiot/dcu.c
+++ b/board/freescale/ls1021aiot/dcu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <fsl_dcu_fb.h>
+#include <asm/global_data.h>
 #include "div64.h"
 #include "../common/dcu_sii9022a.h"
 
diff --git a/board/freescale/ls1021aiot/ls1021aiot.c b/board/freescale/ls1021aiot/ls1021aiot.c
index 2e5cc590666..bfe61376042 100644
--- a/board/freescale/ls1021aiot/ls1021aiot.c
+++ b/board/freescale/ls1021aiot/ls1021aiot.c
@@ -12,6 +12,7 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
 #include <asm/arch/ls102xa_stream_id.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/ls102xa_devdis.h>
diff --git a/board/freescale/ls1021aqds/dcu.c b/board/freescale/ls1021aqds/dcu.c
index b648a7872bc..f66961ca590 100644
--- a/board/freescale/ls1021aqds/dcu.c
+++ b/board/freescale/ls1021aqds/dcu.c
@@ -6,6 +6,7 @@
  * FSL DCU Framebuffer driver
  */
 
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <fsl_dcu_fb.h>
diff --git a/board/freescale/ls1021aqds/ddr.c b/board/freescale/ls1021aqds/ddr.c
index f84bce95a84..66fe1519cc6 100644
--- a/board/freescale/ls1021aqds/ddr.c
+++ b/board/freescale/ls1021aqds/ddr.c
@@ -8,6 +8,7 @@
 #include <fsl_ddr_dimm_params.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <linux/delay.h>
diff --git a/board/freescale/ls1021atsn/ls1021atsn.c b/board/freescale/ls1021atsn/ls1021atsn.c
index 878306b2d0f..c1acd3040c4 100644
--- a/board/freescale/ls1021atsn/ls1021atsn.c
+++ b/board/freescale/ls1021atsn/ls1021atsn.c
@@ -11,6 +11,7 @@
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/ls102xa_soc.h>
 #include <asm/arch/fsl_serdes.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "../common/sleep.h"
 #include <fsl_validate.h>
diff --git a/board/freescale/ls1021atwr/dcu.c b/board/freescale/ls1021atwr/dcu.c
index bdf7f7645c2..7bf283e3d66 100644
--- a/board/freescale/ls1021atwr/dcu.c
+++ b/board/freescale/ls1021atwr/dcu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <fsl_dcu_fb.h>
+#include <asm/global_data.h>
 #include "div64.h"
 #include "../common/dcu_sii9022a.h"
 
diff --git a/board/freescale/ls1021atwr/ls1021atwr.c b/board/freescale/ls1021atwr/ls1021atwr.c
index 2889bd8dedd..0cd38a14b83 100644
--- a/board/freescale/ls1021atwr/ls1021atwr.c
+++ b/board/freescale/ls1021atwr/ls1021atwr.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/ls1028a/ddr.c b/board/freescale/ls1028a/ddr.c
index 74d3af5c359..3e976da6b30 100644
--- a/board/freescale/ls1028a/ddr.c
+++ b/board/freescale/ls1028a/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/ls1028a/ls1028a.c b/board/freescale/ls1028a/ls1028a.c
index e37e3a3c16d..f3c1d958b72 100644
--- a/board/freescale/ls1028a/ls1028a.c
+++ b/board/freescale/ls1028a/ls1028a.c
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <fsl_ddr.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hwconfig.h>
 #include <fdt_support.h>
diff --git a/board/freescale/ls1043aqds/ddr.c b/board/freescale/ls1043aqds/ddr.c
index c0fc9aadf04..23947bdb84c 100644
--- a/board/freescale/ls1043aqds/ddr.c
+++ b/board/freescale/ls1043aqds/ddr.c
@@ -11,6 +11,7 @@
 #endif
 #include <log.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c
index ef0f2e61224..44e4c61eab2 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -10,6 +10,7 @@
 #include <fsl_ddr_sdram.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1043ardb/ddr.c b/board/freescale/ls1043ardb/ddr.c
index f16e036d0e8..08b43ff5e4c 100644
--- a/board/freescale/ls1043ardb/ddr.c
+++ b/board/freescale/ls1043ardb/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 #include <log.h>
 #include <vsprintf.h>
diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c
index dc32c030eca..beef26b084b 100644
--- a/board/freescale/ls1043ardb/ls1043ardb.c
+++ b/board/freescale/ls1043ardb/ls1043ardb.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046afrwy/ddr.c b/board/freescale/ls1046afrwy/ddr.c
index daf17e01693..256397b52b6 100644
--- a/board/freescale/ls1046afrwy/ddr.c
+++ b/board/freescale/ls1046afrwy/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <fsl_ddr_sdram.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c b/board/freescale/ls1046afrwy/ls1046afrwy.c
index 4ebf77b1ad1..9813a36ca07 100644
--- a/board/freescale/ls1046afrwy/ls1046afrwy.c
+++ b/board/freescale/ls1046afrwy/ls1046afrwy.c
@@ -7,6 +7,7 @@
 #include <i2c.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046aqds/ddr.c b/board/freescale/ls1046aqds/ddr.c
index f3cfbc4c39b..9a96de27178 100644
--- a/board/freescale/ls1046aqds/ddr.c
+++ b/board/freescale/ls1046aqds/ddr.c
@@ -11,6 +11,7 @@
 #endif
 #include <log.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1046aqds/ls1046aqds.c b/board/freescale/ls1046aqds/ls1046aqds.c
index 33b10277af7..3c96c900c32 100644
--- a/board/freescale/ls1046aqds/ls1046aqds.c
+++ b/board/freescale/ls1046aqds/ls1046aqds.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <fsl_ddr_sdram.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046ardb/ddr.c b/board/freescale/ls1046ardb/ddr.c
index 0e07df52119..befb556bd30 100644
--- a/board/freescale/ls1046ardb/ddr.c
+++ b/board/freescale/ls1046ardb/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 #ifdef CONFIG_FSL_DEEP_SLEEP
 #include <fsl_sleep.h>
diff --git a/board/freescale/ls1046ardb/ls1046ardb.c b/board/freescale/ls1046ardb/ls1046ardb.c
index e107c8471b3..93ef903f299 100644
--- a/board/freescale/ls1046ardb/ls1046ardb.c
+++ b/board/freescale/ls1046ardb/ls1046ardb.c
@@ -7,6 +7,7 @@
 #include <i2c.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1088a/ddr.c b/board/freescale/ls1088a/ddr.c
index fd9549bfbc8..995c4296017 100644
--- a/board/freescale/ls1088a/ddr.c
+++ b/board/freescale/ls1088a/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
index 5d19702a05c..2ba6a3990d9 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -13,6 +13,7 @@
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
 #include <fsl_sec.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/delay.h>
diff --git a/board/freescale/ls2080a/ddr.c b/board/freescale/ls2080a/ddr.c
index 229fc9cc30e..29d7bd1c5ee 100644
--- a/board/freescale/ls2080a/ddr.c
+++ b/board/freescale/ls2080a/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080a/ls2080a.c b/board/freescale/ls2080a/ls2080a.c
index 62da2a7af11..48437a52e40 100644
--- a/board/freescale/ls2080a/ls2080a.c
+++ b/board/freescale/ls2080a/ls2080a.c
@@ -10,6 +10,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/board/freescale/ls2080aqds/ddr.c b/board/freescale/ls2080aqds/ddr.c
index 3fb2c4448c2..2767d058cc9 100644
--- a/board/freescale/ls2080aqds/ddr.c
+++ b/board/freescale/ls2080aqds/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index 3eb40f5e2a2..a6f6897eb09 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -10,6 +10,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/board/freescale/ls2080ardb/ddr.c b/board/freescale/ls2080ardb/ddr.c
index 4571a228c59..07fa8473332 100644
--- a/board/freescale/ls2080ardb/ddr.c
+++ b/board/freescale/ls2080ardb/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080ardb/eth_ls2080rdb.c b/board/freescale/ls2080ardb/eth_ls2080rdb.c
index 018d1dc6720..21b4c16ff27 100644
--- a/board/freescale/ls2080ardb/eth_ls2080rdb.c
+++ b/board/freescale/ls2080ardb/eth_ls2080rdb.c
@@ -13,6 +13,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index c7e9c1dacf4..26ce5a80edf 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -11,6 +11,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hwconfig.h>
 #include <fdt_support.h>
diff --git a/board/freescale/lx2160a/ddr.c b/board/freescale/lx2160a/ddr.c
index cd422bf2bc5..7ab7a9e6ca8 100644
--- a/board/freescale/lx2160a/ddr.c
+++ b/board/freescale/lx2160a/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c b/board/freescale/lx2160a/eth_lx2160aqds.c
index fcace029360..437f0bc4cf6 100644
--- a/board/freescale/lx2160a/eth_lx2160aqds.c
+++ b/board/freescale/lx2160a/eth_lx2160aqds.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/lx2160a/eth_lx2160ardb.c b/board/freescale/lx2160a/eth_lx2160ardb.c
index b448883ee14..02f36f4f5f5 100644
--- a/board/freescale/lx2160a/eth_lx2160ardb.c
+++ b/board/freescale/lx2160a/eth_lx2160ardb.c
@@ -14,6 +14,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index 0ff987eeb4e..80a42c147cc 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <i2c.h>
 #include <malloc.h>
diff --git a/board/freescale/m5208evbe/m5208evbe.c b/board/freescale/m5208evbe/m5208evbe.c
index a950030eb39..7bfb4557dd5 100644
--- a/board/freescale/m5208evbe/m5208evbe.c
+++ b/board/freescale/m5208evbe/m5208evbe.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m52277evb/m52277evb.c b/board/freescale/m52277evb/m52277evb.c
index 144e490479e..510af33e4c3 100644
--- a/board/freescale/m52277evb/m52277evb.c
+++ b/board/freescale/m52277evb/m52277evb.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5235evb/m5235evb.c b/board/freescale/m5235evb/m5235evb.c
index 5d403937553..e7c7a94036b 100644
--- a/board/freescale/m5235evb/m5235evb.c
+++ b/board/freescale/m5235evb/m5235evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5249evb/m5249evb.c b/board/freescale/m5249evb/m5249evb.c
index a89d5100586..48c00791114 100644
--- a/board/freescale/m5249evb/m5249evb.c
+++ b/board/freescale/m5249evb/m5249evb.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <linux/delay.h>
 
diff --git a/board/freescale/m5253demo/m5253demo.c b/board/freescale/m5253demo/m5253demo.c
index 9a157db6014..2a4703579da 100644
--- a/board/freescale/m5253demo/m5253demo.c
+++ b/board/freescale/m5253demo/m5253demo.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <netdev.h>
 #include <asm/io.h>
diff --git a/board/freescale/m5272c3/m5272c3.c b/board/freescale/m5272c3/m5272c3.c
index 1017ef0c2a5..9580cf2a039 100644
--- a/board/freescale/m5272c3/m5272c3.c
+++ b/board/freescale/m5272c3/m5272c3.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5275evb/m5275evb.c b/board/freescale/m5275evb/m5275evb.c
index e65e6d0af58..1c4fb7232af 100644
--- a/board/freescale/m5275evb/m5275evb.c
+++ b/board/freescale/m5275evb/m5275evb.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5282evb/m5282evb.c b/board/freescale/m5282evb/m5282evb.c
index 251be667d46..e1ea9b3a58f 100644
--- a/board/freescale/m5282evb/m5282evb.c
+++ b/board/freescale/m5282evb/m5282evb.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/m53017evb/m53017evb.c b/board/freescale/m53017evb/m53017evb.c
index f13b6931ea2..c9f89353ce4 100644
--- a/board/freescale/m53017evb/m53017evb.c
+++ b/board/freescale/m53017evb/m53017evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5329evb/m5329evb.c b/board/freescale/m5329evb/m5329evb.c
index 531894f6516..7a75b04dd0d 100644
--- a/board/freescale/m5329evb/m5329evb.c
+++ b/board/freescale/m5329evb/m5329evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5373evb/m5373evb.c b/board/freescale/m5373evb/m5373evb.c
index 29ff55f1596..cfa5ca4a477 100644
--- a/board/freescale/m5373evb/m5373evb.c
+++ b/board/freescale/m5373evb/m5373evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m54418twr/m54418twr.c b/board/freescale/m54418twr/m54418twr.c
index a418fba1401..ca8993197e3 100644
--- a/board/freescale/m54418twr/m54418twr.c
+++ b/board/freescale/m54418twr/m54418twr.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/immap.h>
 #include <mmc.h>
diff --git a/board/freescale/m54451evb/m54451evb.c b/board/freescale/m54451evb/m54451evb.c
index 1298bd324e9..a4ddc69166b 100644
--- a/board/freescale/m54451evb/m54451evb.c
+++ b/board/freescale/m54451evb/m54451evb.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m54455evb/m54455evb.c b/board/freescale/m54455evb/m54455evb.c
index 286300645b4..c749ee407e7 100644
--- a/board/freescale/m54455evb/m54455evb.c
+++ b/board/freescale/m54455evb/m54455evb.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m547xevb/m547xevb.c b/board/freescale/m547xevb/m547xevb.c
index 908a500f4b9..1568f455e92 100644
--- a/board/freescale/m547xevb/m547xevb.c
+++ b/board/freescale/m547xevb/m547xevb.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m548xevb/m548xevb.c b/board/freescale/m548xevb/m548xevb.c
index 796b808e6f9..b62355a7ae7 100644
--- a/board/freescale/m548xevb/m548xevb.c
+++ b/board/freescale/m548xevb/m548xevb.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/mpc8308rdb/sdram.c b/board/freescale/mpc8308rdb/sdram.c
index 6e0922cd53c..6340fd16ea9 100644
--- a/board/freescale/mpc8308rdb/sdram.c
+++ b/board/freescale/mpc8308rdb/sdram.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 
 #include <asm/bitops.h>
 #include <asm/io.h>
diff --git a/board/freescale/mpc8313erdb/mpc8313erdb.c b/board/freescale/mpc8313erdb/mpc8313erdb.c
index 65a10c345ae..f309961dca8 100644
--- a/board/freescale/mpc8313erdb/mpc8313erdb.c
+++ b/board/freescale/mpc8313erdb/mpc8313erdb.c
@@ -20,6 +20,7 @@
 #if defined(CONFIG_MPC83XX_GPIO) && !defined(CONFIG_SPL_BUILD)
 #include <asm/gpio.h>
 #endif
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/mpc8313erdb/sdram.c b/board/freescale/mpc8313erdb/sdram.c
index 99f6bcd5a93..f146ae5d43c 100644
--- a/board/freescale/mpc8313erdb/sdram.c
+++ b/board/freescale/mpc8313erdb/sdram.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <mpc83xx.h>
 #include <spd_sdram.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/bitops.h>
diff --git a/board/freescale/mpc8315erdb/mpc8315erdb.c b/board/freescale/mpc8315erdb/mpc8315erdb.c
index f8e4599f13f..795162b3c0c 100644
--- a/board/freescale/mpc8315erdb/mpc8315erdb.c
+++ b/board/freescale/mpc8315erdb/mpc8315erdb.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
diff --git a/board/freescale/mpc8315erdb/sdram.c b/board/freescale/mpc8315erdb/sdram.c
index 8a828207f93..ffbb79aaec1 100644
--- a/board/freescale/mpc8315erdb/sdram.c
+++ b/board/freescale/mpc8315erdb/sdram.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <mpc83xx.h>
 #include <spd_sdram.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/bitops.h>
diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c
index 3cde715e96b..cef3216a6fe 100644
--- a/board/freescale/mpc8323erdb/mpc8323erdb.c
+++ b/board/freescale/mpc8323erdb/mpc8323erdb.c
@@ -19,6 +19,7 @@
 #include <i2c.h>
 #include <miiphy.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <u-boot/crc.h>
diff --git a/board/freescale/mpc832xemds/mpc832xemds.c b/board/freescale/mpc832xemds/mpc832xemds.c
index 6139cbd0409..f34758a9470 100644
--- a/board/freescale/mpc832xemds/mpc832xemds.c
+++ b/board/freescale/mpc832xemds/mpc832xemds.c
@@ -16,6 +16,7 @@
 #if defined(CONFIG_PCI)
 #include <pci.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c
index 46be5ccd92c..5f38639afd4 100644
--- a/board/freescale/mpc8349emds/mpc8349emds.c
+++ b/board/freescale/mpc8349emds/mpc8349emds.c
@@ -10,6 +10,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <spi.h>
diff --git a/board/freescale/mpc8349itx/mpc8349itx.c b/board/freescale/mpc8349itx/mpc8349itx.c
index a265a8380fe..5b4c290df14 100644
--- a/board/freescale/mpc8349itx/mpc8349itx.c
+++ b/board/freescale/mpc8349itx/mpc8349itx.c
@@ -18,6 +18,7 @@
 #endif
 #include <spd_sdram.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/freescale/mpc837xemds/mpc837xemds.c b/board/freescale/mpc837xemds/mpc837xemds.c
index f515299bc9a..71875cf8f8e 100644
--- a/board/freescale/mpc837xemds/mpc837xemds.c
+++ b/board/freescale/mpc837xemds/mpc837xemds.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 #include <spd_sdram.h>
diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c
index 39673ad076a..81d31f19c4c 100644
--- a/board/freescale/mpc837xerdb/mpc837xerdb.c
+++ b/board/freescale/mpc837xerdb/mpc837xerdb.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 #include <fdt_support.h>
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index 52bf4da98ea..74b0e45b4f8 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <net.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 0f9aea469b1..b30b86364d5 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <net.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/mx23evk/mx23evk.c b/board/freescale/mx23evk/mx23evk.c
index 3fbac6b5cc3..605cdec218a 100644
--- a/board/freescale/mx23evk/mx23evk.c
+++ b/board/freescale/mx23evk/mx23evk.c
@@ -13,6 +13,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/mx25pdk/mx25pdk.c b/board/freescale/mx25pdk/mx25pdk.c
index 1cffdd93317..3b445a46dd7 100644
--- a/board/freescale/mx25pdk/mx25pdk.c
+++ b/board/freescale/mx25pdk/mx25pdk.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx28evk/mx28evk.c b/board/freescale/mx28evk/mx28evk.c
index a6b66d99ccb..21c9cb11283 100644
--- a/board/freescale/mx28evk/mx28evk.c
+++ b/board/freescale/mx28evk/mx28evk.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c
index fc024c47dbd..4039d9f049a 100644
--- a/board/freescale/mx35pdk/mx35pdk.c
+++ b/board/freescale/mx35pdk/mx35pdk.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
index 4250efddde7..ac48e7668c0 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx53ard/mx53ard.c b/board/freescale/mx53ard/mx53ard.c
index d265d3adaa6..f9ec5ca6ef3 100644
--- a/board/freescale/mx53ard/mx53ard.c
+++ b/board/freescale/mx53ard/mx53ard.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53evk/mx53evk.c b/board/freescale/mx53evk/mx53evk.c
index ef6c6ec1ed6..b006638e2c1 100644
--- a/board/freescale/mx53evk/mx53evk.c
+++ b/board/freescale/mx53evk/mx53evk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
index 1da263bb5d5..ee54a61d874 100644
--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53smd/mx53smd.c b/board/freescale/mx53smd/mx53smd.c
index 7c0f98a1321..2f91a0525c4 100644
--- a/board/freescale/mx53smd/mx53smd.c
+++ b/board/freescale/mx53smd/mx53smd.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx6memcal/mx6memcal.c b/board/freescale/mx6memcal/mx6memcal.c
index ea7a56369d6..1cc744fa9ba 100644
--- a/board/freescale/mx6memcal/mx6memcal.c
+++ b/board/freescale/mx6memcal/mx6memcal.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/mx6memcal/spl.c b/board/freescale/mx6memcal/spl.c
index c11eee51b61..c82b532f6d5 100644
--- a/board/freescale/mx6memcal/spl.c
+++ b/board/freescale/mx6memcal/spl.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/mx6qarm2/mx6qarm2.c b/board/freescale/mx6qarm2/mx6qarm2.c
index ddde245869a..c06fd643677 100644
--- a/board/freescale/mx6qarm2/mx6qarm2.c
+++ b/board/freescale/mx6qarm2/mx6qarm2.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
diff --git a/board/freescale/mx6sabreauto/mx6sabreauto.c b/board/freescale/mx6sabreauto/mx6sabreauto.c
index c031cf8538e..e92ef26d0ad 100644
--- a/board/freescale/mx6sabreauto/mx6sabreauto.c
+++ b/board/freescale/mx6sabreauto/mx6sabreauto.c
@@ -9,6 +9,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index 0d343da519f..bc28173668e 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/spi.h>
 #include <env.h>
 #include <linux/errno.h>
diff --git a/board/freescale/mx6slevk/mx6slevk.c b/board/freescale/mx6slevk/mx6slevk.c
index 5d2f815d234..2c90a35e2c9 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -14,6 +14,7 @@
 #include <asm/arch/mx6-ddr.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/freescale/mx6sllevk/mx6sllevk.c b/board/freescale/mx6sllevk/mx6sllevk.c
index 0a36b46e9e8..b4fddafe640 100644
--- a/board/freescale/mx6sllevk/mx6sllevk.c
+++ b/board/freescale/mx6sllevk/mx6sllevk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
index 1640f465bad..7340a344023 100644
--- a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
+++ b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
index 7fb8de177bc..57fab238641 100644
--- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
+++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
index 9cb17594013..b916ea01029 100644
--- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
+++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6ullevk/mx6ullevk.c b/board/freescale/mx6ullevk/mx6ullevk.c
index 3f1ecce10f8..86c11c7bd3a 100644
--- a/board/freescale/mx6ullevk/mx6ullevk.c
+++ b/board/freescale/mx6ullevk/mx6ullevk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c
index f12e9d4cfef..2777ae13bce 100644
--- a/board/freescale/mx7dsabresd/mx7dsabresd.c
+++ b/board/freescale/mx7dsabresd/mx7dsabresd.c
@@ -9,6 +9,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/freescale/mx7ulp_evk/mx7ulp_evk.c b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
index fd21591ad6f..01e32136532 100644
--- a/board/freescale/mx7ulp_evk/mx7ulp_evk.c
+++ b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mx7ulp-pins.h>
diff --git a/board/freescale/p1010rdb/ddr.c b/board/freescale/p1010rdb/ddr.c
index 71f6259b60e..2625195f81b 100644
--- a/board/freescale/p1010rdb/ddr.c
+++ b/board/freescale/p1010rdb/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <asm/immap_85xx.h>
 #include <asm/processor.h>
diff --git a/board/freescale/p1010rdb/p1010rdb.c b/board/freescale/p1010rdb/p1010rdb.c
index 4c3a03e7cd9..7e007da87c5 100644
--- a/board/freescale/p1010rdb/p1010rdb.c
+++ b/board/freescale/p1010rdb/p1010rdb.c
@@ -9,6 +9,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/cache.h>
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c
index fbaa6a65142..f1239f9c502 100644
--- a/board/freescale/p1010rdb/spl.c
+++ b/board/freescale/p1010rdb/spl.c
@@ -15,6 +15,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/p1023rdb/p1023rdb.c b/board/freescale/p1023rdb/p1023rdb.c
new file mode 100644
index 00000000000..50c42a1b8ee
--- /dev/null
+++ b/board/freescale/p1023rdb/p1023rdb.c
@@ -0,0 +1,161 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Authors:  Roy Zang <tie-fei.zang@freescale.com>
+ *           Chunhe Lan <Chunhe.Lan@freescale.com>
+ */
+
+#include <common.h>
+#include <command.h>
+#include <env.h>
+#include <image.h>
+#include <init.h>
+#include <net.h>
+#include <pci.h>
+#include <asm/global_data.h>
+#include <asm/io.h>
+#include <asm/cache.h>
+#include <asm/processor.h>
+#include <asm/mmu.h>
+#include <asm/immap_85xx.h>
+#include <asm/fsl_pci.h>
+#include <fsl_ddr_sdram.h>
+#include <asm/fsl_portals.h>
+#include <fsl_qbman.h>
+#include <linux/libfdt.h>
+#include <fdt_support.h>
+#include <netdev.h>
+#include <malloc.h>
+#include <fm_eth.h>
+#include <fsl_mdio.h>
+#include <miiphy.h>
+#include <phy.h>
+#include <fsl_dtsec.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_early_init_f(void)
+{
+	fsl_lbc_t *lbc = LBC_BASE_ADDR;
+
+	/* Set ABSWP to implement conversion of addresses in the LBC */
+	setbits_be32(&lbc->lbcr, CONFIG_SYS_LBC_LBCR);
+
+	return 0;
+}
+
+int checkboard(void)
+{
+	printf("Board: P1023 RDB\n");
+
+	return 0;
+}
+
+#ifdef CONFIG_PCI
+void pci_init_board(void)
+{
+	fsl_pcie_init_board(0);
+}
+#endif
+
+int board_early_init_r(void)
+{
+	const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
+	int flash_esel = find_tlb_idx((void *)flashbase, 1);
+
+	/*
+	 * Remap Boot flash + PROMJET region to caching-inhibited
+	 * so that flash can be erased properly.
+	 */
+
+	/* Flush d-cache and invalidate i-cache of any FLASH data */
+	flush_dcache();
+	invalidate_icache();
+
+	if (flash_esel == -1) {
+		/* very unlikely unless something is messed up */
+		puts("Error: Could not find TLB for FLASH BASE\n");
+		flash_esel = 2;	/* give our best effort to continue */
+	} else {
+		/* invalidate existing TLB entry for flash + promjet */
+		disable_tlb(flash_esel);
+	}
+
+	set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
+		MAS3_SW | MAS3_SR, MAS2_I | MAS2_G,
+		0, flash_esel, BOOKE_PAGESZ_256M, 1);
+
+	setup_qbman_portals();
+
+	return 0;
+}
+
+unsigned long get_board_sys_clk(ulong dummy)
+{
+	return gd->bus_clk;
+}
+
+unsigned long get_board_ddr_clk(ulong dummy)
+{
+	return gd->mem_clk;
+}
+
+int board_eth_init(struct bd_info *bis)
+{
+	ccsr_gur_t *gur = (ccsr_gur_t *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
+	struct fsl_pq_mdio_info dtsec_mdio_info;
+
+	/*
+	 * Need to set dTSEC 1 pin multiplexing to TSEC. The default setting
+	 * is not correct.
+	 */
+	setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_TSEC1_1);
+
+	dtsec_mdio_info.regs =
+		(struct tsec_mii_mng *)CONFIG_SYS_FM1_DTSEC1_MDIO_ADDR;
+	dtsec_mdio_info.name = DEFAULT_FM_MDIO_NAME;
+
+	/* Register the 1G MDIO bus */
+	fsl_pq_mdio_init(bis, &dtsec_mdio_info);
+
+	fm_info_set_phy_address(FM1_DTSEC1, CONFIG_SYS_FM1_DTSEC1_PHY_ADDR);
+	fm_info_set_phy_address(FM1_DTSEC2, CONFIG_SYS_FM1_DTSEC2_PHY_ADDR);
+
+	fm_info_set_mdio(FM1_DTSEC1,
+			 miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME));
+	fm_info_set_mdio(FM1_DTSEC2,
+			 miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME));
+
+#ifdef CONFIG_FMAN_ENET
+	cpu_eth_init(bis);
+#endif
+
+	return pci_eth_init(bis);
+}
+
+#if defined(CONFIG_OF_BOARD_SETUP)
+int ft_board_setup(void *blob, struct bd_info *bd)
+{
+	phys_addr_t base;
+	phys_size_t size;
+
+	ft_cpu_setup(blob, bd);
+
+	base = env_get_bootm_low();
+	size = env_get_bootm_size();
+
+	fdt_fixup_memory(blob, (u64)base, (u64)size);
+
+#ifdef CONFIG_HAS_FSL_DR_USB
+	fsl_fdt_fixup_dr_usb(blob, bd);
+#endif
+
+#ifdef CONFIG_SYS_DPAA_FMAN
+#ifndef CONFIG_DM_ETH
+	fdt_fixup_fman_ethernet(blob);
+#endif
+#endif
+	return 0;
+}
+#endif
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c
index 8aceceb56a3..c916651e8af 100644
--- a/board/freescale/p1_p2_rdb_pc/spl.c
+++ b/board/freescale/p1_p2_rdb_pc/spl.c
@@ -16,6 +16,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/p2041rdb/ddr.c b/board/freescale/p2041rdb/ddr.c
index 7a06c7af3dc..910058cefe1 100644
--- a/board/freescale/p2041rdb/ddr.c
+++ b/board/freescale/p2041rdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/p2041rdb/p2041rdb.c b/board/freescale/p2041rdb/p2041rdb.c
index 720d304fe42..4ece1e6ea0a 100644
--- a/board/freescale/p2041rdb/p2041rdb.c
+++ b/board/freescale/p2041rdb/p2041rdb.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/qemu-ppce500/qemu-ppce500.c b/board/freescale/qemu-ppce500/qemu-ppce500.c
index 3395377b4fe..aa5774fd797 100644
--- a/board/freescale/qemu-ppce500/qemu-ppce500.c
+++ b/board/freescale/qemu-ppce500/qemu-ppce500.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <pci.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/s32v234evb/s32v234evb.c b/board/freescale/s32v234evb/s32v234evb.c
index f381cfc2ad0..304f5acf3be 100644
--- a/board/freescale/s32v234evb/s32v234evb.c
+++ b/board/freescale/s32v234evb/s32v234evb.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/siul.h>
diff --git a/board/freescale/t102xrdb/ddr.c b/board/freescale/t102xrdb/ddr.c
index 3640a479574..818c20cf1b5 100644
--- a/board/freescale/t102xrdb/ddr.c
+++ b/board/freescale/t102xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c
index 09dd88ac4ea..cb754a13712 100644
--- a/board/freescale/t102xrdb/spl.c
+++ b/board/freescale/t102xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/sleep.h"
 #include "../common/spl.h"
 
diff --git a/board/freescale/t102xrdb/t102xrdb.c b/board/freescale/t102xrdb/t102xrdb.c
index bb775eb2d32..2770e104ee6 100644
--- a/board/freescale/t102xrdb/t102xrdb.c
+++ b/board/freescale/t102xrdb/t102xrdb.c
@@ -12,6 +12,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c
index e313bf99cf2..8351f7ce9db 100644
--- a/board/freescale/t104xrdb/ddr.c
+++ b/board/freescale/t104xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c
index e7922954de7..6694e1de24d 100644
--- a/board/freescale/t104xrdb/spl.c
+++ b/board/freescale/t104xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/sleep.h"
 #include "../common/spl.h"
 
diff --git a/board/freescale/t104xrdb/t104xrdb.c b/board/freescale/t104xrdb/t104xrdb.c
index c7290e5a342..780043483df 100644
--- a/board/freescale/t104xrdb/t104xrdb.c
+++ b/board/freescale/t104xrdb/t104xrdb.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t208xqds/ddr.c b/board/freescale/t208xqds/ddr.c
index 3317f99c81f..56471b3988b 100644
--- a/board/freescale/t208xqds/ddr.c
+++ b/board/freescale/t208xqds/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c
index d8c2bbe28df..147c3e9f33f 100644
--- a/board/freescale/t208xqds/spl.c
+++ b/board/freescale/t208xqds/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/qixis.h"
 #include "t208xqds_qixis.h"
 #include "../common/spl.h"
diff --git a/board/freescale/t208xqds/t208xqds.c b/board/freescale/t208xqds/t208xqds.c
index f3af8d52925..dedf722c695 100644
--- a/board/freescale/t208xqds/t208xqds.c
+++ b/board/freescale/t208xqds/t208xqds.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <log.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t208xrdb/ddr.c b/board/freescale/t208xrdb/ddr.c
index 6a09d1cd221..1fbab36e1a2 100644
--- a/board/freescale/t208xrdb/ddr.c
+++ b/board/freescale/t208xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c
index c64bd871159..f4be05be0a2 100644
--- a/board/freescale/t208xrdb/spl.c
+++ b/board/freescale/t208xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/t208xrdb/t208xrdb.c b/board/freescale/t208xrdb/t208xrdb.c
index d37abb7ef3b..a18459841c6 100644
--- a/board/freescale/t208xrdb/t208xrdb.c
+++ b/board/freescale/t208xrdb/t208xrdb.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t4rdb/ddr.c b/board/freescale/t4rdb/ddr.c
index 5b7d10c9798..57cbde154f0 100644
--- a/board/freescale/t4rdb/ddr.c
+++ b/board/freescale/t4rdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c
index 9aa0a9b0523..2dabee9d5a9 100644
--- a/board/freescale/t4rdb/spl.c
+++ b/board/freescale/t4rdb/spl.c
@@ -10,6 +10,7 @@
 #include <console.h>
 #include <env_internal.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/spl.h>
 #include <malloc.h>
 #include <ns16550.h>
diff --git a/board/freescale/t4rdb/t4240rdb.c b/board/freescale/t4rdb/t4240rdb.c
index 5c2a75b905e..6ab35ca9185 100644
--- a/board/freescale/t4rdb/t4240rdb.c
+++ b/board/freescale/t4rdb/t4240rdb.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/vf610twr/vf610twr.c b/board/freescale/vf610twr/vf610twr.c
index bd125bc17e0..98cb0140ad0 100644
--- a/board/freescale/vf610twr/vf610twr.c
+++ b/board/freescale/vf610twr/vf610twr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux-vf610.h>
diff --git a/board/friendlyarm/nanopi2/board.c b/board/friendlyarm/nanopi2/board.c
index 68980536abe..c0fe2d546f6 100644
--- a/board/friendlyarm/nanopi2/board.c
+++ b/board/friendlyarm/nanopi2/board.c
@@ -12,6 +12,7 @@
 #ifdef CONFIG_PWM_NX
 #include <pwm.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include <asm/arch/nexell.h>
diff --git a/board/gardena/smart-gateway-at91sam/board.c b/board/gardena/smart-gateway-at91sam/board.c
index 45c947fcbb4..3f402cfeee8 100644
--- a/board/gardena/smart-gateway-at91sam/board.c
+++ b/board/gardena/smart-gateway-at91sam/board.c
@@ -11,6 +11,7 @@
 #include <led.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/clk.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 9f043d815ab..bf4d6913067 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -15,6 +15,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/sata.h>
diff --git a/board/gdsys/a38x/controlcenterdc.c b/board/gdsys/a38x/controlcenterdc.c
index a2287f9deb1..ba57a272187 100644
--- a/board/gdsys/a38x/controlcenterdc.c
+++ b/board/gdsys/a38x/controlcenterdc.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <tpm-v1.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm-generic/gpio.h>
diff --git a/board/gdsys/a38x/hydra.c b/board/gdsys/a38x/hydra.c
index daade6da0af..495a9769188 100644
--- a/board/gdsys/a38x/hydra.c
+++ b/board/gdsys/a38x/hydra.c
@@ -1,6 +1,7 @@
 #include <common.h>
 #include <command.h>
 #include <console.h> /* ctrlc */
+#include <pci.h>
 #include <asm/io.h>
 
 #include "hydra.h"
diff --git a/board/gdsys/mpc8308/gazerbeam.c b/board/gdsys/mpc8308/gazerbeam.c
index c317260251e..68a9595511c 100644
--- a/board/gdsys/mpc8308/gazerbeam.c
+++ b/board/gdsys/mpc8308/gazerbeam.c
@@ -17,6 +17,7 @@
 #include <misc.h>
 #include <tpm-v1.h>
 #include <video_osd.h>
+#include <asm/global_data.h>
 
 #include "../common/ihs_mdio.h"
 #include "../../../drivers/board/gazerbeam.h"
diff --git a/board/gdsys/mpc8308/sdram.c b/board/gdsys/mpc8308/sdram.c
index 9695fb0a10d..bfd55f54e4e 100644
--- a/board/gdsys/mpc8308/sdram.c
+++ b/board/gdsys/mpc8308/sdram.c
@@ -19,6 +19,7 @@
 #include <spd_sdram.h>
 
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include <asm/processor.h>
diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
index cf76cf7a338..be5fb0e49cc 100644
--- a/board/ge/bx50v3/bx50v3.c
+++ b/board/ge/bx50v3/bx50v3.c
@@ -12,6 +12,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/libfdt.h>
diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index 7627e9c370f..4de82cd5cd2 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/google/imx8mq_phanbell/imx8mq_phanbell.c b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
index 746071b4150..d0a740dd3f4 100644
--- a/board/google/imx8mq_phanbell/imx8mq_phanbell.c
+++ b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/google/imx8mq_phanbell/spl.c b/board/google/imx8mq_phanbell/spl.c
index 06a3f4c1aa8..eec3f3d931b 100644
--- a/board/google/imx8mq_phanbell/spl.c
+++ b/board/google/imx8mq_phanbell/spl.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <hang.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <init.h>
diff --git a/board/google/veyron/veyron.c b/board/google/veyron/veyron.c
index 391d973c0b6..32dbcdc4d10 100644
--- a/board/google/veyron/veyron.c
+++ b/board/google/veyron/veyron.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch-rockchip/clock.h>
+#include <asm/global_data.h>
 #include <dt-bindings/clock/rk3288-cru.h>
 #include <linux/delay.h>
 #include <linux/err.h>
diff --git a/board/grinn/chiliboard/board.c b/board/grinn/chiliboard/board.c
index 8cc9278287b..12480f5729d 100644
--- a/board/grinn/chiliboard/board.c
+++ b/board/grinn/chiliboard/board.c
@@ -16,6 +16,7 @@
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/emif.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <cpsw.h>
 #include <env.h>
diff --git a/board/grinn/liteboard/board.c b/board/grinn/liteboard/board.c
index 578d75aed3d..48392c48e5c 100644
--- a/board/grinn/liteboard/board.c
+++ b/board/grinn/liteboard/board.c
@@ -15,6 +15,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index e07295c7b5c..a790d453da0 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <scsi.h>
+#include <asm/global_data.h>
 
 #include <linux/sizes.h>
 #include <asm/io.h>
diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
index e89ff1a43de..5a858dec64e 100644
--- a/board/hisilicon/hikey/hikey.c
+++ b/board/hisilicon/hikey/hikey.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <errno.h>
 #include <malloc.h>
diff --git a/board/hisilicon/hikey960/hikey960.c b/board/hisilicon/hikey960/hikey960.c
index db485db10a9..a14b9e44fa5 100644
--- a/board/hisilicon/hikey960/hikey960.c
+++ b/board/hisilicon/hikey960/hikey960.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hi3660.h>
 #include <asm/armv8/mmu.h>
diff --git a/board/hisilicon/poplar/poplar.c b/board/hisilicon/poplar/poplar.c
index 371c3c33fc8..486e37f90a6 100644
--- a/board/hisilicon/poplar/poplar.c
+++ b/board/hisilicon/poplar/poplar.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <asm/arch/hi3798cv200.h>
diff --git a/board/ids/ids8313/ids8313.c b/board/ids/ids8313/ids8313.c
index ac35b5b0d0c..45c77a249a9 100644
--- a/board/ids/ids8313/ids8313.c
+++ b/board/ids/ids8313/ids8313.c
@@ -17,6 +17,7 @@
 #include <mpc83xx.h>
 #include <spi.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 
diff --git a/board/imgtec/boston/ddr.c b/board/imgtec/boston/ddr.c
index 241b3846687..182f79b9182 100644
--- a/board/imgtec/boston/ddr.c
+++ b/board/imgtec/boston/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 
diff --git a/board/imgtec/boston/dt.c b/board/imgtec/boston/dt.c
index 44b56416ff9..bf772ff5dec 100644
--- a/board/imgtec/boston/dt.c
+++ b/board/imgtec/boston/dt.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 
 int ft_board_setup(void *blob, struct bd_info *bd)
 {
diff --git a/board/imgtec/ci20/ci20.c b/board/imgtec/ci20/ci20.c
index 038dbdd74f0..7ee175d40a5 100644
--- a/board/imgtec/ci20/ci20.c
+++ b/board/imgtec/ci20/ci20.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c
index 252cc813c6e..c04f727961d 100644
--- a/board/imgtec/malta/malta.c
+++ b/board/imgtec/malta/malta.c
@@ -13,6 +13,7 @@
 #include <pci_gt64120.h>
 #include <pci_msc01.h>
 #include <rtc.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/addrspace.h>
diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c
index 0b68bbde50f..6a836370e36 100644
--- a/board/imgtec/xilfpga/xilfpga.c
+++ b/board/imgtec/xilfpga/xilfpga.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/inversepath/usbarmory/usbarmory.c b/board/inversepath/usbarmory/usbarmory.c
index 56a2a7c4a6e..086d0522c78 100644
--- a/board/inversepath/usbarmory/usbarmory.c
+++ b/board/inversepath/usbarmory/usbarmory.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <fs.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/iomega/iconnect/iconnect.c b/board/iomega/iconnect/iconnect.c
index 79c794bfc89..fe4be28b13c 100644
--- a/board/iomega/iconnect/iconnect.c
+++ b/board/iomega/iconnect/iconnect.c
@@ -11,6 +11,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "iconnect.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/isee/igep003x/board.c b/board/isee/igep003x/board.c
index 9b4cb91b341..02ae7df04db 100644
--- a/board/isee/igep003x/board.c
+++ b/board/isee/igep003x/board.c
@@ -21,6 +21,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/isee/igep00x0/common.c b/board/isee/igep00x0/common.c
index 58c713f0f32..3fdf83e845c 100644
--- a/board/isee/igep00x0/common.c
+++ b/board/isee/igep00x0/common.c
@@ -2,6 +2,7 @@
 
 #include <common.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/omap_mmc.h>
 #include <asm/arch/mux.h>
diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c
index eb5b67d1e62..a5ee4a8a519 100644
--- a/board/k+p/kp_imx53/kp_imx53.c
+++ b/board/k+p/kp_imx53/kp_imx53.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
index e60d556b303..110496d9950 100644
--- a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
+++ b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
 #include <errno.h>
diff --git a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
index 75fb6acfb3c..103c4531a64 100644
--- a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
+++ b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-ddr.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <spl.h>
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c
index 03c7ce9da7d..d85a5eac165 100644
--- a/board/keymile/common/common.c
+++ b/board/keymile/common/common.c
@@ -15,6 +15,7 @@
 #include <cli_hush.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/ctype.h>
 #include <linux/delay.h>
diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
index 9eb000cca4d..75284cc8cf2 100644
--- a/board/keymile/km83xx/km83xx.c
+++ b/board/keymile/km83xx/km83xx.c
@@ -22,6 +22,7 @@
 #include <mpc83xx.h>
 #include <i2c.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 7d191ab860b..f4235b377fc 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -20,6 +20,7 @@
 #include <netdev.h>
 #include <miiphy.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/keymile/kmp204x/ddr.c b/board/keymile/kmp204x/ddr.c
index d9c9ddf2bac..77a00c55c95 100644
--- a/board/keymile/kmp204x/ddr.c
+++ b/board/keymile/kmp204x/ddr.c
@@ -11,6 +11,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/kmc/kzm9g/kzm9g.c b/board/kmc/kzm9g/kzm9g.c
index 4b406042180..02c87a031c3 100644
--- a/board/kmc/kzm9g/kzm9g.c
+++ b/board/kmc/kzm9g/kzm9g.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/gpio.h>
diff --git a/board/kobol/helios4/helios4.c b/board/kobol/helios4/helios4.c
index 17d2489415d..adb091ce4fd 100644
--- a/board/kobol/helios4/helios4.c
+++ b/board/kobol/helios4/helios4.c
@@ -10,6 +10,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/kontron/sl28/ddr.c b/board/kontron/sl28/ddr.c
index d111b6d4c32..41426996ab9 100644
--- a/board/kontron/sl28/ddr.c
+++ b/board/kontron/sl28/ddr.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fsl_ddr_sdram.h>
 
diff --git a/board/kontron/sl28/sl28.c b/board/kontron/sl28/sl28.c
index b18127c4d18..a3f5142525d 100644
--- a/board/kontron/sl28/sl28.c
+++ b/board/kontron/sl28/sl28.c
@@ -5,6 +5,7 @@
 #include <errno.h>
 #include <fsl_ddr.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <env_internal.h>
 #include <asm/arch-fsl-layerscape/soc.h>
diff --git a/board/kosagi/novena/novena.c b/board/kosagi/novena/novena.c
index b1939f8a56e..0e1b4a0a46c 100644
--- a/board/kosagi/novena/novena.c
+++ b/board/kosagi/novena/novena.c
@@ -10,6 +10,7 @@
 #include <eeprom.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <ahci.h>
 #include <env.h>
diff --git a/board/l+g/vinco/vinco.c b/board/l+g/vinco/vinco.c
index b1593bab5eb..f221f05261a 100644
--- a/board/l+g/vinco/vinco.c
+++ b/board/l+g/vinco/vinco.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/board/laird/wb45n/wb45n.c b/board/laird/wb45n/wb45n.c
index df6eeb62434..5e1ef8a49ac 100644
--- a/board/laird/wb45n/wb45n.c
+++ b/board/laird/wb45n/wb45n.c
@@ -4,6 +4,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/laird/wb50n/wb50n.c b/board/laird/wb50n/wb50n.c
index 9cc21b2abd3..8fa989a2a4f 100644
--- a/board/laird/wb50n/wb50n.c
+++ b/board/laird/wb50n/wb50n.c
@@ -4,6 +4,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_sfr.h>
 #include <asm/arch/sama5d3_smc.h>
diff --git a/board/lego/ev3/legoev3.c b/board/lego/ev3/legoev3.c
index 51b669a891b..5e5c8c1198f 100644
--- a/board/lego/ev3/legoev3.c
+++ b/board/lego/ev3/legoev3.c
@@ -19,6 +19,7 @@
 #include <spi_flash.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/pinmux_defs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/davinci_misc.h>
 #include <linux/errno.h>
diff --git a/board/lg/sniper/sniper.c b/board/lg/sniper/sniper.c
index dff159025b1..0af833d5591 100644
--- a/board/lg/sniper/sniper.c
+++ b/board/lg/sniper/sniper.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <fastboot.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/usb/musb.h>
 #include <asm/omap_musb.h>
diff --git a/board/liebherr/display5/display5.c b/board/liebherr/display5/display5.c
index 5f447143019..e3a59dbec00 100644
--- a/board/liebherr/display5/display5.c
+++ b/board/liebherr/display5/display5.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/liebherr/display5/spl.c b/board/liebherr/display5/spl.c
index 23959c25573..b8658c8d617 100644
--- a/board/liebherr/display5/spl.c
+++ b/board/liebherr/display5/spl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/board/liebherr/mccmon6/mccmon6.c b/board/liebherr/mccmon6/mccmon6.c
index 71f75d877d2..1b49526fba4 100644
--- a/board/liebherr/mccmon6/mccmon6.c
+++ b/board/liebherr/mccmon6/mccmon6.c
@@ -12,6 +12,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index 9286f4c755b..cd11b0ada77 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -18,6 +18,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c
index cba51f54d41..f0141659282 100644
--- a/board/logicpd/am3517evm/am3517evm.c
+++ b/board/logicpd/am3517evm/am3517evm.c
@@ -16,6 +16,7 @@
 #include <net.h>
 #include <ns16550.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/omap_musb.h>
 #include <asm/arch/am35x_def.h>
diff --git a/board/logicpd/imx6/imx6logic.c b/board/logicpd/imx6/imx6logic.c
index ba69c966869..0d53548dcb4 100644
--- a/board/logicpd/imx6/imx6logic.c
+++ b/board/logicpd/imx6/imx6logic.c
@@ -16,6 +16,7 @@
 #include <mmc.h>
 #include <fsl_esdhc_imx.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <linux/sizes.h>
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index 496886fea25..2379b521904 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -20,6 +20,7 @@
 #include <i2c.h>
 #include <serial.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mux.h>
diff --git a/board/maxbcm/maxbcm.c b/board/maxbcm/maxbcm.c
index 3c6422214f7..e92132ad19a 100644
--- a/board/maxbcm/maxbcm.c
+++ b/board/maxbcm/maxbcm.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/mediatek/mt7622/mt7622_rfb.c b/board/mediatek/mt7622/mt7622_rfb.c
index 6a5f936635c..0504d6177fd 100644
--- a/board/mediatek/mt7622/mt7622_rfb.c
+++ b/board/mediatek/mt7622/mt7622_rfb.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt7623/mt7623_rfb.c b/board/mediatek/mt7623/mt7623_rfb.c
index 984e75ccaf2..755e879085c 100644
--- a/board/mediatek/mt7623/mt7623_rfb.c
+++ b/board/mediatek/mt7623/mt7623_rfb.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <mmc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt7629/mt7629_rfb.c b/board/mediatek/mt7629/mt7629_rfb.c
index 08468b50ea2..d1bca6d62ef 100644
--- a/board/mediatek/mt7629/mt7629_rfb.c
+++ b/board/mediatek/mt7629/mt7629_rfb.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt8512/mt8512.c b/board/mediatek/mt8512/mt8512.c
index 4ad62b73a6c..ac3adb80122 100644
--- a/board/mediatek/mt8512/mt8512.c
+++ b/board/mediatek/mt8512/mt8512.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <log.h>
 #include <wdt.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt8518/mt8518_ap1.c b/board/mediatek/mt8518/mt8518_ap1.c
index c9acfcb1a56..fce5de6767c 100644
--- a/board/mediatek/mt8518/mt8518_ap1.c
+++ b/board/mediatek/mt8518/mt8518_ap1.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c
index 893f6255999..c34baca602c 100644
--- a/board/menlo/m53menlo/m53menlo.c
+++ b/board/menlo/m53menlo/m53menlo.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c b/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
index 8b419ef6f7e..315169ba661 100644
--- a/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
+++ b/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/mini-box/picosam9g45/picosam9g45.c b/board/mini-box/picosam9g45/picosam9g45.c
index e8e1ac3eb19..5d6cb24966d 100644
--- a/board/mini-box/picosam9g45/picosam9g45.c
+++ b/board/mini-box/picosam9g45/picosam9g45.c
@@ -13,6 +13,7 @@
 #include <common.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/at91sam9g45_matrix.h>
diff --git a/board/mpc8308_p1m/sdram.c b/board/mpc8308_p1m/sdram.c
index cbf8781746e..62a2d8a53af 100644
--- a/board/mpc8308_p1m/sdram.c
+++ b/board/mpc8308_p1m/sdram.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 
 #include <asm/bitops.h>
 #include <asm/io.h>
diff --git a/board/mscc/jr2/jr2.c b/board/mscc/jr2/jr2.c
index 51700f4acff..1cd720c7d84 100644
--- a/board/mscc/jr2/jr2.c
+++ b/board/mscc/jr2/jr2.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 #include <miiphy.h>
diff --git a/board/mscc/luton/luton.c b/board/mscc/luton/luton.c
index acc26157c77..038902d08a9 100644
--- a/board/mscc/luton/luton.c
+++ b/board/mscc/luton/luton.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 #include <miiphy.h>
diff --git a/board/mscc/ocelot/ocelot.c b/board/mscc/ocelot/ocelot.c
index 74e8bfc4314..c462890bb85 100644
--- a/board/mscc/ocelot/ocelot.c
+++ b/board/mscc/ocelot/ocelot.c
@@ -7,6 +7,7 @@
 #include <image.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/board/mscc/serval/serval.c b/board/mscc/serval/serval.c
index ed1aea55cc2..94c1c42b79b 100644
--- a/board/mscc/serval/serval.c
+++ b/board/mscc/serval/serval.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 #include <miiphy.h>
diff --git a/board/mscc/servalt/servalt.c b/board/mscc/servalt/servalt.c
index 879f5de5067..252d8e3156d 100644
--- a/board/mscc/servalt/servalt.c
+++ b/board/mscc/servalt/servalt.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 
diff --git a/board/myir/mys_6ulx/mys_6ulx.c b/board/myir/mys_6ulx/mys_6ulx.c
index d886af05bea..847497bcba7 100644
--- a/board/myir/mys_6ulx/mys_6ulx.c
+++ b/board/myir/mys_6ulx/mys_6ulx.c
@@ -9,6 +9,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index f624dbfbebc..65be1719c2c 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -29,6 +29,7 @@
 #include <twl4030.h>
 #include <i2c.h>
 #include <video_fb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/setup.h>
 #include <asm/bitops.h>
diff --git a/board/novtech/meerkat96/meerkat96.c b/board/novtech/meerkat96/meerkat96.c
index b13e7ce3b18..1edebe5db9b 100644
--- a/board/novtech/meerkat96/meerkat96.c
+++ b/board/novtech/meerkat96/meerkat96.c
@@ -9,6 +9,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
 #include <common.h>
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index f13fdb8d47e..d1e189cbb6e 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/phytec/pcl063/pcl063.c b/board/phytec/pcl063/pcl063.c
index 9e6940f9c76..b2e435f6908 100644
--- a/board/phytec/pcl063/pcl063.c
+++ b/board/phytec/pcl063/pcl063.c
@@ -11,6 +11,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/phytec/pcm052/pcm052.c b/board/phytec/pcm052/pcm052.c
index b0c56a29f1f..f9cf4abd474 100644
--- a/board/phytec/pcm052/pcm052.c
+++ b/board/phytec/pcm052/pcm052.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux-vf610.h>
diff --git a/board/phytec/pcm058/pcm058.c b/board/phytec/pcm058/pcm058.c
index 79c666588f4..5e5b129ef1f 100644
--- a/board/phytec/pcm058/pcm058.c
+++ b/board/phytec/pcm058/pcm058.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-ddr.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
diff --git a/board/phytec/pfla02/pfla02.c b/board/phytec/pfla02/pfla02.c
index 3b10cc0f9f1..076ce6711ef 100644
--- a/board/phytec/pfla02/pfla02.c
+++ b/board/phytec/pfla02/pfla02.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/phytec/phycore_am335x_r2/board.c b/board/phytec/phycore_am335x_r2/board.c
index fb589068471..5ca94152049 100644
--- a/board/phytec/phycore_am335x_r2/board.c
+++ b/board/phytec/phycore_am335x_r2/board.c
@@ -17,6 +17,7 @@
 #include <asm/arch/ddr_defs.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <power/tps65910.h>
 #include <jffs2/load_kernel.h>
 #include <mtd_node.h>
diff --git a/board/phytec/phycore_rk3288/phycore-rk3288.c b/board/phytec/phycore_rk3288/phycore-rk3288.c
index ecc73227a02..f588fc3b0c7 100644
--- a/board/phytec/phycore_rk3288/phycore-rk3288.c
+++ b/board/phytec/phycore_rk3288/phycore-rk3288.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <dm.h>
diff --git a/board/phytium/durian/durian.c b/board/phytium/durian/durian.c
index b80688ae864..8a82a4591ac 100644
--- a/board/phytium/durian/durian.c
+++ b/board/phytium/durian/durian.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <linux/arm-smccc.h>
diff --git a/board/ppcag/bg0900/bg0900.c b/board/ppcag/bg0900/bg0900.c
index e8168e34682..578f5c73b6c 100644
--- a/board/ppcag/bg0900/bg0900.c
+++ b/board/ppcag/bg0900/bg0900.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c
index 7553d0b00de..f57091739ec 100644
--- a/board/qemu-mips/qemu-mips.c
+++ b/board/qemu-mips/qemu-mips.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mipsregs.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
index 4d1dbd696dc..646013cfc93 100644
--- a/board/qualcomm/dragonboard410c/dragonboard410c.c
+++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
@@ -13,6 +13,7 @@
 #include <net.h>
 #include <usb.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <fdt_support.h>
 #include <asm/arch/dram.h>
diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c b/board/qualcomm/dragonboard820c/dragonboard820c.c
index c1ade5ce43a..877e34c2101 100644
--- a/board/qualcomm/dragonboard820c/dragonboard820c.c
+++ b/board/qualcomm/dragonboard820c/dragonboard820c.c
@@ -10,6 +10,7 @@
 #include <asm/arch/sysmap-apq8096.h>
 #include <env.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 #include <linux/psci.h>
 #include <common.h>
diff --git a/board/raidsonic/ib62x0/ib62x0.c b/board/raidsonic/ib62x0/ib62x0.c
index db1b0adc382..f9bc07649e0 100644
--- a/board/raidsonic/ib62x0/ib62x0.c
+++ b/board/raidsonic/ib62x0/ib62x0.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c
index 279ed487216..854c47636d3 100644
--- a/board/renesas/alt/alt.c
+++ b/board/renesas/alt/alt.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c
index 2450fca7a58..9671382f2a3 100644
--- a/board/renesas/blanche/blanche.c
+++ b/board/renesas/blanche/blanche.c
@@ -15,6 +15,7 @@
 #include <asm/arch/rmobile.h>
 #include <asm/arch/sh_sdhi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/condor/condor.c b/board/renesas/condor/condor.c
index 8054511d9d6..4454061e071 100644
--- a/board/renesas/condor/condor.c
+++ b/board/renesas/condor/condor.c
@@ -10,6 +10,7 @@
 #include <cpu_func.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c
index 9993f5bbe32..ffd52ebfe43 100644
--- a/board/renesas/draak/draak.c
+++ b/board/renesas/draak/draak.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/eagle/eagle.c b/board/renesas/eagle/eagle.c
index 6228f22e010..f9e553feaa7 100644
--- a/board/renesas/eagle/eagle.c
+++ b/board/renesas/eagle/eagle.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/ebisu/ebisu.c b/board/renesas/ebisu/ebisu.c
index c8d180566d4..82cd2a5800f 100644
--- a/board/renesas/ebisu/ebisu.c
+++ b/board/renesas/ebisu/ebisu.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c
index c6a93c25e6d..56cdc73b1a7 100644
--- a/board/renesas/gose/gose.c
+++ b/board/renesas/gose/gose.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/grpeach/grpeach.c b/board/renesas/grpeach/grpeach.c
index b92e01ca984..ac989eb29c2 100644
--- a/board/renesas/grpeach/grpeach.c
+++ b/board/renesas/grpeach/grpeach.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 
diff --git a/board/renesas/koelsch/koelsch.c b/board/renesas/koelsch/koelsch.c
index 1b3acc8fd1f..b0a66ea2669 100644
--- a/board/renesas/koelsch/koelsch.c
+++ b/board/renesas/koelsch/koelsch.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c
index 36a35a9a9cf..add4eef3d53 100644
--- a/board/renesas/lager/lager.c
+++ b/board/renesas/lager/lager.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c
index 793e02cb440..b3e4c08d74d 100644
--- a/board/renesas/porter/porter.c
+++ b/board/renesas/porter/porter.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index 9762fb26384..e77357968a3 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <dm/uclass-internal.h>
 #include <asm/arch/rmobile.h>
 #include <linux/libfdt.h>
diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c
index c78c2a42b02..08ed725521c 100644
--- a/board/renesas/salvator-x/salvator-x.c
+++ b/board/renesas/salvator-x/salvator-x.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c
index 171d06f3175..05af5f4d68b 100644
--- a/board/renesas/silk/silk.c
+++ b/board/renesas/silk/silk.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c
index babcce9aa1c..3fdf936ddca 100644
--- a/board/renesas/stout/stout.c
+++ b/board/renesas/stout/stout.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c
index efbffa0ee77..7ba1948659f 100644
--- a/board/renesas/ulcb/ulcb.c
+++ b/board/renesas/ulcb/ulcb.c
@@ -12,6 +12,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/rockchip/evb_rk3308/evb_rk3308.c b/board/rockchip/evb_rk3308/evb_rk3308.c
index 180f1fe4f00..e0c96fd70a2 100644
--- a/board/rockchip/evb_rk3308/evb_rk3308.c
+++ b/board/rockchip/evb_rk3308/evb_rk3308.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <adc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/rockchip/evb_rv1108/evb_rv1108.c b/board/rockchip/evb_rv1108/evb_rv1108.c
index fc31c493116..e6ac598648d 100644
--- a/board/rockchip/evb_rv1108/evb_rv1108.c
+++ b/board/rockchip/evb_rv1108/evb_rv1108.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rv1108.h>
diff --git a/board/ronetix/pm9261/pm9261.c b/board/ronetix/pm9261/pm9261.c
index 0ce6a6e44e9..5be2c5e192b 100644
--- a/board/ronetix/pm9261/pm9261.c
+++ b/board/ronetix/pm9261/pm9261.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c
index 62dfe6e33d7..95c0dec4db5 100644
--- a/board/ronetix/pm9263/pm9263.c
+++ b/board/ronetix/pm9263/pm9263.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/ronetix/pm9g45/pm9g45.c b/board/ronetix/pm9g45/pm9g45.c
index c7d22db0aba..8d5825c7f13 100644
--- a/board/ronetix/pm9g45/pm9g45.c
+++ b/board/ronetix/pm9g45/pm9g45.c
@@ -12,6 +12,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
index 91813763cec..2742a7f32b2 100644
--- a/board/samsung/arndale/arndale.c
+++ b/board/samsung/arndale/arndale.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/dwmmc.h>
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 470531fdbb2..104d2a65746 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -16,6 +16,7 @@
 #include <spi.h>
 #include <tmu.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/board.h>
diff --git a/board/samsung/common/exynos5-dt-types.c b/board/samsung/common/exynos5-dt-types.c
index f1ecb7d2c39..e2d5a7c9ba7 100644
--- a/board/samsung/common/exynos5-dt-types.c
+++ b/board/samsung/common/exynos5-dt-types.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 69aa2120e12..4463cdcb87b 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <i2c.h>
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index 837463ba78f..7d3b9846e39 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <lcd.h>
 #include <libtizen.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <samsung/misc.h>
 #include <errno.h>
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index 2f0ef22c417..b32b82fc2da 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/mmc.h>
 #include <dm.h>
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index 7d7e722892e..90aab62d33b 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -10,6 +10,7 @@
 #include <asm/arch/power.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/cpu.h>
 #include <dm.h>
diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c
index d034f53d68b..69ed715403f 100644
--- a/board/samsung/smdkc100/smdkc100.c
+++ b/board/samsung/smdkc100/smdkc100.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/sromc.h>
diff --git a/board/samsung/smdkv310/smdkv310.c b/board/samsung/smdkv310/smdkv310.c
index 24273f1214b..8811cbb9ad0 100644
--- a/board/samsung/smdkv310/smdkv310.c
+++ b/board/samsung/smdkv310/smdkv310.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c
index f50da6be724..9ef11b8471c 100644
--- a/board/samsung/universal_c210/universal.c
+++ b/board/samsung/universal_c210/universal.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <spi.h>
 #include <lcd.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/adc.h>
diff --git a/board/sandbox/sandbox.c b/board/sandbox/sandbox.c
index 937ce284111..c78e90accbc 100644
--- a/board/sandbox/sandbox.c
+++ b/board/sandbox/sandbox.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <led.h>
 #include <os.h>
+#include <asm/global_data.h>
 #include <asm/test.h>
 #include <asm/u-boot-sandbox.h>
 
diff --git a/board/sandisk/sansa_fuze_plus/sfp.c b/board/sandisk/sansa_fuze_plus/sfp.c
index 42004098b37..f46b02e38e5 100644
--- a/board/sandisk/sansa_fuze_plus/sfp.c
+++ b/board/sandisk/sansa_fuze_plus/sfp.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/sbc8349/sbc8349.c b/board/sbc8349/sbc8349.c
index 824479c099b..b440a0b17e9 100644
--- a/board/sbc8349/sbc8349.c
+++ b/board/sbc8349/sbc8349.c
@@ -13,6 +13,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <spd_sdram.h>
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 34e46d4ea4c..a67092daf47 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <log.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/schulercontrol/sc_sps_1/sc_sps_1.c b/board/schulercontrol/sc_sps_1/sc_sps_1.c
index 8011871fc8f..3a04b1a634c 100644
--- a/board/schulercontrol/sc_sps_1/sc_sps_1.c
+++ b/board/schulercontrol/sc_sps_1/sc_sps_1.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/seco/mx6quq7/mx6quq7.c b/board/seco/mx6quq7/mx6quq7.c
index c7e3d425eac..a061d7d8afb 100644
--- a/board/seco/mx6quq7/mx6quq7.c
+++ b/board/seco/mx6quq7/mx6quq7.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/siemens/capricorn/spl.c b/board/siemens/capricorn/spl.c
index 8435bd3863b..8e077d73aef 100644
--- a/board/siemens/capricorn/spl.c
+++ b/board/siemens/capricorn/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <spl.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/siemens/common/board.c b/board/siemens/common/board.c
index e0bd8590bc9..1bdf404ac3e 100644
--- a/board/siemens/common/board.c
+++ b/board/siemens/common/board.c
@@ -25,6 +25,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c
index eed055aedb3..2acd3226cf2 100644
--- a/board/siemens/corvus/board.c
+++ b/board/siemens/corvus/board.c
@@ -14,6 +14,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9g45_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/siemens/smartweb/smartweb.c b/board/siemens/smartweb/smartweb.c
index c6bdd970837..d500a6214d5 100644
--- a/board/siemens/smartweb/smartweb.c
+++ b/board/siemens/smartweb/smartweb.c
@@ -19,6 +19,7 @@
 #include <dm.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9_sdramc.h>
 #include <asm/arch/at91sam9260_matrix.h>
diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c
index 91e29f06f60..cad16f90656 100644
--- a/board/siemens/taurus/taurus.c
+++ b/board/siemens/taurus/taurus.c
@@ -17,6 +17,7 @@
 #include <env.h>
 #include <flash.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9260_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/sks-kinkel/sksimx6/sksimx6.c b/board/sks-kinkel/sksimx6/sksimx6.c
index 9fdbeac82fd..cec3ade96cf 100644
--- a/board/sks-kinkel/sksimx6/sksimx6.c
+++ b/board/sks-kinkel/sksimx6/sksimx6.c
@@ -11,6 +11,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index 25bc664328a..0c9262d3540 100644
--- a/board/socrates/socrates.c
+++ b/board/socrates/socrates.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <pci.h>
 #include <uuid.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_85xx.h>
 #include <ioports.h>
diff --git a/board/softing/vining_2000/vining_2000.c b/board/softing/vining_2000/vining_2000.c
index 4e9d351582f..aaeeee361e5 100644
--- a/board/softing/vining_2000/vining_2000.c
+++ b/board/softing/vining_2000/vining_2000.c
@@ -14,6 +14,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/softing/vining_fpga/socfpga.c b/board/softing/vining_fpga/socfpga.c
index 7e311b7a1c3..aaedf034504 100644
--- a/board/softing/vining_fpga/socfpga.c
+++ b/board/softing/vining_fpga/socfpga.c
@@ -10,6 +10,7 @@
 #include <net.h>
 #include <status_led.h>
 #include <asm/arch/reset_manager.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <i2c.h>
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 92443d5177d..7b2accf01de 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -10,6 +10,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/solidrun/common/tlv_data.c b/board/solidrun/common/tlv_data.c
index f08ac8975a6..11d6e4a1380 100644
--- a/board/solidrun/common/tlv_data.c
+++ b/board/solidrun/common/tlv_data.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <compiler.h>
 #include <tlv_eeprom.h>
 #include "tlv_data.h"
 
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
index ae1c04df87d..3eadc38f6fd 100644
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -23,6 +23,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/somlabs/visionsom-6ull/visionsom-6ull.c b/board/somlabs/visionsom-6ull/visionsom-6ull.c
index bc7257be405..076c641d8a9 100644
--- a/board/somlabs/visionsom-6ull/visionsom-6ull.c
+++ b/board/somlabs/visionsom-6ull/visionsom-6ull.c
@@ -11,6 +11,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/st/common/stm32mp_mtdparts.c b/board/st/common/stm32mp_mtdparts.c
index 9f5897f8c86..ef32df04fef 100644
--- a/board/st/common/stm32mp_mtdparts.c
+++ b/board/st/common/stm32mp_mtdparts.c
@@ -13,6 +13,7 @@
 #include <tee.h>
 #include <asm/arch/stm32prog.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 #define MTDPARTS_LEN		256
 #define MTDIDS_LEN		128
diff --git a/board/st/stih410-b2260/board.c b/board/st/stih410-b2260/board.c
index b1147f2e1a7..b87468cca21 100644
--- a/board/st/stih410-b2260/board.c
+++ b/board/st/stih410-b2260/board.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/usb/otg.h>
 #include <dwc3-sti-glue.h>
 #include <dwc3-uboot.h>
diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c
index ee6a90c9fdd..9d8fc9f5a2e 100644
--- a/board/st/stm32f429-discovery/stm32f429-discovery.c
+++ b/board/st/stm32f429-discovery/stm32f429-discovery.c
@@ -15,6 +15,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
index 92e3d40a1b6..35e71380b89 100644
--- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c
+++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c
index 85988acb241..fcc34e7955a 100644
--- a/board/st/stm32f469-discovery/stm32f469-discovery.c
+++ b/board/st/stm32f469-discovery/stm32f469-discovery.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c
index 0f728fd9f9e..40450ca914b 100644
--- a/board/st/stm32f746-disco/stm32f746-disco.c
+++ b/board/st/stm32f746-disco/stm32f746-disco.c
@@ -17,6 +17,7 @@
 #include <splash.h>
 #include <st_logo_data.h>
 #include <video.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c
index 0484c3c2504..53bf0922197 100644
--- a/board/st/stm32h743-disco/stm32h743-disco.c
+++ b/board/st/stm32h743-disco/stm32h743-disco.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c
index 0484c3c2504..53bf0922197 100644
--- a/board/st/stm32h743-eval/stm32h743-eval.c
+++ b/board/st/stm32h743-eval/stm32h743-eval.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index 03a19af9302..f1df06caa49 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -29,6 +29,7 @@
 #include <syscon.h>
 #include <usb.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c
index 8c827adc2ed..72399cf5f65 100644
--- a/board/st/stv0991/stv0991.c
+++ b/board/st/stv0991/stv0991.c
@@ -15,6 +15,7 @@
 #include <asm/arch/hardware.h>
 #include <asm/arch/gpio.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 
diff --git a/board/ste/stemmy/stemmy.c b/board/ste/stemmy/stemmy.c
index f7834c08fc2..b9b2a6fddc2 100644
--- a/board/ste/stemmy/stemmy.c
+++ b/board/ste/stemmy/stemmy.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index a5cf0b65c7b..aa727272be4 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -28,6 +28,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <u-boot/crc.h>
 #ifndef CONFIG_ARM64
diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c
index b4a1d4c5dff..75e4d037623 100644
--- a/board/synopsys/axs10x/axs10x.c
+++ b/board/synopsys/axs10x/axs10x.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/arcregs.h>
+#include <asm/global_data.h>
 #include "axs10x.h"
 #include <asm/cache.h>
 
diff --git a/board/synopsys/emsdp/emsdp.c b/board/synopsys/emsdp/emsdp.c
index 91fa94a638e..997120ec5e1 100644
--- a/board/synopsys/emsdp/emsdp.c
+++ b/board/synopsys/emsdp/emsdp.c
@@ -9,6 +9,7 @@
 #include <dwmmc.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 #include <asm/arcregs.h>
diff --git a/board/synopsys/hsdk/hsdk.c b/board/synopsys/hsdk/hsdk.c
index cd11f9dac06..892b94bb083 100644
--- a/board/synopsys/hsdk/hsdk.c
+++ b/board/synopsys/hsdk/hsdk.c
@@ -14,6 +14,7 @@
 #include <irq_func.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/printk.h>
diff --git a/board/synopsys/iot_devkit/iot_devkit.c b/board/synopsys/iot_devkit/iot_devkit.c
index 497ea186d3a..c6051363c1f 100644
--- a/board/synopsys/iot_devkit/iot_devkit.c
+++ b/board/synopsys/iot_devkit/iot_devkit.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dwmmc.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/libfdt.h>
 #include <fdtdec.h>
diff --git a/board/sysam/amcore/amcore.c b/board/sysam/amcore/amcore.c
index 4502005941f..9e1b8022705 100644
--- a/board/sysam/amcore/amcore.c
+++ b/board/sysam/amcore/amcore.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <dm.h>
diff --git a/board/sysam/stmark2/stmark2.c b/board/sysam/stmark2/stmark2.c
index ce8b541ccdf..d48da48b69d 100644
--- a/board/sysam/stmark2/stmark2.c
+++ b/board/sysam/stmark2/stmark2.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/immap.h>
 #include <mmc.h>
diff --git a/board/syteco/zmx25/zmx25.c b/board/syteco/zmx25/zmx25.c
index d5393d70597..2d4c5cce892 100644
--- a/board/syteco/zmx25/zmx25.c
+++ b/board/syteco/zmx25/zmx25.c
@@ -17,6 +17,7 @@
 #include <cpu_func.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/tbs/tbs2910/tbs2910.c b/board/tbs/tbs2910/tbs2910.c
index d32517f998a..ac1b8231281 100644
--- a/board/tbs/tbs2910/tbs2910.c
+++ b/board/tbs/tbs2910/tbs2910.c
@@ -3,11 +3,13 @@
  * Copyright (C) 2014 Soeren Moch <smoch@web.de>
  */
 
+#include <common.h>
 #include <init.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c
index 230481be0de..4821925c026 100644
--- a/board/tcl/sl50/board.c
+++ b/board/tcl/sl50/board.c
@@ -23,6 +23,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/technexion/pico-imx6/pico-imx6.c b/board/technexion/pico-imx6/pico-imx6.c
index da82244b397..6b9c4f4373c 100644
--- a/board/technexion/pico-imx6/pico-imx6.c
+++ b/board/technexion/pico-imx6/pico-imx6.c
@@ -6,6 +6,7 @@
  * Author: Fabio Estevam <festevam@gmail.com>
  */
 
+#include <common.h>
 #include <env.h>
 #include <init.h>
 #include <net.h>
@@ -15,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/mach-imx/video.h>
@@ -22,7 +24,6 @@
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/sizes.h>
-#include <common.h>
 #include <miiphy.h>
 #include <netdev.h>
 #include <phy.h>
diff --git a/board/technexion/pico-imx6ul/pico-imx6ul.c b/board/technexion/pico-imx6ul/pico-imx6ul.c
index 126823fce09..62a54d0c8eb 100644
--- a/board/technexion/pico-imx6ul/pico-imx6ul.c
+++ b/board/technexion/pico-imx6ul/pico-imx6ul.c
@@ -13,6 +13,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/technexion/pico-imx7d/pico-imx7d.c b/board/technexion/pico-imx7d/pico-imx7d.c
index a6fd49d729c..2d749dac19a 100644
--- a/board/technexion/pico-imx7d/pico-imx7d.c
+++ b/board/technexion/pico-imx7d/pico-imx7d.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/technexion/pico-imx8mq/pico-imx8mq.c b/board/technexion/pico-imx8mq/pico-imx8mq.c
index 330de7137c3..951e3e1985b 100644
--- a/board/technexion/pico-imx8mq/pico-imx8mq.c
+++ b/board/technexion/pico-imx8mq/pico-imx8mq.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/technexion/pico-imx8mq/spl.c b/board/technexion/pico-imx8mq/spl.c
index b181f797a77..8b853a914e8 100644
--- a/board/technexion/pico-imx8mq/spl.c
+++ b/board/technexion/pico-imx8mq/spl.c
@@ -11,6 +11,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mq_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c
index 84db131de2b..0c9dca31e67 100644
--- a/board/technexion/tao3530/tao3530.c
+++ b/board/technexion/tao3530/tao3530.c
@@ -9,6 +9,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mem.h>
diff --git a/board/technologic/ts4600/ts4600.c b/board/technologic/ts4600/ts4600.c
index 0ef306d58a2..b9cce821d96 100644
--- a/board/technologic/ts4600/ts4600.c
+++ b/board/technologic/ts4600/ts4600.c
@@ -15,6 +15,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/technologic/ts4800/ts4800.c b/board/technologic/ts4800/ts4800.c
index fe36fb7ffab..a309e58b27f 100644
--- a/board/technologic/ts4800/ts4800.c
+++ b/board/technologic/ts4800/ts4800.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c
index 67bc00b65b0..3c4133083f5 100644
--- a/board/theadorable/theadorable.c
+++ b/board/theadorable/theadorable.c
@@ -13,6 +13,7 @@
 #if !defined(CONFIG_SPL_BUILD)
 #include <bootcount.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index 984cc5e3ba5..211a9bf7446 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -27,6 +27,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c
index f32d1757db7..b1017d6c9b7 100644
--- a/board/ti/am3517crane/am3517crane.c
+++ b/board/ti/am3517crane/am3517crane.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mem.h>
diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
index de495900315..8f5bf3581f4 100644
--- a/board/ti/am43xx/board.c
+++ b/board/ti/am43xx/board.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <eeprom.h>
 #include <image.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <env.h>
 #include <fdt_support.h>
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index 78098755106..73063faee69 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -20,6 +20,7 @@
 #include <serial.h>
 #include <usb.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/omap_common.h>
 #include <asm/omap_sec_common.h>
 #include <asm/emif.h>
diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index 36063b11383..3d44c70fe42 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/omap_common.h>
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 6bd59eb10c2..888a9584919 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -24,6 +24,7 @@
 #include <status_led.h>
 #endif
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <linux/mtd/rawnand.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index ca1976e16a5..05f251f7782 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -20,6 +20,7 @@
 #include <palmas.h>
 #include <sata.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/string.h>
 #include <asm/gpio.h>
 #include <usb.h>
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index ecbd843676a..96434b3ba0f 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -17,6 +17,7 @@
 #include <net.h>
 #include <ns16550.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index d8711eb9005..fb602950233 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -16,6 +16,7 @@
 #include <net.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <spl.h>
diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
index c7be5400289..9e5f08e3372 100644
--- a/board/ti/ks2_evm/board.c
+++ b/board/ti/ks2_evm/board.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "board.h"
 #include <env.h>
 #include <hang.h>
diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c
index 88f56edc54e..4777622156b 100644
--- a/board/ti/omap5_uevm/evm.c
+++ b/board/ti/omap5_uevm/evm.c
@@ -15,6 +15,7 @@
 #include <serial.h>
 #include <tca642x.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/usb/gadget.h>
 #include <dwc3-uboot.h>
diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
index f718e69e85d..fda8d5f3c83 100644
--- a/board/ti/panda/panda.c
+++ b/board/ti/panda/panda.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <net.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/ti/sdp4430/sdp.c b/board/ti/sdp4430/sdp.c
index 3fd973049a8..4895bfafd80 100644
--- a/board/ti/sdp4430/sdp.c
+++ b/board/ti/sdp4430/sdp.c
@@ -12,6 +12,7 @@
 #include <serial.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
+#include <asm/global_data.h>
 
 #include "sdp4430_mux_data.h"
 
diff --git a/board/ti/ti816x/evm.c b/board/ti/ti816x/evm.c
index becece1c205..2d42af6b809 100644
--- a/board/ti/ti816x/evm.c
+++ b/board/ti/ti816x/evm.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/cpu.h>
diff --git a/board/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c
index f4eaf15970b..3c744b943f4 100644
--- a/board/timll/devkit3250/devkit3250.c
+++ b/board/timll/devkit3250/devkit3250.c
@@ -12,6 +12,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/emc.h>
 #include <asm/arch/wdt.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index 2420c28974c..5af88318062 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -22,6 +22,7 @@
 #include <malloc.h>
 #include <ns16550.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mux.h>
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index 9263b0f51fa..6e8594a6472 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
index 3961c4df9e2..17f6094687b 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -12,6 +12,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index f718dc855d4..0396eea56b5 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -11,6 +11,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/tegra.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <dm.h>
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index 45f8da3c42f..4435c7c0f86 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/clock.h>
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index f981c11a37c..9531ec64a5d 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index a416b5e54b3..64a8406ec77 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -12,6 +12,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 8afe1bfd5eb..8f7ef992a7f 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/toradex/colibri_pxa270/colibri_pxa270.c b/board/toradex/colibri_pxa270/colibri_pxa270.c
index 273a17f608d..bc7a79f0b34 100644
--- a/board/toradex/colibri_pxa270/colibri_pxa270.c
+++ b/board/toradex/colibri_pxa270/colibri_pxa270.c
@@ -15,6 +15,7 @@
 #include <asm/arch/pxa.h>
 #include <asm/arch/regs-mmc.h>
 #include <asm/arch/regs-uart.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platdata.h>
 #include <dm/platform_data/pxa_mmc_gen.h>
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index f44ca90ce96..73ef4d2db32 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -12,6 +12,7 @@
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/board.h>
 #include <asm/arch-tegra/tegra.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <i2c.h>
diff --git a/board/toradex/colibri_vf/colibri_vf.c b/board/toradex/colibri_vf/colibri_vf.c
index 7194ede01cb..e9c5bc06322 100644
--- a/board/toradex/colibri_vf/colibri_vf.c
+++ b/board/toradex/colibri_vf/colibri_vf.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index bf27b2fa66a..ab561237e6f 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "tdx-cfg-block.h"
 #include "tdx-eeprom.h"
 
diff --git a/board/toradex/common/tdx-eeprom.c b/board/toradex/common/tdx-eeprom.c
index fbc267dab62..81bd9e68c2d 100644
--- a/board/toradex/common/tdx-eeprom.c
+++ b/board/toradex/common/tdx-eeprom.c
@@ -5,6 +5,7 @@
 
 #include <dm.h>
 #include <i2c_eeprom.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/toradex/verdin-imx8mm/spl.c b/board/toradex/verdin-imx8mm/spl.c
index cc78c5666bb..588da0aeba6 100644
--- a/board/toradex/verdin-imx8mm/spl.c
+++ b/board/toradex/verdin-imx8mm/spl.c
@@ -12,6 +12,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mm_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 66950ed218b..1161b5c31d9 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/tqc/tqm834x/tqm834x.c b/board/tqc/tqm834x/tqm834x.c
index c16784324c9..17b4662c167 100644
--- a/board/tqc/tqm834x/tqm834x.c
+++ b/board/tqc/tqm834x/tqm834x.c
@@ -10,6 +10,7 @@
 #include <ioports.h>
 #include <log.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <miiphy.h>
diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
index 2df901a584c..26d557cece9 100644
--- a/board/tqc/tqma6/tqma6.c
+++ b/board/tqc/tqma6/tqma6.c
@@ -15,6 +15,7 @@
 #include <asm/arch/sys_proto.h>
 #include <env.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c
index c6edc724405..653ca1ca5a6 100644
--- a/board/udoo/neo/neo.c
+++ b/board/udoo/neo/neo.c
@@ -15,6 +15,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <env.h>
diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c
index 62b32ae7595..d83f23dd358 100644
--- a/board/udoo/udoo.c
+++ b/board/udoo/udoo.c
@@ -13,6 +13,7 @@
 #include <env.h>
 #include <malloc.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/variscite/dart_6ul/dart_6ul.c b/board/variscite/dart_6ul/dart_6ul.c
index d8e383d323e..1c52cfd882e 100644
--- a/board/variscite/dart_6ul/dart_6ul.c
+++ b/board/variscite/dart_6ul/dart_6ul.c
@@ -10,6 +10,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/varisys/cyrus/ddr.c b/board/varisys/cyrus/ddr.c
index 7949eb88c07..184948094db 100644
--- a/board/varisys/cyrus/ddr.c
+++ b/board/varisys/cyrus/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/ve8313/ve8313.c b/board/ve8313/ve8313.c
index 6cdb1104716..78d401e955e 100644
--- a/board/ve8313/ve8313.c
+++ b/board/ve8313/ve8313.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <pci.h>
diff --git a/board/vscom/baltos/board.c b/board/vscom/baltos/board.c
index afe12466df3..4175d414694 100644
--- a/board/vscom/baltos/board.c
+++ b/board/vscom/baltos/board.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <net.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <spl.h>
 #include <asm/arch/cpu.h>
diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c
index e0e01b1a4a4..53299c87010 100644
--- a/board/wandboard/wandboard.c
+++ b/board/wandboard/wandboard.c
@@ -17,6 +17,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/warp/warp.c b/board/warp/warp.c
index 85da9c1bd43..0f1d038fabd 100644
--- a/board/warp/warp.c
+++ b/board/warp/warp.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c
index aaa7006d3b2..0f202241dd7 100644
--- a/board/warp7/warp7.c
+++ b/board/warp7/warp7.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/hab.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/work-microwave/work_92105/work_92105.c b/board/work-microwave/work_92105/work_92105.c
index 2e0def5b64f..bdcecff7308 100644
--- a/board/work-microwave/work_92105/work_92105.c
+++ b/board/work-microwave/work_92105/work_92105.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/cpu.h>
diff --git a/board/xen/xenguest_arm64/xenguest_arm64.c b/board/xen/xenguest_arm64/xenguest_arm64.c
index 4660f3fff20..7d0d782a239 100644
--- a/board/xen/xenguest_arm64/xenguest_arm64.c
+++ b/board/xen/xenguest_arm64/xenguest_arm64.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <xen.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
diff --git a/board/xes/xpedite517x/xpedite517x.c b/board/xes/xpedite517x/xpedite517x.c
index 2c9499ab20b..8a5b52c4952 100644
--- a/board/xes/xpedite517x/xpedite517x.c
+++ b/board/xes/xpedite517x/xpedite517x.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <fsl_ddr_sdram.h>
 #include <asm/mmu.h>
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
index b0f60c40a5c..96a565f6d93 100644
--- a/board/xilinx/common/board.c
+++ b/board/xilinx/common/board.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <i2c.h>
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index 4e569e910d9..7729ce915ea 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -15,6 +15,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/lists.h>
 #include <fdtdec.h>
 #include <linux/sizes.h>
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index a5ca4ca8740..46101516c30 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <time.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
index 7ac069aaafd..49ff3f0dc0e 100644
--- a/board/xilinx/zynq/board.c
+++ b/board/xilinx/zynq/board.c
@@ -16,6 +16,7 @@
 #include <watchdog.h>
 #include <wdt.h>
 #include <zynqpl.h>
+#include <asm/global_data.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
 #include "../common/board.h"
diff --git a/board/xilinx/zynq/bootimg.c b/board/xilinx/zynq/bootimg.c
index 481f012c282..2f55078dd76 100644
--- a/board/xilinx/zynq/bootimg.c
+++ b/board/xilinx/zynq/bootimg.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <log.h>
 #include <part.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynq/cmds.c b/board/xilinx/zynq/cmds.c
index 73e2b0eac7e..6c697caa625 100644
--- a/board/xilinx/zynq/cmds.c
+++ b/board/xilinx/zynq/cmds.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 28f067a2515..078d52b8bc7 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -23,6 +23,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/psu_init_gpl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/ptrace.h>
 #include <dm/device.h>
diff --git a/board/zyxel/nsa310s/nsa310s.c b/board/zyxel/nsa310s/nsa310s.c
index 3f71e3da446..cd4a7723b12 100644
--- a/board/zyxel/nsa310s/nsa310s.c
+++ b/board/zyxel/nsa310s/nsa310s.c
@@ -12,6 +12,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include "nsa310s.h"
 
diff --git a/cmd/acpi.c b/cmd/acpi.c
index a3419b42b55..157261bffbe 100644
--- a/cmd/acpi.c
+++ b/cmd/acpi.c
@@ -8,6 +8,7 @@
 #include <mapmem.h>
 #include <acpi/acpi_table.h>
 #include <asm/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 8d8daa6336a..84dab7d2d33 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -15,6 +15,7 @@
 #include <video.h>
 #include <vsprintf.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/bedbug.c b/cmd/bedbug.c
index 684e4a9ea5c..bef617b6a4f 100644
--- a/cmd/bedbug.c
+++ b/cmd/bedbug.c
@@ -6,6 +6,7 @@
 #include <cli.h>
 #include <command.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/ctype.h>
 #include <net.h>
diff --git a/cmd/bloblist.c b/cmd/bloblist.c
index bb2e682ff84..97b57341617 100644
--- a/cmd/bloblist.c
+++ b/cmd/bloblist.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <bloblist.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index fdf909f8da2..45a359cdce8 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -18,6 +18,7 @@
 #include <image.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <linux/libfdt_env.h>
 #include <mapmem.h>
diff --git a/cmd/booti.c b/cmd/booti.c
index 76d1255ec58..3df70ea9caa 100644
--- a/cmd/booti.c
+++ b/cmd/booti.c
@@ -12,6 +12,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/kernel.h>
 #include <linux/sizes.h>
 
diff --git a/cmd/bootm.c b/cmd/bootm.c
index e6b0e04413c..7732b97f635 100644
--- a/cmd/bootm.c
+++ b/cmd/bootm.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <nand.h>
 #include <asm/byteorder.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/err.h>
 #include <u-boot/zlib.h>
diff --git a/cmd/date.c b/cmd/date.c
index 75a032cd277..0e118947531 100644
--- a/cmd/date.c
+++ b/cmd/date.c
@@ -12,6 +12,7 @@
 #include <dm.h>
 #include <rtc.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/efi.c b/cmd/efi.c
index 1558cb17eb0..f2ed26bd4b2 100644
--- a/cmd/efi.c
+++ b/cmd/efi.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <sort.h>
+#include <asm/global_data.h>
 
 static const char *const type_name[] = {
 	"reserved",
diff --git a/cmd/load.c b/cmd/load.c
index 9a3a16979c7..8a46059e868 100644
--- a/cmd/load.c
+++ b/cmd/load.c
@@ -20,6 +20,7 @@
 #include <serial.h>
 #include <xyzModem.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/log.c b/cmd/log.c
index 6afe6ead251..ccefb0cbb8c 100644
--- a/cmd/log.c
+++ b/cmd/log.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 static char log_fmt_chars[LOGF_COUNT] = "clFLfm";
 
diff --git a/cmd/mem.c b/cmd/mem.c
index 56e1d0755b6..e6c65c9ef8a 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -22,6 +22,7 @@
 #include <mapmem.h>
 #include <rand.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
diff --git a/cmd/mtdparts.c b/cmd/mtdparts.c
index 5220142b9ab..ed373a8c4da 100644
--- a/cmd/mtdparts.c
+++ b/cmd/mtdparts.c
@@ -75,6 +75,7 @@
 #include <env.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <jffs2/load_kernel.h>
 #include <linux/list.h>
 #include <linux/ctype.h>
diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 7fce723800d..e73bc4dfa02 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -35,6 +35,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <u-boot/crc.h>
 #include <watchdog.h>
diff --git a/cmd/pstore.c b/cmd/pstore.c
index 9a8b38c7f26..a498f593054 100644
--- a/cmd/pstore.c
+++ b/cmd/pstore.c
@@ -10,6 +10,7 @@
 #include <mapmem.h>
 #include <memalign.h>
 #include <part.h>
+#include <asm/global_data.h>
 
 struct persistent_ram_buffer {
 	u32    sig;
diff --git a/cmd/pxe_utils.h b/cmd/pxe_utils.h
index 77d25888758..b5a7d278011 100644
--- a/cmd/pxe_utils.h
+++ b/cmd/pxe_utils.h
@@ -3,6 +3,8 @@
 #ifndef __PXE_UTILS_H
 #define __PXE_UTILS_H
 
+#include <linux/list.h>
+
 /*
  * A note on the pxe file parser.
  *
diff --git a/cmd/sb.c b/cmd/sb.c
index f7eb921f43e..0d55818e3c6 100644
--- a/cmd/sb.c
+++ b/cmd/sb.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <dm.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 
 static int do_sb_handoff(struct cmd_tbl *cmdtp, int flag, int argc,
diff --git a/cmd/sound.c b/cmd/sound.c
index 7fc19678ea8..fdcde365339 100644
--- a/cmd/sound.c
+++ b/cmd/sound.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <sound.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/spl.c b/cmd/spl.c
index 28b40dd31e1..472703f8fe1 100644
--- a/cmd/spl.c
+++ b/cmd/spl.c
@@ -10,6 +10,7 @@
 #include <env.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/ti/ddr3.c b/cmd/ti/ddr3.c
index 623b63b0f94..6b43a738683 100644
--- a/cmd/ti/ddr3.c
+++ b/cmd/ti/ddr3.c
@@ -14,6 +14,7 @@
 #include <asm/emif.h>
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c
index eab0531c96b..5099cbdd95e 100644
--- a/cmd/tlv_eeprom.c
+++ b/cmd/tlv_eeprom.c
@@ -17,6 +17,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <u-boot/crc.h>
 
diff --git a/cmd/x86/fsp.c b/cmd/x86/fsp.c
index 8017eda387c..82e4415b16e 100644
--- a/cmd/x86/fsp.c
+++ b/cmd/x86/fsp.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/x86/hob.c b/cmd/x86/hob.c
index 9e555c778c2..01db93eb3e1 100644
--- a/cmd/x86/hob.c
+++ b/cmd/x86/hob.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <efi.h>
 #include <uuid.h>
+#include <asm/global_data.h>
 #include <asm/hob.h>
 #include <asm/fsp/fsp_hob.h>
 
diff --git a/common/autoboot.c b/common/autoboot.c
index e628baffb89..99ed57f70fd 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -19,6 +19,7 @@
 #include <menu.h>
 #include <post.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <u-boot/sha256.h>
 #include <bootcount.h>
diff --git a/common/bloblist.c b/common/bloblist.c
index 33b58623807..f7fbbeaedbd 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <mapmem.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 
 /*
diff --git a/common/board_f.c b/common/board_f.c
index 9f441c44f17..b9bf0329578 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -49,6 +49,7 @@
 #if defined(CONFIG_MP) && defined(CONFIG_PPC)
 #include <asm/mp.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 #include <dm/root.h>
diff --git a/common/board_info.c b/common/board_info.c
index a6db087f960..b54aa30a944 100644
--- a/common/board_info.c
+++ b/common/board_info.c
@@ -2,6 +2,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <linux/compiler.h>
 
diff --git a/common/board_r.c b/common/board_r.c
index b9217b2e27f..ad932a0b582 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -21,6 +21,7 @@
 #include <log.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 /* TODO: can we just include all these headers whether needed or not? */
 #if defined(CONFIG_CMD_BEDBUG)
diff --git a/common/bootm.c b/common/bootm.c
index 167eea4a1e9..34a24dbf187 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -18,6 +18,7 @@
 #include <mapmem.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #if defined(CONFIG_CMD_USB)
 #include <usb.h>
diff --git a/common/bootm_os.c b/common/bootm_os.c
index e9aaddf3e61..0b6325db660 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -14,6 +14,7 @@
 #include <image.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <malloc.h>
 #include <mapmem.h>
diff --git a/common/bootstage.c b/common/bootstage.c
index 5f87358fd85..d5b78b9f487 100644
--- a/common/bootstage.c
+++ b/common/bootstage.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <sort.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <linux/libfdt.h>
 
diff --git a/common/cli.c b/common/cli.c
index 6635ab2bcf8..048eacb9ef9 100644
--- a/common/cli.c
+++ b/common/cli.c
@@ -18,6 +18,7 @@
 #include <fdtdec.h>
 #include <hang.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/cli_hush.c b/common/cli_hush.c
index 66995c255b5..6e850ffc10b 100644
--- a/common/cli_hush.c
+++ b/common/cli_hush.c
@@ -87,6 +87,7 @@
 #ifndef CONFIG_SYS_PROMPT_HUSH_PS2
 #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
 #endif
+#include <asm/global_data.h>
 #endif
 #ifndef __U_BOOT__
 #include <ctype.h>     /* isalpha, isdigit */
diff --git a/common/cli_readline.c b/common/cli_readline.c
index 47b876285cc..10d32f5fa8b 100644
--- a/common/cli_readline.c
+++ b/common/cli_readline.c
@@ -14,6 +14,7 @@
 #include <command.h>
 #include <time.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/command.c b/common/command.c
index 2c491e20a74..6a87bb54abf 100644
--- a/common/command.c
+++ b/common/command.c
@@ -14,6 +14,7 @@
 #include <console.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 
 /*
diff --git a/common/console.c b/common/console.c
index 3348436da6f..aaa2b0c0d7e 100644
--- a/common/console.c
+++ b/common/console.c
@@ -19,6 +19,7 @@
 #include <exports.h>
 #include <env_internal.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index b29a7cfd93d..cf0270a9c11 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1,5 +1,6 @@
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #if CONFIG_IS_ENABLED(UNIT_TEST)
 #define DEBUG
diff --git a/common/exports.c b/common/exports.c
index 6253b55694b..eea47ededd4 100644
--- a/common/exports.c
+++ b/common/exports.c
@@ -4,6 +4,7 @@
 #include <malloc.h>
 #include <spi.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/hash.c b/common/hash.c
index 05238a8ba91..fc64002f736 100644
--- a/common/hash.c
+++ b/common/hash.c
@@ -18,6 +18,7 @@
 #include <mapmem.h>
 #include <hw_sha.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <u-boot/crc.h>
diff --git a/common/hwconfig.c b/common/hwconfig.c
index daf3eea5f96..26a561c365b 100644
--- a/common/hwconfig.c
+++ b/common/hwconfig.c
@@ -15,6 +15,7 @@
 #include <exports.h>
 #include <hwconfig.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <linux/string.h>
 #else
diff --git a/common/image-android.c b/common/image-android.c
index 18f7c8db03b..d07b0e0f09b 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -12,6 +12,7 @@
 #include <errno.h>
 #include <asm/unaligned.h>
 #include <mapmem.h>
+#include <linux/libfdt.h>
 
 #define ANDROID_IMAGE_DEFAULT_KERNEL_ADDR	0x10008000
 
diff --git a/common/image-cipher.c b/common/image-cipher.c
index 4ca9eec4ef1..b9061489396 100644
--- a/common/image-cipher.c
+++ b/common/image-cipher.c
@@ -9,6 +9,7 @@
 #else
 #include <common.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSdTCC*/
 #include <image.h>
diff --git a/common/image-fdt.c b/common/image-fdt.c
index 327a8c4c395..64d148a20e4 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -17,6 +17,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <mapmem.h>
 #include <asm/io.h>
diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c
index 5401d9411b9..eabdf1d7876 100644
--- a/common/image-fit-sig.c
+++ b/common/image-fit-sig.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 #include <fdt_region.h>
diff --git a/common/image-fit.c b/common/image-fit.c
index d54eff9033c..973a37969f6 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -22,6 +22,7 @@
 #include <mapmem.h>
 #include <asm/io.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 
diff --git a/common/image-sig.c b/common/image-sig.c
index f3c209ae8b7..4abd3c080f7 100644
--- a/common/image-sig.c
+++ b/common/image-sig.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 #include <image.h>
diff --git a/common/image.c b/common/image.c
index 451fc689a89..ba78363123a 100644
--- a/common/image.c
+++ b/common/image.c
@@ -36,6 +36,7 @@
 #include <xilinx.h>
 #endif
 
+#include <asm/global_data.h>
 #include <u-boot/md5.h>
 #include <u-boot/sha1.h>
 #include <linux/errno.h>
diff --git a/common/init/board_init.c b/common/init/board_init.c
index 8c8a5eac057..3f183ee1132 100644
--- a/common/init/board_init.c
+++ b/common/init/board_init.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <bootstage.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/init/handoff.c b/common/init/handoff.c
index 62071bd0179..d0be1bb17a2 100644
--- a/common/init/handoff.c
+++ b/common/init/handoff.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <handoff.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/iotrace.c b/common/iotrace.c
index 7225ee44041..63d0cca3a00 100644
--- a/common/iotrace.c
+++ b/common/iotrace.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <mapmem.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bug.h>
 #include <u-boot/crc.h>
diff --git a/common/lcd.c b/common/lcd.c
index 02f2db3a99e..ab5614ad0e3 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <stdio_dev.h>
 #include <lcd.h>
diff --git a/common/lcd_simplefb.c b/common/lcd_simplefb.c
index fca600691e9..6dd7972f709 100644
--- a/common/lcd_simplefb.c
+++ b/common/lcd_simplefb.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <lcd.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <video.h>
 
diff --git a/common/log.c b/common/log.c
index 9f98e9aff8b..dc235343e0f 100644
--- a/common/log.c
+++ b/common/log.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/log_console.c b/common/log_console.c
index 8776fd47039..6abb13c93b8 100644
--- a/common/log_console.c
+++ b/common/log_console.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/log_syslog.c b/common/log_syslog.c
index 4eb09157bb9..53c4def5d1c 100644
--- a/common/log_syslog.c
+++ b/common/log_syslog.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/malloc_simple.c b/common/malloc_simple.c
index 34f0b490938..0267fb6bec8 100644
--- a/common/malloc_simple.c
+++ b/common/malloc_simple.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/memsize.c b/common/memsize.c
index e95c68265ab..d5d13d51bf1 100644
--- a/common/memsize.c
+++ b/common/memsize.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 63c48fbf33d..e825ee41410 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -18,6 +18,7 @@
 #include <log.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/u-boot.h>
 #include <nand.h>
 #include <fat.h>
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index fd6086a65c3..7f06081854f 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c
index 14f335f75f0..90c4a5f9704 100644
--- a/common/spl/spl_opensbi.c
+++ b/common/spl/spl_opensbi.c
@@ -11,6 +11,7 @@
 #include <hang.h>
 #include <image.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 #include <opensbi.h>
 #include <linux/libfdt.h>
diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c
index 2744fb5d520..6a4e0332870 100644
--- a/common/spl/spl_spi.c
+++ b/common/spl/spl_spi.c
@@ -15,6 +15,7 @@
 #include <spi_flash.h>
 #include <errno.h>
 #include <spl.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/splash_source.c b/common/splash_source.c
index f51ca5ddf37..2737fc6e7ff 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -20,6 +20,7 @@
 #include <spi_flash.h>
 #include <splash.h>
 #include <usb.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/stdio.c b/common/stdio.c
index a15f30804bf..3a6d97c5687 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -19,7 +19,7 @@
 #include <serial.h>
 #include <splash.h>
 #include <i2c.h>
-
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/disk/part_efi.c b/disk/part_efi.c
index 60b1c1d7618..530a2f30f3d 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -15,6 +15,7 @@
 #include <part.h>
 #include <uuid.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/unaligned.h>
 #include <command.h>
 #include <fdtdec.h>
diff --git a/drivers/ata/libata.c b/drivers/ata/libata.c
index d41200f6c26..47e2c5c1cc4 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 4ad260a5bb9..47fa62bae75 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 b2b5c699ad1..9021a00cdb6 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 9c7f14e98f4..6c7cc24cbd9 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 eca66198edf..b53420a3a88 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 cca2237136a..11ebdd52d77 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 078c84d5eca..8cc30cf40ef 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 51c074bfe23..305a737d3b3 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 9050c4cf340..0fb767e4339 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 a539889d5be..4c7c6531651 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 732ed4d79b9..a2f105a415f 100644
--- a/drivers/clk/altera/clk-arria10.c
+++ b/drivers/clk/altera/clk-arria10.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <clk-uclass.h>
 #include <dm.h>
diff --git a/drivers/clk/aspeed/clk_ast2500.c b/drivers/clk/aspeed/clk_ast2500.c
index aab7d14deb7..0e0e5fb2ee3 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/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c
new file mode 100644
index 00000000000..a65cadee372
--- /dev/null
+++ b/drivers/clk/at91/clk-generated.c
@@ -0,0 +1,179 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2016 Atmel Corporation
+ *               Wenyou.Yang <wenyou.yang@atmel.com>
+ */
+
+#include <common.h>
+#include <clk-uclass.h>
+#include <dm.h>
+#include <log.h>
+#include <malloc.h>
+#include <asm/global_data.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <mach/at91_pmc.h>
+#include "pmc.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define GENERATED_SOURCE_MAX	6
+#define GENERATED_MAX_DIV	255
+
+/**
+ * generated_clk_bind() - for the generated clock driver
+ * Recursively bind its children as clk devices.
+ *
+ * @return: 0 on success, or negative error code on failure
+ */
+static int generated_clk_bind(struct udevice *dev)
+{
+	return at91_clk_sub_device_bind(dev, "generic-clk");
+}
+
+static const struct udevice_id generated_clk_match[] = {
+	{ .compatible = "atmel,sama5d2-clk-generated" },
+	{}
+};
+
+U_BOOT_DRIVER(generated_clk) = {
+	.name = "generated-clk",
+	.id = UCLASS_MISC,
+	.of_match = generated_clk_match,
+	.bind = generated_clk_bind,
+};
+
+/*-------------------------------------------------------------*/
+
+struct generic_clk_priv {
+	u32 num_parents;
+};
+
+static ulong generic_clk_get_rate(struct clk *clk)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+	struct clk parent;
+	ulong clk_rate;
+	u32 tmp, gckdiv;
+	u8 clock_source, parent_index;
+	int ret;
+
+	writel(clk->id & AT91_PMC_PCR_PID_MASK, &pmc->pcr);
+	tmp = readl(&pmc->pcr);
+	clock_source = (tmp >> AT91_PMC_PCR_GCKCSS_OFFSET) &
+		    AT91_PMC_PCR_GCKCSS_MASK;
+	gckdiv = (tmp >> AT91_PMC_PCR_GCKDIV_OFFSET) & AT91_PMC_PCR_GCKDIV_MASK;
+
+	parent_index = clock_source - 1;
+	ret = clk_get_by_index(dev_get_parent(clk->dev), parent_index, &parent);
+	if (ret)
+		return 0;
+
+	clk_rate = clk_get_rate(&parent) / (gckdiv + 1);
+
+	clk_free(&parent);
+
+	return clk_rate;
+}
+
+static ulong generic_clk_set_rate(struct clk *clk, ulong rate)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+	struct generic_clk_priv *priv = dev_get_priv(clk->dev);
+	struct clk parent, best_parent;
+	ulong tmp_rate, best_rate = rate, parent_rate;
+	int tmp_diff, best_diff = -1;
+	u32 div, best_div = 0;
+	u8 best_parent_index, best_clock_source = 0;
+	u8 i;
+	u32 tmp;
+	int ret;
+
+	for (i = 0; i < priv->num_parents; i++) {
+		ret = clk_get_by_index(dev_get_parent(clk->dev), i, &parent);
+		if (ret)
+			return ret;
+
+		parent_rate = clk_get_rate(&parent);
+		if (IS_ERR_VALUE(parent_rate))
+			return parent_rate;
+
+		for (div = 1; div < GENERATED_MAX_DIV + 2; div++) {
+			tmp_rate = DIV_ROUND_CLOSEST(parent_rate, div);
+			tmp_diff = abs(rate - tmp_rate);
+
+			if (best_diff < 0 || best_diff > tmp_diff) {
+				best_rate = tmp_rate;
+				best_diff = tmp_diff;
+
+				best_div = div - 1;
+				best_parent = parent;
+				best_parent_index = i;
+				best_clock_source = best_parent_index + 1;
+			}
+
+			if (!best_diff || tmp_rate < rate)
+				break;
+		}
+
+		if (!best_diff)
+			break;
+	}
+
+	debug("GCK: best parent: %s, best_rate = %ld, best_div = %d\n",
+	      best_parent.dev->name, best_rate, best_div);
+
+	ret = clk_enable(&best_parent);
+	if (ret)
+		return ret;
+
+	writel(clk->id & AT91_PMC_PCR_PID_MASK, &pmc->pcr);
+	tmp = readl(&pmc->pcr);
+	tmp &= ~(AT91_PMC_PCR_GCKDIV | AT91_PMC_PCR_GCKCSS);
+	tmp |= AT91_PMC_PCR_GCKCSS_(best_clock_source) |
+	       AT91_PMC_PCR_CMD_WRITE |
+	       AT91_PMC_PCR_GCKDIV_(best_div) |
+	       AT91_PMC_PCR_GCKEN;
+	writel(tmp, &pmc->pcr);
+
+	while (!(readl(&pmc->sr) & AT91_PMC_GCKRDY))
+		;
+
+	return 0;
+}
+
+static struct clk_ops generic_clk_ops = {
+	.of_xlate = at91_clk_of_xlate,
+	.get_rate = generic_clk_get_rate,
+	.set_rate = generic_clk_set_rate,
+};
+
+static int generic_clk_ofdata_to_platdata(struct udevice *dev)
+{
+	struct generic_clk_priv *priv = dev_get_priv(dev);
+	u32 cells[GENERATED_SOURCE_MAX];
+	u32 num_parents;
+
+	num_parents = fdtdec_get_int_array_count(gd->fdt_blob,
+			dev_of_offset(dev_get_parent(dev)), "clocks", cells,
+			GENERATED_SOURCE_MAX);
+
+	if (!num_parents)
+		return -1;
+
+	priv->num_parents = num_parents;
+
+	return 0;
+}
+
+U_BOOT_DRIVER(generic_clk) = {
+	.name = "generic-clk",
+	.id = UCLASS_CLK,
+	.probe = at91_clk_probe,
+	.ofdata_to_platdata = generic_clk_ofdata_to_platdata,
+	.priv_auto_alloc_size = sizeof(struct generic_clk_priv),
+	.platdata_auto_alloc_size = sizeof(struct pmc_platdata),
+	.ops = &generic_clk_ops,
+};
diff --git a/drivers/clk/at91/clk-h32mx.c b/drivers/clk/at91/clk-h32mx.c
new file mode 100644
index 00000000000..b27aeacc7e9
--- /dev/null
+++ b/drivers/clk/at91/clk-h32mx.c
@@ -0,0 +1,57 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2016 Atmel Corporation
+ *               Wenyou.Yang <wenyou.yang@atmel.com>
+ */
+
+#include <common.h>
+#include <clk-uclass.h>
+#include <dm.h>
+#include <asm/global_data.h>
+#include <dm/device_compat.h>
+#include <dm/util.h>
+#include <linux/io.h>
+#include <mach/at91_pmc.h>
+#include "pmc.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define H32MX_MAX_FREQ	90000000
+
+static ulong sama5d4_h32mx_clk_get_rate(struct clk *clk)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+	ulong rate = gd->arch.mck_rate_hz;
+
+	if (readl(&pmc->mckr) & AT91_PMC_MCKR_H32MXDIV)
+		rate /= 2;
+
+	if (rate > H32MX_MAX_FREQ)
+		dev_dbg(clk->dev, "H32MX clock is too fast\n");
+
+	return rate;
+}
+
+static struct clk_ops sama5d4_h32mx_clk_ops = {
+	.get_rate = sama5d4_h32mx_clk_get_rate,
+};
+
+static int sama5d4_h32mx_clk_probe(struct udevice *dev)
+{
+	return at91_pmc_core_probe(dev);
+}
+
+static const struct udevice_id sama5d4_h32mx_clk_match[] = {
+	{ .compatible = "atmel,sama5d4-clk-h32mx" },
+	{}
+};
+
+U_BOOT_DRIVER(sama5d4_h32mx_clk) = {
+	.name = "sama5d4-h32mx-clk",
+	.id = UCLASS_CLK,
+	.of_match = sama5d4_h32mx_clk_match,
+	.probe = sama5d4_h32mx_clk_probe,
+	.platdata_auto_alloc_size = sizeof(struct pmc_platdata),
+	.ops = &sama5d4_h32mx_clk_ops,
+};
diff --git a/drivers/clk/at91/clk-main.c b/drivers/clk/at91/clk-main.c
index b52d926f339..2b6878338d6 100644
--- a/drivers/clk/at91/clk-main.c
+++ b/drivers/clk/at91/clk-main.c
@@ -13,6 +13,7 @@
 #include <common.h>
 #include <clk-uclass.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <linux/clk-provider.h>
 #include <linux/clk/at91_pmc.h>
 #include <linux/delay.h>
diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
index 5d93e6a7e52..9ad2e73d3fb 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -13,6 +13,7 @@
 #include <clk-uclass.h>
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <linux/clk-provider.h>
 #include <linux/clk/at91_pmc.h>
 
diff --git a/drivers/clk/at91/clk-plla.c b/drivers/clk/at91/clk-plla.c
new file mode 100644
index 00000000000..4f246afa18a
--- /dev/null
+++ b/drivers/clk/at91/clk-plla.c
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2016 Atmel Corporation
+ *               Wenyou.Yang <wenyou.yang@atmel.com>
+ */
+
+#include <common.h>
+#include <clk-uclass.h>
+#include <dm.h>
+#include <asm/global_data.h>
+#include <linux/io.h>
+#include <mach/at91_pmc.h>
+#include "pmc.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static int plla_clk_enable(struct clk *clk)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+
+	if (readl(&pmc->sr) & AT91_PMC_LOCKA)
+		return 0;
+
+	return -EINVAL;
+}
+
+static ulong plla_clk_get_rate(struct clk *clk)
+{
+	return gd->arch.plla_rate_hz;
+}
+
+static struct clk_ops plla_clk_ops = {
+	.enable = plla_clk_enable,
+	.get_rate = plla_clk_get_rate,
+};
+
+static int plla_clk_probe(struct udevice *dev)
+{
+	return at91_pmc_core_probe(dev);
+}
+
+static const struct udevice_id plla_clk_match[] = {
+	{ .compatible = "atmel,sama5d3-clk-pll" },
+	{}
+};
+
+U_BOOT_DRIVER(at91_plla_clk) = {
+	.name = "at91-plla-clk",
+	.id = UCLASS_CLK,
+	.of_match = plla_clk_match,
+	.probe = plla_clk_probe,
+	.platdata_auto_alloc_size = sizeof(struct pmc_platdata),
+	.ops = &plla_clk_ops,
+};
diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c
new file mode 100644
index 00000000000..416a5007f68
--- /dev/null
+++ b/drivers/clk/at91/clk-usb.c
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Microhip / Atmel Corporation
+ *               Wenyou.Yang <wenyou.yang@microchip.com>
+ */
+
+#include <common.h>
+#include <clk-uclass.h>
+#include <log.h>
+#include <asm/global_data.h>
+#include <dm/device.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <mach/at91_pmc.h>
+#include "pmc.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define AT91_USB_CLK_SOURCE_MAX	2
+#define AT91_USB_CLK_MAX_DIV	15
+
+struct at91_usb_clk_priv {
+	u32 num_clksource;
+};
+
+static ulong at91_usb_clk_get_rate(struct clk *clk)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+	struct clk source;
+	u32 tmp, usbdiv;
+	u8 source_index;
+	int ret;
+
+	tmp = readl(&pmc->pcr);
+	source_index = (tmp >> AT91_PMC_USB_USBS_OFFSET) &
+			AT91_PMC_USB_USBS_MASK;
+	usbdiv = (tmp >> AT91_PMC_USB_DIV_OFFSET) & AT91_PMC_USB_DIV_MASK;
+
+	ret = clk_get_by_index(clk->dev, source_index, &source);
+	if (ret)
+		return 0;
+
+	return clk_get_rate(&source) / (usbdiv + 1);
+}
+
+static ulong at91_usb_clk_set_rate(struct clk *clk, ulong rate)
+{
+	struct pmc_platdata *plat = dev_get_platdata(clk->dev);
+	struct at91_pmc *pmc = plat->reg_base;
+	struct at91_usb_clk_priv *priv = dev_get_priv(clk->dev);
+	struct clk source, best_source;
+	ulong tmp_rate, best_rate = rate, source_rate;
+	int tmp_diff, best_diff = -1;
+	u32 div, best_div = 0;
+	u8 best_source_index = 0;
+	u8 i;
+	u32 tmp;
+	int ret;
+
+	for (i = 0; i < priv->num_clksource; i++) {
+		ret = clk_get_by_index(clk->dev, i, &source);
+		if (ret)
+			return ret;
+
+		source_rate = clk_get_rate(&source);
+		if (IS_ERR_VALUE(source_rate))
+			return source_rate;
+
+		for (div = 1; div < AT91_USB_CLK_MAX_DIV + 2; div++) {
+			tmp_rate = DIV_ROUND_CLOSEST(source_rate, div);
+			tmp_diff = abs(rate - tmp_rate);
+
+			if (best_diff < 0 || best_diff > tmp_diff) {
+				best_rate = tmp_rate;
+				best_diff = tmp_diff;
+
+				best_div = div - 1;
+				best_source = source;
+				best_source_index = i;
+			}
+
+			if (!best_diff || tmp_rate < rate)
+				break;
+		}
+
+		if (!best_diff)
+			break;
+	}
+
+	debug("AT91 USB: best sourc: %s, best_rate = %ld, best_div = %d\n",
+	      best_source.dev->name, best_rate, best_div);
+
+	ret = clk_enable(&best_source);
+	if (ret)
+		return ret;
+
+	tmp = AT91_PMC_USB_USBS_(best_source_index) |
+	      AT91_PMC_USB_DIV_(best_div);
+	writel(tmp, &pmc->usb);
+
+	return 0;
+}
+
+static struct clk_ops at91_usb_clk_ops = {
+	.get_rate = at91_usb_clk_get_rate,
+	.set_rate = at91_usb_clk_set_rate,
+};
+
+static int at91_usb_clk_ofdata_to_platdata(struct udevice *dev)
+{
+	struct at91_usb_clk_priv *priv = dev_get_priv(dev);
+	u32 cells[AT91_USB_CLK_SOURCE_MAX];
+	u32 num_clksource;
+
+	num_clksource = fdtdec_get_int_array_count(gd->fdt_blob,
+						   dev_of_offset(dev),
+						   "clocks", cells,
+						   AT91_USB_CLK_SOURCE_MAX);
+
+	if (!num_clksource)
+		return -1;
+
+	priv->num_clksource = num_clksource;
+
+	return 0;
+}
+
+static int at91_usb_clk_probe(struct udevice *dev)
+{
+	return at91_pmc_core_probe(dev);
+}
+
+static const struct udevice_id at91_usb_clk_match[] = {
+	{ .compatible = "atmel,at91sam9x5-clk-usb" },
+	{}
+};
+
+U_BOOT_DRIVER(at91_usb_clk) = {
+	.name = "at91-usb-clk",
+	.id = UCLASS_CLK,
+	.of_match = at91_usb_clk_match,
+	.probe = at91_usb_clk_probe,
+	.ofdata_to_platdata = at91_usb_clk_ofdata_to_platdata,
+	.priv_auto_alloc_size = sizeof(struct at91_usb_clk_priv),
+	.platdata_auto_alloc_size = sizeof(struct pmc_platdata),
+	.ops = &at91_usb_clk_ops,
+};
diff --git a/drivers/clk/at91/compat.c b/drivers/clk/at91/compat.c
index 9563285674b..4a1f0e50aa1 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 660e2319214..3f3b15a2332 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -4,10 +4,10 @@
  *               Wenyou.Yang <wenyou.yang@atmel.com>
  */
 
+#include <common.h>
+#include <asm/global_data.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 31c5997aead..6db4a3eee81 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -14,6 +14,7 @@
 #include <errno.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/devres.h>
 #include <dm/read.h>
diff --git a/drivers/clk/clk_octeon.c b/drivers/clk/clk_octeon.c
index fd559e05fc7..5dfcf7877ba 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 dc46de2a7cf..78daf2cbad3 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 c8840b9e5f1..65ffd32d08e 100644
--- a/drivers/clk/clk_stm32mp1.c
+++ b/drivers/clk/clk_stm32mp1.c
@@ -14,6 +14,7 @@
 #include <syscon.h>
 #include <time.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
diff --git a/drivers/clk/clk_zynq.c b/drivers/clk/clk_zynq.c
index a699a3664c3..b00fe1d13b0 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 8d96ec767ac..9ec41d7705a 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 16da10c8dd8..b423c9414b2 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 30a101fe862..3223becd753 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 71916dbf3b1..0ef449159d9 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/lists.h>
 #include <dt-bindings/clock/px30-cru.h>
diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c
index a1dd642eefe..be1f646c070 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 d3633b69795..4a72fe29375 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_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
index aa1d98ca2a2..9e6bb9cd88d 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/core/device-remove.c b/drivers/core/device-remove.c
index efdb0f29058..360cfa72bc1 100644
--- a/drivers/core/device-remove.c
+++ b/drivers/core/device-remove.c
@@ -12,6 +12,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/uclass.h>
diff --git a/drivers/core/device.c b/drivers/core/device.c
index e90d70101c2..01670996dc8 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 8b48aa5bc5b..b9874c743d1 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 0a12e9b26f8..9960e6b310b 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 7d1b89514c7..22a6e8c4cea 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -10,6 +10,7 @@
 #include <fdt_support.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <dm/of_access.h>
 #include <dm/of_addr.h>
diff --git a/drivers/core/read.c b/drivers/core/read.c
index 076125824ca..fbe75f98624 100644
--- a/drivers/core/read.c
+++ b/drivers/core/read.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/of_access.h>
 #include <mapmem.h>
 #include <asm/types.h>
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
index c2bed88eac4..95309171ea9 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 0726be6b795..b5446b1db02 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 c3f1b73cd6b..95c37db5ad0 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 502c8ebb433..aca14157ad5 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 93ce708f652..3c7395a9f20 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 e91fe644580..f5ae35e1325 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 d6e7a175d0d..d554df87eba 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 3c58f59f3ab..4a8f8dea1c4 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 2945f1e1df5..6235bd959fe 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 8cb75fe02a2..40fcc8d2e0f 100644
--- a/drivers/ddr/altera/sdram_soc64.c
+++ b/drivers/ddr/altera/sdram_soc64.c
@@ -15,6 +15,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/imx/imx8m/helper.c b/drivers/ddr/imx/imx8m/helper.c
index 5ebf54f5f4a..f23904bf712 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 8686c998457..d0c0c736551 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 6c36f03254f..5856a9891e8 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 44e1ac54c3f..4bea7fd900d 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 8ce140a2e1a..6b394869dbf 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 64717a6780e..045685fcd9c 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 75800d9f31c..e52124dbd50 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 18f365fa411..3256469ddc1 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 f8758885101..614c489e45d 100644
--- a/drivers/gpio/da8xx_gpio.c
+++ b/drivers/gpio/da8xx_gpio.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.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 a993fd4d700..2e80196905d 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 86804ac2f5f..aa600e483a6 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 0c01413b587..cabd3767522 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 95f8b2ba6cd..4323f0ba760 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 73d98fde554..4a2757d1ac6 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 416fb56a98d..710994b4e12 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 aaabb0216be..0340786712e 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 5ec73c43599..c51e2b9f608 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 6eaa0a08a26..4200afba121 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 <linux/errno.h>
diff --git a/drivers/gpio/pcf8575_gpio.c b/drivers/gpio/pcf8575_gpio.c
index 1b9a18fe5dc..8a9214dec3e 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 bb1ad256fac..50c5376e00d 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 c78227f4da3..14f262739d2 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 4efff5c3643..82ae6d88941 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 9da79455ed3..fdc90c3f0e0 100644
--- a/drivers/hwspinlock/hwspinlock-uclass.c
+++ b/drivers/hwspinlock/hwspinlock-uclass.c
@@ -8,6 +8,7 @@
 #include <errno.h>
 #include <hwspinlock.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/device_compat.h>
 #include <linux/compat.h>
diff --git a/drivers/i2c/at91_i2c.c b/drivers/i2c/at91_i2c.c
index 9d6c6d80e2a..ee5dc1db96c 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 a630817352e..2853a984fbe 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 5785adedb6d..34d10abde06 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 da933452f51..e7a8dcc8212 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-gpio.c b/drivers/i2c/i2c-gpio.c
index 381938c956f..917cdf4e62e 100644
--- a/drivers/i2c/i2c-gpio.c
+++ b/drivers/i2c/i2c-gpio.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/delay.h>
 
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c
index da50d86cc8b..85cf75ecd92 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 cec38538da4..1c39b8c9dfc 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 b7e9ced8983..b90c0ddba7c 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 584d0a4fef1..4be32a1b38c 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 83dcb402133..52da26ab182 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 7360e162eeb..87e9f9cb21d 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 fdb8fd42e5c..c7dcafbef1b 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 7609594bd01..4bcab34514a 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 ca14a0ecac7..1aeeaa93682 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/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
index cb45d3c100f..43699fc2410 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 f857307e6a4..26a87006698 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 1031066b8c4..db69c18cb6d 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 37204718ca1..0a507079a2d 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 7beaccca2c8..ca2978e79d5 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 27ccc6eab06..77a98d15a4a 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 422ea6f3e5a..c79c260783e 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 56406aa1dd2..f6383a02398 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 be181229370..38111c52548 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 223aac8518a..fc9320fa993 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 20b74fbb18d..27ecce710fc 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 18da138507c..1f4437226e7 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/mmc/atmel_sdhci.c b/drivers/mmc/atmel_sdhci.c
index f56ae63bc2c..8e212ca90e6 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 198c41f451f..562dcb8ee35 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 435ccac5942..94af116d10c 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 642784e1f35..4bf12d9b2b8 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 1c015ab7646..5d841580c23 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 bc0d5ffed51..71818f964d3 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 67d6a05b3b5..61c209cb0a7 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 9f530638e31..7eda1d606fd 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 b33f0850738..eec432a0df6 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 2a1f412278e..5d426e8378b 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 9b3dfa13e61..fa7c12837d1 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 03d5150b207..8ec1f57a1b7 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 715eee0e3e0..c5e57528660 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 e201bdb8f4e..55dd25ff176 100644
--- a/drivers/mmc/pic32_sdhci.c
+++ b/drivers/mmc/pic32_sdhci.c
@@ -9,6 +9,9 @@
 #include <dm.h>
 #include <sdhci.h>
 #include <clk.h>
+#include <asm/global_data.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 d80b3fc28f3..83153c5c4c4 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 24f599e868a..240db8a7569 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 cc99bebc305..b1e53e8d425 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 ad386909e90..f7dd2aadc3e 100644
--- a/drivers/mmc/sh_mmcif.c
+++ b/drivers/mmc/sh_mmcif.c
@@ -14,6 +14,7 @@
 #include <clk.h>
 #include <dm.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
diff --git a/drivers/mmc/sh_sdhi.c b/drivers/mmc/sh_sdhi.c
index 29f83b65542..3047889cc82 100644
--- a/drivers/mmc/sh_sdhi.c
+++ b/drivers/mmc/sh_sdhi.c
@@ -15,6 +15,7 @@
 #include <mmc.h>
 #include <dm.h>
 #include <part.h>
+#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
index 0022f943bd7..16a6e3056dc 100644
--- a/drivers/mmc/socfpga_dw_mmc.c
+++ b/drivers/mmc/socfpga_dw_mmc.c
@@ -12,6 +12,7 @@
 #include <dwmmc.h>
 #include <errno.h>
 #include <fdtdec.h>
+#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/libfdt.h>
 #include <linux/err.h>
diff --git a/drivers/mmc/sti_sdhci.c b/drivers/mmc/sti_sdhci.c
index 5578feebef7..db0b566a8b7 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 c6539736766..b56f650f8a7 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 6ce9d00d0ae..aaec3c43fef 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 cd4d32959a0..346244e1110 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 9e3a652f445..b4512e3a5fc 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 9360d4ed172..2499cb52d8c 100644
--- a/drivers/mtd/mtd_uboot.c
+++ b/drivers/mtd/mtd_uboot.c
@@ -7,6 +7,7 @@
 #include <env.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
 #include <linux/err.h>
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 698968bc116..ebb40f93325 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -35,6 +35,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <dm/devres.h>
 #include <linux/bitops.h>
 #include <linux/bug.h>
diff --git a/drivers/mtd/nand/raw/octeontx_nand.c b/drivers/mtd/nand/raw/octeontx_nand.c
index ad219171e9c..3922c5475f7 100644
--- a/drivers/mtd/nand/raw/octeontx_nand.c
+++ b/drivers/mtd/nand/raw/octeontx_nand.c
@@ -4,6 +4,7 @@
  */
 
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/devres.h>
 #include <dm/of_access.h>
diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index 5fb3081c839..58d527acbd4 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 12fc065b320..7bc6ec7beea 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 b9f5bdd9535..dd14c34738a 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 a58a2c4b6c3..ea0dbe9eeee 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 8a644ad9b38..b62f7971a34 100644
--- a/drivers/mtd/renesas_rpc_hf.c
+++ b/drivers/mtd/renesas_rpc_hf.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <clk.h>
 #include <dm.h>
diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c
index 09c11439b08..121804e3269 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 ccba3947ac5..c7ea60f5acc 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 93b26da3926..2097718057b 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/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index db1102562f6..3bb4955e4a9 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -42,6 +42,7 @@
 #include <reset.h>
 #include <wait_bit.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <eth_phy.h>
diff --git a/drivers/net/dwmac_s700.c b/drivers/net/dwmac_s700.c
index 9d3f3ac5d93..2cf36f40494 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 bb55be9a267..468be69886c 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 84db6be624a..26e9523288e 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 e27f7e5321a..f3eea57fb9a 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 292690de961..d45f17eb8dd 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 8d95ee15ffd..98d7c39f9fe 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 42eaf49d712..220fd7bb62b 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -15,6 +15,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <phy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/types.h>
 #include <linux/bug.h>
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index b80a259ff75..cda9b16cc24 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 f94a2d8123c..d881c5eb871 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 393605512d9..da5075172fa 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 12be584638f..282c2599d3c 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 2f9464b961a..bf5f6f4b672 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 83f99e5d8ab..a0b18f82675 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 8f790a8b44c..22248dee60c 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 8e2c3ca5a30..4f90da91272 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 9d9f746e1db..3228672fc4a 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 ba97a54c067..bb5aa3513b6 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 9587e6b9fae..b772aae0cff 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 e2feb17048c..74105c0b7d6 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 6a2084947b0..bbc305f81db 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 3482b3ff178..472c55f84fa 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 98883cd15b4..f5c9fcddf68 100644
--- a/drivers/net/ravb.c
+++ b/drivers/net/ravb.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <malloc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/mii.h>
diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
index 4bd94c31031..6dddae911b0 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 4f7e3d42438..51d80f54967 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 4cbffb14c51..49b4a91875a 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -18,6 +18,7 @@
 #include <netdev.h>
 #include <miiphy.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c
index 0f7ada8c3e2..c11a1c443ee 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 4524604126c..40b1404f423 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 ca93edb70e3..3140f2515fb 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 50f0d33a83b..c25902a7032 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 8af37112046..5aaa6a177d0 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 64c18bae74b..9f2327b92cd 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 1d09c5ac4f6..e72a60c1318 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 eb07d253011..571c6e3c1d6 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 664e8379eb5..25a755627c0 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 c9afe751501..167fe026e8b 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 30537543a0f..86af01a19e2 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 fa29d69e859..39284badf20 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 c773f8d28d2..33ecd25f848 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_ti.c b/drivers/pci/pcie_dw_ti.c
index 742dd93633e..16b2a2da7e7 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 890b6a8fb69..354a1454a9f 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 fb50b8f5180..ee779be8f88 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 9f102c64c60..2aedbdd0e56 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 25b5272d4ed..3c7c4ca18e8 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 eba230e3a5f..6de93fac997 100644
--- a/drivers/pci/pcie_layerscape_ep.c
+++ b/drivers/pci/pcie_layerscape_ep.c
@@ -6,6 +6,7 @@
 
 #include <common.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 0a42997696b..adc9422580b 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 428bfcab09f..96c6527f806 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 25c6ddebce0..7ae5b48bb92 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 51b2171f9fa..35ca104300b 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 04609f12962..7d84be36be9 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 713ad49d045..88660a9957a 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 38a5f083769..71b6bfa6382 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 74dfdde154e..e392fae338a 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 4606de6f48e..12523d18a80 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 5e8ce740cd6..124a63ed96a 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 15e80049def..484b28745e0 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/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c
index a981cb2f8d6..d9a3bae8e6e 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 c5ea6ca31f1..29749b4c3fa 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 617943fd821..0ffd8a62633 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 da00daa4476..0e7f78efc9c 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 2a20f7601c0..c6b1dc297ab 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 3f49851bcab..41cee0eb740 100644
--- a/drivers/phy/ti-pipe3-phy.c
+++ b/drivers/phy/ti-pipe3-phy.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <generic-phy.h>
 #include <asm/io.h>
diff --git a/drivers/pinctrl/ath79/pinctrl_ar933x.c b/drivers/pinctrl/ath79/pinctrl_ar933x.c
index 61e80818743..b3f9f6a01fd 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 2d5a4a3ab23..d27848c1ddd 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 4cdc071d559..cc7ef799895 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 d4539b02d88..664af76d584 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 fc9d8b5ad10..1b51c229271 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 fb497803b93..1f61a84c29d 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 146f5c6e426..61d62e2058d 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 4518c05d468..6b01f47657c 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 96a2ed38a05..b603192fbd3 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 48c7bde3752..1596dcc4747 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 c1b0ca438aa..7af9506d504 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 db463fc04b9..1067654e07e 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 bf85cc916a7..5d09eea7acf 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 cd7b32ce346..30f2bebbc78 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 8e942a82802..7d6bdc1d2bd 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 aba88104747..79a52333053 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 899c279975a..4fed323761f 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/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c
index dbea99532cb..b58a68e26f5 100644
--- a/drivers/pinctrl/pinctrl_stm32.c
+++ b/drivers/pinctrl/pinctrl_stm32.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <dm/device_compat.h>
diff --git a/drivers/pinctrl/renesas/pfc-r7s72100.c b/drivers/pinctrl/renesas/pfc-r7s72100.c
index 9d7814a5f25..b368336c887 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 ec1cb9b652f..8abad950431 100644
--- a/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
+++ b/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/pinctrl.h>
 #include <regmap.h>
 #include <syscon.h>
diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c
index 889b65a47ff..961382f33e1 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 0ef460df8c2..f6681c7b0b5 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 31c9139c646..cb9238972f2 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 66253a4a43b..40d732224b6 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/pca9450.c b/drivers/power/pmic/pca9450.c
index 0c9d9a366e8..786baa5e259 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 f8706227058..185e38e32a4 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 77bc659fefe..0b819cfbf78 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 911da1d4261..0fb894804b5 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 e2ae1a80091..ffcf60c5584 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 fd7f14955ad..6195c7c4442 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 1a829b5a4cf..81737a0689d 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 9f4304cb663..4025cf5f3f8 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/mpc83xx_sdram.c b/drivers/ram/mpc83xx_sdram.c
index a226bac2cc3..2a78291deb5 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 757436b9d37..ed4f9907af9 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 094693ce247..4a24854a3df 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 be4abed0c02..910dce623e9 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 60d4945f848..fa98a9538c7 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 5a5d0670461..2ac1c9db127 100644
--- a/drivers/ram/stm32mp1/stm32mp1_interactive.c
+++ b/drivers/ram/stm32mp1/stm32mp1_interactive.c
@@ -12,6 +12,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 952006aa149..b0c510ad5e9 100644
--- a/drivers/ram/stm32mp1/stm32mp1_tests.c
+++ b/drivers/ram/stm32mp1/stm32mp1_tests.c
@@ -8,6 +8,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 9640a81e534..22779d0cb0d 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 350450d1fb4..1a5dddbe0d2 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 ac3a99f9bff..2fdc069ce16 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 f759ea8893d..f2065935886 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 702109b23b6..840d89f16fa 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 f09d291e043..8a7f171e041 100644
--- a/drivers/serial/sandbox.c
+++ b/drivers/serial/sandbox.c
@@ -17,6 +17,7 @@
 #include <os.h>
 #include <serial.h>
 #include <video.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/state.h>
 
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index f3c25d42167..489fd4f1668 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 355659ba056..dea25a049c8 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 04063fbe399..c1be34960ec 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 83dc96c449c..d8482ba7047 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 95cbe63b3d1..8631d790e6f 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 402fd5343c1..6b907fe1920 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 50d6e70f177..0978930dcd4 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 c8946c3aae8..13c7f9d809e 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 778a04d87e0..9715f372ecf 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 de6cefcd3ac..1f8eeb2cbfe 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 ef394b72350..1353e2f7ccb 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 a492063e39c..ce6c5db762f 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 2772c25f1d2..1ae5bac249a 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 6f8f7e1198a..6fc126f404b 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 9bb2be21e7b..986c5ca8107 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 e27d256574f..d6bc940efdc 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 fcc47fb348f..c3f0a3cb65d 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 33ff396bff7..aa3c9efc8a0 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 ba6504b9479..d586cad4a3c 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 597d425d11f..ff322805bc9 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 bc3c1e85f8c..a7423d46c18 100644
--- a/drivers/sound/ivybridge_sound.c
+++ b/drivers/sound/ivybridge_sound.c
@@ -18,6 +18,7 @@
 #include <log.h>
 #include <pch.h>
 #include <sound.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 static int bd82x6x_azalia_probe(struct udevice *dev)
diff --git a/drivers/spi/atcspi200_spi.c b/drivers/spi/atcspi200_spi.c
index 39c6e226ba7..9e7d40d0a81 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 fb1dc46b704..f400a0f5732 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/cf_spi.c b/drivers/spi/cf_spi.c
index 8fa6d351075..242dc9d8909 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 a11433db1e9..c1b21a8cd35 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 d338ff5a0bd..03c03ab4874 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 b22c9b3a09d..1912d676a68 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -9,6 +9,7 @@
  * Haikun Wang (B53464 at 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 5c76fd962e9..3dd98aadbaa 100644
--- a/drivers/spi/fsl_espi.c
+++ b/drivers/spi/fsl_espi.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c
index 128f95877f2..d4935a493c6 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 eb13cf349ef..58592a1dc4b 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 e90a06a66de..466355b0178 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -8,6 +8,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 56cb2174868..2db6163b31a 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 52e9eff743c..ffba2d84f1f 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 32bb8c8d212..01ffaea4c34 100644
--- a/drivers/spi/pl022_spi.c
+++ b/drivers/spi/pl022_spi.c
@@ -12,6 +12,7 @@
 #include <clk.h>
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/spi_pl022.h>
 #include <linux/io.h>
 #include <spi.h>
diff --git a/drivers/spi/renesas_rpc_spi.c b/drivers/spi/renesas_rpc_spi.c
index d0ff918af88..bf991ae3825 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 153bbf8b255..87e1e2417ce 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 0844a5a0a6a..b48fdb5b547 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 55a8eed8901..11b8137ec0a 100644
--- a/drivers/spi/spi-uclass.c
+++ b/drivers/spi/spi-uclass.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <spi.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 771744dfe43..5066f43ba61 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 f9846ee3665..d725a957485 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 ae16b45dcb4..293b16c6fe9 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 5fdbb494420..26cd83be76a 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 b6456685f8d..a6d3d6abb6f 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 3f39ef05f2d..1358bd10355 100644
--- a/drivers/spi/zynq_qspi.c
+++ b/drivers/spi/zynq_qspi.c
@@ -11,6 +11,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 9923931e36e..b4604a4b202 100644
--- a/drivers/spi/zynq_spi.c
+++ b/drivers/spi/zynq_spi.c
@@ -12,6 +12,7 @@
 #include <malloc.h>
 #include <spi.h>
 #include <time.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 e0e66870377..22e20db8bd4 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 2f430aed9cb..6b12a96ee3c 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 3f5414ed1f8..d1b47eebac7 100644
--- a/drivers/sysreset/sysreset-uclass.c
+++ b/drivers/sysreset/sysreset-uclass.c
@@ -15,6 +15,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <regmap.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/root.h>
diff --git a/drivers/sysreset/sysreset_mpc83xx.c b/drivers/sysreset/sysreset_mpc83xx.c
index 4e89971840f..f43fea0e8d8 100644
--- a/drivers/sysreset/sysreset_mpc83xx.c
+++ b/drivers/sysreset/sysreset_mpc83xx.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <sysreset.h>
 #include <wait_bit.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include "sysreset_mpc83xx.h"
diff --git a/drivers/sysreset/sysreset_sti.c b/drivers/sysreset/sysreset_sti.c
index 3482d2a0787..8465a62e185 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 83ec753802a..dc92e6b603e 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 4ca22089b8b..d8acfef4925 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/andes_plmt_timer.c b/drivers/timer/andes_plmt_timer.c
index cec86718c7f..041c4a9f324 100644
--- a/drivers/timer/andes_plmt_timer.c
+++ b/drivers/timer/andes_plmt_timer.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <dm.h>
 #include <timer.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/err.h>
 
diff --git a/drivers/timer/arc_timer.c b/drivers/timer/arc_timer.c
index 2dea9f40cba..3101e3bf53b 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 bebb2c2e904..1baa30bdbae 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 ba7704225a3..775529ff6de 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 bb0636a0719..567f30232bf 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 53cdf09810d..422d863d378 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 62d0e860e80..c383fde8651 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 abc0a1da05e..3f6c9299d78 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/tpm/tpm2_tis_spi.c b/drivers/tpm/tpm2_tis_spi.c
index 9a8145e6ba1..8ff6c461f19 100644
--- a/drivers/tpm/tpm2_tis_spi.c
+++ b/drivers/tpm/tpm2_tis_spi.c
@@ -19,6 +19,7 @@
 #include <log.h>
 #include <spi.h>
 #include <tpm-v2.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index 5e5c3c3e3dc..2a47f40bbab 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 c3cac9c5abd..9b91df88c53 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 3e6c1429d66..febbfe5d243 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 6a37c5d982a..9f1ec7ea926 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 5423d10abe7..eed67e77dc6 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 62414bb1102..9f6b8a2ae5f 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 caafa688993..516d6495359 100644
--- a/drivers/usb/host/ehci-mx5.c
+++ b/drivers/usb/host/ehci-mx5.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <usb.h>
 #include <errno.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-mx6.c b/drivers/usb/host/ehci-mx6.c
index 37b59758bb3..f9e72ba0d96 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 2768d409749..86eac41ea66 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 6fb7a7f6e09..77c2534da44 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 67488ddb504..e13a6810b8d 100644
--- a/drivers/usb/musb-new/da8xx.c
+++ b/drivers/usb/musb-new/da8xx.c
@@ -16,6 +16,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/device_compat.h>
 #include <dm/lists.h>
diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c
index da63cc2c224..fbd5f98f368 100644
--- a/drivers/usb/musb-new/omap2430.c
+++ b/drivers/usb/musb-new/omap2430.c
@@ -12,6 +12,7 @@
 #include <dm.h>
 #include <log.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/device_compat.h>
 #include <dm/lists.h>
diff --git a/drivers/usb/musb-new/pic32.c b/drivers/usb/musb-new/pic32.c
index 2fbe9bebf17..8995e78fee4 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 f4f26d86b3f..bf58f13480b 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 f1cf9160d56..93caa821a1d 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/am335x-fb.c b/drivers/video/am335x-fb.c
index 2707ff59c7d..2bf4d85d021 100644
--- a/drivers/video/am335x-fb.c
+++ b/drivers/video/am335x-fb.c
@@ -20,6 +20,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 <asm/utils.h>
 #include <linux/delay.h>
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index 38def2816b2..bfe76349fda 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 ae8ec26468f..e5e0aeec350 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 8399c6f74cf..7e9c6da4545 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 df6a761d2db..416a1c07b13 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 3f07f4eb297..27ff7163f34 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 4984dda8477..462c318126d 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 999ee1c14af..36595556f13 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 979b9091827..26068ab056f 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 042aa9a5b9e..c56eadc8237 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 e9d05c93946..60b97e40633 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 2587f53ac1d..cd742b2273c 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 1e6da0e1e25..7f9443828b2 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 4868839ff7d..2d095c6a28e 100644
--- a/drivers/video/meson/meson_vpu.c
+++ b/drivers/video/meson/meson_vpu.c
@@ -13,6 +13,7 @@
 #include <fdt_support.h>
 #include <log.h>
 #include <part.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/arch/mem.h>
 #include <dm/device-internal.h>
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
index 6589a2a09d2..d84adb004bc 100644
--- a/drivers/video/mxsfb.c
+++ b/drivers/video/mxsfb.c
@@ -10,6 +10,7 @@
 #include <env.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <dm/device_compat.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
diff --git a/drivers/video/rockchip/rk3288_vop.c b/drivers/video/rockchip/rk3288_vop.c
index 68d1507cda4..d1bf82c5b27 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 d5a7aa8ac1b..fe424d51f73 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 04f795a213c..24f3caabb01 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 f811913ce5e..2e235cb6c2c 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 9032eb430e7..7e864698697 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 d806f35debb..48470e6f556 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 0c5b40c30b8..e7c2e184ba5 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/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
index 9d5abacc2bf..8fae9f2246e 100644
--- a/drivers/video/stm32/stm32_dsi.c
+++ b/drivers/video/stm32/stm32_dsi.c
@@ -18,6 +18,7 @@
 #include <reset.h>
 #include <video.h>
 #include <video_bridge.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/gpio.h>
 #include <dm/device-internal.h>
diff --git a/drivers/video/stm32/stm32_ltdc.c b/drivers/video/stm32/stm32_ltdc.c
index 7fff735930b..bfd9d5991d3 100644
--- a/drivers/video/stm32/stm32_ltdc.c
+++ b/drivers/video/stm32/stm32_ltdc.c
@@ -14,6 +14,7 @@
 #include <reset.h>
 #include <video.h>
 #include <video_bridge.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/gpio.h>
 #include <dm/device-internal.h>
diff --git a/drivers/video/sunxi/sunxi_lcd.c b/drivers/video/sunxi/sunxi_lcd.c
index 49bf083a8d1..10f7e2ac234 100644
--- a/drivers/video/sunxi/sunxi_lcd.c
+++ b/drivers/video/sunxi/sunxi_lcd.c
@@ -12,6 +12,7 @@
 #include <backlight.h>
 #include <dm.h>
 #include <edid.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/lcdc.h>
diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
index 827ea13d13a..a32478ea627 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/video-uclass.c b/drivers/video/video-uclass.c
index 650891e49dd..1654d02860b 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-internal.h>
 #include <dm/uclass-internal.h>
diff --git a/drivers/video/videomodes.c b/drivers/video/videomodes.c
index 89003eea727..ed7373eac84 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 5da8e56505f..7af680a5c25 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 33f5c351d5b..e64831132dc 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 1cd8866ef8d..ff5c3243ce7 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 88708dc5e1c..c1b3e425c1c 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 d33e2ac3dc1..3284321299d 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 2eae431ba6c..b837b045fa5 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 23fef2147f8..0eea0ab388e 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 e632f077f34..28f7918c467 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 9bf1091ab32..778729d646e 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 1b3325bbe2a..84f2aca6ae7 100644
--- a/drivers/xen/pvblock.c
+++ b/drivers/xen/pvblock.c
@@ -6,6 +6,7 @@
 #include <blk.h>
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <malloc.h>
 #include <part.h>
diff --git a/env/callback.c b/env/callback.c
index 4054b9ef58b..638a02b28f7 100644
--- a/env/callback.c
+++ b/env/callback.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 
 #if defined(CONFIG_NEEDS_MANUAL_RELOC)
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/env/common.c b/env/common.c
index ed18378000f..d6d1fa3a1f7 100644
--- a/env/common.c
+++ b/env/common.c
@@ -14,6 +14,7 @@
 #include <env_internal.h>
 #include <log.h>
 #include <sort.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <search.h>
 #include <errno.h>
diff --git a/env/eeprom.c b/env/eeprom.c
index e300470ad0f..ba168014e24 100644
--- a/env/eeprom.c
+++ b/env/eeprom.c
@@ -12,6 +12,7 @@
 #include <eeprom.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <u-boot/crc.h>
 #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
diff --git a/env/env.c b/env/env.c
index 42c7d8155e1..51f55ec3fe8 100644
--- a/env/env.c
+++ b/env/env.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <env_internal.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/bug.h>
 
diff --git a/env/ext4.c b/env/ext4.c
index e666f7b9455..ec643f2226a 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -31,6 +31,7 @@
 #include <errno.h>
 #include <ext4fs.h>
 #include <mmc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/env/flash.c b/env/flash.c
index 722d5adf8b6..ebee9069e4e 100644
--- a/env/flash.c
+++ b/env/flash.c
@@ -15,6 +15,7 @@
 #include <env_internal.h>
 #include <flash.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <search.h>
diff --git a/env/mmc.c b/env/mmc.c
index 4e67180b23a..c9ccaef461c 100644
--- a/env/mmc.c
+++ b/env/mmc.c
@@ -6,6 +6,7 @@
 /* #define DEBUG */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 #include <command.h>
 #include <env.h>
diff --git a/env/nand.c b/env/nand.c
index 0d7ee19bc23..be82e97d69c 100644
--- a/env/nand.c
+++ b/env/nand.c
@@ -17,6 +17,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <memalign.h>
diff --git a/env/nowhere.c b/env/nowhere.c
index d33fdf27d0c..23028661084 100644
--- a/env/nowhere.c
+++ b/env/nowhere.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/env/nvram.c b/env/nvram.c
index 7c8ea26f968..f4126858b5b 100644
--- a/env/nvram.c
+++ b/env/nvram.c
@@ -27,6 +27,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <search.h>
 #include <errno.h>
diff --git a/env/onenand.c b/env/onenand.c
index a2477cef9be..c8da3ff8114 100644
--- a/env/onenand.c
+++ b/env/onenand.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <command.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <search.h>
diff --git a/env/remote.c b/env/remote.c
index d93a137376e..166bebf52b5 100644
--- a/env/remote.c
+++ b/env/remote.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <command.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <u-boot/crc.h>
 
diff --git a/env/sf.c b/env/sf.c
index 937778aa37d..f01d1dbcb21 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <uuid.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <u-boot/crc.h>
 
diff --git a/env/ubi.c b/env/ubi.c
index 5502efe28b6..eb21c4f38b4 100644
--- a/env/ubi.c
+++ b/env/ubi.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 #include <command.h>
 #include <env.h>
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 5fb460454f2..3e326fc6405 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -1,5 +1,6 @@
 #include <common.h>
 #include <exports.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 struct cmd_tbl;
diff --git a/fs/ext4/ext4_journal.c b/fs/ext4/ext4_journal.c
index 1a340b4764c..361baa35c92 100644
--- a/fs/ext4/ext4_journal.c
+++ b/fs/ext4/ext4_journal.c
@@ -19,6 +19,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <ext_common.h>
+#include <asm/global_data.h>
 #include "ext4_common.h"
 
 static struct revoke_blk_list *revk_blk_list;
diff --git a/fs/ext4/ext4_journal.h b/fs/ext4/ext4_journal.h
index 43fb8e76641..8c974cff609 100644
--- a/fs/ext4/ext4_journal.h
+++ b/fs/ext4/ext4_journal.h
@@ -17,6 +17,7 @@
 #ifndef __EXT4_JRNL__
 #define __EXT4_JRNL__
 
+#include <asm/global_data.h>
 #define EXT4_FEATURE_COMPAT_HAS_JOURNAL		0x0004
 
 #define EXT2_JOURNAL_INO		8	/* Journal inode */
diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
index 4c89152ce4a..691d7e29b6d 100644
--- a/fs/ext4/ext4fs.c
+++ b/fs/ext4/ext4fs.c
@@ -24,11 +24,11 @@
 #include <blk.h>
 #include <ext_common.h>
 #include <ext4fs.h>
-#include "ext4_common.h"
 #include <div64.h>
 #include <malloc.h>
 #include <part.h>
 #include <uuid.h>
+#include "ext4_common.h"
 
 int ext4fs_symlinknest;
 struct ext_filesystem ext_fs;
diff --git a/fs/fs.c b/fs/fs.c
index 29ad4d1a695..634e7cea81d 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -20,6 +20,7 @@
 #include <sandboxfs.h>
 #include <ubifs_uboot.h>
 #include <btrfs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <linux/math64.h>
diff --git a/fs/reiserfs/reiserfs_private.h b/fs/reiserfs/reiserfs_private.h
index c8867e24fef..5936f214005 100644
--- a/fs/reiserfs/reiserfs_private.h
+++ b/fs/reiserfs/reiserfs_private.h
@@ -15,6 +15,8 @@
  * from the original reiser fs code, as found in the linux kernel.
  */
 
+#include <compiler.h>
+
 #ifndef __BYTE_ORDER
 #if defined(__LITTLE_ENDIAN) && !defined(__BIG_ENDIAN)
 #define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 70beb848e1b..d6be5c947d7 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -17,6 +17,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <memalign.h>
+#include <asm/global_data.h>
 #include "ubifs.h"
 #include <part.h>
 #include <dm/devres.h>
diff --git a/include/audio_codec.h b/include/audio_codec.h
index 25870995469..2ea4ff096e6 100644
--- a/include/audio_codec.h
+++ b/include/audio_codec.h
@@ -7,6 +7,8 @@
 #ifndef __AUDIO_CODEC_H__
 #define __AUDIO_CODEC_H__
 
+struct udevice;
+
 /*
  * An audio codec turns digital data into sound with various parameters to
  * control its operation.
diff --git a/include/axi.h b/include/axi.h
index 3e40692cdfd..59fb0b2e458 100644
--- a/include/axi.h
+++ b/include/axi.h
@@ -7,6 +7,8 @@
 #ifndef _AXI_H_
 #define _AXI_H_
 
+struct udevice;
+
 /**
  * enum axi_size_t - Determine size of AXI transfer
  * @AXI_SIZE_8:  AXI sransfer is 8-bit wide
diff --git a/include/backlight.h b/include/backlight.h
index ac59eb293b4..b44da50bc30 100644
--- a/include/backlight.h
+++ b/include/backlight.h
@@ -7,6 +7,8 @@
 #ifndef _BACKLIGHT_H
 #define _BACKLIGHT_H
 
+struct udevice;
+
 enum {
 	BACKLIGHT_MAX		= 100,
 	BACKLIGHT_MIN		= 0,
diff --git a/include/board.h b/include/board.h
index 678b652b0aa..a43f35a021b 100644
--- a/include/board.h
+++ b/include/board.h
@@ -4,6 +4,8 @@
  * Mario Six,  Guntermann & Drunck GmbH, mario.six at gdsys.cc
  */
 
+struct udevice;
+
 /*
  * This uclass encapsulates hardware methods to gather information about a
  * board or a specific device such as hard-wired GPIOs on GPIO expanders,
@@ -32,6 +34,7 @@
  */
 
 #if CONFIG_IS_ENABLED(BOARD)
+
 struct board_ops {
 	/**
 	 * detect() - Run the hardware info detection procedure for this
diff --git a/include/bootcount.h b/include/bootcount.h
index cd304039849..bb235407e30 100644
--- a/include/bootcount.h
+++ b/include/bootcount.h
@@ -7,6 +7,7 @@
 #define _BOOTCOUNT_H__
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/byteorder.h>
 #include <env.h>
diff --git a/include/cache.h b/include/cache.h
index 32f59fd8f71..ecb7956efd5 100644
--- a/include/cache.h
+++ b/include/cache.h
@@ -6,6 +6,8 @@
 #ifndef __CACHE_H
 #define __CACHE_H
 
+struct udevice;
+
 /*
  * Structure for the cache controller
  */
diff --git a/include/common.h b/include/common.h
index f0679ac7054..71df59bca0e 100644
--- a/include/common.h
+++ b/include/common.h
@@ -23,7 +23,6 @@
 #include <stdio.h>
 #include <linux/kernel.h>
 #include <asm/u-boot.h> /* boot information for Linux kernel */
-#include <asm/global_data.h>	/* global data used for startup functions */
 #include <display_options.h>
 #include <vsprintf.h>
 #endif	/* __ASSEMBLY__ */
diff --git a/include/cpu.h b/include/cpu.h
index 78e88b9ed09..089e74c262b 100644
--- a/include/cpu.h
+++ b/include/cpu.h
@@ -7,6 +7,8 @@
 #ifndef __CPU_H
 #define __CPU_H
 
+struct udevice;
+
 /**
  * struct cpu_platdata - platform data for a CPU
  * @cpu_id:	   Platform-specific way of identifying the CPU.
diff --git a/include/dm/device-internal.h b/include/dm/device-internal.h
index 1dcc22f6891..a26e92ed350 100644
--- a/include/dm/device-internal.h
+++ b/include/dm/device-internal.h
@@ -10,6 +10,7 @@
 #ifndef _DM_DEVICE_INTERNAL_H
 #define _DM_DEVICE_INTERNAL_H
 
+#include <asm/global_data.h>
 #include <dm/ofnode.h>
 
 struct device_node;
diff --git a/include/dm/read.h b/include/dm/read.h
index 0585eb12281..a131f3fba3c 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -9,6 +9,7 @@
 #ifndef _DM_READ_H
 #define _DM_READ_H
 
+#include <asm/global_data.h>
 #include <linux/errno.h>
 
 #include <dm/device.h>
diff --git a/include/dm/root.h b/include/dm/root.h
index c8d629ba9bf..3a3cc106b11 100644
--- a/include/dm/root.h
+++ b/include/dm/root.h
@@ -9,6 +9,7 @@
 #ifndef _DM_ROOT_H_
 #define _DM_ROOT_H_
 
+#include <asm/global_data.h>
 struct udevice;
 
 /**
diff --git a/include/dma.h b/include/dma.h
index 6ff591977b1..a64580a61ff 100644
--- a/include/dma.h
+++ b/include/dma.h
@@ -13,6 +13,8 @@
 #include <linux/errno.h>
 #include <linux/types.h>
 
+struct udevice;
+
 /*
  * enum dma_direction - dma transfer direction indicator
  * @DMA_MEM_TO_MEM: Memcpy mode
diff --git a/include/exports.h b/include/exports.h
index b3005540916..e89cc333e52 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -2,6 +2,7 @@
 #define __EXPORTS_H__
 
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #ifndef __ASSEMBLY__
diff --git a/include/ext_common.h b/include/ext_common.h
index bc3324172a0..30a0c248414 100644
--- a/include/ext_common.h
+++ b/include/ext_common.h
@@ -20,6 +20,8 @@
 #ifndef __EXT_COMMON__
 #define __EXT_COMMON__
 
+#include <compiler.h>
+
 struct cmd_tbl;
 
 #define SECTOR_SIZE		0x200
diff --git a/include/i2c.h b/include/i2c.h
index 880aa8032b7..3e7dcb5bad2 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -17,6 +17,7 @@
 #define _I2C_H_
 
 #include <linker_lists.h>
+#include <asm/global_data.h>
 
 /*
  * For now there are essentially two parts to this file - driver model
diff --git a/include/image-sparse.h b/include/image-sparse.h
index 234c237b845..0572dbd0a28 100644
--- a/include/image-sparse.h
+++ b/include/image-sparse.h
@@ -3,6 +3,7 @@
  * Copyright 2014 Broadcom Corporation.
  */
 
+#include <compiler.h>
 #include <part.h>
 #include <sparse_format.h>
 
diff --git a/include/init.h b/include/init.h
index 0f48ccb57ad..3b00e1d8aca 100644
--- a/include/init.h
+++ b/include/init.h
@@ -10,16 +10,15 @@
 #ifndef __INIT_H_
 #define __INIT_H_	1
 
-#include <linux/types.h>
-
-struct global_data;
-
 #ifndef __ASSEMBLY__		/* put C only stuff in this section */
 
+#include <linux/types.h>
+
 /* Avoid using CONFIG_EFI_STUB directly as we may boot from other loaders */
 #ifdef CONFIG_EFI_STUB
 #define ll_boot_init()	false
 #else
+#include <asm/global_data.h>
 #define ll_boot_init()	(!(gd->flags & GD_FLG_SKIP_LL_INIT))
 #endif
 
diff --git a/include/initcall.h b/include/initcall.h
index 41b74dc52d2..e367a2ba044 100644
--- a/include/initcall.h
+++ b/include/initcall.h
@@ -6,6 +6,7 @@
 #ifndef __INITCALL_H
 #define __INITCALL_H
 
+#include <asm/global_data.h>
 typedef int (*init_fnc_t)(void);
 
 #include <log.h>
diff --git a/include/led.h b/include/led.h
index 7bfdddfd6fa..02766fa56fb 100644
--- a/include/led.h
+++ b/include/led.h
@@ -7,6 +7,8 @@
 #ifndef __LED_H
 #define __LED_H
 
+struct udevice;
+
 /**
  * struct led_uc_plat - Platform data the uclass stores about each device
  *
diff --git a/include/libata.h b/include/libata.h
index b03b29960df..10e6057ef4a 100644
--- a/include/libata.h
+++ b/include/libata.h
@@ -10,8 +10,6 @@
 #ifndef __LIBATA_H__
 #define __LIBATA_H__
 
-#include <common.h>
-
 enum {
 	/* various global constants */
 	ATA_MAX_DEVICES		= 2,	/* per bus/port */
diff --git a/include/misc.h b/include/misc.h
index 12d1325ee26..82ec2ce7936 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -6,6 +6,8 @@
 #ifndef _MISC_H_
 #define _MISC_H_
 
+struct udevice;
+
 /**
  * misc_read() - Read the device to buffer, optional.
  * @dev: the device
diff --git a/include/netdev.h b/include/netdev.h
index b1eb5fc1046..0ad9f8dc3a5 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -12,6 +12,8 @@
 #define _NETDEV_H_
 #include <phy_interface.h>
 
+struct udevice;
+
 /*
  * Board and CPU-specific initialization functions
  * board_eth_init() has highest priority.  cpu_eth_init() only
diff --git a/include/pci.h b/include/pci.h
index d1ccf6c9636..bcc9f07e805 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -843,9 +843,7 @@ int pci_last_busno(void);
 extern void pci_mpc85xx_init (struct pci_controller *hose);
 #endif
 
-#ifdef CONFIG_PCIE_IMX
 extern void imx_pcie_remove(void);
-#endif
 
 #if !defined(CONFIG_DM_PCI) || defined(CONFIG_DM_PCI_COMPAT)
 /**
diff --git a/include/power/as3722.h b/include/power/as3722.h
index 27828570559..f5398123f2a 100644
--- a/include/power/as3722.h
+++ b/include/power/as3722.h
@@ -6,6 +6,8 @@
 #ifndef __POWER_AS3722_H__
 #define __POWER_AS3722_H__
 
+struct udevice;
+
 #define AS3722_GPIO_OUTPUT_VDDH (1 << 0)
 #define AS3722_GPIO_INVERT (1 << 1)
 
diff --git a/include/power/regulator.h b/include/power/regulator.h
index 7f278e8c7dc..46a3c131e2a 100644
--- a/include/power/regulator.h
+++ b/include/power/regulator.h
@@ -7,6 +7,8 @@
 #ifndef _INCLUDE_REGULATOR_H_
 #define _INCLUDE_REGULATOR_H_
 
+struct udevice;
+
 /**
  * U-Boot Voltage/Current Regulator
  * ================================
diff --git a/include/pwm.h b/include/pwm.h
index 54ae3e64c31..f9959706ceb 100644
--- a/include/pwm.h
+++ b/include/pwm.h
@@ -10,6 +10,8 @@
 #ifndef _pwm_h_
 #define _pwm_h_
 
+struct udevice;
+
 /* struct pwm_ops: Operations for the PWM uclass */
 struct pwm_ops {
 	/**
diff --git a/include/ram.h b/include/ram.h
index 67e22d76c93..273d4153940 100644
--- a/include/ram.h
+++ b/include/ram.h
@@ -7,6 +7,8 @@
 #ifndef __RAM_H
 #define __RAM_H
 
+struct udevice;
+
 struct ram_info {
 	phys_addr_t base;
 	size_t size;
diff --git a/include/scsi.h b/include/scsi.h
index 96cb7266762..61619e89a7f 100644
--- a/include/scsi.h
+++ b/include/scsi.h
@@ -9,6 +9,8 @@
 #include <asm/cache.h>
 #include <linux/dma-direction.h>
 
+struct udevice;
+
 struct scsi_cmd {
 	unsigned char		cmd[16];					/* command				   */
 	/* for request sense */
diff --git a/include/soc.h b/include/soc.h
index a55eb1b5724..a52a300a84a 100644
--- a/include/soc.h
+++ b/include/soc.h
@@ -9,6 +9,8 @@
 
 #define SOC_MAX_STR_SIZE	128
 
+struct udevice;
+
 /**
  * struct soc_attr - Contains SoC identify information to be used in
  *		     SoC matching. An array of these structs
diff --git a/include/sysreset.h b/include/sysreset.h
index 61295e3fcbb..8bb094d463b 100644
--- a/include/sysreset.h
+++ b/include/sysreset.h
@@ -7,6 +7,8 @@
 #ifndef __SYSRESET_H
 #define __SYSRESET_H
 
+struct udevice;
+
 enum sysreset_t {
 	SYSRESET_WARM,	/* Reset CPU, keep GPIOs active */
 	SYSRESET_COLD,	/* Reset CPU and GPIOs */
diff --git a/include/tee.h b/include/tee.h
index 8207d0c02af..99367b258e2 100644
--- a/include/tee.h
+++ b/include/tee.h
@@ -7,6 +7,8 @@
 #define __TEE_H
 
 #include <linux/bitops.h>
+#include <linux/list.h>
+
 #define TEE_UUID_LEN		16
 
 #define TEE_GEN_CAP_GP          BIT(0)	/* GlobalPlatform compliant TEE */
diff --git a/include/tlv_eeprom.h b/include/tlv_eeprom.h
index 1de2fe2337c..9f4a109dca9 100644
--- a/include/tlv_eeprom.h
+++ b/include/tlv_eeprom.h
@@ -7,6 +7,8 @@
 #ifndef __TLV_EEPROM_H_
 #define __TLV_EEPROM_H_
 
+#include <compiler.h>
+
 /*
  *  The Definition of the TlvInfo EEPROM format can be found at onie.org or
  *  github.com/onie
diff --git a/include/tpm-common.h b/include/tpm-common.h
index e29b10b1766..c1309a2735d 100644
--- a/include/tpm-common.h
+++ b/include/tpm-common.h
@@ -9,6 +9,8 @@
 
 #include <command.h>
 
+struct udevice;
+
 enum tpm_duration {
 	TPM_SHORT = 0,
 	TPM_MEDIUM = 1,
diff --git a/include/tpm-v1.h b/include/tpm-v1.h
index 59ad4aecf42..8f6cc28a9ea 100644
--- a/include/tpm-v1.h
+++ b/include/tpm-v1.h
@@ -10,6 +10,8 @@
 #include <tpm-common.h>
 #include <linux/bitops.h>
 
+struct udevice;
+
 /* Useful constants */
 enum {
 	TPM_REQUEST_HEADER_LENGTH	= 10,
diff --git a/include/tpm-v2.h b/include/tpm-v2.h
index f6c045d3548..3b2fe449007 100644
--- a/include/tpm-v2.h
+++ b/include/tpm-v2.h
@@ -11,6 +11,8 @@
 
 #define TPM2_DIGEST_LEN		32
 
+struct udevice;
+
 /**
  * TPM2 Structure Tags for command/response buffers.
  *
diff --git a/include/tps6586x.h b/include/tps6586x.h
index 785eb39229d..aa4270c65e3 100644
--- a/include/tps6586x.h
+++ b/include/tps6586x.h
@@ -7,6 +7,8 @@
 #ifndef _TPS6586X_H_
 #define _TPS6586X_H_
 
+struct udevice;
+
 enum {
 	/* SM0-2 PWM/PFM Mode Selection */
 	TPS6586X_PWM_SM0	= 1 << 0,
diff --git a/include/ufs.h b/include/ufs.h
index 0592a763dd9..bda135cf184 100644
--- a/include/ufs.h
+++ b/include/ufs.h
@@ -1,6 +1,9 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 #ifndef _UFS_H
 #define _UFS_H
+
+struct udevice;
+
 /**
  * ufs_probe() - initialize all devices in the UFS uclass
  *
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c
index 908d8903893..413d9048d29 100644
--- a/lib/acpi/acpi_table.c
+++ b/lib/acpi/acpi_table.c
@@ -13,6 +13,7 @@
 #include <tables_csum.h>
 #include <version.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 
 int acpi_create_dmar(struct acpi_dmar *dmar, enum dmar_flags flags)
diff --git a/lib/asm-offsets.c b/lib/asm-offsets.c
index b17651ed63d..ee592cfda1c 100644
--- a/lib/asm-offsets.c
+++ b/lib/asm-offsets.c
@@ -13,6 +13,7 @@
 
 #include <common.h>
 #include <asm-offsets.h>
+#include <asm/global_data.h>
 
 #include <linux/kbuild.h>
 
diff --git a/lib/efi/efi_app.c b/lib/efi/efi_app.c
index b7e19c34750..907bacd716a 100644
--- a/lib/efi/efi_app.c
+++ b/lib/efi/efi_app.c
@@ -15,6 +15,7 @@
 #include <errno.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/err.h>
 #include <linux/types.h>
 #include <efi.h>
diff --git a/lib/efi/efi_info.c b/lib/efi/efi_info.c
index 35a8a9325f8..4d78923c4d4 100644
--- a/lib/efi/efi_info.c
+++ b/lib/efi/efi_info.c
@@ -9,6 +9,7 @@
 #include <efi.h>
 #include <errno.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 
 int efi_info_get(enum efi_entry_t type, void **datap, int *sizep)
 {
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index b26ac9fbfc7..7be5b089e36 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -19,6 +19,7 @@
 #include <u-boot/crc.h>
 #include <usb.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <linux/libfdt_env.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index 53f6d970f73..1206b2d7a2c 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <video.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index 11e755363e4..448e8231d38 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -12,6 +12,7 @@
 #include <mapmem.h>
 #include <watchdog.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/list_sort.h>
 #include <linux/sizes.h>
 
diff --git a/lib/efi_loader/efi_rng.c b/lib/efi_loader/efi_rng.c
index a8a87007b65..2ff0fdf9db1 100644
--- a/lib/efi_loader/efi_rng.c
+++ b/lib/efi_loader/efi_rng.c
@@ -11,6 +11,7 @@
 #include <efi_rng.h>
 #include <log.h>
 #include <rng.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 1fa1595e402..dd17cbefe7d 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -14,6 +14,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <rtc.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 
 /* For manual relocation support */
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index ee1bd41b081..5990b161b14 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -21,6 +21,7 @@
 #include <mapmem.h>
 #include <linux/libfdt.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <linux/ctype.h>
 #include <linux/lzo.h>
diff --git a/lib/optee/optee.c b/lib/optee/optee.c
index 9e6606568f3..4dcf6f93099 100644
--- a/lib/optee/optee.c
+++ b/lib/optee/optee.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <fdtdec.h>
 #include <image.h>
 #include <log.h>
 #include <malloc.h>
diff --git a/lib/time.c b/lib/time.c
index 88bc50405ff..2a0246ade11 100644
--- a/lib/time.c
+++ b/lib/time.c
@@ -13,6 +13,7 @@
 #include <timer.h>
 #include <watchdog.h>
 #include <div64.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/lib/trace.c b/lib/trace.c
index defc9716d80..9e34b195375 100644
--- a/lib/trace.c
+++ b/lib/trace.c
@@ -7,6 +7,7 @@
 #include <mapmem.h>
 #include <time.h>
 #include <trace.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 
diff --git a/lib/zlib/zlib.c b/lib/zlib/zlib.c
index 90e05e7d4d9..85193d1aa34 100644
--- a/lib/zlib/zlib.c
+++ b/lib/zlib/zlib.c
@@ -13,6 +13,7 @@
  */
 
 #include <common.h>
+#include <compiler.h>
 
 #ifdef CONFIG_GZIP_COMPRESSED
 #define NO_DUMMY_DECL
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index e14695c0f16..2ba348876a2 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <net/pcap.h>
diff --git a/net/eth_legacy.c b/net/eth_legacy.c
index 6e0c0587616..1f86f89b8f5 100644
--- a/net/eth_legacy.c
+++ b/net/eth_legacy.c
@@ -13,6 +13,7 @@
 #include <log.h>
 #include <net.h>
 #include <phy.h>
+#include <asm/global_data.h>
 #include <linux/bug.h>
 #include <linux/errno.h>
 #include <net/pcap.h>
diff --git a/net/tftp.c b/net/tftp.c
index 6fdb1a821a8..ecbb64122f5 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -14,6 +14,7 @@
 #include <log.h>
 #include <mapmem.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <net/tftp.h>
 #include "bootp.h"
 #ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
diff --git a/post/drivers/memory.c b/post/drivers/memory.c
index e90ada3ce85..281989da6fa 100644
--- a/post/drivers/memory.c
+++ b/post/drivers/memory.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 /* Memory test
  *
diff --git a/post/post.c b/post/post.c
index 0f1fe8d9057..c0b466ffef7 100644
--- a/post/post.c
+++ b/post/post.c
@@ -14,6 +14,7 @@
 #include <watchdog.h>
 #include <div64.h>
 #include <post.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_SYS_POST_HOTKEYS_GPIO
 #include <asm/gpio.h>
diff --git a/test/bloblist.c b/test/bloblist.c
index 0bb9e2d81e7..799e822224f 100644
--- a/test/bloblist.c
+++ b/test/bloblist.c
@@ -7,6 +7,7 @@
 #include <bloblist.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 #include <test/suites.h>
 #include <test/test.h>
diff --git a/test/dm/acpi.c b/test/dm/acpi.c
index 1f252a8d454..eaa10015b0b 100644
--- a/test/dm/acpi.c
+++ b/test/dm/acpi.c
@@ -17,6 +17,7 @@
 #include <acpi/acpigen.h>
 #include <acpi/acpi_device.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 #include <dm/test.h>
 #include <test/ut.h>
diff --git a/test/dm/blk.c b/test/dm/blk.c
index f34c13f7511..4eef4048de4 100644
--- a/test/dm/blk.c
+++ b/test/dm/blk.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <part.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 #include <dm/test.h>
 #include <test/test.h>
diff --git a/test/dm/bus.c b/test/dm/bus.c
index 27b72666457..9cab1d769f3 100644
--- a/test/dm/bus.c
+++ b/test/dm/bus.c
@@ -9,6 +9,7 @@
 #include <os.h>
 #endif
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/device-internal.h>
 #include <dm/test.h>
diff --git a/test/dm/core.c b/test/dm/core.c
index 6f380a574cf..4dac4cd103b 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -11,6 +11,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/root.h>
 #include <dm/util.h>
diff --git a/test/dm/fdtdec.c b/test/dm/fdtdec.c
index 017157a2ecd..1f630ea3eee 100644
--- a/test/dm/fdtdec.c
+++ b/test/dm/fdtdec.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/of_extra.h>
 #include <dm/test.h>
 #include <test/ut.h>
diff --git a/test/dm/mux-emul.c b/test/dm/mux-emul.c
index 141fd4d9083..0bc8ef07697 100644
--- a/test/dm/mux-emul.c
+++ b/test/dm/mux-emul.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <mux.h>
 #include <mux-internal.h>
+#include <asm/global_data.h>
 #include <dm/test.h>
 #include <test/ut.h>
 
diff --git a/test/dm/ram.c b/test/dm/ram.c
index f01236c8cd5..f624343138d 100644
--- a/test/dm/ram.c
+++ b/test/dm/ram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <ram.h>
+#include <asm/global_data.h>
 #include <dm/test.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c
index cc12419ea0f..7c4ffea58d9 100644
--- a/test/dm/test-fdt.c
+++ b/test/dm/test-fdt.c
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/test.h>
 #include <dm/root.h>
diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 38b7b1481a7..8dc59fc636f 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 #include <dm/test.h>
 #include <dm/root.h>
diff --git a/test/lib/test_print.c b/test/lib/test_print.c
index 1d497d00413..12972f1bcd6 100644
--- a/test/lib/test_print.c
+++ b/test/lib/test_print.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <command.h>
 #include <display_options.h>
+#include <asm/global_data.h>
 #include <test/lib.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/log/cont_test.c b/test/log/cont_test.c
index 68ca1d262c4..16379a74be6 100644
--- a/test/log/cont_test.c
+++ b/test/log/cont_test.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/test.h>
 #include <test/suites.h>
diff --git a/test/log/nolog_test.c b/test/log/nolog_test.c
index c418ed07c9a..cb4fb3db9a2 100644
--- a/test/log/nolog_test.c
+++ b/test/log/nolog_test.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/test.h>
 #include <test/suites.h>
diff --git a/test/log/syslog_test.c b/test/log/syslog_test.c
index a058d8f5695..4db649db822 100644
--- a/test/log/syslog_test.c
+++ b/test/log/syslog_test.c
@@ -11,6 +11,7 @@
 #define LOG_DEBUG
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <hexdump.h>
 #include <test/log.h>
diff --git a/test/log/syslog_test_ndebug.c b/test/log/syslog_test_ndebug.c
index 84844a39440..4438791044d 100644
--- a/test/log/syslog_test_ndebug.c
+++ b/test/log/syslog_test_ndebug.c
@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <hexdump.h>
 #include <test/log.h>
diff --git a/test/ut.c b/test/ut.c
index 95bdd66de6a..556e9694ee1 100644
--- a/test/ut.c
+++ b/test/ut.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <console.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <test/test.h>
 #include <test/ut.h>
 
-- 
2.29.1.341.ge80a0c044ae-goog

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

* [PATCH 2/4] common: Drop display_options.h from common header
  2020-10-31  3:38 [PATCH 0/4] common: Drop remaining includes in common.h (part A) Simon Glass
  2020-10-31  3:38 ` [PATCH 1/4] common: Drop asm/global_data.h from common header Simon Glass
@ 2020-10-31  3:38 ` Simon Glass
  2020-10-31  3:38 ` [PATCH 3/4] common: Drop linux/printk.h " Simon Glass
  2020-10-31  3:38 ` [PATCH 4/4] Fix code style for time functions Simon Glass
  3 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2020-10-31  3:38 UTC (permalink / raw)
  To: u-boot

Move this out of the common header and include it only where needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/cpu/armv7/s5p-common/cpu_info.c      | 1 +
 arch/arm/mach-at91/arm926ejs/eflash.c         | 1 +
 arch/arm/mach-imx/hab.c                       | 1 +
 arch/powerpc/cpu/mpc85xx/cpu.c                | 1 +
 arch/powerpc/cpu/mpc85xx/cpu_init.c           | 1 +
 arch/powerpc/cpu/mpc85xx/tlb.c                | 1 +
 arch/powerpc/cpu/mpc86xx/cpu.c                | 1 +
 arch/powerpc/cpu/mpc8xx/cpu.c                 | 1 +
 arch/powerpc/cpu/mpc8xxx/law.c                | 1 +
 arch/x86/cpu/broadwell/refcode.c              | 1 +
 board/corscience/tricorder/tricorder-eeprom.c | 1 +
 board/freescale/ls1028a/ls1028a.c             | 1 +
 board/freescale/ls1088a/ls1088a.c             | 1 +
 board/freescale/ls2080a/ls2080a.c             | 1 +
 board/freescale/ls2080aqds/ls2080aqds.c       | 1 +
 board/freescale/ls2080ardb/ls2080ardb.c       | 1 +
 board/freescale/lx2160a/lx2160a.c             | 1 +
 board/freescale/mpc8541cds/mpc8541cds.c       | 1 +
 board/freescale/mpc8548cds/mpc8548cds.c       | 1 +
 board/freescale/mpc8555cds/mpc8555cds.c       | 1 +
 board/freescale/mpc8568mds/mpc8568mds.c       | 1 +
 board/gdsys/p1022/controlcenterd-id.c         | 1 +
 board/kontron/sl28/sl28.c                     | 1 +
 board/kosagi/novena/novena.c                  | 1 +
 board/sbc8548/sbc8548.c                       | 1 +
 cmd/acpi.c                                    | 1 +
 cmd/axi.c                                     | 1 +
 cmd/bcb.c                                     | 1 +
 cmd/cpu.c                                     | 1 +
 cmd/fpgad.c                                   | 1 +
 cmd/io.c                                      | 1 +
 cmd/mem.c                                     | 1 +
 cmd/mmc.c                                     | 1 +
 cmd/rtc.c                                     | 1 +
 cmd/sf.c                                      | 1 +
 cmd/version.c                                 | 1 +
 common/bloblist.c                             | 1 +
 common/board_f.c                              | 1 +
 common/board_r.c                              | 1 +
 common/console.c                              | 1 +
 common/image.c                                | 1 +
 common/splash.c                               | 1 +
 drivers/core/acpi.c                           | 1 +
 drivers/cpu/bmips_cpu.c                       | 1 +
 drivers/ddr/fsl/main.c                        | 1 +
 drivers/mmc/gen_atmel_mci.c                   | 1 +
 drivers/mtd/onenand/onenand_uboot.c           | 1 +
 drivers/mtd/spi/sf_dataflash.c                | 1 +
 drivers/mtd/spi/spi-nor-core.c                | 1 +
 drivers/net/xilinx_axi_emac.c                 | 1 +
 drivers/tpm/tpm_atmel_twi.c                   | 1 +
 drivers/tpm/tpm_tis_sandbox.c                 | 1 +
 drivers/usb/gadget/pxa27x_udc.c               | 1 +
 drivers/xen/gnttab.c                          | 1 +
 fs/fs.c                                       | 1 +
 include/common.h                              | 1 -
 include/display_options.h                     | 1 +
 include/fsl_qe.h                              | 2 ++
 lib/aes.c                                     | 1 +
 lib/display_options.c                         | 1 +
 lib/fdtdec.c                                  | 1 +
 net/nfs.c                                     | 1 +
 net/tftp.c                                    | 1 +
 63 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/arch/arm/cpu/armv7/s5p-common/cpu_info.c b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
index d910282e2b2..fb2920950d4 100644
--- a/arch/arm/cpu/armv7/s5p-common/cpu_info.c
+++ b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
@@ -4,6 +4,7 @@
  * Minkyu Kang <mk7.kang@samsung.com>
  */
 #include <common.h>
+#include <display_options.h>
 #include <fdtdec.h>
 #include <init.h>
 #include <asm/global_data.h>
diff --git a/arch/arm/mach-at91/arm926ejs/eflash.c b/arch/arm/mach-at91/arm926ejs/eflash.c
index 23c24936edf..ef579e6089c 100644
--- a/arch/arm/mach-at91/arm926ejs/eflash.c
+++ b/arch/arm/mach-at91/arm926ejs/eflash.c
@@ -43,6 +43,7 @@
  * do a read-modify-write for partially programmed pages
  */
 #include <common.h>
+#include <display_options.h>
 #include <flash.h>
 #include <log.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c
index d0757d8b66a..7510735bf46 100644
--- a/arch/arm/mach-imx/hab.c
+++ b/arch/arm/mach-imx/hab.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <config.h>
+#include <display_options.h>
 #include <fuse.h>
 #include <mapmem.h>
 #include <image.h>
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 5170610f041..d35c9780172 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -11,6 +11,7 @@
 #include <config.h>
 #include <common.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <init.h>
 #include <irq_func.h>
 #include <log.h>
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index e0f0f7ecda6..fcc2c7be31a 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <env.h>
 #include <init.h>
 #include <net.h>
diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c
index 973b6fbe4b7..927df4e5b66 100644
--- a/arch/powerpc/cpu/mpc85xx/tlb.c
+++ b/arch/powerpc/cpu/mpc85xx/tlb.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <asm/bitops.h>
 #include <asm/global_data.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/cpu/mpc86xx/cpu.c b/arch/powerpc/cpu/mpc86xx/cpu.c
index 98b42bff7a3..05160778566 100644
--- a/arch/powerpc/cpu/mpc86xx/cpu.c
+++ b/arch/powerpc/cpu/mpc86xx/cpu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <log.h>
 #include <time.h>
 #include <vsprintf.h>
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 893aecef21c..f79a06d19a2 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -18,6 +18,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <net.h>
 #include <time.h>
 #include <vsprintf.h>
diff --git a/arch/powerpc/cpu/mpc8xxx/law.c b/arch/powerpc/cpu/mpc8xxx/law.c
index cf03f410190..ff4b878aa9c 100644
--- a/arch/powerpc/cpu/mpc8xxx/law.c
+++ b/arch/powerpc/cpu/mpc8xxx/law.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <asm/bitops.h>
 #include <asm/global_data.h>
 #include <linux/compiler.h>
diff --git a/arch/x86/cpu/broadwell/refcode.c b/arch/x86/cpu/broadwell/refcode.c
index 6c04dde992d..1e0a34de0c8 100644
--- a/arch/x86/cpu/broadwell/refcode.c
+++ b/arch/x86/cpu/broadwell/refcode.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <errno.h>
 #include <init.h>
 #include <log.h>
diff --git a/board/corscience/tricorder/tricorder-eeprom.c b/board/corscience/tricorder/tricorder-eeprom.c
index 192af304d9f..d0b91864c27 100644
--- a/board/corscience/tricorder/tricorder-eeprom.c
+++ b/board/corscience/tricorder/tricorder-eeprom.c
@@ -6,6 +6,7 @@
  */
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <eeprom.h>
 #include <i2c.h>
 #include <u-boot/crc.h>
diff --git a/board/freescale/ls1028a/ls1028a.c b/board/freescale/ls1028a/ls1028a.c
index f3c1d958b72..984883bb00f 100644
--- a/board/freescale/ls1028a/ls1028a.c
+++ b/board/freescale/ls1028a/ls1028a.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
index 2ba6a3990d9..41453709eac 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -3,6 +3,7 @@
  * Copyright 2017-2018 NXP
  */
 #include <common.h>
+#include <display_options.h>
 #include <env.h>
 #include <i2c.h>
 #include <init.h>
diff --git a/board/freescale/ls2080a/ls2080a.c b/board/freescale/ls2080a/ls2080a.c
index 48437a52e40..020e7bfcb5c 100644
--- a/board/freescale/ls2080a/ls2080a.c
+++ b/board/freescale/ls2080a/ls2080a.c
@@ -3,6 +3,7 @@
  * Copyright 2014 Freescale Semiconductor
  */
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index a6f6897eb09..3ab93388724 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -3,6 +3,7 @@
  * Copyright 2015 Freescale Semiconductor
  */
 #include <common.h>
+#include <display_options.h>
 #include <env.h>
 #include <init.h>
 #include <malloc.h>
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index 26ce5a80edf..a6ece49c01e 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -4,6 +4,7 @@
  * Copyright 2017 NXP
  */
 #include <common.h>
+#include <display_options.h>
 #include <env.h>
 #include <init.h>
 #include <malloc.h>
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index 80a42c147cc..33222e851ea 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <display_options.h>
 #include <dm.h>
 #include <init.h>
 #include <asm/global_data.h>
diff --git a/board/freescale/mpc8541cds/mpc8541cds.c b/board/freescale/mpc8541cds/mpc8541cds.c
index 5b4fbd5e304..3986d81c62d 100644
--- a/board/freescale/mpc8541cds/mpc8541cds.c
+++ b/board/freescale/mpc8541cds/mpc8541cds.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <pci.h>
 #include <vsprintf.h>
diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c
index a1a9742bfa4..fd51c0e8018 100644
--- a/board/freescale/mpc8548cds/mpc8548cds.c
+++ b/board/freescale/mpc8548cds/mpc8548cds.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <net.h>
 #include <pci.h>
diff --git a/board/freescale/mpc8555cds/mpc8555cds.c b/board/freescale/mpc8555cds/mpc8555cds.c
index 3bb8e769c80..d91763ae800 100644
--- a/board/freescale/mpc8555cds/mpc8555cds.c
+++ b/board/freescale/mpc8555cds/mpc8555cds.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <pci.h>
 #include <vsprintf.h>
diff --git a/board/freescale/mpc8568mds/mpc8568mds.c b/board/freescale/mpc8568mds/mpc8568mds.c
index 7b379464cd5..1acdf93e4d7 100644
--- a/board/freescale/mpc8568mds/mpc8568mds.c
+++ b/board/freescale/mpc8568mds/mpc8568mds.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <flash.h>
 #include <init.h>
 #include <log.h>
diff --git a/board/gdsys/p1022/controlcenterd-id.c b/board/gdsys/p1022/controlcenterd-id.c
index 1b5aa9042f5..495ef8e1f83 100644
--- a/board/gdsys/p1022/controlcenterd-id.c
+++ b/board/gdsys/p1022/controlcenterd-id.c
@@ -13,6 +13,7 @@
 #include <common.h>
 #include <bootstage.h>
 #include <command.h>
+#include <display_options.h>
 #include <dm.h>
 #include <env.h>
 #include <hang.h>
diff --git a/board/kontron/sl28/sl28.c b/board/kontron/sl28/sl28.c
index a3f5142525d..b39f14fa6ee 100644
--- a/board/kontron/sl28/sl28.c
+++ b/board/kontron/sl28/sl28.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include <common.h>
+#include <display_options.h>
 #include <malloc.h>
 #include <errno.h>
 #include <fsl_ddr.h>
diff --git a/board/kosagi/novena/novena.c b/board/kosagi/novena/novena.c
index 0e1b4a0a46c..815ecf55c4d 100644
--- a/board/kosagi/novena/novena.c
+++ b/board/kosagi/novena/novena.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <eeprom.h>
 #include <init.h>
diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c
index bd4b528d03f..13a66507ffc 100644
--- a/board/sbc8548/sbc8548.c
+++ b/board/sbc8548/sbc8548.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <init.h>
 #include <log.h>
 #include <net.h>
diff --git a/cmd/acpi.c b/cmd/acpi.c
index 157261bffbe..d5c785c46ae 100644
--- a/cmd/acpi.c
+++ b/cmd/acpi.c
@@ -5,6 +5,7 @@
  */
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <mapmem.h>
 #include <acpi/acpi_table.h>
 #include <asm/acpi_table.h>
diff --git a/cmd/axi.c b/cmd/axi.c
index c9d53c049e8..36508223c34 100644
--- a/cmd/axi.c
+++ b/cmd/axi.c
@@ -13,6 +13,7 @@
 #include <axi.h>
 #include <command.h>
 #include <console.h>
+#include <display_options.h>
 #include <dm.h>
 #include <log.h>
 
diff --git a/cmd/bcb.c b/cmd/bcb.c
index e03218066bf..81e099fbb1b 100644
--- a/cmd/bcb.c
+++ b/cmd/bcb.c
@@ -8,6 +8,7 @@
 #include <android_bootloader_message.h>
 #include <command.h>
 #include <common.h>
+#include <display_options.h>
 #include <log.h>
 #include <part.h>
 
diff --git a/cmd/cpu.c b/cmd/cpu.c
index ff553c16c4e..b3dd7e57449 100644
--- a/cmd/cpu.c
+++ b/cmd/cpu.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <command.h>
 #include <cpu.h>
+#include <display_options.h>
 #include <dm.h>
 #include <errno.h>
 
diff --git a/cmd/fpgad.c b/cmd/fpgad.c
index fb2fe63e78a..89b34f86425 100644
--- a/cmd/fpgad.c
+++ b/cmd/fpgad.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <command.h>
 #include <console.h>
+#include <display_options.h>
 
 #include <gdsys_fpga.h>
 
diff --git a/cmd/io.c b/cmd/io.c
index c7e964153b8..dd770a20ce1 100644
--- a/cmd/io.c
+++ b/cmd/io.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <asm/io.h>
 
 /* Display values from last command */
diff --git a/cmd/mem.c b/cmd/mem.c
index e6c65c9ef8a..f0f7ffa6af1 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -16,6 +16,7 @@
 #include <cli.h>
 #include <command.h>
 #include <console.h>
+#include <display_options.h>
 #include <flash.h>
 #include <hash.h>
 #include <log.h>
diff --git a/cmd/mmc.c b/cmd/mmc.c
index 1529a3e05dd..e3e75d0fc0e 100644
--- a/cmd/mmc.c
+++ b/cmd/mmc.c
@@ -8,6 +8,7 @@
 #include <blk.h>
 #include <command.h>
 #include <console.h>
+#include <display_options.h>
 #include <memalign.h>
 #include <mmc.h>
 #include <part.h>
diff --git a/cmd/rtc.c b/cmd/rtc.c
index b4f61b2e835..4ac49d228cb 100644
--- a/cmd/rtc.c
+++ b/cmd/rtc.c
@@ -2,6 +2,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <dm.h>
 #include <hexdump.h>
 #include <i2c.h>
diff --git a/cmd/sf.c b/cmd/sf.c
index c0d6a8f8a06..b3ff4b5773c 100644
--- a/cmd/sf.c
+++ b/cmd/sf.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <div64.h>
 #include <dm.h>
 #include <flash.h>
diff --git a/cmd/version.c b/cmd/version.c
index 3686b873324..2c321a92f9b 100644
--- a/cmd/version.c
+++ b/cmd/version.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <version.h>
 #include <linux/compiler.h>
 #ifdef CONFIG_SYS_COREBOOT
diff --git a/common/bloblist.c b/common/bloblist.c
index f7fbbeaedbd..b92edd156c6 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <bloblist.h>
+#include <display_options.h>
 #include <log.h>
 #include <mapmem.h>
 #include <spl.h>
diff --git a/common/board_f.c b/common/board_f.c
index b9bf0329578..c2f3bd42d1e 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -16,6 +16,7 @@
 #include <console.h>
 #include <cpu.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <dm.h>
 #include <env.h>
 #include <env_internal.h>
diff --git a/common/board_r.c b/common/board_r.c
index ad932a0b582..abafd732a8a 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -13,6 +13,7 @@
 #include <api.h>
 #include <bootstage.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <exports.h>
 #include <flash.h>
 #include <hang.h>
diff --git a/common/console.c b/common/console.c
index aaa2b0c0d7e..0935f8f8b42 100644
--- a/common/console.c
+++ b/common/console.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <console.h>
 #include <debug_uart.h>
+#include <display_options.h>
 #include <dm.h>
 #include <env.h>
 #include <stdarg.h>
diff --git a/common/image.c b/common/image.c
index ba78363123a..6689bb47611 100644
--- a/common/image.c
+++ b/common/image.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <bootstage.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <env.h>
 #include <lmb.h>
 #include <log.h>
diff --git a/common/splash.c b/common/splash.c
index 2b9313e03f1..e26b366cb23 100644
--- a/common/splash.c
+++ b/common/splash.c
@@ -21,6 +21,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <env.h>
 #include <splash.h>
 #include <lcd.h>
diff --git a/drivers/core/acpi.c b/drivers/core/acpi.c
index 7fe93992b5f..99c0da500eb 100644
--- a/drivers/core/acpi.c
+++ b/drivers/core/acpi.c
@@ -9,6 +9,7 @@
 #define LOG_CATEOGRY	LOGC_ACPI
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <log.h>
 #include <malloc.h>
diff --git a/drivers/cpu/bmips_cpu.c b/drivers/cpu/bmips_cpu.c
index 421cc7a9a4c..8419adb3cc3 100644
--- a/drivers/cpu/bmips_cpu.c
+++ b/drivers/cpu/bmips_cpu.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <cpu.h>
+#include <display_options.h>
 #include <dm.h>
 #include <errno.h>
 #include <init.h>
diff --git a/drivers/ddr/fsl/main.c b/drivers/ddr/fsl/main.c
index c02badd4a88..5d421d2c1e3 100644
--- a/drivers/ddr/fsl/main.c
+++ b/drivers/ddr/fsl/main.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <i2c.h>
 #include <fsl_ddr_sdram.h>
diff --git a/drivers/mmc/gen_atmel_mci.c b/drivers/mmc/gen_atmel_mci.c
index 0a347b2fb20..9e814c378ca 100644
--- a/drivers/mmc/gen_atmel_mci.c
+++ b/drivers/mmc/gen_atmel_mci.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clk.h>
+#include <display_options.h>
 #include <dm.h>
 #include <log.h>
 #include <mmc.h>
diff --git a/drivers/mtd/onenand/onenand_uboot.c b/drivers/mtd/onenand/onenand_uboot.c
index 6893394e089..3a8c7b867eb 100644
--- a/drivers/mtd/onenand/onenand_uboot.c
+++ b/drivers/mtd/onenand/onenand_uboot.c
@@ -14,6 +14,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <linux/compat.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/onenand.h>
diff --git a/drivers/mtd/spi/sf_dataflash.c b/drivers/mtd/spi/sf_dataflash.c
index 27d847d4218..b1034ac2086 100644
--- a/drivers/mtd/spi/sf_dataflash.c
+++ b/drivers/mtd/spi/sf_dataflash.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index e16b0e1462d..40784312149 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <log.h>
 #include <dm.h>
 #include <dm/device_compat.h>
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 5aaa6a177d0..d1340db2603 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <common.h>
 #include <cpu_func.h>
+#include <display_options.h>
 #include <dm.h>
 #include <log.h>
 #include <net.h>
diff --git a/drivers/tpm/tpm_atmel_twi.c b/drivers/tpm/tpm_atmel_twi.c
index d9e4877c5c2..5489e728b6e 100644
--- a/drivers/tpm/tpm_atmel_twi.c
+++ b/drivers/tpm/tpm_atmel_twi.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <tpm-v1.h>
 #include <i2c.h>
diff --git a/drivers/tpm/tpm_tis_sandbox.c b/drivers/tpm/tpm_tis_sandbox.c
index e167d0a2fe3..f35d6920442 100644
--- a/drivers/tpm/tpm_tis_sandbox.c
+++ b/drivers/tpm/tpm_tis_sandbox.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <display_options.h>
 #include <dm.h>
 #include <tpm-v1.h>
 #include <asm/state.h>
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index ba362b8f258..7c67c2e3b3e 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -9,6 +9,7 @@
 
 
 #include <common.h>
+#include <display_options.h>
 #include <asm/arch/hardware.h>
 #include <asm/byteorder.h>
 #include <asm/io.h>
diff --git a/drivers/xen/gnttab.c b/drivers/xen/gnttab.c
index 778729d646e..79dd684e00d 100644
--- a/drivers/xen/gnttab.c
+++ b/drivers/xen/gnttab.c
@@ -21,6 +21,7 @@
 #include <malloc.h>
 
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/xen/system.h>
 
diff --git a/fs/fs.c b/fs/fs.c
index 634e7cea81d..5f9d9187598 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -7,6 +7,7 @@
 
 #include <command.h>
 #include <config.h>
+#include <display_options.h>
 #include <errno.h>
 #include <common.h>
 #include <env.h>
diff --git a/include/common.h b/include/common.h
index 71df59bca0e..25c317f4439 100644
--- a/include/common.h
+++ b/include/common.h
@@ -23,7 +23,6 @@
 #include <stdio.h>
 #include <linux/kernel.h>
 #include <asm/u-boot.h> /* boot information for Linux kernel */
-#include <display_options.h>
 #include <vsprintf.h>
 #endif	/* __ASSEMBLY__ */
 
diff --git a/include/display_options.h b/include/display_options.h
index 049688e39e8..e1af598857a 100644
--- a/include/display_options.h
+++ b/include/display_options.h
@@ -19,6 +19,7 @@
  * @size:	Size to print
  * @suffix	String to print after the size
  */
+#include <display_options.h>
 void print_size(uint64_t size, const char *suffix);
 
 /**
diff --git a/include/fsl_qe.h b/include/fsl_qe.h
index 1c6941347f7..737cdbd952c 100644
--- a/include/fsl_qe.h
+++ b/include/fsl_qe.h
@@ -14,6 +14,8 @@
 #include <linux/immap_qe.h>
 #endif
 
+struct udevice;
+
 #define QE_NUM_OF_BRGS	16
 #define UCC_MAX_NUM	8
 
diff --git a/lib/aes.c b/lib/aes.c
index c998aecb3c7..bc6d4dfd4e0 100644
--- a/lib/aes.c
+++ b/lib/aes.c
@@ -23,6 +23,7 @@
 
 #ifndef USE_HOSTCC
 #include <common.h>
+#include <display_options.h>
 #include <log.h>
 #else
 #include <string.h>
diff --git a/lib/display_options.c b/lib/display_options.c
index b2025eeb5cf..824427765da 100644
--- a/lib/display_options.c
+++ b/lib/display_options.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <compiler.h>
 #include <console.h>
+#include <display_options.h>
 #include <div64.h>
 #include <version.h>
 #include <linux/ctype.h>
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 5990b161b14..fea1b7153b4 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -6,6 +6,7 @@
 #ifndef USE_HOSTCC
 #include <common.h>
 #include <boot_fit.h>
+#include <display_options.h>
 #include <dm.h>
 #include <hang.h>
 #include <init.h>
diff --git a/net/nfs.c b/net/nfs.c
index 70d0e08bde9..8a3b04adcdc 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -28,6 +28,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <flash.h>
 #include <image.h>
 #include <log.h>
diff --git a/net/tftp.c b/net/tftp.c
index ecbb64122f5..950efacaeb3 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -7,6 +7,7 @@
  */
 #include <common.h>
 #include <command.h>
+#include <display_options.h>
 #include <efi_loader.h>
 #include <env.h>
 #include <image.h>
-- 
2.29.1.341.ge80a0c044ae-goog

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

* [PATCH 3/4] common: Drop linux/printk.h from common header
  2020-10-31  3:38 [PATCH 0/4] common: Drop remaining includes in common.h (part A) Simon Glass
  2020-10-31  3:38 ` [PATCH 1/4] common: Drop asm/global_data.h from common header Simon Glass
  2020-10-31  3:38 ` [PATCH 2/4] common: Drop display_options.h " Simon Glass
@ 2020-10-31  3:38 ` Simon Glass
  2020-10-31  3:38 ` [PATCH 4/4] Fix code style for time functions Simon Glass
  3 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2020-10-31  3:38 UTC (permalink / raw)
  To: u-boot

Move this out of the common header and include it only where needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/lib/gic-v3-its.c                     |   1 +
 arch/arm/mach-imx/imx8/fdt.c                  |   1 +
 arch/arm/mach-k3/common.c                     |   1 +
 arch/arm/mach-meson/board-gx.c                |   1 +
 arch/arm/mach-omap2/am33xx/board.c            |   1 +
 arch/arm/mach-omap2/utils.c                   |   1 +
 arch/arm/mach-rockchip/boot_mode.c            |   1 +
 arch/arm/mach-rockchip/rk3188/rk3188.c        |   1 +
 arch/arm/mach-rockchip/rk3399/rk3399.c        |   1 +
 arch/arm/mach-socfpga/misc.c                  |   1 +
 arch/arm/mach-stm32mp/bsec.c                  |   1 +
 arch/arm/mach-stm32mp/cmd_stm32key.c          |   1 +
 .../cmd_stm32prog/cmd_stm32prog.c             |   1 +
 .../mach-stm32mp/cmd_stm32prog/stm32prog.c    |   1 +
 .../mach-stm32mp/cmd_stm32prog/stm32prog.h    |   2 +
 .../cmd_stm32prog/stm32prog_serial.c          |   1 +
 .../cmd_stm32prog/stm32prog_usb.c             |   1 +
 arch/arm/mach-stm32mp/cpu.c                   |   1 +
 .../mach-stm32mp/include/mach/stm32mp1_smc.h  |   1 +
 arch/arm/mach-tegra/cboot.c                   |   1 +
 arch/arm/mach-tegra/ivc.c                     |   1 +
 arch/arm/mach-tegra/tegra124/xusb-padctl.c    |   1 +
 arch/arm/mach-tegra/tegra20/clock.c           |   1 +
 arch/arm/mach-tegra/tegra210/xusb-padctl.c    |   1 +
 arch/arm/mach-tegra/tegra30/clock.c           |   1 +
 arch/arm/mach-tegra/xusb-padctl-common.c      |   1 +
 .../mach-uniphier/boot-device/boot-device.c   |   1 +
 arch/arm/mach-uniphier/clk/dpll-ld4.c         |   1 +
 arch/arm/mach-uniphier/clk/dpll-pro4.c        |   1 +
 arch/arm/mach-uniphier/dram/umc-ld4.c         |   1 +
 arch/arm/mach-uniphier/dram/umc-pro4.c        |   1 +
 arch/arm/mach-uniphier/dram/umc-sld8.c        |   1 +
 arch/arm/mach-uniphier/memconf.c              |   1 +
 arch/arm/mach-uniphier/spl_board_init.c       |   1 +
 arch/riscv/lib/smp.c                          |   1 +
 arch/x86/cpu/tangier/pinmux.c                 |   1 +
 arch/x86/cpu/tangier/sdram.c                  |   1 +
 board/dhelectronics/dh_stm32mp1/board.c       |   1 +
 board/mediatek/mt8518/mt8518_ap1.c            |   1 +
 board/mscc/ocelot/ocelot.c                    |   1 +
 board/nvidia/jetson-tk1/jetson-tk1.c          |   1 +
 .../pinebook-pro-rk3399/pinebook-pro-rk3399.c |   1 +
 board/samsung/common/exynos5-dt.c             |   1 +
 board/samsung/common/misc.c                   |   1 +
 board/samsung/goni/goni.c                     |   1 +
 board/samsung/odroid/odroid.c                 |   1 +
 board/st/common/stm32mp_dfu.c                 |   1 +
 board/st/common/stm32mp_mtdparts.c            |   1 +
 board/st/stm32mp1/stm32mp1.c                  |   1 +
 board/sunxi/board.c                           |   1 +
 board/synopsys/hsdk/clk-lib.c                 |   1 +
 board/synopsys/hsdk/env-lib.c                 |   1 +
 board/ti/am65x/evm.c                          |   1 +
 board/ti/common/board_detect.c                |   1 +
 board/ti/j721e/evm.c                          |   1 +
 board/toradex/apalis-tk1/apalis-tk1.c         |   1 +
 cmd/adc.c                                     |   1 +
 cmd/fastboot.c                                |   1 +
 cmd/nvedit.c                                  |   1 +
 cmd/onenand.c                                 |   1 +
 cmd/regulator.c                               |   1 +
 cmd/thordown.c                                |   1 +
 cmd/tpm_test.c                                |   1 +
 cmd/usb_gadget_sdp.c                          |   1 +
 cmd/usb_mass_storage.c                        |   1 +
 common/dfu.c                                  |   1 +
 common/spl/spl_dfu.c                          |   1 +
 common/spl/spl_fit.c                          |   1 +
 common/spl/spl_opensbi.c                      |   1 +
 common/spl/spl_sdp.c                          |   1 +
 common/update.c                               |   1 +
 disk/part_efi.c                               |   1 +
 drivers/adc/adc-uclass.c                      |   1 +
 drivers/adc/exynos-adc.c                      |   1 +
 drivers/adc/meson-saradc.c                    |   1 +
 drivers/adc/rockchip-saradc.c                 |   1 +
 drivers/adc/sandbox.c                         |   1 +
 drivers/ata/dwc_ahci.c                        |   1 +
 drivers/bios_emulator/include/x86emu/debug.h  |   1 +
 drivers/bios_emulator/include/x86emu/regs.h   |   1 +
 drivers/bios_emulator/x86emu/debug.c          |   1 +
 drivers/bios_emulator/x86emu/decode.c         |   1 +
 drivers/bios_emulator/x86emu/ops.c            |   1 +
 drivers/bios_emulator/x86emu/ops2.c           |   1 +
 drivers/bios_emulator/x86emu/sys.c            |   1 +
 drivers/bootcount/bootcount-uclass.c          |   1 +
 drivers/clk/analogbits/wrpll-cln28hpc.c       |   1 +
 drivers/clk/clk-divider.c                     |   1 +
 drivers/clk/clk-gate.c                        |   1 +
 drivers/clk/clk-hsdk-cgu.c                    |   1 +
 drivers/clk/clk-mux.c                         |   1 +
 drivers/clk/clk_boston.c                      |   1 +
 drivers/clk/clk_stm32f.c                      |   1 +
 drivers/clk/clk_stm32h7.c                     |   1 +
 drivers/clk/clk_stm32mp1.c                    |   1 +
 drivers/clk/imx/clk-pll14xx.c                 |   1 +
 drivers/clk/rockchip/clk_rk3368.c             |   1 +
 drivers/clk/rockchip/clk_rk3399.c             |   1 +
 drivers/core/device.c                         |   1 +
 drivers/core/of_addr.c                        |   1 +
 drivers/core/root.c                           |   1 +
 drivers/dfu/dfu.c                             |   1 +
 drivers/dfu/dfu_mmc.c                         |   1 +
 drivers/dfu/dfu_ram.c                         |   1 +
 drivers/dfu/dfu_tftp.c                        |   1 +
 drivers/dma/bcm6348-iudma.c                   |   1 +
 drivers/dma/dma-uclass.c                      |   1 +
 drivers/dma/lpc32xx_dma.c                     |   1 +
 drivers/dma/sandbox-dma-test.c                |   1 +
 drivers/dma/ti-edma3.c                        |   1 +
 drivers/dma/ti/k3-udma.c                      |   1 +
 drivers/fastboot/fb_command.c                 |   1 +
 drivers/fastboot/fb_getvar.c                  |   1 +
 drivers/fastboot/fb_mmc.c                     |   1 +
 drivers/fastboot/fb_nand.c                    |   1 +
 drivers/i2c/i2c-gpio.c                        |   1 +
 drivers/i2c/iproc_i2c.c                       |   1 +
 drivers/i2c/omap24xx_i2c.c                    |   1 +
 drivers/i2c/stm32f7_i2c.c                     |   1 +
 drivers/i2c/tegra_i2c.c                       |   1 +
 drivers/misc/sifive-otp.c                     |   1 +
 drivers/misc/tegra186_bpmp.c                  |   1 +
 drivers/mmc/exynos_dw_mmc.c                   |   1 +
 drivers/mmc/fsl_esdhc_imx.c                   |   1 +
 drivers/mmc/mmc.c                             |   1 +
 drivers/mmc/mtk-sd.c                          |   1 +
 drivers/mmc/sdhci.c                           |   1 +
 drivers/mmc/sti_sdhci.c                       |   1 +
 drivers/mmc/stm32_sdmmc2.c                    |   1 +
 drivers/mmc/xenon_sdhci.c                     |   1 +
 drivers/mtd/mtdconcat.c                       |   1 +
 drivers/mtd/mtdcore.c                         |   1 +
 drivers/mtd/mtdpart.c                         |   1 +
 drivers/mtd/nand/bbt.c                        |   1 +
 drivers/mtd/nand/core.c                       |   1 +
 drivers/mtd/nand/raw/arasan_nfc.c             |   1 +
 drivers/mtd/nand/raw/atmel_nand.c             |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c  |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c  |   1 +
 drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c  |   1 +
 drivers/mtd/nand/raw/davinci_nand.c           |   1 +
 drivers/mtd/nand/raw/lpc32xx_nand_mlc.c       |   1 +
 drivers/mtd/nand/raw/lpc32xx_nand_slc.c       |   1 +
 drivers/mtd/nand/raw/mxc_nand.c               |   1 +
 drivers/mtd/nand/raw/nand_base.c              |   1 +
 drivers/mtd/nand/raw/nand_bbt.c               |   1 +
 drivers/mtd/nand/raw/nand_bch.c               |   1 +
 drivers/mtd/nand/raw/pxa3xx_nand.c            |   1 +
 drivers/mtd/nand/raw/stm32_fmc2_nand.c        |   1 +
 drivers/mtd/nand/raw/sunxi_nand.c             |   1 +
 drivers/mtd/nand/raw/tegra_nand.c             |   1 +
 drivers/mtd/nand/raw/vf610_nfc.c              |   1 +
 drivers/mtd/nand/raw/zynq_nand.c              |   1 +
 drivers/mtd/nand/spi/core.c                   |   1 +
 drivers/mtd/onenand/onenand_base.c            |   1 +
 drivers/mtd/onenand/onenand_bbt.c             |   1 +
 drivers/mtd/onenand/samsung.c                 |   1 +
 drivers/mtd/spi/spi-nor-core.c                |   1 +
 drivers/mtd/spi/spi-nor-tiny.c                |   1 +
 drivers/mtd/ubi/attach.c                      |   1 +
 drivers/mtd/ubi/build.c                       |   1 +
 drivers/mtd/ubi/debug.c                       |   1 +
 drivers/mtd/ubi/debug.h                       |   1 +
 drivers/mtd/ubi/ubi.h                         |   1 +
 drivers/net/bcm-sf2-eth-gmac.c                |   1 +
 drivers/net/bcm-sf2-eth.c                     |   1 +
 drivers/net/bcm6348-eth.c                     |   1 +
 drivers/net/bcm6368-eth.c                     |   1 +
 drivers/net/designware.c                      |   1 +
 drivers/net/dwc_eth_qos.c                     |   1 +
 drivers/net/ep93xx_eth.c                      |   1 +
 drivers/net/fsl-mc/dpio/qbman_sys.h           |   1 +
 drivers/net/ftgmac100.c                       |   1 +
 drivers/net/mscc_eswitch/jr2_switch.c         |   1 +
 drivers/net/mscc_eswitch/ocelot_switch.c      |   1 +
 drivers/net/mscc_eswitch/serval_switch.c      |   1 +
 drivers/net/mscc_eswitch/servalt_switch.c     |   1 +
 drivers/net/mt7628-eth.c                      |   1 +
 drivers/net/mtk_eth.c                         |   1 +
 drivers/net/mvmdio.c                          |   1 +
 drivers/net/phy/dp83867.c                     |   1 +
 drivers/net/phy/mscc.c                        |   1 +
 drivers/net/rtl8169.c                         |   1 +
 drivers/net/sni_ave.c                         |   1 +
 drivers/net/ti/am65-cpsw-nuss.c               |   1 +
 drivers/net/ti/cpsw-common.c                  |   1 +
 drivers/net/ti/cpsw.c                         |   1 +
 drivers/net/ti/keystone_net.c                 |   1 +
 drivers/pci/pci-uclass.c                      |   1 +
 drivers/pci/pci_mvebu.c                       |   1 +
 drivers/pci/pci_tegra.c                       |   1 +
 drivers/pci/pcie_ecam_generic.c               |   1 +
 drivers/pci/pcie_fsl.c                        |   1 +
 drivers/pci/pcie_mediatek.c                   |   1 +
 drivers/pci/pcie_phytium.c                    |   1 +
 drivers/pci/pcie_xilinx.c                     |   1 +
 drivers/phy/keystone-usb-phy.c                |   1 +
 drivers/phy/marvell/comphy_cp110.c            |   1 +
 drivers/phy/meson-g12a-usb2.c                 |   1 +
 drivers/phy/meson-g12a-usb3-pcie.c            |   1 +
 drivers/phy/meson-gxbb-usb2.c                 |   1 +
 drivers/phy/meson-gxl-usb2.c                  |   1 +
 drivers/phy/meson-gxl-usb3.c                  | 220 ++++++++++++++++++
 drivers/phy/phy-rcar-gen3.c                   |   1 +
 drivers/phy/phy-stm32-usbphyc.c               |   1 +
 drivers/phy/phy-uclass.c                      |   2 +
 drivers/phy/sti_usb_phy.c                     |   1 +
 drivers/phy/ti-pipe3-phy.c                    |   1 +
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c   |   1 +
 drivers/pinctrl/pinctrl-sti.c                 |   1 +
 drivers/pinctrl/pinctrl_stm32.c               |   1 +
 drivers/power/palmas.c                        |   1 +
 drivers/power/pmic/as3722.c                   |   1 +
 drivers/power/pmic/as3722_gpio.c              |   1 +
 drivers/power/pmic/bd71837.c                  |   1 +
 drivers/power/pmic/da9063.c                   |   1 +
 drivers/power/pmic/fan53555.c                 |   1 +
 drivers/power/pmic/i2c_pmic_emul.c            |   1 +
 drivers/power/pmic/lp873x.c                   |   1 +
 drivers/power/pmic/lp87565.c                  |   1 +
 drivers/power/pmic/max77686.c                 |   1 +
 drivers/power/pmic/max8997.c                  |   1 +
 drivers/power/pmic/max8998.c                  |   1 +
 drivers/power/pmic/palmas.c                   |   1 +
 drivers/power/pmic/pca9450.c                  |   1 +
 drivers/power/pmic/pfuze100.c                 |   1 +
 drivers/power/pmic/pmic_tps65910_dm.c         |   1 +
 drivers/power/pmic/s2mps11.c                  |   1 +
 drivers/power/pmic/s5m8767.c                  |   1 +
 drivers/power/pmic/sandbox.c                  |   1 +
 drivers/power/pmic/tps65090.c                 |   1 +
 drivers/power/pmic/tps65941.c                 |   1 +
 drivers/power/regulator/bd71837.c             |   1 +
 drivers/power/regulator/fan53555.c            |   1 +
 drivers/power/regulator/fixed.c               |   2 +
 drivers/power/regulator/gpio-regulator.c      |   2 +
 drivers/power/regulator/max77686.c            |   1 +
 drivers/power/regulator/pbias_regulator.c     |   1 +
 drivers/power/regulator/regulator_common.c    |   2 +
 drivers/power/regulator/s2mps11_regulator.c   |   1 +
 drivers/power/regulator/sandbox.c             |   1 +
 drivers/power/regulator/tps65910_regulator.c  |   1 +
 drivers/power/twl4030.c                       |   1 +
 drivers/power/twl6030.c                       |   1 +
 drivers/ram/imxrt_sdram.c                     |   1 +
 drivers/ram/rockchip/dmc-rk3368.c             |   1 +
 drivers/ram/stm32_sdram.c                     |   1 +
 drivers/ram/stm32mp1/stm32mp1_ddr.c           |   1 +
 drivers/ram/stm32mp1/stm32mp1_ram.c           |   1 +
 drivers/ram/stm32mp1/stm32mp1_tuning.c        |   1 +
 drivers/remoteproc/rproc-elf-loader.c         |   1 +
 drivers/remoteproc/rproc-uclass.c             |   1 +
 drivers/remoteproc/sandbox_testproc.c         |   1 +
 drivers/remoteproc/stm32_copro.c              |   1 +
 drivers/remoteproc/ti_power_proc.c            |   1 +
 drivers/remoteproc/ti_sci_proc.h              |   1 +
 drivers/reset/sti-reset.c                     |   1 +
 drivers/serial/serial_mtk.c                   |   1 +
 drivers/soc/ti/k3-navss-ringacc.c             |   1 +
 drivers/spi/atmel_spi.c                       |   1 +
 drivers/spi/fsl_dspi.c                        |   1 +
 drivers/spi/mt7621_spi.c                      |   1 +
 drivers/spi/mxc_spi.c                         |   1 +
 drivers/spi/pl022_spi.c                       |   1 +
 drivers/spi/stm32_qspi.c                      |   1 +
 drivers/spi/stm32_spi.c                       |   1 +
 drivers/spi/uniphier_spi.c                    |   1 +
 drivers/sysreset/sysreset_sti.c               |   1 +
 drivers/sysreset/sysreset_syscon.c            |   1 +
 drivers/sysreset/sysreset_watchdog.c          |   1 +
 drivers/tpm/tpm_tis_infineon.c                |   1 +
 drivers/usb/cdns3/gadget.c                    |   1 +
 drivers/usb/common/common.c                   |   1 +
 drivers/usb/dwc3/dwc3-generic.c               |   1 +
 drivers/usb/dwc3/dwc3-meson-g12a.c            |   1 +
 drivers/usb/dwc3/gadget.c                     |   1 +
 drivers/usb/eth/mcs7830.c                     |   1 +
 drivers/usb/gadget/at91_udc.c                 |   1 +
 drivers/usb/gadget/atmel_usba_udc.c           |   1 +
 drivers/usb/gadget/dwc2_udc_otg.c             |   1 +
 drivers/usb/gadget/ether.c                    |   1 +
 drivers/usb/gadget/f_fastboot.c               |   1 +
 drivers/usb/gadget/f_sdp.c                    |   1 +
 drivers/usb/gadget/f_thor.c                   |   1 +
 drivers/usb/gadget/udc/udc-uclass.c           |   1 +
 drivers/usb/host/dwc3-sti-glue.c              |   1 +
 drivers/usb/musb-new/mt85xx.c                 |   1 +
 drivers/usb/musb-new/musb_core.c              |   1 +
 drivers/usb/musb-new/musb_debug.h             |   1 +
 drivers/usb/musb-new/musb_dsps.c              |   1 +
 drivers/usb/musb-new/musb_gadget.c            |   1 +
 drivers/usb/musb-new/musb_gadget_ep0.c        |   1 +
 drivers/usb/musb-new/omap2430.c               |   1 +
 drivers/usb/musb-new/sunxi.c                  |   1 +
 drivers/usb/musb-new/ti-musb.c                |   1 +
 drivers/video/am335x-fb.c                     |   1 +
 drivers/video/meson/meson_dw_hdmi.c           |   1 +
 drivers/video/meson/meson_vclk.c              |   1 +
 drivers/video/stm32/stm32_dsi.c               |   1 +
 drivers/video/stm32/stm32_ltdc.c              |   1 +
 drivers/video/tegra124/sor.c                  |   1 +
 drivers/watchdog/stm32mp_wdt.c                |   1 +
 env/common.c                                  |   1 +
 fs/ubifs/debug.c                              |   1 +
 fs/ubifs/debug.h                              |   1 +
 fs/ubifs/lpt_commit.c                         |   1 +
 fs/ubifs/super.c                              |   1 +
 fs/ubifs/ubifs.h                              |   1 +
 fs/yaffs2/yaffs_uboot_glue.c                  |   1 +
 include/common.h                              |   1 -
 include/crypto/pkcs7_parser.h                 |   1 +
 include/dm/device_compat.h                    |   1 +
 include/linux/soc/ti/cppi5.h                  |   1 +
 lib/asn1_decoder.c                            |   1 +
 lib/bch.c                                     |   1 +
 lib/crypto/asymmetric_type.c                  |   1 +
 lib/crypto/pkcs7_parser.c                     |   1 +
 lib/crypto/pkcs7_verify.c                     |   1 +
 lib/crypto/public_key.c                       |   1 +
 lib/crypto/rsa_helper.c                       |   1 +
 lib/crypto/x509_cert_parser.c                 |   1 +
 lib/crypto/x509_public_key.c                  |   1 +
 lib/list_sort.c                               |   1 +
 net/fastboot.c                                |   1 +
 326 files changed, 549 insertions(+), 1 deletion(-)
 create mode 100644 drivers/phy/meson-gxl-usb3.c

diff --git a/arch/arm/lib/gic-v3-its.c b/arch/arm/lib/gic-v3-its.c
index a1657e38536..6cdcd1ed60c 100644
--- a/arch/arm/lib/gic-v3-its.c
+++ b/arch/arm/lib/gic-v3-its.c
@@ -10,6 +10,7 @@
 #include <asm/gic-v3.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 static u32 lpi_id_bits;
diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
index a132ce2e6a3..776d2b24345 100644
--- a/arch/arm/mach-imx/imx8/fdt.c
+++ b/arch/arm/mach-imx/imx8/fdt.c
@@ -11,6 +11,7 @@
 #include <dm/ofnode.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index f01aeb40c9d..3b36e36102c 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -13,6 +13,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include "common.h"
 #include <dm.h>
 #include <remoteproc.h>
diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
index f5273f42af6..0ce8b5cee48 100644
--- a/arch/arm/mach-meson/board-gx.c
+++ b/arch/arm/mach-meson/board-gx.c
@@ -15,6 +15,7 @@
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 #include <usb.h>
 #include <linux/usb/otg.h>
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
index 852d36132a5..b7320ff00bf 100644
--- a/arch/arm/mach-omap2/am33xx/board.c
+++ b/arch/arm/mach-omap2/am33xx/board.c
@@ -37,6 +37,7 @@
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/compiler.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/usb/musb.h>
diff --git a/arch/arm/mach-omap2/utils.c b/arch/arm/mach-omap2/utils.c
index 6e6791fc659..095b5d3c36f 100644
--- a/arch/arm/mach-omap2/utils.c
+++ b/arch/arm/mach-omap2/utils.c
@@ -9,6 +9,7 @@
 #include <asm/setup.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/omap_common.h>
+#include <linux/printk.h>
 
 static void do_cancel_out(u32 *num, u32 *den, u32 factor)
 {
diff --git a/arch/arm/mach-rockchip/boot_mode.c b/arch/arm/mach-rockchip/boot_mode.c
index 2158934159a..c6d19541ac7 100644
--- a/arch/arm/mach-rockchip/boot_mode.c
+++ b/arch/arm/mach-rockchip/boot_mode.c
@@ -12,6 +12,7 @@
 #include <asm/arch-rockchip/boot_mode.h>
 #include <dm/device.h>
 #include <dm/uclass.h>
+#include <linux/printk.h>
 
 #if (CONFIG_ROCKCHIP_BOOT_MODE_REG == 0)
 
diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c
index ad8c6cd1d79..3862e6bb739 100644
--- a/arch/arm/mach-rockchip/rk3188/rk3188.c
+++ b/arch/arm/mach-rockchip/rk3188/rk3188.c
@@ -16,6 +16,7 @@
 #include <asm/arch-rockchip/grf_rk3188.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 #define GRF_BASE	0x20008000
 
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index 869d2159bea..f8f6799a7fd 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -19,6 +19,7 @@
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach-socfpga/misc.c
index 64a7c9d652c..6813279e6ae 100644
--- a/arch/arm/mach-socfpga/misc.c
+++ b/arch/arm/mach-socfpga/misc.c
@@ -25,6 +25,7 @@
 #include <asm/arch/nic301.h>
 #include <asm/arch/scu.h>
 #include <asm/pl310.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-stm32mp/bsec.c b/arch/arm/mach-stm32mp/bsec.c
index a9b9bd09027..566961ae391 100644
--- a/arch/arm/mach-stm32mp/bsec.c
+++ b/arch/arm/mach-stm32mp/bsec.c
@@ -12,6 +12,7 @@
 #include <asm/arch/stm32mp1_smc.h>
 #include <linux/arm-smccc.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 #define BSEC_OTP_MAX_VALUE		95
 #define BSEC_TIMEOUT_US			10000
diff --git a/arch/arm/mach-stm32mp/cmd_stm32key.c b/arch/arm/mach-stm32mp/cmd_stm32key.c
index f191085a12d..eb3d74bc836 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32key.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32key.c
@@ -9,6 +9,7 @@
 #include <misc.h>
 #include <dm/device.h>
 #include <dm/uclass.h>
+#include <linux/printk.h>
 
 #define STM32_OTP_HASH_KEY_START 24
 #define STM32_OTP_HASH_KEY_SIZE 8
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
index 49dd25b28f4..d241dbde20e 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
@@ -8,6 +8,7 @@
 #include <dfu.h>
 #include <image.h>
 #include <asm/arch/stm32prog.h>
+#include <linux/printk.h>
 #include "stm32prog.h"
 
 struct stm32prog_data *stm32prog_data;
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index ddf8b68f9a0..d58a7fd1b86 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -17,6 +17,7 @@
 #include <linux/list.h>
 #include <linux/list_sort.h>
 #include <linux/mtd/mtd.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 #include "stm32prog.h"
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
index bae4e91c01d..002b4d39be6 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
@@ -6,6 +6,8 @@
 #ifndef _STM32PROG_H_
 #define _STM32PROG_H_
 
+#include <linux/printk.h>
+
 /* - phase defines ------------------------------------------------*/
 #define PHASE_FLASHLAYOUT	0x00
 #define PHASE_FIRST_USER	0x10
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
index 0150d2d5412..8481a45f65b 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
@@ -14,6 +14,7 @@
 #include <dm/lists.h>
 #include <dm/device-internal.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include "stm32prog.h"
 
 /* - configuration part -----------------------------*/
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c
index 30547f94c94..134c3b117f5 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c
@@ -9,6 +9,7 @@
 #include <usb.h>
 #include <asm/arch/stm32prog.h>
 #include <asm/arch/sys_proto.h>
+#include <linux/printk.h>
 #include "stm32prog.h"
 
 static int stm32prog_set_phase(struct stm32prog_data *data, u8 phase,
diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
index f273d84492f..9a5de2b283e 100644
--- a/arch/arm/mach-stm32mp/cpu.c
+++ b/arch/arm/mach-stm32mp/cpu.c
@@ -19,6 +19,7 @@
 #include <dm/device.h>
 #include <dm/uclass.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 /* RCC register */
 #define RCC_TZCR		(STM32_RCC_BASE + 0x00)
diff --git a/arch/arm/mach-stm32mp/include/mach/stm32mp1_smc.h b/arch/arm/mach-stm32mp/include/mach/stm32mp1_smc.h
index 4ad14f963b4..1b2bba3d34c 100644
--- a/arch/arm/mach-stm32mp/include/mach/stm32mp1_smc.h
+++ b/arch/arm/mach-stm32mp/include/mach/stm32mp1_smc.h
@@ -7,6 +7,7 @@
 #define __STM32MP1_SMC_H__
 
 #include <linux/arm-smccc.h>
+#include <linux/printk.h>
 
 /*
  * SMC function IDs for STM32 Service queries
diff --git a/arch/arm/mach-tegra/cboot.c b/arch/arm/mach-tegra/cboot.c
index bb46fb23ff7..6a47c104b72 100644
--- a/arch/arm/mach-tegra/cboot.c
+++ b/arch/arm/mach-tegra/cboot.c
@@ -15,6 +15,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 
 #include <linux/ctype.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-tegra/ivc.c b/arch/arm/mach-tegra/ivc.c
index b69a458fdf0..66c1276f4b8 100644
--- a/arch/arm/mach-tegra/ivc.c
+++ b/arch/arm/mach-tegra/ivc.c
@@ -8,6 +8,7 @@
 #include <asm/io.h>
 #include <asm/arch-tegra/ivc.h>
 #include <linux/bug.h>
+#include <linux/printk.h>
 
 #define TEGRA_IVC_ALIGN 64
 
diff --git a/arch/arm/mach-tegra/tegra124/xusb-padctl.c b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
index c95ca048d5e..5b88d6e5e7b 100644
--- a/arch/arm/mach-tegra/tegra124/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
@@ -12,6 +12,7 @@
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include "../xusb-padctl-common.h"
 
diff --git a/arch/arm/mach-tegra/tegra20/clock.c b/arch/arm/mach-tegra/tegra20/clock.c
index 24e8a13b1f9..b1e2c87e629 100644
--- a/arch/arm/mach-tegra/tegra20/clock.c
+++ b/arch/arm/mach-tegra/tegra20/clock.c
@@ -19,6 +19,7 @@
 #include <div64.h>
 #include <fdtdec.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /*
  * Clock types that we can use as a source. The Tegra20 has muxes for the
diff --git a/arch/arm/mach-tegra/tegra210/xusb-padctl.c b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
index c414dfd3b86..30d0395bb0e 100644
--- a/arch/arm/mach-tegra/tegra210/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
@@ -12,6 +12,7 @@
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include "../xusb-padctl-common.h"
 
diff --git a/arch/arm/mach-tegra/tegra30/clock.c b/arch/arm/mach-tegra/tegra30/clock.c
index b0641c6a41a..d516ac5f4cb 100644
--- a/arch/arm/mach-tegra/tegra30/clock.c
+++ b/arch/arm/mach-tegra/tegra30/clock.c
@@ -18,6 +18,7 @@
 #include <div64.h>
 #include <fdtdec.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /*
  * Clock types that we can use as a source. The Tegra30 has muxes for the
diff --git a/arch/arm/mach-tegra/xusb-padctl-common.c b/arch/arm/mach-tegra/xusb-padctl-common.c
index e56e27c8b6e..5de403c30e4 100644
--- a/arch/arm/mach-tegra/xusb-padctl-common.c
+++ b/arch/arm/mach-tegra/xusb-padctl-common.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <errno.h>
 #include <log.h>
+#include <linux/printk.h>
 
 #include "xusb-padctl-common.h"
 
diff --git a/arch/arm/mach-uniphier/boot-device/boot-device.c b/arch/arm/mach-uniphier/boot-device/boot-device.c
index 98ff34cfa71..1e6bc8433f7 100644
--- a/arch/arm/mach-uniphier/boot-device/boot-device.c
+++ b/arch/arm/mach-uniphier/boot-device/boot-device.c
@@ -12,6 +12,7 @@
 #include <linux/errno.h>
 #include <linux/io.h>
 #include <linux/log2.h>
+#include <linux/printk.h>
 
 #include "../init.h"
 #include "../sg-regs.h"
diff --git a/arch/arm/mach-uniphier/clk/dpll-ld4.c b/arch/arm/mach-uniphier/clk/dpll-ld4.c
index 3ccaf02242c..f24a0eb0b82 100644
--- a/arch/arm/mach-uniphier/clk/dpll-ld4.c
+++ b/arch/arm/mach-uniphier/clk/dpll-ld4.c
@@ -7,6 +7,7 @@
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 
 #include "../init.h"
 #include "../sc-regs.h"
diff --git a/arch/arm/mach-uniphier/clk/dpll-pro4.c b/arch/arm/mach-uniphier/clk/dpll-pro4.c
index 44006ae6dc4..204aee1a62c 100644
--- a/arch/arm/mach-uniphier/clk/dpll-pro4.c
+++ b/arch/arm/mach-uniphier/clk/dpll-pro4.c
@@ -7,6 +7,7 @@
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 
 #include "../init.h"
 #include "../sc-regs.h"
diff --git a/arch/arm/mach-uniphier/dram/umc-ld4.c b/arch/arm/mach-uniphier/dram/umc-ld4.c
index 96acca2562f..1eb15b611fd 100644
--- a/arch/arm/mach-uniphier/dram/umc-ld4.c
+++ b/arch/arm/mach-uniphier/dram/umc-ld4.c
@@ -7,6 +7,7 @@
 
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 #include <asm/processor.h>
 
diff --git a/arch/arm/mach-uniphier/dram/umc-pro4.c b/arch/arm/mach-uniphier/dram/umc-pro4.c
index cde39b499bf..0114df782b4 100644
--- a/arch/arm/mach-uniphier/dram/umc-pro4.c
+++ b/arch/arm/mach-uniphier/dram/umc-pro4.c
@@ -7,6 +7,7 @@
 
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 #include <asm/processor.h>
 
diff --git a/arch/arm/mach-uniphier/dram/umc-sld8.c b/arch/arm/mach-uniphier/dram/umc-sld8.c
index a11586952d8..583a1bad8b7 100644
--- a/arch/arm/mach-uniphier/dram/umc-sld8.c
+++ b/arch/arm/mach-uniphier/dram/umc-sld8.c
@@ -7,6 +7,7 @@
 
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 #include <asm/processor.h>
 
diff --git a/arch/arm/mach-uniphier/memconf.c b/arch/arm/mach-uniphier/memconf.c
index 57192f0154a..ab0d187a1fa 100644
--- a/arch/arm/mach-uniphier/memconf.c
+++ b/arch/arm/mach-uniphier/memconf.c
@@ -7,6 +7,7 @@
 
 #include <linux/errno.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 #include "sg-regs.h"
diff --git a/arch/arm/mach-uniphier/spl_board_init.c b/arch/arm/mach-uniphier/spl_board_init.c
index a93b8cdc04d..0f2e3504c81 100644
--- a/arch/arm/mach-uniphier/spl_board_init.c
+++ b/arch/arm/mach-uniphier/spl_board_init.c
@@ -7,6 +7,7 @@
 #include <debug_uart.h>
 #include <hang.h>
 #include <spl.h>
+#include <linux/printk.h>
 
 #include "init.h"
 #include "micro-support-card.h"
diff --git a/arch/riscv/lib/smp.c b/arch/riscv/lib/smp.c
index ba992100adf..a0730f93bf5 100644
--- a/arch/riscv/lib/smp.c
+++ b/arch/riscv/lib/smp.c
@@ -10,6 +10,7 @@
 #include <asm/barrier.h>
 #include <asm/global_data.h>
 #include <asm/smp.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/tangier/pinmux.c b/arch/x86/cpu/tangier/pinmux.c
index 5b0e106011a..596c2c177ce 100644
--- a/arch/x86/cpu/tangier/pinmux.c
+++ b/arch/x86/cpu/tangier/pinmux.c
@@ -13,6 +13,7 @@
 #include <asm/cpu.h>
 #include <asm/scu.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 
 #define BUFCFG_OFFSET				0x100
 
diff --git a/arch/x86/cpu/tangier/sdram.c b/arch/x86/cpu/tangier/sdram.c
index df3b9e4ec97..0f0ab4102be 100644
--- a/arch/x86/cpu/tangier/sdram.c
+++ b/arch/x86/cpu/tangier/sdram.c
@@ -9,6 +9,7 @@
 #include <asm/e820.h>
 #include <asm/global_data.h>
 #include <asm/sfi.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index a7bde9de58f..ec5311f84e6 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -35,6 +35,7 @@
 #include <phy.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <remoteproc.h>
 #include <reset.h>
diff --git a/board/mediatek/mt8518/mt8518_ap1.c b/board/mediatek/mt8518/mt8518_ap1.c
index fce5de6767c..5a300821c9b 100644
--- a/board/mediatek/mt8518/mt8518_ap1.c
+++ b/board/mediatek/mt8518/mt8518_ap1.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mscc/ocelot/ocelot.c b/board/mscc/ocelot/ocelot.c
index c462890bb85..51e1aeccf57 100644
--- a/board/mscc/ocelot/ocelot.c
+++ b/board/mscc/ocelot/ocelot.c
@@ -16,6 +16,7 @@
 #include <wait_bit.h>
 #include <miiphy.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/nvidia/jetson-tk1/jetson-tk1.c b/board/nvidia/jetson-tk1/jetson-tk1.c
index 9eccdc4a832..ae1c76b133d 100644
--- a/board/nvidia/jetson-tk1/jetson-tk1.c
+++ b/board/nvidia/jetson-tk1/jetson-tk1.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/as3722.h>
 #include <power/pmic.h>
 
diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
index 516292aaa59..4ad780767ea 100644
--- a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
+++ b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
@@ -12,6 +12,7 @@
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <asm/arch-rockchip/misc.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 #define GRF_IO_VSEL_BT565_SHIFT 0
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 4463cdcb87b..97f4097cbcd 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -26,6 +26,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch/power.h>
 #include <asm/arch/sromc.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/max77686_pmic.h>
 #include <power/regulator.h>
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index 7d3b9846e39..0243d8971c8 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -11,6 +11,7 @@
 #include <libtizen.h>
 #include <asm/global_data.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <samsung/misc.h>
 #include <errno.h>
 #include <version.h>
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index b32b82fc2da..5fb01bba055 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -13,6 +13,7 @@
 #include <asm/arch/mmc.h>
 #include <dm.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <usb/dwc2_udc.h>
 #include <asm/arch/cpu.h>
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index 90aab62d33b..19e5bccbdb5 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -15,6 +15,7 @@
 #include <asm/arch/cpu.h>
 #include <dm.h>
 #include <env.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/max77686_pmic.h>
diff --git a/board/st/common/stm32mp_dfu.c b/board/st/common/stm32mp_dfu.c
index aab7d741ac6..04b56f7a6c4 100644
--- a/board/st/common/stm32mp_dfu.c
+++ b/board/st/common/stm32mp_dfu.c
@@ -13,6 +13,7 @@
 #include <mtd.h>
 #include <mtd_node.h>
 #include <asm/arch/stm32prog.h>
+#include <linux/printk.h>
 
 #define DFU_ALT_BUF_LEN SZ_1K
 
diff --git a/board/st/common/stm32mp_mtdparts.c b/board/st/common/stm32mp_mtdparts.c
index ef32df04fef..7151cad6d0f 100644
--- a/board/st/common/stm32mp_mtdparts.c
+++ b/board/st/common/stm32mp_mtdparts.c
@@ -14,6 +14,7 @@
 #include <asm/arch/stm32prog.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 
 #define MTDPARTS_LEN		256
 #define MTDIDS_LEN		128
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index f1df06caa49..97dce65c436 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -39,6 +39,7 @@
 #include <linux/delay.h>
 #include <linux/err.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <usb/dwc2_udc.h>
 
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index aa727272be4..6f0f10814ad 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -30,6 +30,7 @@
 #include <asm/arch/spl.h>
 #include <asm/global_data.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <u-boot/crc.h>
 #ifndef CONFIG_ARM64
 #include <asm/armv7.h>
diff --git a/board/synopsys/hsdk/clk-lib.c b/board/synopsys/hsdk/clk-lib.c
index 1c74bfb93a3..eed0fa15b19 100644
--- a/board/synopsys/hsdk/clk-lib.c
+++ b/board/synopsys/hsdk/clk-lib.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <dm/device.h>
+#include <linux/printk.h>
 
 #include "clk-lib.h"
 
diff --git a/board/synopsys/hsdk/env-lib.c b/board/synopsys/hsdk/env-lib.c
index 235f29565f9..dbec12c8a7b 100644
--- a/board/synopsys/hsdk/env-lib.c
+++ b/board/synopsys/hsdk/env-lib.c
@@ -7,6 +7,7 @@
 #include "env-lib.h"
 #include <env.h>
 #include <log.h>
+#include <linux/printk.h>
 
 #define MAX_CMD_LEN	25
 
diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index 3d44c70fe42..0f5ec260b16 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -22,6 +22,7 @@
 #include <env.h>
 #include <spl.h>
 #include <asm/arch/sys_proto.h>
+#include <linux/printk.h>
 
 #include "../common/board_detect.h"
 
diff --git a/board/ti/common/board_detect.c b/board/ti/common/board_detect.c
index 8b3b4bc8253..ea78eeb054a 100644
--- a/board/ti/common/board_detect.c
+++ b/board/ti/common/board_detect.c
@@ -19,6 +19,7 @@
 #include <mmc.h>
 #include <errno.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include "board_detect.h"
 
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index fb602950233..e04d030b48e 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -23,6 +23,7 @@
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
 #include <dm/uclass-internal.h>
+#include <linux/printk.h>
 
 #include "../common/board_detect.h"
 
diff --git a/board/toradex/apalis-tk1/apalis-tk1.c b/board/toradex/apalis-tk1/apalis-tk1.c
index e7a2186c2c4..349b3119370 100644
--- a/board/toradex/apalis-tk1/apalis-tk1.c
+++ b/board/toradex/apalis-tk1/apalis-tk1.c
@@ -16,6 +16,7 @@
 #include <env_internal.h>
 #include <pci_tegra.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/as3722.h>
 #include <power/pmic.h>
 
diff --git a/cmd/adc.c b/cmd/adc.c
index 16f914a030e..557a2c1f5d0 100644
--- a/cmd/adc.c
+++ b/cmd/adc.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <dm.h>
 #include <adc.h>
+#include <linux/printk.h>
 
 static int do_adc_list(struct cmd_tbl *cmdtp, int flag, int argc,
 		       char *const argv[])
diff --git a/cmd/fastboot.c b/cmd/fastboot.c
index ad5c0649118..48b891b28fc 100644
--- a/cmd/fastboot.c
+++ b/cmd/fastboot.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <usb.h>
 #include <watchdog.h>
+#include <linux/printk.h>
 #include <linux/stringify.h>
 
 static int do_fastboot_udp(int argc, char *const argv[],
diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index e73bc4dfa02..b0f0bee33b6 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -37,6 +37,7 @@
 #include <mapmem.h>
 #include <asm/global_data.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <u-boot/crc.h>
 #include <watchdog.h>
 #include <linux/stddef.h>
diff --git a/cmd/onenand.c b/cmd/onenand.c
index 216458bb474..fa403369faa 100644
--- a/cmd/onenand.c
+++ b/cmd/onenand.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include <linux/compat.h>
 #include <linux/mtd/mtd.h>
diff --git a/cmd/regulator.c b/cmd/regulator.c
index aa06c9a9fc8..0d97334a901 100644
--- a/cmd/regulator.c
+++ b/cmd/regulator.c
@@ -8,6 +8,7 @@
 #include <errno.h>
 #include <dm.h>
 #include <dm/uclass-internal.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 #define LIMIT_DEVNAME	20
diff --git a/cmd/thordown.c b/cmd/thordown.c
index ae20dddfddb..f36fb20e26e 100644
--- a/cmd/thordown.c
+++ b/cmd/thordown.c
@@ -12,6 +12,7 @@
 #include <dfu.h>
 #include <g_dnl.h>
 #include <usb.h>
+#include <linux/printk.h>
 
 int do_thor_down(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
diff --git a/cmd/tpm_test.c b/cmd/tpm_test.c
index ebfb25cab0a..d7044336ff2 100644
--- a/cmd/tpm_test.c
+++ b/cmd/tpm_test.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <log.h>
 #include <tpm-v1.h>
+#include <linux/printk.h>
 #include "tpm-user-utils.h"
 
 /* Prints error and returns on failure */
diff --git a/cmd/usb_gadget_sdp.c b/cmd/usb_gadget_sdp.c
index 1af82e11366..651a3ebcb5d 100644
--- a/cmd/usb_gadget_sdp.c
+++ b/cmd/usb_gadget_sdp.c
@@ -11,6 +11,7 @@
 #include <g_dnl.h>
 #include <sdp.h>
 #include <usb.h>
+#include <linux/printk.h>
 
 static int do_sdp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c
index cf2f55994e0..a80bcbf13c7 100644
--- a/cmd/usb_mass_storage.c
+++ b/cmd/usb_mass_storage.c
@@ -18,6 +18,7 @@
 #include <usb_mass_storage.h>
 #include <watchdog.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 static int ums_read_sector(struct ums *ums_dev,
 			   ulong start, lbaint_t blkcnt, void *buf)
diff --git a/common/dfu.c b/common/dfu.c
index d23cf67f194..c879e8d6a8f 100644
--- a/common/dfu.c
+++ b/common/dfu.c
@@ -19,6 +19,7 @@
 #include <g_dnl.h>
 #include <usb.h>
 #include <net.h>
+#include <linux/printk.h>
 
 int run_usb_dnl_gadget(int usbctrl_index, char *usb_dnl_gadget)
 {
diff --git a/common/spl/spl_dfu.c b/common/spl/spl_dfu.c
index 5728d43ad3f..8a779da8fa1 100644
--- a/common/spl/spl_dfu.c
+++ b/common/spl/spl_dfu.c
@@ -15,6 +15,7 @@
 #include <g_dnl.h>
 #include <usb.h>
 #include <dfu.h>
+#include <linux/printk.h>
 
 static int run_dfu(int usb_index, char *interface, char *devstring)
 {
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index 7f06081854f..7758a9ed583 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -16,6 +16,7 @@
 #include <asm/cache.h>
 #include <asm/global_data.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c
index 90c4a5f9704..4bde3bb4687 100644
--- a/common/spl/spl_opensbi.c
+++ b/common/spl/spl_opensbi.c
@@ -15,6 +15,7 @@
 #include <asm/smp.h>
 #include <opensbi.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/spl/spl_sdp.c b/common/spl/spl_sdp.c
index ae9c09883a4..a72f393764c 100644
--- a/common/spl/spl_sdp.c
+++ b/common/spl/spl_sdp.c
@@ -10,6 +10,7 @@
 #include <usb.h>
 #include <g_dnl.h>
 #include <sdp.h>
+#include <linux/printk.h>
 
 static int spl_sdp_load_image(struct spl_image_info *spl_image,
 			      struct spl_boot_device *bootdev)
diff --git a/common/update.c b/common/update.c
index 36b6b7523d5..81be5a1aae9 100644
--- a/common/update.c
+++ b/common/update.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <image.h>
+#include <linux/printk.h>
 
 #if !(defined(CONFIG_FIT) && defined(CONFIG_OF_LIBFDT))
 #error "CONFIG_FIT and CONFIG_OF_LIBFDT are required for auto-update feature"
diff --git a/disk/part_efi.c b/disk/part_efi.c
index 530a2f30f3d..aec5755fe16 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -25,6 +25,7 @@
 #include <part_efi.h>
 #include <linux/compiler.h>
 #include <linux/ctype.h>
+#include <linux/printk.h>
 #include <u-boot/crc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/adc/adc-uclass.c b/drivers/adc/adc-uclass.c
index d4356672581..7c033a6855b 100644
--- a/drivers/adc/adc-uclass.c
+++ b/drivers/adc/adc-uclass.c
@@ -13,6 +13,7 @@
 #include <dm/uclass-internal.h>
 #include <adc.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 #define ADC_UCLASS_PLATDATA_SIZE	sizeof(struct adc_uclass_platdata)
diff --git a/drivers/adc/exynos-adc.c b/drivers/adc/exynos-adc.c
index b459b570507..973533d261a 100644
--- a/drivers/adc/exynos-adc.c
+++ b/drivers/adc/exynos-adc.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <adc.h>
 #include <asm/arch/adc.h>
+#include <linux/printk.h>
 
 struct exynos_adc_priv {
 	int active_channel;
diff --git a/drivers/adc/meson-saradc.c b/drivers/adc/meson-saradc.c
index 72b0cc4e5bd..d4abb6b943d 100644
--- a/drivers/adc/meson-saradc.c
+++ b/drivers/adc/meson-saradc.c
@@ -18,6 +18,7 @@
 #include <linux/delay.h>
 #include <linux/math64.h>
 #include <linux/bitfield.h>
+#include <linux/printk.h>
 
 #define MESON_SAR_ADC_REG0					0x00
 	#define MESON_SAR_ADC_REG0_PANEL_DETECT			BIT(31)
diff --git a/drivers/adc/rockchip-saradc.c b/drivers/adc/rockchip-saradc.c
index 561740f63b5..61e3f2cef90 100644
--- a/drivers/adc/rockchip-saradc.c
+++ b/drivers/adc/rockchip-saradc.c
@@ -13,6 +13,7 @@
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 #define SARADC_CTRL_CHN_MASK		GENMASK(2, 0)
 #define SARADC_CTRL_POWER_CTRL		BIT(3)
diff --git a/drivers/adc/sandbox.c b/drivers/adc/sandbox.c
index 1f32289f603..fa1174bbaa3 100644
--- a/drivers/adc/sandbox.c
+++ b/drivers/adc/sandbox.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <adc.h>
 #include <sandbox-adc.h>
+#include <linux/printk.h>
 
 /**
  * struct sandbox_adc_priv - sandbox ADC device's operation status and data
diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c
index ed0527c9768..04505ca4f27 100644
--- a/drivers/ata/dwc_ahci.c
+++ b/drivers/ata/dwc_ahci.c
@@ -16,6 +16,7 @@
 #include <asm/arch/sata.h>
 #include <asm/io.h>
 #include <generic-phy.h>
+#include <linux/printk.h>
 
 struct dwc_ahci_priv {
 	void *base;
diff --git a/drivers/bios_emulator/include/x86emu/debug.h b/drivers/bios_emulator/include/x86emu/debug.h
index 4962a2acaf1..859b54d8600 100644
--- a/drivers/bios_emulator/include/x86emu/debug.h
+++ b/drivers/bios_emulator/include/x86emu/debug.h
@@ -43,6 +43,7 @@
 
 /* checks to be enabled for "runtime" */
 
+#include <linux/printk.h>
 #define CHECK_IP_FETCH_F		0x1
 #define CHECK_SP_ACCESS_F		0x2
 #define CHECK_MEM_ACCESS_F		0x4	/*using regular linear pointer */
diff --git a/drivers/bios_emulator/include/x86emu/regs.h b/drivers/bios_emulator/include/x86emu/regs.h
index 29341297d96..4b4c5908923 100644
--- a/drivers/bios_emulator/include/x86emu/regs.h
+++ b/drivers/bios_emulator/include/x86emu/regs.h
@@ -41,6 +41,7 @@
 
 /*---------------------- Macros and type definitions ----------------------*/
 
+#include <linux/printk.h>
 #pragma pack(1)
 
 /*
diff --git a/drivers/bios_emulator/x86emu/debug.c b/drivers/bios_emulator/x86emu/debug.c
index 27e90e441aa..95f3cc09aad 100644
--- a/drivers/bios_emulator/x86emu/debug.c
+++ b/drivers/bios_emulator/x86emu/debug.c
@@ -40,6 +40,7 @@
 #include <stdarg.h>
 #include <common.h>
 #include <linux/ctype.h>
+#include <linux/printk.h>
 #include "x86emu/x86emui.h"
 
 /*----------------------------- Implementation ----------------------------*/
diff --git a/drivers/bios_emulator/x86emu/decode.c b/drivers/bios_emulator/x86emu/decode.c
index a9a01b52d6c..e2028eaf083 100644
--- a/drivers/bios_emulator/x86emu/decode.c
+++ b/drivers/bios_emulator/x86emu/decode.c
@@ -37,6 +37,7 @@
 *
 ****************************************************************************/
 #include <common.h>
+#include <linux/printk.h>
 #include "x86emu/x86emui.h"
 
 /*----------------------------- Implementation ----------------------------*/
diff --git a/drivers/bios_emulator/x86emu/ops.c b/drivers/bios_emulator/x86emu/ops.c
index ba18135fe13..8c1a146165c 100644
--- a/drivers/bios_emulator/x86emu/ops.c
+++ b/drivers/bios_emulator/x86emu/ops.c
@@ -73,6 +73,7 @@
 ****************************************************************************/
 
 #include <common.h>
+#include <linux/printk.h>
 #include "x86emu/x86emui.h"
 
 /*----------------------------- Implementation ----------------------------*/
diff --git a/drivers/bios_emulator/x86emu/ops2.c b/drivers/bios_emulator/x86emu/ops2.c
index be4ef364432..6cd1ac39825 100644
--- a/drivers/bios_emulator/x86emu/ops2.c
+++ b/drivers/bios_emulator/x86emu/ops2.c
@@ -43,6 +43,7 @@
 
 #include <common.h>
 #include <linux/compiler.h>
+#include <linux/printk.h>
 #include "x86emu/x86emui.h"
 
 /*----------------------------- Implementation ----------------------------*/
diff --git a/drivers/bios_emulator/x86emu/sys.c b/drivers/bios_emulator/x86emu/sys.c
index c2db1213fe6..53891960c0c 100644
--- a/drivers/bios_emulator/x86emu/sys.c
+++ b/drivers/bios_emulator/x86emu/sys.c
@@ -40,6 +40,7 @@
 ****************************************************************************/
 
 #include <common.h>
+#include <linux/printk.h>
 #include "x86emu/x86emui.h"
 
 /*------------------------- Global Variables ------------------------------*/
diff --git a/drivers/bootcount/bootcount-uclass.c b/drivers/bootcount/bootcount-uclass.c
index 34ac08d59a6..2a492c87ebd 100644
--- a/drivers/bootcount/bootcount-uclass.c
+++ b/drivers/bootcount/bootcount-uclass.c
@@ -8,6 +8,7 @@
 #include <errno.h>
 #include <bootcount.h>
 #include <log.h>
+#include <linux/printk.h>
 
 int dm_bootcount_get(struct udevice *dev, u32 *bootcount)
 {
diff --git a/drivers/clk/analogbits/wrpll-cln28hpc.c b/drivers/clk/analogbits/wrpll-cln28hpc.c
index 776ead319ae..a3cb109d357 100644
--- a/drivers/clk/analogbits/wrpll-cln28hpc.c
+++ b/drivers/clk/analogbits/wrpll-cln28hpc.c
@@ -26,6 +26,7 @@
 #include <linux/log2.h>
 #include <linux/math64.h>
 #include <linux/clk/analogbits-wrpll-cln28hpc.h>
+#include <linux/printk.h>
 
 /* MIN_INPUT_FREQ: minimum input clock frequency, in Hz (Fref_min) */
 #define MIN_INPUT_FREQ			7000000
diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c
index 8f59d7fb72c..b28f47db0f2 100644
--- a/drivers/clk/clk-divider.c
+++ b/drivers/clk/clk-divider.c
@@ -24,6 +24,7 @@
 #include <linux/log2.h>
 #include <div64.h>
 #include <clk.h>
+#include <linux/printk.h>
 #include "clk.h"
 
 #define UBOOT_DM_CLK_CCF_DIVIDER "ccf_clk_divider"
diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c
index 006d3b6629c..8d6ab8f2a38 100644
--- a/drivers/clk/clk-gate.c
+++ b/drivers/clk/clk-gate.c
@@ -16,6 +16,7 @@
 #include <linux/bitops.h>
 #include <linux/clk-provider.h>
 #include <clk.h>
+#include <linux/printk.h>
 #include "clk.h"
 #include <linux/err.h>
 
diff --git a/drivers/clk/clk-hsdk-cgu.c b/drivers/clk/clk-hsdk-cgu.c
index 3eb93a55fc4..2067316e672 100644
--- a/drivers/clk/clk-hsdk-cgu.c
+++ b/drivers/clk/clk-hsdk-cgu.c
@@ -19,6 +19,7 @@
 #include <linux/delay.h>
 #include <linux/io.h>
 #include <asm/arcregs.h>
+#include <linux/printk.h>
 
 #include <dt-bindings/clock/snps,hsdk-cgu.h>
 
diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c
index f1becd20d8b..66588e5403f 100644
--- a/drivers/clk/clk-mux.c
+++ b/drivers/clk/clk-mux.c
@@ -31,6 +31,7 @@
 #include <malloc.h>
 #include <asm/io.h>
 #include <linux/clk-provider.h>
+#include <linux/printk.h>
 #include <linux/err.h>
 #include "clk.h"
 
diff --git a/drivers/clk/clk_boston.c b/drivers/clk/clk_boston.c
index 2318dcf6a45..47424d8f533 100644
--- a/drivers/clk/clk_boston.c
+++ b/drivers/clk/clk_boston.c
@@ -10,6 +10,7 @@
 #include <regmap.h>
 #include <syscon.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 struct clk_boston {
 	struct regmap *regmap;
diff --git a/drivers/clk/clk_stm32f.c b/drivers/clk/clk_stm32f.c
index 93722f74ae4..cc48905df54 100644
--- a/drivers/clk/clk_stm32f.c
+++ b/drivers/clk/clk_stm32f.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <stm32_rcc.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/drivers/clk/clk_stm32h7.c b/drivers/clk/clk_stm32h7.c
index 5e6abca56fa..c1856d8678b 100644
--- a/drivers/clk/clk_stm32h7.c
+++ b/drivers/clk/clk_stm32h7.c
@@ -13,6 +13,7 @@
 #include <asm/io.h>
 #include <dm/root.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 #include <dt-bindings/clock/stm32h7-clks.h>
 
diff --git a/drivers/clk/clk_stm32mp1.c b/drivers/clk/clk_stm32mp1.c
index 65ffd32d08e..8244b7c99fc 100644
--- a/drivers/clk/clk_stm32mp1.c
+++ b/drivers/clk/clk_stm32mp1.c
@@ -21,6 +21,7 @@
 #include <asm/arch/sys_proto.h>
 #include <dt-bindings/clock/stm32mp1-clks.h>
 #include <dt-bindings/clock/stm32mp1-clksrc.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c
index b0ccb6c8eda..ac2461948d2 100644
--- a/drivers/clk/imx/clk-pll14xx.c
+++ b/drivers/clk/imx/clk-pll14xx.c
@@ -18,6 +18,7 @@
 #include <linux/iopoll.h>
 #include <clk.h>
 #include <div64.h>
+#include <linux/printk.h>
 
 #include "clk.h"
 
diff --git a/drivers/clk/rockchip/clk_rk3368.c b/drivers/clk/rockchip/clk_rk3368.c
index d1804c6e168..b87be9a0341 100644
--- a/drivers/clk/rockchip/clk_rk3368.c
+++ b/drivers/clk/rockchip/clk_rk3368.c
@@ -22,6 +22,7 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rk3368-cru.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/stringify.h>
 
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
index 1ea41f3c5b2..2b021411bc7 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -22,6 +22,7 @@
 #include <dt-bindings/clock/rk3399-cru.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
 struct rk3399_clk_plat {
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 01670996dc8..5b12e570ba5 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -31,6 +31,7 @@
 #include <linux/err.h>
 #include <linux/list.h>
 #include <power-domain.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c
index ca34d84922b..3a67d9bc760 100644
--- a/drivers/core/of_addr.c
+++ b/drivers/core/of_addr.c
@@ -14,6 +14,7 @@
 #include <dm/of_addr.h>
 #include <linux/err.h>
 #include <linux/ioport.h>
+#include <linux/printk.h>
 
 /* Max address size we deal with */
 #define OF_MAX_ADDR_CELLS	4
diff --git a/drivers/core/root.c b/drivers/core/root.c
index b5446b1db02..1e9d580c494 100644
--- a/drivers/core/root.c
+++ b/drivers/core/root.c
@@ -25,6 +25,7 @@
 #include <dm/uclass.h>
 #include <dm/util.h>
 #include <linux/list.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
index a298c2c4399..3d5de92ecae 100644
--- a/drivers/dfu/dfu.c
+++ b/drivers/dfu/dfu.c
@@ -17,6 +17,7 @@
 #include <hash.h>
 #include <linux/list.h>
 #include <linux/compiler.h>
+#include <linux/printk.h>
 
 static LIST_HEAD(dfu_list);
 static int dfu_alt_num;
diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c
index 691d01c7ebd..ac5ea2c7d79 100644
--- a/drivers/dfu/dfu_mmc.c
+++ b/drivers/dfu/dfu_mmc.c
@@ -16,6 +16,7 @@
 #include <fat.h>
 #include <mmc.h>
 #include <part.h>
+#include <linux/printk.h>
 
 static unsigned char *dfu_file_buf;
 static u64 dfu_file_buf_len;
diff --git a/drivers/dfu/dfu_ram.c b/drivers/dfu/dfu_ram.c
index ab0ce9e6fa9..ec425a55169 100644
--- a/drivers/dfu/dfu_ram.c
+++ b/drivers/dfu/dfu_ram.c
@@ -13,6 +13,7 @@
 #include <mapmem.h>
 #include <errno.h>
 #include <dfu.h>
+#include <linux/printk.h>
 
 static int dfu_transfer_medium_ram(enum dfu_op op, struct dfu_entity *dfu,
 				   u64 offset, void *buf, long *len)
diff --git a/drivers/dfu/dfu_tftp.c b/drivers/dfu/dfu_tftp.c
index ffae4bb54f8..0f2c114668e 100644
--- a/drivers/dfu/dfu_tftp.c
+++ b/drivers/dfu/dfu_tftp.c
@@ -9,6 +9,7 @@
 #include <malloc.h>
 #include <errno.h>
 #include <dfu.h>
+#include <linux/printk.h>
 
 int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, unsigned int len,
 		   char *interface, char *devstring)
diff --git a/drivers/dma/bcm6348-iudma.c b/drivers/dma/bcm6348-iudma.c
index 91172d483c7..ceb8de9b8af 100644
--- a/drivers/dma/bcm6348-iudma.c
+++ b/drivers/dma/bcm6348-iudma.c
@@ -28,6 +28,7 @@
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #define DMA_RX_DESC	6
 #define DMA_TX_DESC	1
diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c
index 50403148d6d..aeaf1606919 100644
--- a/drivers/dma/dma-uclass.c
+++ b/drivers/dma/dma-uclass.c
@@ -19,6 +19,7 @@
 #include <dma-uclass.h>
 #include <dt-structs.h>
 #include <errno.h>
+#include <linux/printk.h>
 
 #ifdef CONFIG_DMA_CHANNELS
 static inline struct dma_ops *dma_dev_ops(struct udevice *dev)
diff --git a/drivers/dma/lpc32xx_dma.c b/drivers/dma/lpc32xx_dma.c
index ab58e97bfe2..0efdfd028cf 100644
--- a/drivers/dma/lpc32xx_dma.c
+++ b/drivers/dma/lpc32xx_dma.c
@@ -17,6 +17,7 @@
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /* DMA controller channel register structure */
 struct dmac_chan_reg {
diff --git a/drivers/dma/sandbox-dma-test.c b/drivers/dma/sandbox-dma-test.c
index 838596b24b6..18e8fe3806c 100644
--- a/drivers/dma/sandbox-dma-test.c
+++ b/drivers/dma/sandbox-dma-test.c
@@ -15,6 +15,7 @@
 #include <dma-uclass.h>
 #include <dt-structs.h>
 #include <errno.h>
+#include <linux/printk.h>
 
 #define SANDBOX_DMA_CH_CNT 3
 #define SANDBOX_DMA_BUF_SIZE 1024
diff --git a/drivers/dma/ti-edma3.c b/drivers/dma/ti-edma3.c
index 13ab9670890..c73ab579cf6 100644
--- a/drivers/dma/ti-edma3.c
+++ b/drivers/dma/ti-edma3.c
@@ -15,6 +15,7 @@
 #include <dma-uclass.h>
 #include <asm/omap_common.h>
 #include <asm/ti-common/ti-edma3.h>
+#include <linux/printk.h>
 
 #define EDMA3_SL_BASE(slot)			(0x4000 + ((slot) << 5))
 #define EDMA3_SL_MAX_NUM			512
diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index 94216045ccc..405d591edf5 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -24,6 +24,7 @@
 #include <linux/delay.h>
 #include <linux/bitmap.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <linux/soc/ti/k3-navss-ringacc.h>
 #include <linux/soc/ti/cppi5.h>
 #include <linux/soc/ti/ti-udma.h>
diff --git a/drivers/fastboot/fb_command.c b/drivers/fastboot/fb_command.c
index d3c578672dc..12ba4bca129 100644
--- a/drivers/fastboot/fb_command.c
+++ b/drivers/fastboot/fb_command.c
@@ -13,6 +13,7 @@
 #include <flash.h>
 #include <part.h>
 #include <stdlib.h>
+#include <linux/printk.h>
 
 /**
  * image_size - final fastboot image size
diff --git a/drivers/fastboot/fb_getvar.c b/drivers/fastboot/fb_getvar.c
index d43f2cfee66..1112be7893b 100644
--- a/drivers/fastboot/fb_getvar.c
+++ b/drivers/fastboot/fb_getvar.c
@@ -12,6 +12,7 @@
 #include <fs.h>
 #include <part.h>
 #include <version.h>
+#include <linux/printk.h>
 
 static void getvar_version(char *var_parameter, char *response);
 static void getvar_version_bootloader(char *var_parameter, char *response);
diff --git a/drivers/fastboot/fb_mmc.c b/drivers/fastboot/fb_mmc.c
index ae8e8e512f2..910713b5a10 100644
--- a/drivers/fastboot/fb_mmc.c
+++ b/drivers/fastboot/fb_mmc.c
@@ -19,6 +19,7 @@
 #include <div64.h>
 #include <linux/compat.h>
 #include <android_image.h>
+#include <linux/printk.h>
 
 #define FASTBOOT_MAX_BLK_WRITE 16384
 
diff --git a/drivers/fastboot/fb_nand.c b/drivers/fastboot/fb_nand.c
index eb8a36f2922..1bf7ccb960b 100644
--- a/drivers/fastboot/fb_nand.c
+++ b/drivers/fastboot/fb_nand.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <blk.h>
 #include <flash.h>
+#include <linux/printk.h>
 
 #include <fastboot.h>
 #include <image-sparse.h>
diff --git a/drivers/i2c/i2c-gpio.c b/drivers/i2c/i2c-gpio.c
index 917cdf4e62e..d24079b96a4 100644
--- a/drivers/i2c/i2c-gpio.c
+++ b/drivers/i2c/i2c-gpio.c
@@ -13,6 +13,7 @@
 #include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #define DEFAULT_UDELAY	5
 #define RETRIES		0
diff --git a/drivers/i2c/iproc_i2c.c b/drivers/i2c/iproc_i2c.c
index b90c0ddba7c..4231c0c617f 100644
--- a/drivers/i2c/iproc_i2c.c
+++ b/drivers/i2c/iproc_i2c.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <config.h>
 #include <dm.h>
+#include <linux/printk.h>
 #include "errno.h"
 #include <i2c.h>
 #include "iproc_i2c.h"
diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index 0af4e333c41..aaf2d10f6fd 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -43,6 +43,7 @@
 #include <i2c.h>
 #include <log.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 #include <asm/omap_i2c.h>
diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c
index 2f609115494..6c2fff1c52b 100644
--- a/drivers/i2c/stm32f7_i2c.c
+++ b/drivers/i2c/stm32f7_i2c.c
@@ -13,6 +13,7 @@
 #include <syscon.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <dm/device.h>
 #include <linux/err.h>
diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c
index 65b3734348b..96a436a8dc1 100644
--- a/drivers/i2c/tegra_i2c.c
+++ b/drivers/i2c/tegra_i2c.c
@@ -21,6 +21,7 @@
 #include <asm/arch-tegra/tegra_i2c.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 enum i2c_type {
 	TYPE_114,
diff --git a/drivers/misc/sifive-otp.c b/drivers/misc/sifive-otp.c
index 92f08dde011..0a4fa67f335 100644
--- a/drivers/misc/sifive-otp.c
+++ b/drivers/misc/sifive-otp.c
@@ -24,6 +24,7 @@
 #include <linux/delay.h>
 #include <linux/io.h>
 #include <misc.h>
+#include <linux/printk.h>
 
 #define BYTES_PER_FUSE		4
 
diff --git a/drivers/misc/tegra186_bpmp.c b/drivers/misc/tegra186_bpmp.c
index 1f4437226e7..73cc2666e49 100644
--- a/drivers/misc/tegra186_bpmp.c
+++ b/drivers/misc/tegra186_bpmp.c
@@ -17,6 +17,7 @@
 #include <asm/arch-tegra/ivc.h>
 #include <linux/bitops.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 #define BPMP_IVC_FRAME_COUNT 1
 #define BPMP_IVC_FRAME_SIZE 128
diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
index 94af116d10c..499fafe8f5e 100644
--- a/drivers/mmc/exynos_dw_mmc.c
+++ b/drivers/mmc/exynos_dw_mmc.c
@@ -16,6 +16,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch/power.h>
 #include <asm/gpio.h>
+#include <linux/printk.h>
 
 #define	DWMMC_MAX_CH_NUM		4
 #define	DWMMC_MAX_FREQ			52000000
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index 5d841580c23..59a4e43965b 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -26,6 +26,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <malloc.h>
 #include <fsl_esdhc_imx.h>
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index a47700e313c..ad8c59d9f38 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -19,6 +19,7 @@
 #include <part.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <malloc.h>
 #include <memalign.h>
diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c
index 4f9fa7d0ec3..4964282dbf7 100644
--- a/drivers/mmc/mtk-sd.c
+++ b/drivers/mmc/mtk-sd.c
@@ -20,6 +20,7 @@
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 /* MSDC_CFG */
 #define MSDC_CFG_HS400_CK_MODE_EXT	BIT(22)
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index d549a264d73..e545c5427b5 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -20,6 +20,7 @@
 #include <linux/delay.h>
 #include <linux/dma-mapping.h>
 #include <phys2bus.h>
+#include <linux/printk.h>
 
 static void sdhci_reset(struct sdhci_host *host, u8 mask)
 {
diff --git a/drivers/mmc/sti_sdhci.c b/drivers/mmc/sti_sdhci.c
index db0b566a8b7..11ae392734c 100644
--- a/drivers/mmc/sti_sdhci.c
+++ b/drivers/mmc/sti_sdhci.c
@@ -12,6 +12,7 @@
 #include <sdhci.h>
 #include <asm/arch/sdhci.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/mmc/stm32_sdmmc2.c b/drivers/mmc/stm32_sdmmc2.c
index 77871d5afc9..92fa7a74f4a 100644
--- a/drivers/mmc/stm32_sdmmc2.c
+++ b/drivers/mmc/stm32_sdmmc2.c
@@ -22,6 +22,7 @@
 #include <asm/gpio.h>
 #include <linux/iopoll.h>
 #include <watchdog.h>
+#include <linux/printk.h>
 
 struct stm32_sdmmc2_plat {
 	struct mmc_config cfg;
diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c
index aaec3c43fef..67f1b81ed79 100644
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -23,6 +23,7 @@
 #include <linux/libfdt.h>
 #include <malloc.h>
 #include <sdhci.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/mtd/mtdconcat.c b/drivers/mtd/mtdconcat.c
index 684bc949985..1baaa6e9475 100644
--- a/drivers/mtd/mtdconcat.c
+++ b/drivers/mtd/mtdconcat.c
@@ -23,6 +23,7 @@
 #include <div64.h>
 #include <linux/bug.h>
 #include <linux/compat.h>
+#include <linux/printk.h>
 #endif
 
 #include <linux/mtd/mtd.h>
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 1a4dec34d93..6b0ea195312 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -32,6 +32,7 @@
 #include <linux/bug.h>
 #include <linux/err.h>
 #include <ubi_uboot.h>
+#include <linux/printk.h>
 #endif
 
 #include <linux/log2.h>
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index d064ac30480..cad11805690 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -25,6 +25,7 @@
 #include <linux/errno.h>
 #include <linux/compat.h>
 #include <ubi_uboot.h>
+#include <linux/printk.h>
 
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c
index 294daee7b22..972aec6e266 100644
--- a/drivers/mtd/nand/bbt.c
+++ b/drivers/mtd/nand/bbt.c
@@ -16,6 +16,7 @@
 #ifndef __UBOOT__
 #include <linux/slab.h>
 #endif
+#include <linux/printk.h>
 
 /**
  * nanddev_bbt_init() - Initialize the BBT (Bad Block Table)
diff --git a/drivers/mtd/nand/core.c b/drivers/mtd/nand/core.c
index 6fbd24ba749..45d827f686c 100644
--- a/drivers/mtd/nand/core.c
+++ b/drivers/mtd/nand/core.c
@@ -16,6 +16,7 @@
 #endif
 #include <linux/bitops.h>
 #include <linux/mtd/nand.h>
+#include <linux/printk.h>
 
 /**
  * nanddev_isbad() - Check if a block is bad
diff --git a/drivers/mtd/nand/raw/arasan_nfc.c b/drivers/mtd/nand/raw/arasan_nfc.c
index 0615e503780..fee67fc1fce 100644
--- a/drivers/mtd/nand/raw/arasan_nfc.c
+++ b/drivers/mtd/nand/raw/arasan_nfc.c
@@ -18,6 +18,7 @@
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
 #include <nand.h>
+#include <linux/printk.h>
 
 struct nand_config {
 	u32 page;
diff --git a/drivers/mtd/nand/raw/atmel_nand.c b/drivers/mtd/nand/raw/atmel_nand.c
index abc432c8626..6e10c76a1c9 100644
--- a/drivers/mtd/nand/raw/atmel_nand.c
+++ b/drivers/mtd/nand/raw/atmel_nand.c
@@ -19,6 +19,7 @@
 #include <linux/bitops.h>
 #include <linux/bug.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <malloc.h>
 #include <nand.h>
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c
index 6313403cd65..89c981096ba 100644
--- a/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c
+++ b/drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c
@@ -10,6 +10,7 @@
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "brcmnand.h"
 
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c
index cd4b24a51a1..3223d9aacff 100644
--- a/drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c
+++ b/drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c
@@ -9,6 +9,7 @@
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "brcmnand.h"
 
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c
index aa042bef158..b8e7b6b2921 100644
--- a/drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c
+++ b/drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c
@@ -9,6 +9,7 @@
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "brcmnand.h"
 
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c
index 07884550906..071b16c217a 100644
--- a/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c
+++ b/drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c
@@ -10,6 +10,7 @@
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "brcmnand.h"
 
diff --git a/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c b/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c
index 818eae8a7c6..e9d23377d47 100644
--- a/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c
+++ b/drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c
@@ -10,6 +10,7 @@
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "brcmnand.h"
 
diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c
index 4416b8fa1e6..f64de80bf2b 100644
--- a/drivers/mtd/nand/raw/davinci_nand.c
+++ b/drivers/mtd/nand/raw/davinci_nand.c
@@ -34,6 +34,7 @@
 #include <nand.h>
 #include <dm/uclass.h>
 #include <asm/ti-common/davinci_nand.h>
+#include <linux/printk.h>
 
 /* Definitions for 4-bit hardware ECC */
 #define NAND_TIMEOUT			10240
diff --git a/drivers/mtd/nand/raw/lpc32xx_nand_mlc.c b/drivers/mtd/nand/raw/lpc32xx_nand_mlc.c
index b3232ed59d5..588fb010ee8 100644
--- a/drivers/mtd/nand/raw/lpc32xx_nand_mlc.c
+++ b/drivers/mtd/nand/raw/lpc32xx_nand_mlc.c
@@ -27,6 +27,7 @@
 #include <nand.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/sys_proto.h>
+#include <linux/printk.h>
 
 /*
  * MLC NAND controller registers.
diff --git a/drivers/mtd/nand/raw/lpc32xx_nand_slc.c b/drivers/mtd/nand/raw/lpc32xx_nand_slc.c
index 9cca3c55cc0..5e8e76c3e5f 100644
--- a/drivers/mtd/nand/raw/lpc32xx_nand_slc.c
+++ b/drivers/mtd/nand/raw/lpc32xx_nand_slc.c
@@ -22,6 +22,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/dma.h>
 #include <asm/arch/cpu.h>
+#include <linux/printk.h>
 
 struct lpc32xx_nand_slc_regs {
 	u32 data;
diff --git a/drivers/mtd/nand/raw/mxc_nand.c b/drivers/mtd/nand/raw/mxc_nand.c
index 59cef205754..c5e56c05873 100644
--- a/drivers/mtd/nand/raw/mxc_nand.c
+++ b/drivers/mtd/nand/raw/mxc_nand.c
@@ -15,6 +15,7 @@
 	defined(CONFIG_MX51) || defined(CONFIG_MX53)
 #include <asm/arch/imx-regs.h>
 #endif
+#include <linux/printk.h>
 #include "mxc_nand.h"
 
 #define DRIVER_NAME "mxc_nand"
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index ebb40f93325..7cd1e133c22 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -51,6 +51,7 @@
 #endif
 #include <asm/io.h>
 #include <linux/errno.h>
+#include <linux/printk.h>
 
 /* Define default oob placement schemes for large and small page devices */
 #ifndef CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
diff --git a/drivers/mtd/nand/raw/nand_bbt.c b/drivers/mtd/nand/raw/nand_bbt.c
index 911472e91e1..4f3c3223ca7 100644
--- a/drivers/mtd/nand/raw/nand_bbt.c
+++ b/drivers/mtd/nand/raw/nand_bbt.c
@@ -67,6 +67,7 @@
 #include <linux/mtd/bbm.h>
 #include <linux/mtd/rawnand.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <linux/string.h>
 
 #define BBT_BLOCK_GOOD		0x00
diff --git a/drivers/mtd/nand/raw/nand_bch.c b/drivers/mtd/nand/raw/nand_bch.c
index 734d1c6204e..bb48ebbb96c 100644
--- a/drivers/mtd/nand/raw/nand_bch.c
+++ b/drivers/mtd/nand/raw/nand_bch.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <log.h>
 #include <dm/devres.h>
+#include <linux/printk.h>
 /*#include <asm/io.h>*/
 #include <linux/types.h>
 
diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index 58d527acbd4..794c20ebe82 100644
--- a/drivers/mtd/nand/raw/pxa3xx_nand.c
+++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
@@ -22,6 +22,7 @@
 #include <asm/arch/cpu.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/rawnand.h>
+#include <linux/printk.h>
 #include <linux/types.h>
 
 #include "pxa3xx_nand.h"
diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
index 47fe61090da..c1e884af950 100644
--- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
+++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
@@ -16,6 +16,7 @@
 #include <linux/err.h>
 #include <linux/iopoll.h>
 #include <linux/ioport.h>
+#include <linux/printk.h>
 
 /* Bad block marker length */
 #define FMC2_BBM_LEN			2
diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c
index 7bc6ec7beea..c19ff338707 100644
--- a/drivers/mtd/nand/raw/sunxi_nand.c
+++ b/drivers/mtd/nand/raw/sunxi_nand.c
@@ -35,6 +35,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 #include <linux/kernel.h>
 #include <linux/mtd/mtd.h>
diff --git a/drivers/mtd/nand/raw/tegra_nand.c b/drivers/mtd/nand/raw/tegra_nand.c
index dd14c34738a..a28f830e8cd 100644
--- a/drivers/mtd/nand/raw/tegra_nand.c
+++ b/drivers/mtd/nand/raw/tegra_nand.c
@@ -23,6 +23,7 @@
 #include <fdtdec.h>
 #include <bouncebuf.h>
 #include <dm.h>
+#include <linux/printk.h>
 #include "tegra_nand.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/mtd/nand/raw/vf610_nfc.c b/drivers/mtd/nand/raw/vf610_nfc.c
index 4e6fdc607ff..f66f527485f 100644
--- a/drivers/mtd/nand/raw/vf610_nfc.c
+++ b/drivers/mtd/nand/raw/vf610_nfc.c
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <malloc.h>
 #include <dm/device_compat.h>
+#include <linux/printk.h>
 
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/rawnand.h>
diff --git a/drivers/mtd/nand/raw/zynq_nand.c b/drivers/mtd/nand/raw/zynq_nand.c
index 92db2aa19c8..bb9106d2e02 100644
--- a/drivers/mtd/nand/raw/zynq_nand.c
+++ b/drivers/mtd/nand/raw/zynq_nand.c
@@ -21,6 +21,7 @@
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 /* The NAND flash driver defines */
 #define ZYNQ_NAND_CMD_PHASE		1
diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 8c7e07d4630..a2b4dbad292 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -29,6 +29,7 @@
 #include <linux/bitops.h>
 #include <linux/bug.h>
 #include <linux/mtd/spinand.h>
+#include <linux/printk.h>
 #endif
 
 /* SPI NAND index visible in MTD names */
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 36daef01aec..ad9b61f396f 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -26,6 +26,7 @@
 #include <linux/bitops.h>
 #include <linux/compat.h>
 #include <linux/mtd/mtd.h>
+#include <linux/printk.h>
 #include "linux/mtd/flashchip.h"
 #include <linux/mtd/onenand.h>
 
diff --git a/drivers/mtd/onenand/onenand_bbt.c b/drivers/mtd/onenand/onenand_bbt.c
index eca9edff603..cc1e449f4a7 100644
--- a/drivers/mtd/onenand/onenand_bbt.c
+++ b/drivers/mtd/onenand/onenand_bbt.c
@@ -20,6 +20,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/onenand.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include <linux/errno.h>
 
diff --git a/drivers/mtd/onenand/samsung.c b/drivers/mtd/onenand/samsung.c
index 657abaab8f4..c415e5149a0 100644
--- a/drivers/mtd/onenand/samsung.c
+++ b/drivers/mtd/onenand/samsung.c
@@ -16,6 +16,7 @@
 #include <linux/mtd/onenand.h>
 #include <linux/mtd/flashchip.h>
 #include <linux/mtd/samsung_onenand.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 #include <linux/errno.h>
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 40784312149..2726e3d746c 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -20,6 +20,7 @@
 #include <linux/errno.h>
 #include <linux/log2.h>
 #include <linux/math64.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 #include <linux/mtd/mtd.h>
diff --git a/drivers/mtd/spi/spi-nor-tiny.c b/drivers/mtd/spi/spi-nor-tiny.c
index 07c8c7b82b1..ab7ecad8469 100644
--- a/drivers/mtd/spi/spi-nor-tiny.c
+++ b/drivers/mtd/spi/spi-nor-tiny.c
@@ -16,6 +16,7 @@
 #include <linux/errno.h>
 #include <linux/log2.h>
 #include <linux/math64.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 #include <linux/mtd/mtd.h>
diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c
index e488caa5547..2ef8fde3d32 100644
--- a/drivers/mtd/ubi/attach.c
+++ b/drivers/mtd/ubi/attach.c
@@ -81,6 +81,7 @@
 #include <div64.h>
 #include <linux/bug.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #endif
 
 #include <linux/math64.h>
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 61e38ba1ab7..f4e72ae7e56 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -33,6 +33,7 @@
 #else
 #include <linux/bug.h>
 #include <linux/log2.h>
+#include <linux/printk.h>
 #endif
 #include <linux/err.h>
 #include <ubi_uboot.h>
diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c
index d2b7ca5e33f..b119cb6e9c0 100644
--- a/drivers/mtd/ubi/debug.c
+++ b/drivers/mtd/ubi/debug.c
@@ -8,6 +8,7 @@
 #include <hexdump.h>
 #include <malloc.h>
 #include <ubi_uboot.h>
+#include <linux/printk.h>
 #include "ubi.h"
 #ifndef __UBOOT__
 #include <linux/debugfs.h>
diff --git a/drivers/mtd/ubi/debug.h b/drivers/mtd/ubi/debug.h
index 2c2faaf1b4d..c27d0ead427 100644
--- a/drivers/mtd/ubi/debug.h
+++ b/drivers/mtd/ubi/debug.h
@@ -17,6 +17,7 @@ void ubi_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr);
 #endif
 
 #include <hexdump.h>
+#include <linux/printk.h>
 
 #ifndef __UBOOT__
 #define ubi_assert(expr)  do {                                               \
diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h
index f44960186bb..175988899c3 100644
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
@@ -28,6 +28,7 @@
 #include <asm/pgtable.h>
 #else
 #include <ubi_uboot.h>
+#include <linux/printk.h>
 #endif
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/ubi.h>
diff --git a/drivers/net/bcm-sf2-eth-gmac.c b/drivers/net/bcm-sf2-eth-gmac.c
index 3caf0f33109..cbe1e85222f 100644
--- a/drivers/net/bcm-sf2-eth-gmac.c
+++ b/drivers/net/bcm-sf2-eth-gmac.c
@@ -6,6 +6,7 @@
 #ifdef BCM_GMAC_DEBUG
 #ifndef DEBUG
 #define DEBUG
+#include <linux/printk.h>
 #endif
 #endif
 
diff --git a/drivers/net/bcm-sf2-eth.c b/drivers/net/bcm-sf2-eth.c
index c862c141461..040b72e6db0 100644
--- a/drivers/net/bcm-sf2-eth.c
+++ b/drivers/net/bcm-sf2-eth.c
@@ -9,6 +9,7 @@
 #include <net.h>
 #include <config.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <phy.h>
 #include <miiphy.h>
diff --git a/drivers/net/bcm6348-eth.c b/drivers/net/bcm6348-eth.c
index 9ddc0f938f2..8849195f248 100644
--- a/drivers/net/bcm6348-eth.c
+++ b/drivers/net/bcm6348-eth.c
@@ -18,6 +18,7 @@
 #include <reset.h>
 #include <wait_bit.h>
 #include <asm/io.h>
+#include <linux/printk.h>
 
 #define ETH_RX_DESC			PKTBUFSRX
 #define ETH_MAX_MTU_SIZE		1518
diff --git a/drivers/net/bcm6368-eth.c b/drivers/net/bcm6368-eth.c
index 38a2a30fe6c..0bfc0432d32 100644
--- a/drivers/net/bcm6368-eth.c
+++ b/drivers/net/bcm6368-eth.c
@@ -19,6 +19,7 @@
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #define ETH_PORT_STR			"brcm,enetsw-port"
 
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 4c19abbaf0c..ef9b6a3ddee 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -27,6 +27,7 @@
 #include <linux/err.h>
 #include <linux/kernel.h>
 #include <asm/io.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include "designware.h"
 
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index 3bb4955e4a9..e4aa7c4e988 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -52,6 +52,7 @@
 #endif
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /* Core registers */
 
diff --git a/drivers/net/ep93xx_eth.c b/drivers/net/ep93xx_eth.c
index 0218349b045..d1d881d6bd9 100644
--- a/drivers/net/ep93xx_eth.c
+++ b/drivers/net/ep93xx_eth.c
@@ -25,6 +25,7 @@
 #include <malloc.h>
 #include <miiphy.h>
 #include <linux/bug.h>
+#include <linux/printk.h>
 #include <linux/types.h>
 #include "ep93xx_eth.h"
 
diff --git a/drivers/net/fsl-mc/dpio/qbman_sys.h b/drivers/net/fsl-mc/dpio/qbman_sys.h
index 8be38e11a84..fb760b94f85 100644
--- a/drivers/net/fsl-mc/dpio/qbman_sys.h
+++ b/drivers/net/fsl-mc/dpio/qbman_sys.h
@@ -21,6 +21,7 @@
 /* Trace the 3 different classes of read/write access to QBMan. #undef as
  * required. */
 #include <linux/bug.h>
+#include <linux/printk.h>
 #undef QBMAN_CCSR_TRACE
 #undef QBMAN_CINH_TRACE
 #undef QBMAN_CENA_TRACE
diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index 00bda24f1fd..fb093da1dd5 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -25,6 +25,7 @@
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 #include "ftgmac100.h"
 
diff --git a/drivers/net/mscc_eswitch/jr2_switch.c b/drivers/net/mscc_eswitch/jr2_switch.c
index 1c9a401de81..97b2b081efb 100644
--- a/drivers/net/mscc_eswitch/jr2_switch.c
+++ b/drivers/net/mscc_eswitch/jr2_switch.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 #include <dt-bindings/mscc/jr2_data.h>
 #include "mscc_xfer.h"
diff --git a/drivers/net/mscc_eswitch/ocelot_switch.c b/drivers/net/mscc_eswitch/ocelot_switch.c
index 2a48dc6a190..bdadaa13c72 100644
--- a/drivers/net/mscc_eswitch/ocelot_switch.c
+++ b/drivers/net/mscc_eswitch/ocelot_switch.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 #include "mscc_xfer.h"
 #include "mscc_mac_table.h"
diff --git a/drivers/net/mscc_eswitch/serval_switch.c b/drivers/net/mscc_eswitch/serval_switch.c
index d8ee1a76989..bbced95f7e4 100644
--- a/drivers/net/mscc_eswitch/serval_switch.c
+++ b/drivers/net/mscc_eswitch/serval_switch.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 #include "mscc_xfer.h"
 #include "mscc_mac_table.h"
diff --git a/drivers/net/mscc_eswitch/servalt_switch.c b/drivers/net/mscc_eswitch/servalt_switch.c
index 1cf2273142b..c8aaf7d4897 100644
--- a/drivers/net/mscc_eswitch/servalt_switch.c
+++ b/drivers/net/mscc_eswitch/servalt_switch.c
@@ -16,6 +16,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 #include "mscc_xfer.h"
 #include "mscc_miim.h"
diff --git a/drivers/net/mt7628-eth.c b/drivers/net/mt7628-eth.c
index 64f1c8c828d..8b278c62ba7 100644
--- a/drivers/net/mt7628-eth.c
+++ b/drivers/net/mt7628-eth.c
@@ -28,6 +28,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 /* Ethernet frame engine register */
 #define PDMA_RELATED		0x0800
diff --git a/drivers/net/mtk_eth.c b/drivers/net/mtk_eth.c
index 5183c08e14c..24a18ce9687 100644
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -26,6 +26,7 @@
 #include <linux/ioport.h>
 #include <linux/mdio.h>
 #include <linux/mii.h>
+#include <linux/printk.h>
 
 #include "mtk_eth.h"
 
diff --git a/drivers/net/mvmdio.c b/drivers/net/mvmdio.c
index a8e93e80fc0..deaba8aee4f 100644
--- a/drivers/net/mvmdio.c
+++ b/drivers/net/mvmdio.c
@@ -13,6 +13,7 @@
 #include <asm/io.h>
 #include <wait_bit.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 #define MVMDIO_SMI_DATA_SHIFT		0
 #define MVMDIO_SMI_PHY_ADDR_SHIFT	16
diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
index eada4541c9c..e4081244f21 100644
--- a/drivers/net/phy/dp83867.c
+++ b/drivers/net/phy/dp83867.c
@@ -10,6 +10,7 @@
 #include <linux/bitops.h>
 #include <linux/compat.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include <dm.h>
 #include <dt-bindings/net/ti-dp83867.h>
diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
index d1a643cf5a0..f154cd9d958 100644
--- a/drivers/net/phy/mscc.c
+++ b/drivers/net/phy/mscc.c
@@ -15,6 +15,7 @@
 #include <time.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /* Microsemi PHY ID's */
 #define PHY_ID_VSC8530                  0x00070560
diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c
index 2e1304e44d1..3f6805791f4 100644
--- a/drivers/net/rtl8169.c
+++ b/drivers/net/rtl8169.c
@@ -54,6 +54,7 @@
 #include <asm/io.h>
 #include <pci.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #undef DEBUG_RTL8169
 #undef DEBUG_RTL8169_TX
diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c
index c11a1c443ee..6e228da2984 100644
--- a/drivers/net/sni_ave.c
+++ b/drivers/net/sni_ave.c
@@ -23,6 +23,7 @@
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 #define AVE_GRST_DELAY_MSEC	40
 #define AVE_MIN_XMITSIZE	60
diff --git a/drivers/net/ti/am65-cpsw-nuss.c b/drivers/net/ti/am65-cpsw-nuss.c
index 971bdcdfda9..08cd26b3c4b 100644
--- a/drivers/net/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ti/am65-cpsw-nuss.c
@@ -22,6 +22,7 @@
 #include <phy.h>
 #include <power-domain.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <linux/soc/ti/ti-udma.h>
 
 #include "cpsw_mdio.h"
diff --git a/drivers/net/ti/cpsw-common.c b/drivers/net/ti/cpsw-common.c
index 3140f2515fb..d5428274d19 100644
--- a/drivers/net/ti/cpsw-common.c
+++ b/drivers/net/ti/cpsw-common.c
@@ -12,6 +12,7 @@
 #include <asm/io.h>
 #include <cpsw.h>
 #include <dm/device_compat.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/net/ti/cpsw.c b/drivers/net/ti/cpsw.c
index 1c11257839c..4157d0f0e67 100644
--- a/drivers/net/ti/cpsw.c
+++ b/drivers/net/ti/cpsw.c
@@ -24,6 +24,7 @@
 #include <phy.h>
 #include <asm/arch/cpu.h>
 #include <dm.h>
+#include <linux/printk.h>
 
 #include "cpsw_mdio.h"
 
diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c
index c25902a7032..5e44215e223 100644
--- a/drivers/net/ti/keystone_net.c
+++ b/drivers/net/ti/keystone_net.c
@@ -10,6 +10,7 @@
 #include <console.h>
 #include <asm/global_data.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <dm.h>
 #include <dm/lists.h>
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index 571c6e3c1d6..614bc9609fa 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -19,6 +19,7 @@
 #include <asm/fsp/fsp_support.h>
 #endif
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include "pci_internal.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c
index 167fe026e8b..95ed1730358 100644
--- a/drivers/pci/pci_mvebu.c
+++ b/drivers/pci/pci_mvebu.c
@@ -25,6 +25,7 @@
 #include <linux/errno.h>
 #include <linux/ioport.h>
 #include <linux/mbus.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c
index 82f5c59d917..d15fabd9226 100644
--- a/drivers/pci/pci_tegra.c
+++ b/drivers/pci/pci_tegra.c
@@ -22,6 +22,7 @@
 #include <power-domain.h>
 #include <reset.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/drivers/pci/pcie_ecam_generic.c b/drivers/pci/pcie_ecam_generic.c
index 354a1454a9f..6e18d5ba552 100644
--- a/drivers/pci/pcie_ecam_generic.c
+++ b/drivers/pci/pcie_ecam_generic.c
@@ -11,6 +11,7 @@
 #include <dm.h>
 #include <pci.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 
diff --git a/drivers/pci/pcie_fsl.c b/drivers/pci/pcie_fsl.c
index ee779be8f88..0fec9b3b72b 100644
--- a/drivers/pci/pcie_fsl.c
+++ b/drivers/pci/pcie_fsl.c
@@ -16,6 +16,7 @@
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include "pcie_fsl.h"
 #include <dm/device_compat.h>
 
diff --git a/drivers/pci/pcie_mediatek.c b/drivers/pci/pcie_mediatek.c
index 55b6a40f254..4fd985647fa 100644
--- a/drivers/pci/pcie_mediatek.c
+++ b/drivers/pci/pcie_mediatek.c
@@ -20,6 +20,7 @@
 #include <linux/bitops.h>
 #include <linux/iopoll.h>
 #include <linux/list.h>
+#include <linux/printk.h>
 #include "pci_internal.h"
 
 /* PCIe shared registers */
diff --git a/drivers/pci/pcie_phytium.c b/drivers/pci/pcie_phytium.c
index 35ca104300b..926e7b33a86 100644
--- a/drivers/pci/pcie_phytium.c
+++ b/drivers/pci/pcie_phytium.c
@@ -12,6 +12,7 @@
 #include <pci.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
+#include <linux/printk.h>
 
 /**
  * struct phytium_pcie - phytium PCIe controller state
diff --git a/drivers/pci/pcie_xilinx.c b/drivers/pci/pcie_xilinx.c
index 88660a9957a..600c69e20cf 100644
--- a/drivers/pci/pcie_xilinx.c
+++ b/drivers/pci/pcie_xilinx.c
@@ -10,6 +10,7 @@
 #include <pci.h>
 #include <asm/global_data.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 
diff --git a/drivers/phy/keystone-usb-phy.c b/drivers/phy/keystone-usb-phy.c
index 9faf5010033..27e1d35fc12 100644
--- a/drivers/phy/keystone-usb-phy.c
+++ b/drivers/phy/keystone-usb-phy.c
@@ -13,6 +13,7 @@
 #include <asm/arch/psc_defs.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /* USB PHY control register offsets */
 #define USB_PHY_CTL_UTMI		0x0000
diff --git a/drivers/phy/marvell/comphy_cp110.c b/drivers/phy/marvell/comphy_cp110.c
index 484b28745e0..35da55c4fee 100644
--- a/drivers/phy/marvell/comphy_cp110.c
+++ b/drivers/phy/marvell/comphy_cp110.c
@@ -11,6 +11,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include "comphy_core.h"
 #include "comphy_hpipe.h"
diff --git a/drivers/phy/meson-g12a-usb2.c b/drivers/phy/meson-g12a-usb2.c
index a1e62197586..734c79b78aa 100644
--- a/drivers/phy/meson-g12a-usb2.c
+++ b/drivers/phy/meson-g12a-usb2.c
@@ -17,6 +17,7 @@
 #include <generic-phy.h>
 #include <regmap.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <reset.h>
 #include <clk.h>
diff --git a/drivers/phy/meson-g12a-usb3-pcie.c b/drivers/phy/meson-g12a-usb3-pcie.c
index 4e9696fd590..dc5dd62381f 100644
--- a/drivers/phy/meson-g12a-usb3-pcie.c
+++ b/drivers/phy/meson-g12a-usb3-pcie.c
@@ -18,6 +18,7 @@
 #include <bitfield.h>
 #include <generic-phy.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <linux/bitops.h>
 #include <linux/compat.h>
diff --git a/drivers/phy/meson-gxbb-usb2.c b/drivers/phy/meson-gxbb-usb2.c
index d1beebee43e..6ae06364a57 100644
--- a/drivers/phy/meson-gxbb-usb2.c
+++ b/drivers/phy/meson-gxbb-usb2.c
@@ -12,6 +12,7 @@
 #include <clk.h>
 #include <dm.h>
 #include <generic-phy.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <regmap.h>
 #include <reset.h>
diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c
index 2267bd08c2c..4bddd0eed9e 100644
--- a/drivers/phy/meson-gxl-usb2.c
+++ b/drivers/phy/meson-gxl-usb2.c
@@ -16,6 +16,7 @@
 #include <generic-phy.h>
 #include <regmap.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <clk.h>
 #include <linux/usb/otg.h>
diff --git a/drivers/phy/meson-gxl-usb3.c b/drivers/phy/meson-gxl-usb3.c
new file mode 100644
index 00000000000..1d688acc27a
--- /dev/null
+++ b/drivers/phy/meson-gxl-usb3.c
@@ -0,0 +1,220 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Meson GXL USB3 PHY driver
+ *
+ * Copyright (C) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
+ * Copyright (C) 2018 BayLibre, SAS
+ * Author: Neil Armstrong <narmstron@baylibre.com>
+ */
+
+#include <common.h>
+#include <malloc.h>
+#include <asm/io.h>
+#include <bitfield.h>
+#include <dm.h>
+#include <errno.h>
+#include <generic-phy.h>
+#include <regmap.h>
+#include <clk.h>
+#include <linux/printk.h>
+#include <linux/usb/otg.h>
+
+#include <asm/arch/usb-gx.h>
+
+#include <linux/bitops.h>
+#include <linux/compat.h>
+#include <linux/bitfield.h>
+
+#define USB_R0							0x00
+	#define USB_R0_P30_FSEL_MASK				GENMASK(5, 0)
+	#define USB_R0_P30_PHY_RESET				BIT(6)
+	#define USB_R0_P30_TEST_POWERDOWN_HSP			BIT(7)
+	#define USB_R0_P30_TEST_POWERDOWN_SSP			BIT(8)
+	#define USB_R0_P30_ACJT_LEVEL_MASK			GENMASK(13, 9)
+	#define USB_R0_P30_TX_BOOST_LEVEL_MASK			GENMASK(16, 14)
+	#define USB_R0_P30_LANE0_TX2RX_LOOPBACK			BIT(17)
+	#define USB_R0_P30_LANE0_EXT_PCLK_REQ			BIT(18)
+	#define USB_R0_P30_PCS_RX_LOS_MASK_VAL_MASK		GENMASK(28, 19)
+	#define USB_R0_U2D_SS_SCALEDOWN_MODE_MASK		GENMASK(30, 29)
+	#define USB_R0_U2D_ACT					BIT(31)
+
+#define USB_R1							0x04
+	#define USB_R1_U3H_BIGENDIAN_GS				BIT(0)
+	#define USB_R1_U3H_PME_ENABLE				BIT(1)
+	#define USB_R1_U3H_HUB_PORT_OVERCURRENT_MASK		GENMASK(6, 2)
+	#define USB_R1_U3H_HUB_PORT_PERM_ATTACH_MASK		GENMASK(11, 7)
+	#define USB_R1_U3H_HOST_U2_PORT_DISABLE_MASK		GENMASK(15, 12)
+	#define USB_R1_U3H_HOST_U3_PORT_DISABLE			BIT(16)
+	#define USB_R1_U3H_HOST_PORT_POWER_CONTROL_PRESENT	BIT(17)
+	#define USB_R1_U3H_HOST_MSI_ENABLE			BIT(18)
+	#define USB_R1_U3H_FLADJ_30MHZ_REG_MASK			GENMASK(24, 19)
+	#define USB_R1_P30_PCS_TX_SWING_FULL_MASK		GENMASK(31, 25)
+
+#define USB_R2							0x08
+	#define USB_R2_P30_CR_DATA_IN_MASK			GENMASK(15, 0)
+	#define USB_R2_P30_CR_READ				BIT(16)
+	#define USB_R2_P30_CR_WRITE				BIT(17)
+	#define USB_R2_P30_CR_CAP_ADDR				BIT(18)
+	#define USB_R2_P30_CR_CAP_DATA				BIT(19)
+	#define USB_R2_P30_PCS_TX_DEEMPH_3P5DB_MASK		GENMASK(25, 20)
+	#define USB_R2_P30_PCS_TX_DEEMPH_6DB_MASK		GENMASK(31, 26)
+
+#define USB_R3							0x0c
+	#define USB_R3_P30_SSC_ENABLE				BIT(0)
+	#define USB_R3_P30_SSC_RANGE_MASK			GENMASK(3, 1)
+	#define USB_R3_P30_SSC_REF_CLK_SEL_MASK			GENMASK(12, 4)
+	#define USB_R3_P30_REF_SSP_EN				BIT(13)
+	#define USB_R3_P30_LOS_BIAS_MASK			GENMASK(18, 16)
+	#define USB_R3_P30_LOS_LEVEL_MASK			GENMASK(23, 19)
+	#define USB_R3_P30_MPLL_MULTIPLIER_MASK			GENMASK(30, 24)
+
+#define USB_R4							0x10
+	#define USB_R4_P21_PORT_RESET_0				BIT(0)
+	#define USB_R4_P21_SLEEP_M0				BIT(1)
+	#define USB_R4_MEM_PD_MASK				GENMASK(3, 2)
+	#define USB_R4_P21_ONLY					BIT(4)
+
+#define USB_R5							0x14
+	#define USB_R5_ID_DIG_SYNC				BIT(0)
+	#define USB_R5_ID_DIG_REG				BIT(1)
+	#define USB_R5_ID_DIG_CFG_MASK				GENMASK(3, 2)
+	#define USB_R5_ID_DIG_EN_0				BIT(4)
+	#define USB_R5_ID_DIG_EN_1				BIT(5)
+	#define USB_R5_ID_DIG_CURR				BIT(6)
+	#define USB_R5_ID_DIG_IRQ				BIT(7)
+	#define USB_R5_ID_DIG_TH_MASK				GENMASK(15, 8)
+	#define USB_R5_ID_DIG_CNT_MASK				GENMASK(23, 16)
+
+/* read-only register */
+#define USB_R6							0x18
+	#define USB_R6_P30_CR_DATA_OUT_MASK			GENMASK(15, 0)
+	#define USB_R6_P30_CR_ACK				BIT(16)
+
+struct phy_meson_gxl_usb3_priv {
+	struct regmap		*regmap;
+#if CONFIG_IS_ENABLED(CLK)
+	struct clk		clk;
+#endif
+};
+
+void phy_meson_gxl_usb3_set_mode(struct phy *phy, enum usb_dr_mode mode)
+{
+	struct udevice *dev = phy->dev;
+	struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
+	uint val;
+
+	switch (mode) {
+	case USB_DR_MODE_UNKNOWN:
+	case USB_DR_MODE_HOST:
+	case USB_DR_MODE_OTG:
+		regmap_read(priv->regmap, USB_R0, &val);
+		val &= ~USB_R0_U2D_ACT;
+		regmap_write(priv->regmap, USB_R0, val);
+
+		regmap_read(priv->regmap, USB_R4, &val);
+		val &= ~USB_R4_P21_SLEEP_M0;
+		regmap_write(priv->regmap, USB_R4, val);
+		break;
+
+	case USB_DR_MODE_PERIPHERAL:
+		regmap_read(priv->regmap, USB_R0, &val);
+		val |= USB_R0_U2D_ACT;
+		regmap_write(priv->regmap, USB_R0, val);
+
+		regmap_read(priv->regmap, USB_R4, &val);
+		val |= USB_R4_P21_SLEEP_M0;
+		regmap_write(priv->regmap, USB_R4, val);
+		break;
+	}
+}
+
+static int phy_meson_gxl_usb3_power_on(struct phy *phy)
+{
+	struct udevice *dev = phy->dev;
+	struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
+	uint val;
+
+	regmap_read(priv->regmap, USB_R5, &val);
+	val |= USB_R5_ID_DIG_EN_0;
+	val |= USB_R5_ID_DIG_EN_1;
+	val &= ~USB_R5_ID_DIG_TH_MASK;
+	val |= FIELD_PREP(USB_R5_ID_DIG_TH_MASK, 0xff);
+	regmap_write(priv->regmap, USB_R5, val);
+
+	phy_meson_gxl_usb3_set_mode(phy, USB_DR_MODE_HOST);
+
+	return 0;
+}
+
+static int phy_meson_gxl_usb3_power_off(struct phy *phy)
+{
+	struct udevice *dev = phy->dev;
+	struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
+	uint val;
+
+	regmap_read(priv->regmap, USB_R5, &val);
+	val &= ~USB_R5_ID_DIG_EN_0;
+	val &= ~USB_R5_ID_DIG_EN_1;
+	regmap_write(priv->regmap, USB_R5, val);
+
+	return 0;
+}
+
+static int phy_meson_gxl_usb3_init(struct phy *phy)
+{
+	struct udevice *dev = phy->dev;
+	struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
+	uint val;
+
+	regmap_read(priv->regmap, USB_R1, &val);
+	val &= ~USB_R1_U3H_FLADJ_30MHZ_REG_MASK;
+	val |= FIELD_PREP(USB_R1_U3H_FLADJ_30MHZ_REG_MASK, 0x20);
+	regmap_write(priv->regmap, USB_R1, val);
+
+	return 0;
+}
+
+struct phy_ops meson_gxl_usb3_phy_ops = {
+	.init = phy_meson_gxl_usb3_init,
+	.power_on = phy_meson_gxl_usb3_power_on,
+	.power_off = phy_meson_gxl_usb3_power_off,
+};
+
+int meson_gxl_usb3_phy_probe(struct udevice *dev)
+{
+	struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
+	int ret;
+
+	ret = regmap_init_mem(dev_ofnode(dev), &priv->regmap);
+	if (ret)
+		return ret;
+
+#if CONFIG_IS_ENABLED(CLK)
+	ret = clk_get_by_index(dev, 0, &priv->clk);
+	if (ret < 0)
+		return ret;
+
+	ret = clk_enable(&priv->clk);
+	if (ret && ret != -ENOSYS && ret != -ENOTSUPP) {
+		pr_err("failed to enable PHY clock\n");
+		clk_free(&priv->clk);
+		return ret;
+	}
+#endif
+
+	return 0;
+}
+
+static const struct udevice_id meson_gxl_usb3_phy_ids[] = {
+	{ .compatible = "amlogic,meson-gxl-usb3-phy" },
+	{ }
+};
+
+U_BOOT_DRIVER(meson_gxl_usb3_phy) = {
+	.name = "meson_gxl_usb3_phy",
+	.id = UCLASS_PHY,
+	.of_match = meson_gxl_usb3_phy_ids,
+	.probe = meson_gxl_usb3_phy_probe,
+	.ops = &meson_gxl_usb3_phy_ops,
+	.priv_auto_alloc_size = sizeof(struct phy_meson_gxl_usb3_priv),
+};
diff --git a/drivers/phy/phy-rcar-gen3.c b/drivers/phy/phy-rcar-gen3.c
index ce39cd8f9e2..4afdb791505 100644
--- a/drivers/phy/phy-rcar-gen3.c
+++ b/drivers/phy/phy-rcar-gen3.c
@@ -17,6 +17,7 @@
 #include <usb.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 /* USB2.0 Host registers (original offset is +0x200) */
diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c
index 9d4296d6491..132c5a81007 100644
--- a/drivers/phy/phy-stm32-usbphyc.c
+++ b/drivers/phy/phy-stm32-usbphyc.c
@@ -17,6 +17,7 @@
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 /* USBPHYC registers */
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
index ef03e3a5025..4c8a7b0b272 100644
--- a/drivers/phy/phy-uclass.c
+++ b/drivers/phy/phy-uclass.c
@@ -9,6 +9,8 @@
 #include <dm/device_compat.h>
 #include <dm/devres.h>
 #include <generic-phy.h>
+#include <log.h>
+#include <linux/printk.h>
 
 static inline struct phy_ops *phy_dev_ops(struct udevice *dev)
 {
diff --git a/drivers/phy/sti_usb_phy.c b/drivers/phy/sti_usb_phy.c
index c6b1dc297ab..cfc24e76b24 100644
--- a/drivers/phy/sti_usb_phy.c
+++ b/drivers/phy/sti_usb_phy.c
@@ -18,6 +18,7 @@
 #include <reset-uclass.h>
 #include <syscon.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 #include <linux/bitops.h>
 #include <linux/compat.h>
diff --git a/drivers/phy/ti-pipe3-phy.c b/drivers/phy/ti-pipe3-phy.c
index 41cee0eb740..5953d118bae 100644
--- a/drivers/phy/ti-pipe3-phy.c
+++ b/drivers/phy/ti-pipe3-phy.c
@@ -16,6 +16,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 /* PLLCTRL Registers */
 #define PLL_STATUS              0x00000004
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
index 1f61a84c29d..b64ad9a21c6 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
@@ -35,6 +35,7 @@
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/pinctrl/pinctrl-sti.c b/drivers/pinctrl/pinctrl-sti.c
index 7d6bdc1d2bd..09414f6627f 100644
--- a/drivers/pinctrl/pinctrl-sti.c
+++ b/drivers/pinctrl/pinctrl-sti.c
@@ -17,6 +17,7 @@
 #include <dm/pinctrl.h>
 #include <linux/bug.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/pinctrl/pinctrl_stm32.c b/drivers/pinctrl/pinctrl_stm32.c
index b58a68e26f5..add18dbb441 100644
--- a/drivers/pinctrl/pinctrl_stm32.c
+++ b/drivers/pinctrl/pinctrl_stm32.c
@@ -18,6 +18,7 @@
 #include <linux/bitops.h>
 #include <linux/err.h>
 #include <linux/libfdt.h>
+#include <linux/printk.h>
 
 #define MAX_PINS_ONE_IP			70
 #define MODE_BITS_MASK			3
diff --git a/drivers/power/palmas.c b/drivers/power/palmas.c
index 2584bea38d0..d2083a51ac9 100644
--- a/drivers/power/palmas.c
+++ b/drivers/power/palmas.c
@@ -5,6 +5,7 @@
  */
 #include <config.h>
 #include <palmas.h>
+#include <linux/printk.h>
 
 void palmas_init_settings(void)
 {
diff --git a/drivers/power/pmic/as3722.c b/drivers/power/pmic/as3722.c
index 3aa3cce945e..c7dd9705d18 100644
--- a/drivers/power/pmic/as3722.c
+++ b/drivers/power/pmic/as3722.c
@@ -12,6 +12,7 @@
 #include <i2c.h>
 #include <log.h>
 #include <dm/lists.h>
+#include <linux/printk.h>
 #include <power/as3722.h>
 #include <power/pmic.h>
 
diff --git a/drivers/power/pmic/as3722_gpio.c b/drivers/power/pmic/as3722_gpio.c
index 96943bc1ad5..987fbdf9bc0 100644
--- a/drivers/power/pmic/as3722_gpio.c
+++ b/drivers/power/pmic/as3722_gpio.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <asm/gpio.h>
+#include <linux/printk.h>
 #include <power/as3722.h>
 #include <power/pmic.h>
 
diff --git a/drivers/power/pmic/bd71837.c b/drivers/power/pmic/bd71837.c
index cb9238972f2..da9aa541979 100644
--- a/drivers/power/pmic/bd71837.c
+++ b/drivers/power/pmic/bd71837.c
@@ -9,6 +9,7 @@
 #include <i2c.h>
 #include <log.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/bd71837.h>
diff --git a/drivers/power/pmic/da9063.c b/drivers/power/pmic/da9063.c
index 25101d18f74..ca95b82e6d0 100644
--- a/drivers/power/pmic/da9063.c
+++ b/drivers/power/pmic/da9063.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/da9063_pmic.h>
diff --git a/drivers/power/pmic/fan53555.c b/drivers/power/pmic/fan53555.c
index 4d1e686d274..c9b15d5b68f 100644
--- a/drivers/power/pmic/fan53555.c
+++ b/drivers/power/pmic/fan53555.c
@@ -10,6 +10,7 @@
 #include <dm/device_compat.h>
 #include <dm/lists.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/fan53555.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/drivers/power/pmic/i2c_pmic_emul.c b/drivers/power/pmic/i2c_pmic_emul.c
index 404fe008fe6..83d3c292044 100644
--- a/drivers/power/pmic/i2c_pmic_emul.c
+++ b/drivers/power/pmic/i2c_pmic_emul.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <log.h>
 #include <malloc.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/sandbox_pmic.h>
 
diff --git a/drivers/power/pmic/lp873x.c b/drivers/power/pmic/lp873x.c
index 2b1260ec6b1..fda5bc15164 100644
--- a/drivers/power/pmic/lp873x.c
+++ b/drivers/power/pmic/lp873x.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/lp873x.h>
diff --git a/drivers/power/pmic/lp87565.c b/drivers/power/pmic/lp87565.c
index f4a4bd03d70..904e02c4d81 100644
--- a/drivers/power/pmic/lp87565.c
+++ b/drivers/power/pmic/lp87565.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/lp87565.h>
diff --git a/drivers/power/pmic/max77686.c b/drivers/power/pmic/max77686.c
index 9f02c0b6f6f..7e6f7d1966f 100644
--- a/drivers/power/pmic/max77686.c
+++ b/drivers/power/pmic/max77686.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/max77686_pmic.h>
diff --git a/drivers/power/pmic/max8997.c b/drivers/power/pmic/max8997.c
index dbae155fb34..504a63bf743 100644
--- a/drivers/power/pmic/max8997.c
+++ b/drivers/power/pmic/max8997.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <dm.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/max8997_pmic.h>
 #include <errno.h>
diff --git a/drivers/power/pmic/max8998.c b/drivers/power/pmic/max8998.c
index f58d9f2d74c..d155474447f 100644
--- a/drivers/power/pmic/max8998.c
+++ b/drivers/power/pmic/max8998.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/max8998_pmic.h>
 
diff --git a/drivers/power/pmic/palmas.c b/drivers/power/pmic/palmas.c
index 6080cbff0be..eb83c88d564 100644
--- a/drivers/power/pmic/palmas.c
+++ b/drivers/power/pmic/palmas.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/palmas.h>
diff --git a/drivers/power/pmic/pca9450.c b/drivers/power/pmic/pca9450.c
index 786baa5e259..b61dac193f2 100644
--- a/drivers/power/pmic/pca9450.c
+++ b/drivers/power/pmic/pca9450.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <log.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/pca9450.h>
diff --git a/drivers/power/pmic/pfuze100.c b/drivers/power/pmic/pfuze100.c
index 65c4456977c..15420acb472 100644
--- a/drivers/power/pmic/pfuze100.c
+++ b/drivers/power/pmic/pfuze100.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/pfuze100_pmic.h>
diff --git a/drivers/power/pmic/pmic_tps65910_dm.c b/drivers/power/pmic/pmic_tps65910_dm.c
index e03ddc98d73..8ead1db802a 100644
--- a/drivers/power/pmic/pmic_tps65910_dm.c
+++ b/drivers/power/pmic/pmic_tps65910_dm.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/tps65910_pmic.h>
diff --git a/drivers/power/pmic/s2mps11.c b/drivers/power/pmic/s2mps11.c
index 1ba1640a8df..5ff4f205211 100644
--- a/drivers/power/pmic/s2mps11.c
+++ b/drivers/power/pmic/s2mps11.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/s2mps11.h>
 
diff --git a/drivers/power/pmic/s5m8767.c b/drivers/power/pmic/s5m8767.c
index db6d0357ee4..eea072ae824 100644
--- a/drivers/power/pmic/s5m8767.c
+++ b/drivers/power/pmic/s5m8767.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/s5m8767.h>
diff --git a/drivers/power/pmic/sandbox.c b/drivers/power/pmic/sandbox.c
index d7870915de8..398b72341bd 100644
--- a/drivers/power/pmic/sandbox.c
+++ b/drivers/power/pmic/sandbox.c
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <dm.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/sandbox_pmic.h>
diff --git a/drivers/power/pmic/tps65090.c b/drivers/power/pmic/tps65090.c
index b81df0dff1a..2a04d5948a5 100644
--- a/drivers/power/pmic/tps65090.c
+++ b/drivers/power/pmic/tps65090.c
@@ -10,6 +10,7 @@
 #include <fdtdec.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/tps65090.h>
 
diff --git a/drivers/power/pmic/tps65941.c b/drivers/power/pmic/tps65941.c
index 3dfc1918d5b..e464d2984e4 100644
--- a/drivers/power/pmic/tps65941.c
+++ b/drivers/power/pmic/tps65941.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/tps65941.h>
diff --git a/drivers/power/regulator/bd71837.c b/drivers/power/regulator/bd71837.c
index 931d753e344..3499bd2c56b 100644
--- a/drivers/power/regulator/bd71837.c
+++ b/drivers/power/regulator/bd71837.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <log.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <power/bd71837.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/drivers/power/regulator/fan53555.c b/drivers/power/regulator/fan53555.c
index b407f555fe3..a7fa01f787b 100644
--- a/drivers/power/regulator/fan53555.c
+++ b/drivers/power/regulator/fan53555.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <power/fan53555.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c
index 2fa6c7e6b29..56d84a90e5e 100644
--- a/drivers/power/regulator/fixed.c
+++ b/drivers/power/regulator/fixed.c
@@ -9,8 +9,10 @@
 #include <errno.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/gpio.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
+#include "regulator_common.h"
 
 #include "regulator_common.h"
 
diff --git a/drivers/power/regulator/gpio-regulator.c b/drivers/power/regulator/gpio-regulator.c
index 28c9e222e2b..c945752c5e6 100644
--- a/drivers/power/regulator/gpio-regulator.c
+++ b/drivers/power/regulator/gpio-regulator.c
@@ -11,8 +11,10 @@
 #include <i2c.h>
 #include <log.h>
 #include <asm/gpio.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
+#include "regulator_common.h"
 
 #include "regulator_common.h"
 
diff --git a/drivers/power/regulator/max77686.c b/drivers/power/regulator/max77686.c
index 752dc88c401..4d3ac980fc8 100644
--- a/drivers/power/regulator/max77686.c
+++ b/drivers/power/regulator/max77686.c
@@ -11,6 +11,7 @@
 #include <errno.h>
 #include <dm.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/max77686_pmic.h>
diff --git a/drivers/power/regulator/pbias_regulator.c b/drivers/power/regulator/pbias_regulator.c
index 28a9a1470b1..0bc8562b317 100644
--- a/drivers/power/regulator/pbias_regulator.c
+++ b/drivers/power/regulator/pbias_regulator.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <regmap.h>
diff --git a/drivers/power/regulator/regulator_common.c b/drivers/power/regulator/regulator_common.c
index 13906b9c6e2..46497e0fde2 100644
--- a/drivers/power/regulator/regulator_common.c
+++ b/drivers/power/regulator/regulator_common.c
@@ -7,8 +7,10 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/gpio.h>
 #include <linux/delay.h>
 #include <power/regulator.h>
+#include "regulator_common.h"
 
 #include "regulator_common.h"
 
diff --git a/drivers/power/regulator/s2mps11_regulator.c b/drivers/power/regulator/s2mps11_regulator.c
index a6b4f158ef7..295e1d2c62a 100644
--- a/drivers/power/regulator/s2mps11_regulator.c
+++ b/drivers/power/regulator/s2mps11_regulator.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/s2mps11.h>
diff --git a/drivers/power/regulator/sandbox.c b/drivers/power/regulator/sandbox.c
index 9893a6b5f3d..18596770b37 100644
--- a/drivers/power/regulator/sandbox.c
+++ b/drivers/power/regulator/sandbox.c
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <dm.h>
 #include <i2c.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/sandbox_pmic.h>
diff --git a/drivers/power/regulator/tps65910_regulator.c b/drivers/power/regulator/tps65910_regulator.c
index 171afd34a5f..2c0dd0604b3 100644
--- a/drivers/power/regulator/tps65910_regulator.c
+++ b/drivers/power/regulator/tps65910_regulator.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <linux/printk.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/tps65910_pmic.h>
diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c
index b0d5cba2c49..34e7fa3d720 100644
--- a/drivers/power/twl4030.c
+++ b/drivers/power/twl4030.c
@@ -25,6 +25,7 @@
 #include <command.h>
 #include <twl4030.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /*
  * Power Reset
diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c
index 60a5aaaf19f..2c5e4960e54 100644
--- a/drivers/power/twl6030.c
+++ b/drivers/power/twl6030.c
@@ -5,6 +5,7 @@
  */
 #include <config.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <twl6030.h>
 
diff --git a/drivers/ram/imxrt_sdram.c b/drivers/ram/imxrt_sdram.c
index b6ee02d2279..9572dc22837 100644
--- a/drivers/ram/imxrt_sdram.c
+++ b/drivers/ram/imxrt_sdram.c
@@ -15,6 +15,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 /* SDRAM Command Code */
 #define SD_CC_ARD		0x0     /* Master Bus (AXI) command - Read */
diff --git a/drivers/ram/rockchip/dmc-rk3368.c b/drivers/ram/rockchip/dmc-rk3368.c
index 4fa632152fd..41773893fd7 100644
--- a/drivers/ram/rockchip/dmc-rk3368.c
+++ b/drivers/ram/rockchip/dmc-rk3368.c
@@ -23,6 +23,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 struct dram_info {
 	struct ram_info info;
diff --git a/drivers/ram/stm32_sdram.c b/drivers/ram/stm32_sdram.c
index 3fddf4df961..de5a9bc0569 100644
--- a/drivers/ram/stm32_sdram.c
+++ b/drivers/ram/stm32_sdram.c
@@ -14,6 +14,7 @@
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #define MEM_MODE_MASK	GENMASK(2, 0)
 #define SWP_FMC_OFFSET 10
diff --git a/drivers/ram/stm32mp1/stm32mp1_ddr.c b/drivers/ram/stm32mp1/stm32mp1_ddr.c
index bf3a4c97a41..8b59903e6bf 100644
--- a/drivers/ram/stm32mp1/stm32mp1_ddr.c
+++ b/drivers/ram/stm32mp1/stm32mp1_ddr.c
@@ -14,6 +14,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 #include "stm32mp1_ddr.h"
 #include "stm32mp1_ddr_regs.h"
 
diff --git a/drivers/ram/stm32mp1/stm32mp1_ram.c b/drivers/ram/stm32mp1/stm32mp1_ram.c
index 9022679703b..63333a1b1b6 100644
--- a/drivers/ram/stm32mp1/stm32mp1_ram.c
+++ b/drivers/ram/stm32mp1/stm32mp1_ram.c
@@ -12,6 +12,7 @@
 #include <regmap.h>
 #include <syscon.h>
 #include <asm/io.h>
+#include <linux/printk.h>
 #include "stm32mp1_ddr.h"
 
 static const char *const clkname[] = {
diff --git a/drivers/ram/stm32mp1/stm32mp1_tuning.c b/drivers/ram/stm32mp1/stm32mp1_tuning.c
index a8d6892bb09..2fc8e32847c 100644
--- a/drivers/ram/stm32mp1/stm32mp1_tuning.c
+++ b/drivers/ram/stm32mp1/stm32mp1_tuning.c
@@ -13,6 +13,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 #include "stm32mp1_ddr_regs.h"
 #include "stm32mp1_ddr.h"
diff --git a/drivers/remoteproc/rproc-elf-loader.c b/drivers/remoteproc/rproc-elf-loader.c
index b185a6cafb8..5e070e5076e 100644
--- a/drivers/remoteproc/rproc-elf-loader.c
+++ b/drivers/remoteproc/rproc-elf-loader.c
@@ -11,6 +11,7 @@
 #include <asm/cache.h>
 #include <dm/device_compat.h>
 #include <linux/compat.h>
+#include <linux/printk.h>
 
 /**
  * struct resource_table - firmware resource table header
diff --git a/drivers/remoteproc/rproc-uclass.c b/drivers/remoteproc/rproc-uclass.c
index 22779d0cb0d..0c2b601c472 100644
--- a/drivers/remoteproc/rproc-uclass.c
+++ b/drivers/remoteproc/rproc-uclass.c
@@ -16,6 +16,7 @@
 #include <dm.h>
 #include <dm/uclass.h>
 #include <dm/uclass-internal.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/remoteproc/sandbox_testproc.c b/drivers/remoteproc/sandbox_testproc.c
index 2b58b27947c..4317af78d29 100644
--- a/drivers/remoteproc/sandbox_testproc.c
+++ b/drivers/remoteproc/sandbox_testproc.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <remoteproc.h>
 #include <asm/io.h>
+#include <linux/printk.h>
 
 /**
  * enum sandbox_state - different device states
diff --git a/drivers/remoteproc/stm32_copro.c b/drivers/remoteproc/stm32_copro.c
index 33b574b1bd3..e09d2b9a646 100644
--- a/drivers/remoteproc/stm32_copro.c
+++ b/drivers/remoteproc/stm32_copro.c
@@ -15,6 +15,7 @@
 #include <asm/io.h>
 #include <dm/device_compat.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 #define RCC_GCR_HOLD_BOOT	0
 #define RCC_GCR_RELEASE_BOOT	1
diff --git a/drivers/remoteproc/ti_power_proc.c b/drivers/remoteproc/ti_power_proc.c
index 1a5dddbe0d2..86fa6457ede 100644
--- a/drivers/remoteproc/ti_power_proc.c
+++ b/drivers/remoteproc/ti_power_proc.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <remoteproc.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <mach/psc_defs.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/remoteproc/ti_sci_proc.h b/drivers/remoteproc/ti_sci_proc.h
index f8299d1aff9..36351da63fc 100644
--- a/drivers/remoteproc/ti_sci_proc.h
+++ b/drivers/remoteproc/ti_sci_proc.h
@@ -10,6 +10,7 @@
 #ifndef REMOTEPROC_TI_SCI_PROC_H
 #define REMOTEPROC_TI_SCI_PROC_H
 
+#include <linux/printk.h>
 #define TISCI_INVALID_HOST 0xff
 
 /**
diff --git a/drivers/reset/sti-reset.c b/drivers/reset/sti-reset.c
index 2fdc069ce16..12000d05cc8 100644
--- a/drivers/reset/sti-reset.c
+++ b/drivers/reset/sti-reset.c
@@ -16,6 +16,7 @@
 #include <asm/global_data.h>
 #include <dt-bindings/reset/stih407-resets.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/serial/serial_mtk.c b/drivers/serial/serial_mtk.c
index 9715f372ecf..0d2a9dc7e3e 100644
--- a/drivers/serial/serial_mtk.c
+++ b/drivers/serial/serial_mtk.c
@@ -18,6 +18,7 @@
 #include <asm/io.h>
 #include <asm/types.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 struct mtk_serial_regs {
 	u32 rbr;
diff --git a/drivers/soc/ti/k3-navss-ringacc.c b/drivers/soc/ti/k3-navss-ringacc.c
index c48e9befe4b..fb04da2717d 100644
--- a/drivers/soc/ti/k3-navss-ringacc.c
+++ b/drivers/soc/ti/k3-navss-ringacc.c
@@ -21,6 +21,7 @@
 #include <linux/compat.h>
 #include <linux/dma-mapping.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <linux/soc/ti/k3-navss-ringacc.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
 
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index c65733c87ac..33bf382998e 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -17,6 +17,7 @@
 #include <asm/gpio.h>
 #endif
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 /*
  * Register definitions for the Atmel AT32/AT91 SPI Controller
diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
index 1912d676a68..eae6b379a9c 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -26,6 +26,7 @@
 #include <fsl_dspi.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 /* linux/include/time.h */
 #define NSEC_PER_SEC	1000000000L
diff --git a/drivers/spi/mt7621_spi.c b/drivers/spi/mt7621_spi.c
index 3a0738eb2b7..f13d21f5b2c 100644
--- a/drivers/spi/mt7621_spi.c
+++ b/drivers/spi/mt7621_spi.c
@@ -16,6 +16,7 @@
 #include <wait_bit.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
+#include <linux/printk.h>
 
 #define MT7621_RX_FIFO_LEN	32
 #define MT7621_TX_FIFO_LEN	36
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index 466355b0178..14f68da2ee6 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -18,6 +18,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
 #include <asm/mach-imx/spi.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/spi/pl022_spi.c b/drivers/spi/pl022_spi.c
index 01ffaea4c34..7cf19a1a661 100644
--- a/drivers/spi/pl022_spi.c
+++ b/drivers/spi/pl022_spi.c
@@ -16,6 +16,7 @@
 #include <dm/platform_data/spi_pl022.h>
 #include <linux/io.h>
 #include <spi.h>
+#include <linux/printk.h>
 
 #define SSP_CR0		0x000
 #define SSP_CR1		0x004
diff --git a/drivers/spi/stm32_qspi.c b/drivers/spi/stm32_qspi.c
index a53b941410d..8e91475ef95 100644
--- a/drivers/spi/stm32_qspi.c
+++ b/drivers/spi/stm32_qspi.c
@@ -19,6 +19,7 @@
 #include <linux/delay.h>
 #include <linux/iopoll.h>
 #include <linux/ioport.h>
+#include <linux/printk.h>
 #include <linux/sizes.h>
 
 struct stm32_qspi_regs {
diff --git a/drivers/spi/stm32_spi.c b/drivers/spi/stm32_spi.c
index 4a0833b6fa9..09711b0aabc 100644
--- a/drivers/spi/stm32_spi.c
+++ b/drivers/spi/stm32_spi.c
@@ -15,6 +15,7 @@
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/drivers/spi/uniphier_spi.c b/drivers/spi/uniphier_spi.c
index a6d3d6abb6f..59d6ebd083a 100644
--- a/drivers/spi/uniphier_spi.c
+++ b/drivers/spi/uniphier_spi.c
@@ -17,6 +17,7 @@
 #include <linux/io.h>
 #include <spi.h>
 #include <wait_bit.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/sysreset/sysreset_sti.c b/drivers/sysreset/sysreset_sti.c
index 8465a62e185..c1b22873ff4 100644
--- a/drivers/sysreset/sysreset_sti.c
+++ b/drivers/sysreset/sysreset_sti.c
@@ -12,6 +12,7 @@
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/sysreset/sysreset_syscon.c b/drivers/sysreset/sysreset_syscon.c
index 1c474866145..0dfa91fc90e 100644
--- a/drivers/sysreset/sysreset_syscon.c
+++ b/drivers/sysreset/sysreset_syscon.c
@@ -14,6 +14,7 @@
 #include <sysreset.h>
 #include <syscon.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 
 struct syscon_reboot_priv {
 	struct regmap *regmap;
diff --git a/drivers/sysreset/sysreset_watchdog.c b/drivers/sysreset/sysreset_watchdog.c
index d500d413261..3493c5e8e45 100644
--- a/drivers/sysreset/sysreset_watchdog.c
+++ b/drivers/sysreset/sysreset_watchdog.c
@@ -8,6 +8,7 @@
 #include <errno.h>
 #include <sysreset.h>
 #include <wdt.h>
+#include <linux/printk.h>
 
 struct wdt_reboot_priv {
 	struct udevice *wdt;
diff --git a/drivers/tpm/tpm_tis_infineon.c b/drivers/tpm/tpm_tis_infineon.c
index f47813e76d0..32c3a335420 100644
--- a/drivers/tpm/tpm_tis_infineon.c
+++ b/drivers/tpm/tpm_tis_infineon.c
@@ -28,6 +28,7 @@
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/compiler.h>
+#include <linux/printk.h>
 #include <linux/types.h>
 #include <linux/unaligned/be_byteshift.h>
 
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
index 83dbb5a103d..640f259dc67 100644
--- a/drivers/usb/cdns3/gadget.c
+++ b/drivers/usb/cdns3/gadget.c
@@ -62,6 +62,7 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <linux/usb/gadget.h>
 #include <linux/compat.h>
 #include <linux/iopoll.h>
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
index 2a47f40bbab..d4cfda72e68 100644
--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <dm.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <linux/usb/otg.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/phy.h>
diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
index 36fa16ad4e2..2a76443b42b 100644
--- a/drivers/usb/dwc3/dwc3-generic.c
+++ b/drivers/usb/dwc3/dwc3-generic.c
@@ -16,6 +16,7 @@
 #include <dwc3-uboot.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <malloc.h>
diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c
index 6567502cdd1..6fdf686af8d 100644
--- a/drivers/usb/dwc3/dwc3-meson-g12a.c
+++ b/drivers/usb/dwc3/dwc3-meson-g12a.c
@@ -15,6 +15,7 @@
 #include <dwc3-uboot.h>
 #include <generic-phy.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <malloc.h>
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 4e68fb0a82f..5da0cea1f3a 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -24,6 +24,7 @@
 #include <linux/delay.h>
 #include <linux/dma-mapping.h>
 #include <linux/list.h>
+#include <linux/printk.h>
 
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
diff --git a/drivers/usb/eth/mcs7830.c b/drivers/usb/eth/mcs7830.c
index c829a436a34..02eef9b269d 100644
--- a/drivers/usb/eth/mcs7830.c
+++ b/drivers/usb/eth/mcs7830.c
@@ -19,6 +19,7 @@
 #include <malloc.h>
 #include <memalign.h>
 #include <usb.h>
+#include <linux/printk.h>
 
 #include "usb_ether.h"
 
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 1feed417d68..e198ef1d34d 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -21,6 +21,7 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/hardware.h>
+#include <linux/printk.h>
 #include <mach/at91_matrix.h>
 #include <linux/list.h>
 #include <linux/usb/ch9.h>
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index 7d51821497b..ed3b3c14e60 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -13,6 +13,7 @@
 #include <asm/gpio.h>
 #include <asm/hardware.h>
 #include <linux/list.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/usb/atmel_usba_udc.h>
diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c
index eaa5dcb9b13..f548cbc9eb2 100644
--- a/drivers/usb/gadget/dwc2_udc_otg.c
+++ b/drivers/usb/gadget/dwc2_udc_otg.c
@@ -28,6 +28,7 @@
 #include <dm/devres.h>
 #include <linux/bug.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 
 #include <linux/errno.h>
 #include <linux/list.h>
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index a8e8bfc04b4..e4572ec6481 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -14,6 +14,7 @@
 #include <part.h>
 #include <linux/errno.h>
 #include <linux/netdevice.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/cdc.h>
 #include <linux/usb/gadget.h>
diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
index d1d087e12b2..44354bdc01c 100644
--- a/drivers/usb/gadget/f_fastboot.c
+++ b/drivers/usb/gadget/f_fastboot.c
@@ -17,6 +17,7 @@
 #include <fastboot.h>
 #include <log.h>
 #include <malloc.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/usb/composite.h>
diff --git a/drivers/usb/gadget/f_sdp.c b/drivers/usb/gadget/f_sdp.c
index e48aa2f90df..b7c97cf4579 100644
--- a/drivers/usb/gadget/f_sdp.c
+++ b/drivers/usb/gadget/f_sdp.c
@@ -22,6 +22,7 @@
 #include <env.h>
 #include <log.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
index 88fc87f2e90..3c47e6251b1 100644
--- a/drivers/usb/gadget/f_thor.c
+++ b/drivers/usb/gadget/f_thor.c
@@ -24,6 +24,7 @@
 #include <memalign.h>
 #include <version.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/usb/composite.h>
diff --git a/drivers/usb/gadget/udc/udc-uclass.c b/drivers/usb/gadget/udc/udc-uclass.c
index 3053ccf7d97..384aa47a98f 100644
--- a/drivers/usb/gadget/udc/udc-uclass.c
+++ b/drivers/usb/gadget/udc/udc-uclass.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <dm.h>
 #include <dm/device-internal.h>
+#include <linux/printk.h>
 #include <linux/usb/gadget.h>
 
 #if CONFIG_IS_ENABLED(DM_USB_GADGET)
diff --git a/drivers/usb/host/dwc3-sti-glue.c b/drivers/usb/host/dwc3-sti-glue.c
index febbfe5d243..95514a4c593 100644
--- a/drivers/usb/host/dwc3-sti-glue.c
+++ b/drivers/usb/host/dwc3-sti-glue.c
@@ -17,6 +17,7 @@
 #include <reset-uclass.h>
 #include <syscon.h>
 #include <usb.h>
+#include <linux/printk.h>
 
 #include <linux/usb/dwc3.h>
 #include <linux/usb/otg.h>
diff --git a/drivers/usb/musb-new/mt85xx.c b/drivers/usb/musb-new/mt85xx.c
index 8f0561eeba3..d76c65c899c 100644
--- a/drivers/usb/musb-new/mt85xx.c
+++ b/drivers/usb/musb-new/mt85xx.c
@@ -16,6 +16,7 @@
 #include <dm/lists.h>
 #include <dm/root.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/usb/musb.h>
 #include <usb.h>
 #include "linux-compat.h"
diff --git a/drivers/usb/musb-new/musb_core.c b/drivers/usb/musb-new/musb_core.c
index 22811a5efb2..0d94e11f96a 100644
--- a/drivers/usb/musb-new/musb_core.c
+++ b/drivers/usb/musb-new/musb_core.c
@@ -86,6 +86,7 @@
 #include <linux/bitops.h>
 #include <linux/bug.h>
 #include <linux/errno.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/usb/musb.h>
diff --git a/drivers/usb/musb-new/musb_debug.h b/drivers/usb/musb-new/musb_debug.h
index c468bda9ff2..94375b72c70 100644
--- a/drivers/usb/musb-new/musb_debug.h
+++ b/drivers/usb/musb-new/musb_debug.h
@@ -10,6 +10,7 @@
 #ifndef __MUSB_LINUX_DEBUG_H__
 #define __MUSB_LINUX_DEBUG_H__
 
+#include <linux/printk.h>
 #define yprintk(facility, format, args...) \
 	do { printk(facility "%s %d: " format , \
 	__func__, __LINE__ , ## args); } while (0)
diff --git a/drivers/usb/musb-new/musb_dsps.c b/drivers/usb/musb-new/musb_dsps.c
index d55a920ae59..a8ff7434c9f 100644
--- a/drivers/usb/musb-new/musb_dsps.c
+++ b/drivers/usb/musb-new/musb_dsps.c
@@ -35,6 +35,7 @@
 #include <dm.h>
 #include <dm/device_compat.h>
 #include <asm/omap_musb.h>
+#include <linux/printk.h>
 #include "linux-compat.h"
 #endif
 
diff --git a/drivers/usb/musb-new/musb_gadget.c b/drivers/usb/musb-new/musb_gadget.c
index 5b149dac6dd..251355f4ee1 100644
--- a/drivers/usb/musb-new/musb_gadget.c
+++ b/drivers/usb/musb-new/musb_gadget.c
@@ -26,6 +26,7 @@
 #include <dm.h>
 #include <dm/device_compat.h>
 #include <linux/bug.h>
+#include <linux/printk.h>
 #include <linux/usb/ch9.h>
 #include "linux-compat.h"
 #endif
diff --git a/drivers/usb/musb-new/musb_gadget_ep0.c b/drivers/usb/musb-new/musb_gadget_ep0.c
index cbd92fca6b6..9df856f32e0 100644
--- a/drivers/usb/musb-new/musb_gadget_ep0.c
+++ b/drivers/usb/musb-new/musb_gadget_ep0.c
@@ -22,6 +22,7 @@
 #include <dm.h>
 #include <dm/device_compat.h>
 #include <asm/processor.h>
+#include <linux/printk.h>
 #include "linux-compat.h"
 #endif
 
diff --git a/drivers/usb/musb-new/omap2430.c b/drivers/usb/musb-new/omap2430.c
index fbd5f98f368..c41b9147fa5 100644
--- a/drivers/usb/musb-new/omap2430.c
+++ b/drivers/usb/musb-new/omap2430.c
@@ -17,6 +17,7 @@
 #include <dm/device_compat.h>
 #include <dm/lists.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <linux/usb/otg.h>
 #include <asm/omap_common.h>
 #include <asm/omap_musb.h>
diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index 187db7794b6..c7cb27fcaae 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -32,6 +32,7 @@
 #include <dm/root.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include <linux/usb/musb.h>
 #include "linux-compat.h"
 #include "musb_core.h"
diff --git a/drivers/usb/musb-new/ti-musb.c b/drivers/usb/musb-new/ti-musb.c
index bf58f13480b..d447baf13bb 100644
--- a/drivers/usb/musb-new/ti-musb.c
+++ b/drivers/usb/musb-new/ti-musb.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <linux/usb/otg.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
diff --git a/drivers/video/am335x-fb.c b/drivers/video/am335x-fb.c
index 2bf4d85d021..4354c3efac1 100644
--- a/drivers/video/am335x-fb.c
+++ b/drivers/video/am335x-fb.c
@@ -25,6 +25,7 @@
 #include <asm/utils.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include "am335x-fb.h"
 
 #define LCDC_FMAX				200000000
diff --git a/drivers/video/meson/meson_dw_hdmi.c b/drivers/video/meson/meson_dw_hdmi.c
index 7b2ff94eba5..ec550b57fda 100644
--- a/drivers/video/meson/meson_dw_hdmi.c
+++ b/drivers/video/meson/meson_dw_hdmi.c
@@ -14,6 +14,7 @@
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 #include <clk.h>
 #include <linux/delay.h>
diff --git a/drivers/video/meson/meson_vclk.c b/drivers/video/meson/meson_vclk.c
index cd1e69040f7..e718a0074ed 100644
--- a/drivers/video/meson/meson_vclk.c
+++ b/drivers/video/meson/meson_vclk.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <edid.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #include "meson_vpu.h"
 #include <log.h>
 #include <linux/iopoll.h>
diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
index 8fae9f2246e..174d7418865 100644
--- a/drivers/video/stm32/stm32_dsi.c
+++ b/drivers/video/stm32/stm32_dsi.c
@@ -26,6 +26,7 @@
 #include <dm/lists.h>
 #include <linux/bitops.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 #include <power/regulator.h>
 
 #define HWVER_130			0x31333000	/* IP version 1.30 */
diff --git a/drivers/video/stm32/stm32_ltdc.c b/drivers/video/stm32/stm32_ltdc.c
index bfd9d5991d3..d051fef8c49 100644
--- a/drivers/video/stm32/stm32_ltdc.c
+++ b/drivers/video/stm32/stm32_ltdc.c
@@ -20,6 +20,7 @@
 #include <dm/device-internal.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 struct stm32_ltdc_priv {
 	void __iomem *regs;
diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c
index 49f33c15b5c..52ab1b52915 100644
--- a/drivers/video/tegra124/sor.c
+++ b/drivers/video/tegra124/sor.c
@@ -15,6 +15,7 @@
 #include <asm/arch/clock.h>
 #include <asm/arch-tegra/dc.h>
 #include <linux/delay.h>
+#include <linux/printk.h>
 #include "displayport.h"
 #include "sor.h"
 #include <linux/err.h>
diff --git a/drivers/watchdog/stm32mp_wdt.c b/drivers/watchdog/stm32mp_wdt.c
index f673fce327c..89ce5588a37 100644
--- a/drivers/watchdog/stm32mp_wdt.c
+++ b/drivers/watchdog/stm32mp_wdt.c
@@ -12,6 +12,7 @@
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/iopoll.h>
+#include <linux/printk.h>
 
 /* IWDG registers */
 #define IWDG_KR		0x00	/* Key register */
diff --git a/env/common.c b/env/common.c
index d6d1fa3a1f7..b6a1f45271c 100644
--- a/env/common.c
+++ b/env/common.c
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <sort.h>
 #include <asm/global_data.h>
+#include <linux/printk.h>
 #include <linux/stddef.h>
 #include <search.h>
 #include <errno.h>
diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
index 2ff8f1a5f9b..4a8fd88cdd7 100644
--- a/fs/ubifs/debug.c
+++ b/fs/ubifs/debug.c
@@ -18,6 +18,7 @@
 #include <hexdump.h>
 #include <log.h>
 #include <dm/devres.h>
+#include <linux/printk.h>
 
 #ifndef __UBOOT__
 #include <linux/module.h>
diff --git a/fs/ubifs/debug.h b/fs/ubifs/debug.h
index 5f6e12702de..85f760e41a1 100644
--- a/fs/ubifs/debug.h
+++ b/fs/ubifs/debug.h
@@ -12,6 +12,7 @@
 #define __UBIFS_DEBUG_H__
 
 /* Checking helper functions */
+#include <linux/printk.h>
 typedef int (*dbg_leaf_callback)(struct ubifs_info *c,
 				 struct ubifs_zbranch *zbr, void *priv);
 typedef int (*dbg_znode_callback)(struct ubifs_info *c,
diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c
index 897d0014306..3ca8d704aaf 100644
--- a/fs/ubifs/lpt_commit.c
+++ b/fs/ubifs/lpt_commit.c
@@ -23,6 +23,7 @@
 #include <linux/bitops.h>
 #include <linux/compat.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include "crc16.h"
 #endif
 #include "ubifs.h"
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index e3a4c0bca27..347f8365642 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -35,6 +35,7 @@
 #include <linux/bitops.h>
 #include <linux/bug.h>
 #include <linux/log2.h>
+#include <linux/printk.h>
 #include <linux/stat.h>
 #include <linux/err.h>
 #include "ubifs.h"
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index 512fdaa1444..efa7a69cb6d 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -35,6 +35,7 @@
 #include <asm-generic/atomic-long.h>
 #include <ubi_uboot.h>
 #include <ubifs_uboot.h>
+#include <linux/printk.h>
 
 #include <linux/ctype.h>
 #include <linux/time.h>
diff --git a/fs/yaffs2/yaffs_uboot_glue.c b/fs/yaffs2/yaffs_uboot_glue.c
index 7a15a02974d..913eb323f38 100644
--- a/fs/yaffs2/yaffs_uboot_glue.c
+++ b/fs/yaffs2/yaffs_uboot_glue.c
@@ -22,6 +22,7 @@
 #include <common.h>
 #include <div64.h>
 #include <malloc.h>
+#include <linux/printk.h>
 
 #include <config.h>
 #include "nand.h"
diff --git a/include/common.h b/include/common.h
index 25c317f4439..a79c2bb4993 100644
--- a/include/common.h
+++ b/include/common.h
@@ -17,7 +17,6 @@
 #include <errno.h>
 #include <time.h>
 #include <linux/types.h>
-#include <linux/printk.h>
 #include <linux/string.h>
 #include <stdarg.h>
 #include <stdio.h>
diff --git a/include/crypto/pkcs7_parser.h b/include/crypto/pkcs7_parser.h
index 906033a90eb..2c45cce5234 100644
--- a/include/crypto/pkcs7_parser.h
+++ b/include/crypto/pkcs7_parser.h
@@ -11,6 +11,7 @@
 #include <linux/oid_registry.h>
 #include <crypto/pkcs7.h>
 #include <crypto/x509_parser.h>
+#include <linux/printk.h>
 
 #define kenter(FMT, ...) \
 	pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__)
diff --git a/include/dm/device_compat.h b/include/dm/device_compat.h
index 82d7a7d4924..aa9a6fbb5e3 100644
--- a/include/dm/device_compat.h
+++ b/include/dm/device_compat.h
@@ -14,6 +14,7 @@
 #include <log.h>
 #include <linux/build_bug.h>
 #include <linux/compat.h>
+#include <linux/printk.h>
 
 /*
  * Define a new identifier which can be tested on by C code. A similar
diff --git a/include/linux/soc/ti/cppi5.h b/include/linux/soc/ti/cppi5.h
index cfdf7ea29fc..3a55c3ec46f 100644
--- a/include/linux/soc/ti/cppi5.h
+++ b/include/linux/soc/ti/cppi5.h
@@ -11,6 +11,7 @@
 #include <hexdump.h>
 #include <linux/bitops.h>
 #include <linux/bug.h>
+#include <linux/printk.h>
 
 /**
  * Descriptor header, present in all types of descriptors
diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c
index bcb0390eb41..1191fc36487 100644
--- a/lib/asn1_decoder.c
+++ b/lib/asn1_decoder.c
@@ -8,6 +8,7 @@
 #ifdef __UBOOT__
 #include <log.h>
 #include <linux/compat.h>
+#include <linux/printk.h>
 #else
 #include <linux/export.h>
 #endif
diff --git a/lib/bch.c b/lib/bch.c
index de66b1acba5..72b4fdcc9c4 100644
--- a/lib/bch.c
+++ b/lib/bch.c
@@ -61,6 +61,7 @@
 #include <dm/devres.h>
 
 #include <linux/bitops.h>
+#include <linux/printk.h>
 #else
 #include <errno.h>
 #if defined(__FreeBSD__)
diff --git a/lib/crypto/asymmetric_type.c b/lib/crypto/asymmetric_type.c
index 1d0532d0f2e..24c2d15ef97 100644
--- a/lib/crypto/asymmetric_type.c
+++ b/lib/crypto/asymmetric_type.c
@@ -18,6 +18,7 @@
 #include <linux/compat.h>
 #include <linux/ctype.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #include <linux/string.h>
 #else
 #include <linux/seq_file.h>
diff --git a/lib/crypto/pkcs7_parser.c b/lib/crypto/pkcs7_parser.c
index 0b85fe8286c..d5efa828d6a 100644
--- a/lib/crypto/pkcs7_parser.c
+++ b/lib/crypto/pkcs7_parser.c
@@ -11,6 +11,7 @@
 #include <dm/devres.h>
 #include <linux/bitops.h>
 #include <linux/compat.h>
+#include <linux/printk.h>
 #endif
 #include <linux/kernel.h>
 #ifndef __UBOOT__
diff --git a/lib/crypto/pkcs7_verify.c b/lib/crypto/pkcs7_verify.c
index 320ba49f79d..db02f346f76 100644
--- a/lib/crypto/pkcs7_verify.c
+++ b/lib/crypto/pkcs7_verify.c
@@ -15,6 +15,7 @@
 #include <linux/bitops.h>
 #include <linux/compat.h>
 #include <linux/asn1.h>
+#include <linux/printk.h>
 #include <u-boot/rsa-checksum.h>
 #include <crypto/public_key.h>
 #include <crypto/pkcs7_parser.h>
diff --git a/lib/crypto/public_key.c b/lib/crypto/public_key.c
index df6033cdb49..8eb14aac20d 100644
--- a/lib/crypto/public_key.c
+++ b/lib/crypto/public_key.c
@@ -13,6 +13,7 @@
 #include <linux/bug.h>
 #include <linux/compat.h>
 #include <linux/err.h>
+#include <linux/printk.h>
 #else
 #include <linux/module.h>
 #include <linux/export.h>
diff --git a/lib/crypto/rsa_helper.c b/lib/crypto/rsa_helper.c
index cc0c0d6637b..c941d40fd7a 100644
--- a/lib/crypto/rsa_helper.c
+++ b/lib/crypto/rsa_helper.c
@@ -15,6 +15,7 @@
 #include <linux/fips.h>
 #endif
 #include <crypto/internal/rsa.h>
+#include <linux/printk.h>
 #include "rsapubkey.asn1.h"
 #ifndef __UBOOT__
 #include "rsaprivkey.asn1.h"
diff --git a/lib/crypto/x509_cert_parser.c b/lib/crypto/x509_cert_parser.c
index eb24349460c..a0f0689118f 100644
--- a/lib/crypto/x509_cert_parser.c
+++ b/lib/crypto/x509_cert_parser.c
@@ -16,6 +16,7 @@
 #include <linux/err.h>
 #include <linux/oid_registry.h>
 #ifdef __UBOOT__
+#include <linux/printk.h>
 #include <linux/string.h>
 #endif
 #include <crypto/public_key.h>
diff --git a/lib/crypto/x509_public_key.c b/lib/crypto/x509_public_key.c
index 91810a86404..518dc906731 100644
--- a/lib/crypto/x509_public_key.c
+++ b/lib/crypto/x509_public_key.c
@@ -13,6 +13,7 @@
 #include <linux/compat.h>
 #include <linux/err.h>
 #include <linux/errno.h>
+#include <linux/printk.h>
 #else
 #include <linux/module.h>
 #endif
diff --git a/lib/list_sort.c b/lib/list_sort.c
index 58e1e1614a5..1c9e0617327 100644
--- a/lib/list_sort.c
+++ b/lib/list_sort.c
@@ -8,6 +8,7 @@
 #include <linux/compat.h>
 #include <common.h>
 #include <malloc.h>
+#include <linux/printk.h>
 #endif
 #include <linux/list.h>
 #include <linux/list_sort.h>
diff --git a/net/fastboot.c b/net/fastboot.c
index 7e7a601b9fe..efba7016c97 100644
--- a/net/fastboot.c
+++ b/net/fastboot.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <fastboot.h>
 #include <net.h>
+#include <linux/printk.h>
 #include <net/fastboot.h>
 
 /* Fastboot port # defined in spec */
-- 
2.29.1.341.ge80a0c044ae-goog

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

* [PATCH 4/4] Fix code style for time functions
  2020-10-31  3:38 [PATCH 0/4] common: Drop remaining includes in common.h (part A) Simon Glass
                   ` (2 preceding siblings ...)
  2020-10-31  3:38 ` [PATCH 3/4] common: Drop linux/printk.h " Simon Glass
@ 2020-10-31  3:38 ` Simon Glass
  3 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2020-10-31  3:38 UTC (permalink / raw)
  To: u-boot

Fix the code style used for some time functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/cpu/arm920t/imx/timer.c |  2 +-
 arch/arm/cpu/sa1100/timer.c      |  2 +-
 arch/microblaze/cpu/timer.c      |  2 +-
 arch/powerpc/lib/interrupts.c    |  2 +-
 arch/powerpc/lib/time.c          |  5 +++--
 board/armltd/integrator/timer.c  |  2 +-
 drivers/fpga/ACEX1K.c            |  4 ++--
 drivers/fpga/spartan2.c          | 24 ++++++++++++------------
 drivers/fpga/spartan3.c          | 24 ++++++++++++------------
 drivers/net/lan91c96.c           |  4 ++--
 drivers/net/ne2000_base.c        |  4 ++--
 drivers/net/smc91111.c           |  4 ++--
 post/drivers/rtc.c               |  4 ++--
 13 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/arch/arm/cpu/arm920t/imx/timer.c b/arch/arm/cpu/arm920t/imx/timer.c
index e9d55779214..b559db75f12 100644
--- a/arch/arm/cpu/arm920t/imx/timer.c
+++ b/arch/arm/cpu/arm920t/imx/timer.c
@@ -44,7 +44,7 @@ static ulong get_timer_masked (void)
 	return TCN1;
 }
 
-ulong get_timer (ulong base)
+ulong get_timer(ulong base)
 {
 	return get_timer_masked() - base;
 }
diff --git a/arch/arm/cpu/sa1100/timer.c b/arch/arm/cpu/sa1100/timer.c
index a5cdaf5a66c..5d597dd1ab4 100644
--- a/arch/arm/cpu/sa1100/timer.c
+++ b/arch/arm/cpu/sa1100/timer.c
@@ -19,7 +19,7 @@ static ulong get_timer_masked (void)
 	return OSCR;
 }
 
-ulong get_timer (ulong base)
+ulong get_timer(ulong base)
 {
 	return get_timer_masked ();
 }
diff --git a/arch/microblaze/cpu/timer.c b/arch/microblaze/cpu/timer.c
index 647bdcd5ba5..05ab0e1b157 100644
--- a/arch/microblaze/cpu/timer.c
+++ b/arch/microblaze/cpu/timer.c
@@ -20,7 +20,7 @@ DECLARE_GLOBAL_DATA_PTR;
 volatile int timestamp = 0;
 microblaze_timer_t *tmr;
 
-ulong get_timer (ulong base)
+ulong get_timer(ulong base)
 {
 	if (tmr)
 		return timestamp - base;
diff --git a/arch/powerpc/lib/interrupts.c b/arch/powerpc/lib/interrupts.c
index 73f270002cf..bda0999327d 100644
--- a/arch/powerpc/lib/interrupts.c
+++ b/arch/powerpc/lib/interrupts.c
@@ -89,7 +89,7 @@ void timer_interrupt(struct pt_regs *regs)
 #endif /* CONFIG_LED_STATUS */
 }
 
-ulong get_timer (ulong base)
+ulong get_timer(ulong base)
 {
 	return (timestamp - base);
 }
diff --git a/arch/powerpc/lib/time.c b/arch/powerpc/lib/time.c
index 8d6babfb83d..d27432c23af 100644
--- a/arch/powerpc/lib/time.c
+++ b/arch/powerpc/lib/time.c
@@ -39,8 +39,9 @@ unsigned long usec2ticks(unsigned long usec)
  */
 void __udelay(unsigned long usec)
 {
-	ulong ticks = usec2ticks (usec);
-	wait_ticks (ticks);
+	ulong ticks = usec2ticks(usec);
+
+	wait_ticks(ticks);
 }
 
 /* ------------------------------------------------------------------------- */
diff --git a/board/armltd/integrator/timer.c b/board/armltd/integrator/timer.c
index d220b877d66..53d1c0ec303 100644
--- a/board/armltd/integrator/timer.c
+++ b/board/armltd/integrator/timer.c
@@ -119,7 +119,7 @@ static ulong get_timer_masked (void)
 	return timestamp;
 }
 
-ulong get_timer (ulong base_ticks)
+ulong get_timer(ulong base_ticks)
 {
 	return get_timer_masked () - base_ticks;
 }
diff --git a/drivers/fpga/ACEX1K.c b/drivers/fpga/ACEX1K.c
index aca8049c56a..30a3727433e 100644
--- a/drivers/fpga/ACEX1K.c
+++ b/drivers/fpga/ACEX1K.c
@@ -140,10 +140,10 @@ static int ACEX1K_ps_load(Altera_desc *desc, const void *buf, size_t bsize)
 		udelay(2);		/* T_cf2st1 < 4us	*/
 
 		/* Wait for nSTATUS to be released (i.e. deasserted) */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for STATUS to go high.\n");
 				(*fn->abort) (cookie);
 				return FPGA_FAIL;
diff --git a/drivers/fpga/spartan2.c b/drivers/fpga/spartan2.c
index 3435400e58b..fae94f9663a 100644
--- a/drivers/fpga/spartan2.c
+++ b/drivers/fpga/spartan2.c
@@ -151,11 +151,11 @@ static int spartan2_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		CONFIG_FPGA_DELAY ();
 		(*fn->pgm) (false, true, cookie);	/* Deassert the program, commit */
 
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		/* Now wait for INIT and BUSY to go high */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to clear.\n");
 				(*fn->abort) (cookie);	/* abort the burn */
 				return FPGA_FAIL;
@@ -178,7 +178,7 @@ static int spartan2_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 			(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
 #ifdef CONFIG_SYS_FPGA_CHECK_BUSY
-			ts = get_timer (0);	/* get current time */
+			ts = get_timer(0);	/* get current time */
 			while ((*fn->busy) (cookie)) {
 				/* XXX - we should have a check in here somewhere to
 				 * make sure we aren't busy forever... */
@@ -188,7 +188,7 @@ static int spartan2_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 				CONFIG_FPGA_DELAY ();
 				(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
-				if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+				if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 					puts ("** Timeout waiting for BUSY to clear.\n");
 					(*fn->abort) (cookie);	/* abort the burn */
 					return FPGA_FAIL;
@@ -211,7 +211,7 @@ static int spartan2_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 #endif
 
 		/* now check for done signal */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		ret_val = FPGA_SUCCESS;
 		while ((*fn->done) (cookie) == FPGA_FAIL) {
 
@@ -220,7 +220,7 @@ static int spartan2_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 			CONFIG_FPGA_DELAY ();
 			(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for DONE to clear.\n");
 				(*fn->abort) (cookie);	/* abort the burn */
 				ret_val = FPGA_FAIL;
@@ -337,10 +337,10 @@ static int spartan2_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		(*fn->pgm) (true, true, cookie);	/* Assert the program, commit */
 
 		/* Wait for INIT state (init low)                            */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to start.\n");
 				return FPGA_FAIL;
 			}
@@ -350,11 +350,11 @@ static int spartan2_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		CONFIG_FPGA_DELAY ();
 		(*fn->pgm) (false, true, cookie);	/* Deassert the program, commit */
 
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		/* Now wait for INIT to go high */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to clear.\n");
 				return FPGA_FAIL;
 			}
@@ -398,7 +398,7 @@ static int spartan2_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 #endif
 
 		/* now check for done signal */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		ret_val = FPGA_SUCCESS;
 		(*fn->wr) (true, true, cookie);
 
@@ -411,7 +411,7 @@ static int spartan2_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 
 			putc ('*');
 
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for DONE to clear.\n");
 				ret_val = FPGA_FAIL;
 				break;
diff --git a/drivers/fpga/spartan3.c b/drivers/fpga/spartan3.c
index 4850c99352d..e40e427a25f 100644
--- a/drivers/fpga/spartan3.c
+++ b/drivers/fpga/spartan3.c
@@ -155,11 +155,11 @@ static int spartan3_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		CONFIG_FPGA_DELAY ();
 		(*fn->pgm) (false, true, cookie);	/* Deassert the program, commit */
 
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		/* Now wait for INIT and BUSY to go high */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to clear.\n");
 				(*fn->abort) (cookie);	/* abort the burn */
 				return FPGA_FAIL;
@@ -182,7 +182,7 @@ static int spartan3_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 			(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
 #ifdef CONFIG_SYS_FPGA_CHECK_BUSY
-			ts = get_timer (0);	/* get current time */
+			ts = get_timer(0);	/* get current time */
 			while ((*fn->busy) (cookie)) {
 				/* XXX - we should have a check in here somewhere to
 				 * make sure we aren't busy forever... */
@@ -192,7 +192,7 @@ static int spartan3_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 				CONFIG_FPGA_DELAY ();
 				(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
-				if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+				if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 					puts ("** Timeout waiting for BUSY to clear.\n");
 					(*fn->abort) (cookie);	/* abort the burn */
 					return FPGA_FAIL;
@@ -215,7 +215,7 @@ static int spartan3_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 #endif
 
 		/* now check for done signal */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		ret_val = FPGA_SUCCESS;
 		while ((*fn->done) (cookie) == FPGA_FAIL) {
 			/* XXX - we should have a check in here somewhere to
@@ -226,7 +226,7 @@ static int spartan3_sp_load(xilinx_desc *desc, const void *buf, size_t bsize)
 			CONFIG_FPGA_DELAY ();
 			(*fn->clk) (true, true, cookie);	/* Assert the clock pin */
 
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for DONE to clear.\n");
 				(*fn->abort) (cookie);	/* abort the burn */
 				ret_val = FPGA_FAIL;
@@ -343,10 +343,10 @@ static int spartan3_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		(*fn->pgm) (true, true, cookie);	/* Assert the program, commit */
 
 		/* Wait for INIT state (init low)                            */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to start.\n");
 				if (*fn->abort)
 					(*fn->abort) (cookie);
@@ -358,11 +358,11 @@ static int spartan3_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 		CONFIG_FPGA_DELAY ();
 		(*fn->pgm) (false, true, cookie);	/* Deassert the program, commit */
 
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		/* Now wait for INIT to go high */
 		do {
 			CONFIG_FPGA_DELAY ();
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for INIT to clear.\n");
 				if (*fn->abort)
 					(*fn->abort) (cookie);
@@ -414,7 +414,7 @@ static int spartan3_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 #endif
 
 		/* now check for done signal */
-		ts = get_timer (0);		/* get current time */
+		ts = get_timer(0);		/* get current time */
 		ret_val = FPGA_SUCCESS;
 		(*fn->wr) (true, true, cookie);
 
@@ -429,7 +429,7 @@ static int spartan3_ss_load(xilinx_desc *desc, const void *buf, size_t bsize)
 
 			putc ('*');
 
-			if (get_timer (ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
+			if (get_timer(ts) > CONFIG_SYS_FPGA_WAIT) {	/* check the time */
 				puts ("** Timeout waiting for DONE to clear.\n");
 				ret_val = FPGA_FAIL;
 				break;
diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c
index c2f611144db..470c68467cd 100644
--- a/drivers/net/lan91c96.c
+++ b/drivers/net/lan91c96.c
@@ -164,14 +164,14 @@ static void print_packet (byte *, int);
 
 static int poll4int (struct eth_device *dev, byte mask, int timeout)
 {
-	int tmo = get_timer (0) + timeout * CONFIG_SYS_HZ;
+	int tmo = get_timer(0) + timeout * CONFIG_SYS_HZ;
 	int is_timeout = 0;
 	word old_bank = SMC_inw(dev, LAN91C96_BANK_SELECT);
 
 	PRINTK2 ("Polling...\n");
 	SMC_SELECT_BANK(dev, 2);
 	while ((SMC_inw(dev, LAN91C96_INT_STATS) & mask) == 0) {
-		if (get_timer (0) >= tmo) {
+		if (get_timer(0) >= tmo) {
 			is_timeout = 1;
 			break;
 		}
diff --git a/drivers/net/ne2000_base.c b/drivers/net/ne2000_base.c
index f6673f5e4c6..09cc8398003 100644
--- a/drivers/net/ne2000_base.c
+++ b/drivers/net/ne2000_base.c
@@ -750,14 +750,14 @@ static int ne2k_send(struct eth_device *dev, void *packet, int length)
 	pkey = -1;
 
 	dp83902a_send((u8 *) packet, length, 666);
-	tmo = get_timer (0) + TOUT * CONFIG_SYS_HZ;
+	tmo = get_timer(0) + TOUT * CONFIG_SYS_HZ;
 	while(1) {
 		dp83902a_poll();
 		if (pkey != -1) {
 			PRINTK("Packet sucesfully sent\n");
 			return 0;
 		}
-		if (get_timer (0) >= tmo) {
+		if (get_timer(0) >= tmo) {
 			printf("transmission error (timoeut)\n");
 			return 0;
 		}
diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c
index ec4e8e928cb..fea6ba8caaa 100644
--- a/drivers/net/smc91111.c
+++ b/drivers/net/smc91111.c
@@ -238,14 +238,14 @@ static void print_packet( byte *, int );
 
 static int poll4int (struct eth_device *dev, byte mask, int timeout)
 {
-	int tmo = get_timer (0) + timeout * CONFIG_SYS_HZ;
+	int tmo = get_timer(0) + timeout * CONFIG_SYS_HZ;
 	int is_timeout = 0;
 	word old_bank = SMC_inw (dev, BSR_REG);
 
 	PRINTK2 ("Polling...\n");
 	SMC_SELECT_BANK (dev, 2);
 	while ((SMC_inw (dev, SMC91111_INT_REG) & mask) == 0) {
-		if (get_timer (0) >= tmo) {
+		if (get_timer(0) >= tmo) {
 			is_timeout = 1;
 			break;
 		}
diff --git a/post/drivers/rtc.c b/post/drivers/rtc.c
index c603f0e6728..af701e464d3 100644
--- a/post/drivers/rtc.c
+++ b/post/drivers/rtc.c
@@ -36,11 +36,11 @@ static int rtc_post_skip (ulong * diff)
 	ulong start2;
 
 	rtc_get (&tm1);
-	start1 = get_timer (0);
+	start1 = get_timer(0);
 
 	while (1) {
 		rtc_get (&tm2);
-		start2 = get_timer (0);
+		start2 = get_timer(0);
 		if (tm1.tm_sec != tm2.tm_sec)
 			break;
 		if (start2 - start1 > 1500)
-- 
2.29.1.341.ge80a0c044ae-goog

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

* [PATCHv2] common: Drop asm/global_data.h from common header
  2020-10-31  3:38 ` [PATCH 1/4] common: Drop asm/global_data.h from common header Simon Glass
@ 2021-02-03 14:19   ` Tom Rini
  2021-02-15 15:45     ` Tom Rini
  0 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2021-02-03 14:19 UTC (permalink / raw)
  To: u-boot

From: Simon Glass <sjg@chromium.org>

Move this out of the common header and include it only where needed.  In
a number of cases this requires adding "struct udevice;" to avoid adding
another large header or in other cases replacing / adding missing header
files that had been pulled in, very indirectly.   Finally, we have a few
cases where we did not need to include <asm/global_data.h> at all, so
remove that include.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 arch/arc/lib/bootm.c                                    | 1 +
 arch/arc/lib/cache.c                                    | 1 +
 arch/arc/lib/cpu.c                                      | 1 +
 arch/arc/lib/relocate.c                                 | 1 +
 arch/arm/cpu/arm1136/mx35/generic.c                     | 1 +
 arch/arm/cpu/arm926ejs/armada100/dram.c                 | 1 +
 arch/arm/cpu/arm926ejs/armada100/timer.c                | 1 +
 arch/arm/cpu/arm926ejs/mx25/generic.c                   | 1 +
 arch/arm/cpu/arm926ejs/mx27/timer.c                     | 1 +
 arch/arm/cpu/arm926ejs/mxs/mxs.c                        | 1 +
 arch/arm/cpu/arm926ejs/mxs/spl_boot.c                   | 1 +
 arch/arm/cpu/arm926ejs/mxs/timer.c                      | 1 +
 arch/arm/cpu/arm926ejs/spear/spr_misc.c                 | 1 +
 arch/arm/cpu/arm926ejs/spear/timer.c                    | 1 +
 arch/arm/cpu/armv7/arch_timer.c                         | 1 +
 arch/arm/cpu/armv7/ls102xa/clock.c                      | 1 +
 arch/arm/cpu/armv7/ls102xa/cpu.c                        | 1 +
 arch/arm/cpu/armv7/ls102xa/fdt.c                        | 1 +
 arch/arm/cpu/armv7/ls102xa/timer.c                      | 1 +
 arch/arm/cpu/armv7/s5p-common/cpu_info.c                | 1 +
 arch/arm/cpu/armv7/s5p-common/timer.c                   | 1 +
 arch/arm/cpu/armv7/s5p4418/cpu.c                        | 1 +
 arch/arm/cpu/armv7/stv0991/timer.c                      | 1 +
 arch/arm/cpu/armv7/sunxi/timer.c                        | 1 +
 arch/arm/cpu/armv7/vf610/generic.c                      | 1 +
 arch/arm/cpu/armv7/vf610/timer.c                        | 1 +
 arch/arm/cpu/armv7/virt-dt.c                            | 1 -
 arch/arm/cpu/armv7m/systick-timer.c                     | 1 +
 arch/arm/cpu/armv8/cache_v8.c                           | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/cpu.c                 | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c     | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c     | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/mp.c                  | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/ppa.c                 | 1 +
 arch/arm/cpu/armv8/fsl-layerscape/spl.c                 | 1 +
 arch/arm/cpu/armv8/generic_timer.c                      | 1 +
 arch/arm/cpu/armv8/s32v234/generic.c                    | 1 +
 arch/arm/cpu/armv8/sec_firmware.c                       | 1 +
 arch/arm/include/asm/arch-rockchip/clock.h              | 2 ++
 arch/arm/include/asm/arch-tegra/clock.h                 | 2 ++
 arch/arm/include/asm/arch-tegra/tegra_i2c.h             | 2 ++
 arch/arm/include/asm/global_data.h                      | 3 +++
 arch/arm/include/asm/secure.h                           | 1 +
 arch/arm/include/asm/ti-common/sys_proto.h              | 2 ++
 arch/arm/lib/bdinfo.c                                   | 1 +
 arch/arm/lib/bootm-fdt.c                                | 1 +
 arch/arm/lib/bootm.c                                    | 1 +
 arch/arm/lib/cache-cp15.c                               | 1 +
 arch/arm/lib/cache.c                                    | 1 +
 arch/arm/lib/image.c                                    | 1 +
 arch/arm/lib/interrupts.c                               | 1 +
 arch/arm/lib/interrupts_64.c                            | 1 +
 arch/arm/lib/spl.c                                      | 1 +
 arch/arm/lib/stack.c                                    | 1 +
 arch/arm/mach-aspeed/ast2500/board_common.c             | 1 +
 arch/arm/mach-aspeed/ast2600/board_common.c             | 1 +
 arch/arm/mach-aspeed/ast2600/spl.c                      | 1 +
 arch/arm/mach-at91/arm920t/clock.c                      | 1 +
 arch/arm/mach-at91/arm920t/timer.c                      | 1 +
 arch/arm/mach-at91/arm926ejs/clock.c                    | 1 +
 arch/arm/mach-at91/arm926ejs/timer.c                    | 1 +
 arch/arm/mach-at91/armv7/clock.c                        | 1 +
 arch/arm/mach-at91/armv7/timer.c                        | 1 +
 arch/arm/mach-at91/spl_at91.c                           | 1 +
 arch/arm/mach-bcm283x/init.c                            | 1 +
 arch/arm/mach-davinci/cpu.c                             | 1 +
 arch/arm/mach-davinci/misc.c                            | 1 +
 arch/arm/mach-davinci/timer.c                           | 1 +
 arch/arm/mach-exynos/spl_boot.c                         | 1 +
 arch/arm/mach-imx/imx8/ahab.c                           | 1 +
 arch/arm/mach-imx/imx8/clock.c                          | 1 +
 arch/arm/mach-imx/imx8/cpu.c                            | 1 +
 arch/arm/mach-imx/imx8/fdt.c                            | 1 +
 arch/arm/mach-imx/imx8/iomux.c                          | 1 +
 arch/arm/mach-imx/imx8/snvs_security_sc.c               | 1 +
 arch/arm/mach-imx/imx8m/clock_imx8mm.c                  | 1 +
 arch/arm/mach-imx/imx8m/soc.c                           | 1 +
 arch/arm/mach-imx/misc.c                                | 1 +
 arch/arm/mach-imx/mx5/mx53_dram.c                       | 1 +
 arch/arm/mach-imx/mx6/litesom.c                         | 1 +
 arch/arm/mach-imx/mx6/opos6ul.c                         | 1 +
 arch/arm/mach-imx/mx7/clock.c                           | 1 +
 arch/arm/mach-imx/mx7ulp/clock.c                        | 1 +
 arch/arm/mach-imx/speed.c                               | 1 +
 arch/arm/mach-imx/spl.c                                 | 1 +
 arch/arm/mach-imx/spl_imx_romapi.c                      | 1 +
 arch/arm/mach-imx/syscounter.c                          | 1 +
 arch/arm/mach-imx/timer.c                               | 1 +
 arch/arm/mach-k3/am6_init.c                             | 1 +
 arch/arm/mach-k3/common.c                               | 1 +
 arch/arm/mach-k3/sysfw-loader.c                         | 1 +
 arch/arm/mach-mediatek/mt7623/init.c                    | 1 +
 arch/arm/mach-mediatek/mt7629/init.c                    | 1 +
 arch/arm/mach-mediatek/mt8512/init.c                    | 1 +
 arch/arm/mach-mediatek/mt8516/init.c                    | 1 +
 arch/arm/mach-mediatek/mt8518/init.c                    | 1 +
 arch/arm/mach-meson/board-axg.c                         | 1 +
 arch/arm/mach-meson/board-common.c                      | 1 +
 arch/arm/mach-meson/board-g12a.c                        | 1 +
 arch/arm/mach-meson/board-gx.c                          | 1 +
 arch/arm/mach-meson/board-info.c                        | 1 +
 arch/arm/mach-meson/sm.c                                | 1 +
 arch/arm/mach-mvebu/arm64-common.c                      | 1 +
 arch/arm/mach-mvebu/armada3700/cpu.c                    | 1 +
 arch/arm/mach-mvebu/armada8k/dram.c                     | 1 +
 arch/arm/mach-mvebu/dram.c                              | 1 +
 arch/arm/mach-mvebu/spl.c                               | 1 +
 arch/arm/mach-nexell/cmd_boot_linux.c                   | 1 +
 arch/arm/mach-octeontx/cpu.c                            | 1 +
 arch/arm/mach-octeontx2/cpu.c                           | 1 +
 arch/arm/mach-omap2/am33xx/board.c                      | 1 +
 arch/arm/mach-omap2/boot-common.c                       | 1 +
 arch/arm/mach-omap2/hwinit-common.c                     | 1 +
 arch/arm/mach-omap2/omap-cache.c                        | 1 +
 arch/arm/mach-omap2/omap3/am35x_musb.c                  | 1 +
 arch/arm/mach-omap2/omap3/emif4.c                       | 1 +
 arch/arm/mach-omap2/omap3/sdrc.c                        | 1 +
 arch/arm/mach-omap2/timer.c                             | 1 +
 arch/arm/mach-orion5x/dram.c                            | 1 +
 arch/arm/mach-orion5x/timer.c                           | 1 +
 arch/arm/mach-owl/soc.c                                 | 1 +
 arch/arm/mach-rmobile/memmap-gen3.c                     | 1 +
 arch/arm/mach-rockchip/board.c                          | 1 +
 arch/arm/mach-rockchip/rk3036/rk3036.c                  | 1 +
 arch/arm/mach-rockchip/rk3128/rk3128.c                  | 1 +
 arch/arm/mach-rockchip/rk3188/rk3188.c                  | 1 +
 arch/arm/mach-rockchip/rk3288/rk3288.c                  | 1 +
 arch/arm/mach-rockchip/rk3308/rk3308.c                  | 1 +
 arch/arm/mach-rockchip/rk3328/rk3328.c                  | 1 +
 arch/arm/mach-rockchip/rk3368/rk3368.c                  | 1 +
 arch/arm/mach-rockchip/rk3399/rk3399.c                  | 1 +
 arch/arm/mach-rockchip/sdram.c                          | 1 +
 arch/arm/mach-rockchip/spl-boot-order.c                 | 1 +
 arch/arm/mach-rockchip/spl.c                            | 1 +
 arch/arm/mach-snapdragon/pinctrl-snapdragon.h           | 2 +-
 arch/arm/mach-socfpga/board.c                           | 1 +
 arch/arm/mach-socfpga/clock_manager.c                   | 1 +
 arch/arm/mach-socfpga/clock_manager_agilex.c            | 1 +
 arch/arm/mach-socfpga/clock_manager_s10.c               | 1 +
 arch/arm/mach-socfpga/mailbox_s10.c                     | 1 +
 arch/arm/mach-socfpga/misc.c                            | 1 +
 arch/arm/mach-socfpga/misc_gen5.c                       | 1 +
 arch/arm/mach-socfpga/misc_s10.c                        | 1 +
 arch/arm/mach-socfpga/mmu-arm64_s10.c                   | 1 +
 arch/arm/mach-socfpga/reset_manager_arria10.c           | 1 +
 arch/arm/mach-socfpga/reset_manager_s10.c               | 1 +
 arch/arm/mach-socfpga/spl_a10.c                         | 1 +
 arch/arm/mach-socfpga/spl_agilex.c                      | 1 +
 arch/arm/mach-socfpga/spl_gen5.c                        | 1 +
 arch/arm/mach-socfpga/spl_s10.c                         | 1 +
 arch/arm/mach-socfpga/system_manager_s10.c              | 1 +
 arch/arm/mach-stm32mp/boot_params.c                     | 1 +
 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c         | 1 +
 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c  | 1 +
 arch/arm/mach-stm32mp/cpu.c                             | 1 +
 arch/arm/mach-stm32mp/dram_init.c                       | 1 +
 arch/arm/mach-stm32mp/fdt.c                             | 1 +
 arch/arm/mach-stm32mp/spl.c                             | 1 +
 arch/arm/mach-tegra/board.c                             | 1 +
 arch/arm/mach-tegra/board2.c                            | 1 +
 arch/arm/mach-tegra/cboot.c                             | 1 +
 arch/arm/mach-tegra/emc.c                               | 1 +
 arch/arm/mach-tegra/pmc.c                               | 1 +
 arch/arm/mach-tegra/tegra124/xusb-padctl.c              | 1 +
 arch/arm/mach-tegra/tegra20/warmboot.c                  | 1 +
 arch/arm/mach-tegra/tegra210/xusb-padctl.c              | 1 +
 arch/arm/mach-uniphier/board_late_init.c                | 1 +
 arch/arm/mach-versal/clk.c                              | 1 +
 arch/arm/mach-versal/cpu.c                              | 1 +
 arch/arm/mach-versal/mp.c                               | 1 +
 arch/arm/mach-zynq/clk.c                                | 1 +
 arch/arm/mach-zynq/timer.c                              | 1 +
 arch/arm/mach-zynqmp-r5/cpu.c                           | 1 +
 arch/arm/mach-zynqmp/clk.c                              | 1 +
 arch/arm/mach-zynqmp/cpu.c                              | 1 +
 arch/m68k/cpu/mcf5227x/cpu.c                            | 1 +
 arch/m68k/cpu/mcf5227x/speed.c                          | 1 +
 arch/m68k/cpu/mcf523x/cpu.c                             | 1 +
 arch/m68k/cpu/mcf523x/speed.c                           | 1 +
 arch/m68k/cpu/mcf52x2/cpu.c                             | 1 +
 arch/m68k/cpu/mcf52x2/speed.c                           | 1 +
 arch/m68k/cpu/mcf530x/speed.c                           | 1 +
 arch/m68k/cpu/mcf532x/cpu.c                             | 1 +
 arch/m68k/cpu/mcf532x/speed.c                           | 1 +
 arch/m68k/cpu/mcf5445x/cpu.c                            | 1 +
 arch/m68k/cpu/mcf5445x/speed.c                          | 1 +
 arch/m68k/cpu/mcf547x_8x/cpu.c                          | 1 +
 arch/m68k/cpu/mcf547x_8x/slicetimer.c                   | 1 +
 arch/m68k/cpu/mcf547x_8x/speed.c                        | 1 +
 arch/m68k/lib/bdinfo.c                                  | 1 +
 arch/m68k/lib/bootm.c                                   | 1 +
 arch/m68k/lib/fec.c                                     | 1 +
 arch/m68k/lib/time.c                                    | 1 +
 arch/microblaze/cpu/interrupts.c                        | 1 +
 arch/microblaze/cpu/timer.c                             | 1 +
 arch/microblaze/lib/bootm.c                             | 1 +
 arch/mips/include/asm/io.h                              | 1 +
 arch/mips/lib/boot.c                                    | 1 +
 arch/mips/lib/bootm.c                                   | 1 +
 arch/mips/lib/cache.c                                   | 1 +
 arch/mips/lib/stack.c                                   | 1 +
 arch/mips/lib/traps.c                                   | 1 +
 arch/mips/mach-ath79/ar933x/clk.c                       | 1 +
 arch/mips/mach-ath79/ar934x/clk.c                       | 1 +
 arch/mips/mach-ath79/ar934x/ddr.c                       | 1 +
 arch/mips/mach-ath79/cpu.c                              | 1 +
 arch/mips/mach-ath79/dram.c                             | 1 +
 arch/mips/mach-ath79/include/mach/ath79.h               | 1 +
 arch/mips/mach-ath79/qca953x/clk.c                      | 1 +
 arch/mips/mach-ath79/qca956x/clk.c                      | 1 +
 arch/mips/mach-ath79/qca956x/ddr.c                      | 1 +
 arch/mips/mach-bmips/dram.c                             | 1 +
 arch/mips/mach-jz47xx/jz4780/jz4780.c                   | 1 +
 arch/mips/mach-mscc/cpu.c                               | 1 +
 arch/mips/mach-mscc/dram.c                              | 1 +
 arch/mips/mach-mtmips/cpu.c                             | 1 +
 arch/mips/mach-mtmips/ddr_cal.c                         | 1 +
 arch/mips/mach-mtmips/mt7628/ddr.c                      | 1 +
 arch/mips/mach-mtmips/mt7628/init.c                     | 1 +
 arch/mips/mach-mtmips/spl.c                             | 2 +-
 arch/mips/mach-octeon/bootoctlinux.c                    | 1 +
 arch/mips/mach-pic32/cpu.c                              | 1 +
 arch/nds32/lib/bootm.c                                  | 1 +
 arch/nios2/cpu/cpu.c                                    | 1 +
 arch/nios2/include/asm/io.h                             | 3 +++
 arch/nios2/lib/cache.c                                  | 1 +
 arch/powerpc/cpu/mpc83xx/cpu.c                          | 1 +
 arch/powerpc/cpu/mpc83xx/cpu_init.c                     | 1 +
 arch/powerpc/cpu/mpc83xx/fdt.c                          | 1 +
 arch/powerpc/cpu/mpc83xx/interrupts.c                   | 1 +
 arch/powerpc/cpu/mpc83xx/pci.c                          | 1 +
 arch/powerpc/cpu/mpc83xx/pcie.c                         | 1 +
 arch/powerpc/cpu/mpc83xx/spd_sdram.c                    | 1 +
 arch/powerpc/cpu/mpc83xx/speed.c                        | 1 +
 arch/powerpc/cpu/mpc83xx/spl_minimal.c                  | 1 +
 arch/powerpc/cpu/mpc83xx/traps.c                        | 1 +
 arch/powerpc/cpu/mpc85xx/commproc.c                     | 1 +
 arch/powerpc/cpu/mpc85xx/cpu.c                          | 1 +
 arch/powerpc/cpu/mpc85xx/cpu_init_early.c               | 1 +
 arch/powerpc/cpu/mpc85xx/fdt.c                          | 1 +
 arch/powerpc/cpu/mpc85xx/mp.c                           | 1 +
 arch/powerpc/cpu/mpc85xx/serial_scc.c                   | 1 +
 arch/powerpc/cpu/mpc85xx/speed.c                        | 1 +
 arch/powerpc/cpu/mpc85xx/tlb.c                          | 1 +
 arch/powerpc/cpu/mpc85xx/traps.c                        | 1 +
 arch/powerpc/cpu/mpc86xx/cpu.c                          | 1 +
 arch/powerpc/cpu/mpc86xx/cpu_init.c                     | 1 +
 arch/powerpc/cpu/mpc86xx/fdt.c                          | 1 +
 arch/powerpc/cpu/mpc86xx/mp.c                           | 1 +
 arch/powerpc/cpu/mpc86xx/speed.c                        | 1 +
 arch/powerpc/cpu/mpc86xx/traps.c                        | 1 +
 arch/powerpc/cpu/mpc8xx/cpu.c                           | 1 +
 arch/powerpc/cpu/mpc8xx/fdt.c                           | 1 +
 arch/powerpc/cpu/mpc8xx/immap.c                         | 1 +
 arch/powerpc/cpu/mpc8xx/speed.c                         | 1 +
 arch/powerpc/cpu/mpc8xxx/cpu.c                          | 1 +
 arch/powerpc/cpu/mpc8xxx/law.c                          | 1 +
 arch/powerpc/cpu/mpc8xxx/pamu_table.c                   | 1 +
 arch/powerpc/lib/bat_rw.c                               | 1 +
 arch/powerpc/lib/bdinfo.c                               | 1 +
 arch/powerpc/lib/bootm.c                                | 1 +
 arch/powerpc/lib/stack.c                                | 1 +
 arch/powerpc/lib/traps.c                                | 2 +-
 arch/riscv/cpu/fu540/cache.c                            | 1 +
 arch/riscv/cpu/fu540/dram.c                             | 1 +
 arch/riscv/cpu/generic/dram.c                           | 1 +
 arch/riscv/lib/andes_plic.c                             | 1 +
 arch/riscv/lib/asm-offsets.c                            | 1 +
 arch/riscv/lib/bootm.c                                  | 1 +
 arch/riscv/lib/fdt_fixup.c                              | 1 +
 arch/riscv/lib/image.c                                  | 1 +
 arch/riscv/lib/interrupts.c                             | 1 +
 arch/riscv/lib/sifive_clint.c                           | 1 +
 arch/riscv/lib/smp.c                                    | 1 +
 arch/riscv/lib/spl.c                                    | 1 +
 arch/sandbox/cpu/cpu.c                                  | 1 +
 arch/sandbox/cpu/spl.c                                  | 1 +
 arch/sandbox/cpu/start.c                                | 1 +
 arch/sandbox/lib/interrupts.c                           | 1 +
 arch/sh/lib/board.c                                     | 1 +
 arch/x86/cpu/apollolake/cpu.c                           | 1 +
 arch/x86/cpu/apollolake/cpu_spl.c                       | 1 +
 arch/x86/cpu/apollolake/fsp_s.c                         | 1 +
 arch/x86/cpu/baytrail/fsp_configs.c                     | 1 +
 arch/x86/cpu/braswell/fsp_configs.c                     | 1 +
 arch/x86/cpu/broadwell/cpu.c                            | 1 +
 arch/x86/cpu/broadwell/cpu_from_spl.c                   | 1 +
 arch/x86/cpu/broadwell/cpu_full.c                       | 1 +
 arch/x86/cpu/broadwell/lpc.c                            | 1 +
 arch/x86/cpu/broadwell/northbridge.c                    | 1 +
 arch/x86/cpu/broadwell/pch.c                            | 1 +
 arch/x86/cpu/broadwell/pinctrl_broadwell.c              | 1 +
 arch/x86/cpu/broadwell/sata.c                           | 1 +
 arch/x86/cpu/broadwell/sdram.c                          | 1 +
 arch/x86/cpu/call32.S                                   | 1 -
 arch/x86/cpu/coreboot/coreboot.c                        | 1 +
 arch/x86/cpu/coreboot/sdram.c                           | 1 +
 arch/x86/cpu/coreboot/tables.c                          | 1 +
 arch/x86/cpu/cpu.c                                      | 1 +
 arch/x86/cpu/cpu_x86.c                                  | 1 +
 arch/x86/cpu/efi/payload.c                              | 1 +
 arch/x86/cpu/efi/sdram.c                                | 1 +
 arch/x86/cpu/i386/call64.S                              | 1 -
 arch/x86/cpu/i386/cpu.c                                 | 1 +
 arch/x86/cpu/i386/interrupt.c                           | 1 +
 arch/x86/cpu/intel_common/acpi.c                        | 1 +
 arch/x86/cpu/intel_common/cpu.c                         | 1 +
 arch/x86/cpu/intel_common/cpu_from_spl.c                | 1 +
 arch/x86/cpu/intel_common/itss.c                        | 1 +
 arch/x86/cpu/intel_common/lpc.c                         | 1 +
 arch/x86/cpu/intel_common/microcode.c                   | 1 +
 arch/x86/cpu/intel_common/mrc.c                         | 1 +
 arch/x86/cpu/irq.c                                      | 1 +
 arch/x86/cpu/ivybridge/bd82x6x.c                        | 1 +
 arch/x86/cpu/ivybridge/cpu.c                            | 1 +
 arch/x86/cpu/ivybridge/fsp_configs.c                    | 1 +
 arch/x86/cpu/ivybridge/lpc.c                            | 1 +
 arch/x86/cpu/ivybridge/model_206ax.c                    | 1 +
 arch/x86/cpu/ivybridge/northbridge.c                    | 1 +
 arch/x86/cpu/ivybridge/sata.c                           | 1 +
 arch/x86/cpu/ivybridge/sdram_nop.c                      | 1 +
 arch/x86/cpu/mp_init.c                                  | 1 +
 arch/x86/cpu/mtrr.c                                     | 1 +
 arch/x86/cpu/qemu/dram.c                                | 1 +
 arch/x86/cpu/qemu/e820.c                                | 1 +
 arch/x86/cpu/quark/acpi.c                               | 1 +
 arch/x86/cpu/quark/dram.c                               | 1 +
 arch/x86/cpu/sipi_vector.S                              | 1 -
 arch/x86/cpu/slimbootloader/sdram.c                     | 1 +
 arch/x86/cpu/slimbootloader/serial.c                    | 1 +
 arch/x86/cpu/slimbootloader/slimbootloader.c            | 1 +
 arch/x86/cpu/start.S                                    | 1 -
 arch/x86/cpu/start16.S                                  | 1 -
 arch/x86/cpu/turbo.c                                    | 1 +
 arch/x86/include/asm/acpi_table.h                       | 2 ++
 arch/x86/include/asm/arch-apollolake/systemagent.h      | 3 +++
 arch/x86/include/asm/cpu_common.h                       | 1 +
 arch/x86/include/asm/fast_spi.h                         | 4 +++-
 arch/x86/include/asm/io.h                               | 2 +-
 arch/x86/include/asm/mp.h                               | 2 ++
 arch/x86/include/asm/mrccache.h                         | 2 ++
 arch/x86/lib/acpi_s3.c                                  | 1 +
 arch/x86/lib/acpi_table.c                               | 1 +
 arch/x86/lib/asm-offsets.c                              | 1 +
 arch/x86/lib/bios.c                                     | 1 +
 arch/x86/lib/bootm.c                                    | 1 +
 arch/x86/lib/cmd_boot.c                                 | 1 +
 arch/x86/lib/coreboot_table.c                           | 1 +
 arch/x86/lib/e820.c                                     | 1 +
 arch/x86/lib/fsp/fsp_common.c                           | 1 +
 arch/x86/lib/fsp/fsp_dram.c                             | 1 +
 arch/x86/lib/fsp/fsp_graphics.c                         | 1 +
 arch/x86/lib/fsp1/fsp_common.c                          | 1 +
 arch/x86/lib/fsp1/fsp_dram.c                            | 1 +
 arch/x86/lib/fsp2/fsp_dram.c                            | 1 +
 arch/x86/lib/fsp2/fsp_meminit.c                         | 1 +
 arch/x86/lib/fsp2/fsp_silicon_init.c                    | 1 +
 arch/x86/lib/fsp2/fsp_support.c                         | 1 +
 arch/x86/lib/init_helpers.c                             | 1 +
 arch/x86/lib/mpspec.c                                   | 1 +
 arch/x86/lib/mrccache.c                                 | 1 +
 arch/x86/lib/physmem.c                                  | 1 +
 arch/x86/lib/pinctrl_ich6.c                             | 1 +
 arch/x86/lib/pirq_routing.c                             | 1 +
 arch/x86/lib/relocate.c                                 | 1 +
 arch/x86/lib/spl.c                                      | 1 +
 arch/x86/lib/tables.c                                   | 1 +
 arch/x86/lib/tpl.c                                      | 1 +
 arch/xtensa/lib/bootm.c                                 | 1 +
 board/AndesTech/adp-ae3xx/adp-ae3xx.c                   | 1 +
 board/AndesTech/adp-ag101p/adp-ag101p.c                 | 1 +
 board/AndesTech/ax25-ae350/ax25-ae350.c                 | 1 +
 board/Arcturus/ucp1020/spl.c                            | 1 +
 board/BuR/brppt1/board.c                                | 1 +
 board/BuR/brppt2/board.c                                | 1 +
 board/BuR/brsmarc1/board.c                              | 1 +
 board/BuR/brxre1/board.c                                | 1 +
 board/BuR/common/common.c                               | 1 +
 board/BuS/eb_cpu5282/eb_cpu5282.c                       | 1 +
 board/CZ.NIC/turris_mox/turris_mox.c                    | 1 +
 board/CZ.NIC/turris_omnia/turris_omnia.c                | 1 +
 board/CarMediaLab/flea3/flea3.c                         | 1 +
 board/LaCie/edminiv2/edminiv2.c                         | 1 +
 board/LaCie/net2big_v2/net2big_v2.c                     | 1 +
 board/LaCie/netspace_v2/netspace_v2.c                   | 1 +
 board/Marvell/aspenite/aspenite.c                       | 1 +
 board/Marvell/db-88f6281-bp/db-88f6281-bp.c             | 1 +
 board/Marvell/db-88f6720/db-88f6720.c                   | 1 +
 board/Marvell/db-88f6820-amc/db-88f6820-amc.c           | 1 +
 board/Marvell/db-88f6820-gp/db-88f6820-gp.c             | 1 +
 board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c             | 1 +
 board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c             | 1 +
 board/Marvell/dreamplug/dreamplug.c                     | 1 +
 board/Marvell/gplugd/gplugd.c                           | 1 +
 board/Marvell/guruplug/guruplug.c                       | 1 +
 board/Marvell/mvebu_armada-37xx/board.c                 | 1 +
 board/Marvell/mvebu_armada-8k/board.c                   | 1 +
 board/Marvell/octeontx/board.c                          | 1 +
 board/Marvell/octeontx2/board.c                         | 1 +
 board/Marvell/openrd/openrd.c                           | 1 +
 board/Marvell/sheevaplug/sheevaplug.c                   | 1 +
 board/Seagate/dockstar/dockstar.c                       | 1 +
 board/Seagate/goflexhome/goflexhome.c                   | 1 +
 board/Seagate/nas220/nas220.c                           | 1 +
 board/Synology/ds109/ds109.c                            | 1 +
 board/Synology/ds414/ds414.c                            | 1 +
 board/advantech/dms-ba16/dms-ba16.c                     | 1 +
 board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c   | 1 +
 board/advantech/imx8qm_rom7720_a1/spl.c                 | 1 +
 board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c             | 1 +
 board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c         | 1 +
 board/alliedtelesis/common/gpio_hog.c                   | 1 +
 board/alliedtelesis/x530/x530.c                         | 1 +
 board/amazon/kc1/kc1.c                                  | 1 +
 board/amlogic/vim3/vim3.c                               | 1 +
 board/aristainetos/aristainetos.c                       | 1 +
 board/armadeus/apf27/apf27.c                            | 1 +
 board/armltd/integrator/integrator.c                    | 1 +
 board/armltd/total_compute/total_compute.c              | 1 +
 board/armltd/vexpress/vexpress_common.c                 | 1 +
 board/armltd/vexpress64/vexpress64.c                    | 1 +
 board/astro/mcf5373l/mcf5373l.c                         | 1 +
 board/atmark-techno/armadillo-800eva/armadillo-800eva.c | 1 +
 board/atmel/at91rm9200ek/at91rm9200ek.c                 | 1 +
 board/atmel/at91sam9260ek/at91sam9260ek.c               | 1 +
 board/atmel/at91sam9261ek/at91sam9261ek.c               | 1 +
 board/atmel/at91sam9263ek/at91sam9263ek.c               | 1 +
 board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c         | 1 +
 board/atmel/at91sam9n12ek/at91sam9n12ek.c               | 1 +
 board/atmel/at91sam9rlek/at91sam9rlek.c                 | 1 +
 board/atmel/at91sam9x5ek/at91sam9x5ek.c                 | 1 +
 board/atmel/common/video_display.c                      | 1 +
 board/atmel/sam9x60ek/sam9x60ek.c                       | 1 +
 board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c         | 1 +
 board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c     | 1 +
 board/atmel/sama5d2_icp/sama5d2_icp.c                   | 1 +
 board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c             | 1 +
 board/atmel/sama5d2_xplained/sama5d2_xplained.c         | 1 +
 board/atmel/sama5d3_xplained/sama5d3_xplained.c         | 1 +
 board/atmel/sama5d3xek/sama5d3xek.c                     | 1 +
 board/atmel/sama5d4_xplained/sama5d4_xplained.c         | 1 +
 board/atmel/sama5d4ek/sama5d4ek.c                       | 1 +
 board/atmel/sama7g5ek/sama7g5ek.c                       | 1 +
 board/bachmann/ot1200/ot1200.c                          | 1 +
 board/barco/platinum/platinum.c                         | 1 +
 board/barco/titanium/titanium.c                         | 1 +
 board/beacon/beacon-rzg2m/beacon-rzg2m.c                | 1 +
 board/beacon/imx8mm/imx8mm_beacon.c                     | 1 +
 board/beacon/imx8mm/spl.c                               | 1 +
 board/beacon/imx8mn/imx8mn_beacon.c                     | 1 +
 board/beacon/imx8mn/spl.c                               | 1 +
 board/beckhoff/mx53cx9020/mx53cx9020.c                  | 1 +
 board/bluegiga/apx4devkit/apx4devkit.c                  | 1 +
 board/bluewater/gurnard/gurnard.c                       | 1 +
 board/bluewater/snapper9260/snapper9260.c               | 1 +
 board/bosch/guardian/board.c                            | 1 +
 board/bosch/shc/board.c                                 | 1 +
 board/boundary/nitrogen6x/nitrogen6x.c                  | 1 +
 board/broadcom/bcm23550_w1d/bcm23550_w1d.c              | 1 +
 board/broadcom/bcm28155_ap/bcm28155_ap.c                | 1 +
 board/broadcom/bcm_ep/board.c                           | 1 +
 board/broadcom/bcmns2/northstar2.c                      | 1 +
 board/broadcom/bcmns3/ns3.c                             | 1 +
 board/broadcom/bcmstb/bcmstb.c                          | 1 +
 board/bticino/mamoj/mamoj.c                             | 1 +
 board/bticino/mamoj/spl.c                               | 1 +
 board/buffalo/lsxl/lsxl.c                               | 1 +
 board/calao/usb_a9263/usb_a9263.c                       | 1 +
 board/cavium/thunderx/thunderx.c                        | 1 +
 board/ccv/xpress/xpress.c                               | 1 +
 board/cirrus/edb93xx/edb93xx.c                          | 1 +
 board/cloudengines/pogo_e02/pogo_e02.c                  | 1 +
 board/cobra5272/cobra5272.c                             | 1 +
 board/compulab/cl-som-imx7/cl-som-imx7.c                | 1 +
 board/compulab/cm_fx6/cm_fx6.c                          | 1 +
 board/compulab/cm_t335/cm_t335.c                        | 1 +
 board/compulab/cm_t43/cm_t43.c                          | 1 +
 board/congatec/cgtqmx6eval/cgtqmx6eval.c                | 1 +
 board/coreboot/coreboot/coreboot.c                      | 1 +
 board/corscience/tricorder/tricorder.c                  | 1 +
 board/cortina/presidio-asic/presidio.c                  | 1 +
 board/creative/xfi3/xfi3.c                              | 1 +
 board/cssi/MCR3000/MCR3000.c                            | 1 +
 board/d-link/dns325/dns325.c                            | 1 +
 board/davinci/da8xxevm/da850evm.c                       | 1 +
 board/davinci/da8xxevm/omapl138_lcdk.c                  | 1 +
 board/dhelectronics/dh_imx6/dh_imx6.c                   | 1 +
 board/dhelectronics/dh_stm32mp1/board.c                 | 1 +
 board/ea/mx7ulp_com/mx7ulp_com.c                        | 1 +
 board/eets/pdu001/board.c                               | 1 +
 board/egnite/ethernut5/ethernut5.c                      | 1 +
 board/el/el6x/el6x.c                                    | 1 +
 board/elgin/elgin_rv1108/elgin_rv1108.c                 | 1 +
 board/embest/mx6boards/mx6boards.c                      | 1 +
 board/emulation/common/qemu_capsule.c                   | 1 +
 board/engicam/common/board.c                            | 1 +
 board/esd/meesc/meesc.c                                 | 1 +
 board/esd/vme8349/vme8349.c                             | 1 +
 board/firefly/firefly-rk3288/firefly-rk3288.c           | 1 +
 board/freescale/common/arm_sleep.c                      | 1 +
 board/freescale/common/emc2305.c                        | 1 +
 board/freescale/common/mpc85xx_sleep.c                  | 1 +
 board/freescale/corenet_ds/corenet_ds.c                 | 1 +
 board/freescale/corenet_ds/ddr.c                        | 1 +
 board/freescale/imx8mm_evk/imx8mm_evk.c                 | 1 +
 board/freescale/imx8mm_evk/spl.c                        | 1 +
 board/freescale/imx8mn_evk/imx8mn_evk.c                 | 1 +
 board/freescale/imx8mn_evk/spl.c                        | 1 +
 board/freescale/imx8mp_evk/imx8mp_evk.c                 | 1 +
 board/freescale/imx8mp_evk/spl.c                        | 1 +
 board/freescale/imx8mq_evk/imx8mq_evk.c                 | 1 +
 board/freescale/imx8mq_evk/spl.c                        | 1 +
 board/freescale/imx8qm_mek/imx8qm_mek.c                 | 1 +
 board/freescale/imx8qm_mek/spl.c                        | 1 +
 board/freescale/imx8qxp_mek/imx8qxp_mek.c               | 1 +
 board/freescale/imx8qxp_mek/spl.c                       | 1 +
 board/freescale/imxrt1020-evk/imxrt1020-evk.c           | 1 +
 board/freescale/imxrt1050-evk/imxrt1050-evk.c           | 1 +
 board/freescale/ls1012afrdm/ls1012afrdm.c               | 1 +
 board/freescale/ls1012aqds/ls1012aqds.c                 | 1 +
 board/freescale/ls1012ardb/ls1012ardb.c                 | 1 +
 board/freescale/ls1021aiot/dcu.c                        | 1 +
 board/freescale/ls1021aiot/ls1021aiot.c                 | 1 +
 board/freescale/ls1021aqds/dcu.c                        | 1 +
 board/freescale/ls1021aqds/ddr.c                        | 1 +
 board/freescale/ls1021atsn/ls1021atsn.c                 | 1 +
 board/freescale/ls1021atwr/dcu.c                        | 1 +
 board/freescale/ls1021atwr/ls1021atwr.c                 | 1 +
 board/freescale/ls1028a/ddr.c                           | 1 +
 board/freescale/ls1028a/ls1028a.c                       | 1 +
 board/freescale/ls1043aqds/ddr.c                        | 1 +
 board/freescale/ls1043aqds/ls1043aqds.c                 | 1 +
 board/freescale/ls1043ardb/ddr.c                        | 1 +
 board/freescale/ls1043ardb/ls1043ardb.c                 | 1 +
 board/freescale/ls1046afrwy/ddr.c                       | 1 +
 board/freescale/ls1046afrwy/ls1046afrwy.c               | 1 +
 board/freescale/ls1046aqds/ddr.c                        | 1 +
 board/freescale/ls1046aqds/ls1046aqds.c                 | 1 +
 board/freescale/ls1046ardb/ddr.c                        | 1 +
 board/freescale/ls1046ardb/ls1046ardb.c                 | 1 +
 board/freescale/ls1088a/ddr.c                           | 1 +
 board/freescale/ls1088a/ls1088a.c                       | 1 +
 board/freescale/ls2080a/ddr.c                           | 1 +
 board/freescale/ls2080a/ls2080a.c                       | 1 +
 board/freescale/ls2080aqds/ddr.c                        | 1 +
 board/freescale/ls2080aqds/ls2080aqds.c                 | 1 +
 board/freescale/ls2080ardb/ddr.c                        | 1 +
 board/freescale/ls2080ardb/eth_ls2080rdb.c              | 1 +
 board/freescale/ls2080ardb/ls2080ardb.c                 | 1 +
 board/freescale/lx2160a/ddr.c                           | 1 +
 board/freescale/lx2160a/eth_lx2160aqds.c                | 1 +
 board/freescale/lx2160a/eth_lx2160ardb.c                | 1 +
 board/freescale/lx2160a/eth_lx2162aqds.c                | 1 +
 board/freescale/lx2160a/lx2160a.c                       | 1 +
 board/freescale/m5208evbe/m5208evbe.c                   | 1 +
 board/freescale/m52277evb/m52277evb.c                   | 1 +
 board/freescale/m5235evb/m5235evb.c                     | 1 +
 board/freescale/m5249evb/m5249evb.c                     | 1 +
 board/freescale/m5253demo/m5253demo.c                   | 1 +
 board/freescale/m5272c3/m5272c3.c                       | 1 +
 board/freescale/m5275evb/m5275evb.c                     | 1 +
 board/freescale/m5282evb/m5282evb.c                     | 1 +
 board/freescale/m53017evb/m53017evb.c                   | 1 +
 board/freescale/m5329evb/m5329evb.c                     | 1 +
 board/freescale/m5373evb/m5373evb.c                     | 1 +
 board/freescale/m54418twr/m54418twr.c                   | 1 +
 board/freescale/m54451evb/m54451evb.c                   | 1 +
 board/freescale/m54455evb/m54455evb.c                   | 1 +
 board/freescale/m547xevb/m547xevb.c                     | 1 +
 board/freescale/m548xevb/m548xevb.c                     | 1 +
 board/freescale/mpc8308rdb/sdram.c                      | 1 +
 board/freescale/mpc8313erdb/mpc8313erdb.c               | 1 +
 board/freescale/mpc8313erdb/sdram.c                     | 1 +
 board/freescale/mpc8315erdb/mpc8315erdb.c               | 1 +
 board/freescale/mpc8315erdb/sdram.c                     | 1 +
 board/freescale/mpc8323erdb/mpc8323erdb.c               | 1 +
 board/freescale/mpc832xemds/mpc832xemds.c               | 1 +
 board/freescale/mpc8349emds/mpc8349emds.c               | 1 +
 board/freescale/mpc8349itx/mpc8349itx.c                 | 1 +
 board/freescale/mpc837xemds/mpc837xemds.c               | 1 +
 board/freescale/mpc837xerdb/mpc837xerdb.c               | 1 +
 board/freescale/mpc8610hpcd/mpc8610hpcd.c               | 1 +
 board/freescale/mpc8641hpcn/mpc8641hpcn.c               | 1 +
 board/freescale/mx23evk/mx23evk.c                       | 1 +
 board/freescale/mx25pdk/mx25pdk.c                       | 1 +
 board/freescale/mx28evk/mx28evk.c                       | 1 +
 board/freescale/mx35pdk/mx35pdk.c                       | 1 +
 board/freescale/mx51evk/mx51evk.c                       | 1 +
 board/freescale/mx53ard/mx53ard.c                       | 1 +
 board/freescale/mx53evk/mx53evk.c                       | 1 +
 board/freescale/mx53loco/mx53loco.c                     | 1 +
 board/freescale/mx53smd/mx53smd.c                       | 1 +
 board/freescale/mx6memcal/mx6memcal.c                   | 1 +
 board/freescale/mx6memcal/spl.c                         | 1 +
 board/freescale/mx6qarm2/mx6qarm2.c                     | 1 +
 board/freescale/mx6sabreauto/mx6sabreauto.c             | 1 +
 board/freescale/mx6sabresd/mx6sabresd.c                 | 1 +
 board/freescale/mx6slevk/mx6slevk.c                     | 1 +
 board/freescale/mx6sllevk/mx6sllevk.c                   | 1 +
 board/freescale/mx6sxsabreauto/mx6sxsabreauto.c         | 1 +
 board/freescale/mx6sxsabresd/mx6sxsabresd.c             | 1 +
 board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c       | 1 +
 board/freescale/mx6ullevk/mx6ullevk.c                   | 1 +
 board/freescale/mx7dsabresd/mx7dsabresd.c               | 1 +
 board/freescale/mx7ulp_evk/mx7ulp_evk.c                 | 1 +
 board/freescale/p1010rdb/ddr.c                          | 1 +
 board/freescale/p1010rdb/p1010rdb.c                     | 1 +
 board/freescale/p1010rdb/spl.c                          | 1 +
 board/freescale/p1_p2_rdb_pc/spl.c                      | 1 +
 board/freescale/p2041rdb/ddr.c                          | 1 +
 board/freescale/p2041rdb/p2041rdb.c                     | 1 +
 board/freescale/qemu-ppce500/qemu-ppce500.c             | 1 +
 board/freescale/s32v234evb/s32v234evb.c                 | 1 +
 board/freescale/t102xrdb/ddr.c                          | 1 +
 board/freescale/t102xrdb/spl.c                          | 1 +
 board/freescale/t102xrdb/t102xrdb.c                     | 1 +
 board/freescale/t104xrdb/ddr.c                          | 1 +
 board/freescale/t104xrdb/spl.c                          | 1 +
 board/freescale/t104xrdb/t104xrdb.c                     | 1 +
 board/freescale/t208xqds/ddr.c                          | 1 +
 board/freescale/t208xqds/spl.c                          | 1 +
 board/freescale/t208xqds/t208xqds.c                     | 1 +
 board/freescale/t208xrdb/ddr.c                          | 1 +
 board/freescale/t208xrdb/spl.c                          | 1 +
 board/freescale/t208xrdb/t208xrdb.c                     | 1 +
 board/freescale/t4rdb/ddr.c                             | 1 +
 board/freescale/t4rdb/spl.c                             | 1 +
 board/freescale/t4rdb/t4240rdb.c                        | 1 +
 board/freescale/vf610twr/vf610twr.c                     | 1 +
 board/friendlyarm/nanopi2/board.c                       | 1 +
 board/gardena/smart-gateway-at91sam/board.c             | 1 +
 board/gateworks/gw_ventana/gw_ventana.c                 | 1 +
 board/gdsys/a38x/controlcenterdc.c                      | 1 +
 board/gdsys/a38x/hydra.c                                | 1 +
 board/gdsys/mpc8308/gazerbeam.c                         | 1 +
 board/gdsys/mpc8308/sdram.c                             | 1 +
 board/ge/b1x5v2/b1x5v2.c                                | 1 +
 board/ge/bx50v3/bx50v3.c                                | 1 +
 board/ge/mx53ppd/mx53ppd.c                              | 1 +
 board/google/imx8mq_phanbell/imx8mq_phanbell.c          | 1 +
 board/google/imx8mq_phanbell/spl.c                      | 1 +
 board/google/veyron/veyron.c                            | 1 +
 board/grinn/chiliboard/board.c                          | 1 +
 board/grinn/liteboard/board.c                           | 1 +
 board/highbank/highbank.c                               | 1 +
 board/hisilicon/hikey/hikey.c                           | 1 +
 board/hisilicon/hikey960/hikey960.c                     | 1 +
 board/hisilicon/poplar/poplar.c                         | 1 +
 board/ids/ids8313/ids8313.c                             | 1 +
 board/imgtec/boston/ddr.c                               | 1 +
 board/imgtec/boston/dt.c                                | 1 +
 board/imgtec/ci20/ci20.c                                | 1 +
 board/imgtec/malta/malta.c                              | 1 +
 board/imgtec/xilfpga/xilfpga.c                          | 1 +
 board/inversepath/usbarmory/usbarmory.c                 | 1 +
 board/iomega/iconnect/iconnect.c                        | 1 +
 board/isee/igep003x/board.c                             | 1 +
 board/isee/igep00x0/common.c                            | 1 +
 board/k+p/kp_imx53/kp_imx53.c                           | 1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c                   | 1 +
 board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c               | 1 +
 board/keymile/common/common.c                           | 1 +
 board/keymile/km83xx/km83xx.c                           | 1 +
 board/keymile/km_arm/km_arm.c                           | 1 +
 board/keymile/kmp204x/ddr.c                             | 1 +
 board/kmc/kzm9g/kzm9g.c                                 | 1 +
 board/kobol/helios4/helios4.c                           | 1 +
 board/kontron/sl28/ddr.c                                | 1 +
 board/kontron/sl28/sl28.c                               | 1 +
 board/kontron/sl28/spl_atf.c                            | 1 +
 board/kosagi/novena/novena.c                            | 1 +
 board/l+g/vinco/vinco.c                                 | 1 +
 board/laird/wb45n/wb45n.c                               | 1 +
 board/laird/wb50n/wb50n.c                               | 1 +
 board/lego/ev3/legoev3.c                                | 1 +
 board/lg/sniper/sniper.c                                | 1 +
 board/liebherr/display5/display5.c                      | 1 +
 board/liebherr/display5/spl.c                           | 1 +
 board/liebherr/mccmon6/mccmon6.c                        | 1 +
 board/liebherr/xea/xea.c                                | 1 +
 board/logicpd/am3517evm/am3517evm.c                     | 1 +
 board/logicpd/imx6/imx6logic.c                          | 1 +
 board/logicpd/omap3som/omap3logic.c                     | 1 +
 board/maxbcm/maxbcm.c                                   | 1 +
 board/mediatek/mt7622/mt7622_rfb.c                      | 1 +
 board/mediatek/mt7623/mt7623_rfb.c                      | 1 +
 board/mediatek/mt7629/mt7629_rfb.c                      | 1 +
 board/mediatek/mt8512/mt8512.c                          | 1 +
 board/mediatek/mt8518/mt8518_ap1.c                      | 1 +
 board/menlo/m53menlo/m53menlo.c                         | 1 +
 board/microchip/mpfs_icicle/mpfs_icicle.c               | 1 +
 board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c        | 1 +
 board/mini-box/picosam9g45/picosam9g45.c                | 1 +
 board/mpc8308_p1m/sdram.c                               | 1 +
 board/mscc/jr2/jr2.c                                    | 1 +
 board/mscc/luton/luton.c                                | 1 +
 board/mscc/ocelot/ocelot.c                              | 1 +
 board/mscc/serval/serval.c                              | 1 +
 board/mscc/servalt/servalt.c                            | 1 +
 board/myir/mys_6ulx/mys_6ulx.c                          | 1 +
 board/nokia/rx51/rx51.c                                 | 1 +
 board/novtech/meerkat96/meerkat96.c                     | 1 +
 board/olimex/mx23_olinuxino/mx23_olinuxino.c            | 1 +
 board/phytec/pcl063/pcl063.c                            | 1 +
 board/phytec/pcm052/pcm052.c                            | 1 +
 board/phytec/pcm058/pcm058.c                            | 1 +
 board/phytec/pfla02/pfla02.c                            | 1 +
 board/phytec/phycore_am335x_r2/board.c                  | 1 +
 board/phytec/phycore_imx8mm/phycore-imx8mm.c            | 1 +
 board/phytec/phycore_imx8mm/spl.c                       | 1 +
 board/phytec/phycore_imx8mp/phycore-imx8mp.c            | 1 +
 board/phytec/phycore_imx8mp/spl.c                       | 1 +
 board/phytec/phycore_rk3288/phycore-rk3288.c            | 1 +
 board/phytium/durian/durian.c                           | 1 +
 board/ppcag/bg0900/bg0900.c                             | 1 +
 board/qemu-mips/qemu-mips.c                             | 1 +
 board/qualcomm/dragonboard410c/dragonboard410c.c        | 1 +
 board/qualcomm/dragonboard820c/dragonboard820c.c        | 1 +
 board/raidsonic/ib62x0/ib62x0.c                         | 1 +
 board/renesas/alt/alt.c                                 | 1 +
 board/renesas/blanche/blanche.c                         | 1 +
 board/renesas/condor/condor.c                           | 1 +
 board/renesas/draak/draak.c                             | 1 +
 board/renesas/eagle/eagle.c                             | 1 +
 board/renesas/ebisu/ebisu.c                             | 1 +
 board/renesas/gose/gose.c                               | 1 +
 board/renesas/grpeach/grpeach.c                         | 1 +
 board/renesas/koelsch/koelsch.c                         | 1 +
 board/renesas/lager/lager.c                             | 1 +
 board/renesas/porter/porter.c                           | 1 +
 board/renesas/rcar-common/common.c                      | 1 +
 board/renesas/salvator-x/salvator-x.c                   | 1 +
 board/renesas/silk/silk.c                               | 1 +
 board/renesas/stout/stout.c                             | 1 +
 board/renesas/ulcb/ulcb.c                               | 1 +
 board/rockchip/evb_rk3308/evb_rk3308.c                  | 1 +
 board/rockchip/evb_rv1108/evb_rv1108.c                  | 1 +
 board/ronetix/pm9261/pm9261.c                           | 1 +
 board/ronetix/pm9263/pm9263.c                           | 1 +
 board/ronetix/pm9g45/pm9g45.c                           | 1 +
 board/samsung/arndale/arndale.c                         | 1 +
 board/samsung/common/board.c                            | 1 +
 board/samsung/common/exynos5-dt-types.c                 | 1 +
 board/samsung/common/exynos5-dt.c                       | 1 +
 board/samsung/common/misc.c                             | 1 +
 board/samsung/goni/goni.c                               | 1 +
 board/samsung/odroid/odroid.c                           | 1 +
 board/samsung/smdkc100/smdkc100.c                       | 1 +
 board/samsung/smdkv310/smdkv310.c                       | 1 +
 board/samsung/universal_c210/universal.c                | 1 +
 board/sandbox/sandbox.c                                 | 1 +
 board/sandisk/sansa_fuze_plus/sfp.c                     | 1 +
 board/sbc8349/sbc8349.c                                 | 1 +
 board/sbc8641d/sbc8641d.c                               | 1 +
 board/schulercontrol/sc_sps_1/sc_sps_1.c                | 1 +
 board/seco/mx6quq7/mx6quq7.c                            | 1 +
 board/siemens/capricorn/spl.c                           | 1 +
 board/siemens/common/board.c                            | 1 +
 board/siemens/corvus/board.c                            | 1 +
 board/siemens/smartweb/smartweb.c                       | 1 +
 board/siemens/taurus/taurus.c                           | 1 +
 board/sks-kinkel/sksimx6/sksimx6.c                      | 1 +
 board/socrates/socrates.c                               | 1 +
 board/softing/vining_2000/vining_2000.c                 | 1 +
 board/softing/vining_fpga/socfpga.c                     | 1 +
 board/solidrun/clearfog/clearfog.c                      | 1 +
 board/solidrun/common/tlv_data.c                        | 1 +
 board/solidrun/mx6cuboxi/mx6cuboxi.c                    | 1 +
 board/somlabs/visionsom-6ull/visionsom-6ull.c           | 1 +
 board/st/common/stm32mp_mtdparts.c                      | 1 +
 board/st/stih410-b2260/board.c                          | 1 +
 board/st/stm32f429-discovery/stm32f429-discovery.c      | 1 +
 board/st/stm32f429-evaluation/stm32f429-evaluation.c    | 1 +
 board/st/stm32f469-discovery/stm32f469-discovery.c      | 1 +
 board/st/stm32f746-disco/stm32f746-disco.c              | 1 +
 board/st/stm32h743-disco/stm32h743-disco.c              | 1 +
 board/st/stm32h743-eval/stm32h743-eval.c                | 1 +
 board/st/stm32mp1/stm32mp1.c                            | 1 +
 board/st/stv0991/stv0991.c                              | 1 +
 board/ste/stemmy/stemmy.c                               | 1 +
 board/sunxi/board.c                                     | 1 +
 board/synopsys/axs10x/axs10x.c                          | 1 +
 board/synopsys/emsdp/emsdp.c                            | 1 +
 board/synopsys/hsdk/hsdk.c                              | 1 +
 board/synopsys/iot_devkit/iot_devkit.c                  | 1 +
 board/sysam/amcore/amcore.c                             | 1 +
 board/sysam/stmark2/stmark2.c                           | 1 +
 board/syteco/zmx25/zmx25.c                              | 1 +
 board/tbs/tbs2910/tbs2910.c                             | 1 +
 board/tcl/sl50/board.c                                  | 1 +
 board/technexion/pico-imx6/pico-imx6.c                  | 3 ++-
 board/technexion/pico-imx6ul/pico-imx6ul.c              | 1 +
 board/technexion/pico-imx7d/pico-imx7d.c                | 1 +
 board/technexion/pico-imx8mq/pico-imx8mq.c              | 1 +
 board/technexion/pico-imx8mq/spl.c                      | 1 +
 board/technexion/tao3530/tao3530.c                      | 1 +
 board/technologic/ts4600/ts4600.c                       | 1 +
 board/technologic/ts4800/ts4800.c                       | 1 +
 board/theadorable/theadorable.c                         | 1 +
 board/ti/am335x/board.c                                 | 1 +
 board/ti/am3517crane/am3517crane.c                      | 1 +
 board/ti/am43xx/board.c                                 | 1 +
 board/ti/am57xx/board.c                                 | 1 +
 board/ti/am65x/evm.c                                    | 1 +
 board/ti/beagle/beagle.c                                | 1 +
 board/ti/dra7xx/evm.c                                   | 1 +
 board/ti/evm/evm.c                                      | 1 +
 board/ti/j721e/evm.c                                    | 1 +
 board/ti/ks2_evm/board.c                                | 1 +
 board/ti/omap5_uevm/evm.c                               | 1 +
 board/ti/panda/panda.c                                  | 1 +
 board/ti/sdp4430/sdp.c                                  | 1 +
 board/ti/ti816x/evm.c                                   | 1 +
 board/timll/devkit3250/devkit3250.c                     | 1 +
 board/timll/devkit8000/devkit8000.c                     | 1 +
 board/toradex/apalis-imx8/apalis-imx8.c                 | 1 +
 board/toradex/apalis-imx8x/apalis-imx8x.c               | 1 +
 board/toradex/apalis_imx6/apalis_imx6.c                 | 1 +
 board/toradex/apalis_t30/apalis_t30.c                   | 1 +
 board/toradex/colibri-imx6ull/colibri-imx6ull.c         | 1 +
 board/toradex/colibri-imx8x/colibri-imx8x.c             | 1 +
 board/toradex/colibri_imx6/colibri_imx6.c               | 1 +
 board/toradex/colibri_imx7/colibri_imx7.c               | 1 +
 board/toradex/colibri_pxa270/colibri_pxa270.c           | 1 +
 board/toradex/colibri_t20/colibri_t20.c                 | 1 +
 board/toradex/colibri_vf/colibri_vf.c                   | 1 +
 board/toradex/common/tdx-cfg-block.c                    | 1 +
 board/toradex/common/tdx-eeprom.c                       | 1 +
 board/toradex/verdin-imx8mm/spl.c                       | 1 +
 board/toradex/verdin-imx8mm/verdin-imx8mm.c             | 1 +
 board/tqc/tqm834x/tqm834x.c                             | 1 +
 board/tqc/tqma6/tqma6.c                                 | 1 +
 board/udoo/neo/neo.c                                    | 1 +
 board/udoo/udoo.c                                       | 1 +
 board/variscite/dart_6ul/dart_6ul.c                     | 1 +
 board/varisys/cyrus/ddr.c                               | 1 +
 board/ve8313/ve8313.c                                   | 1 +
 board/vscom/baltos/board.c                              | 1 +
 board/wandboard/wandboard.c                             | 1 +
 board/warp/warp.c                                       | 1 +
 board/warp7/warp7.c                                     | 1 +
 board/work-microwave/work_92105/work_92105.c            | 1 +
 board/xen/xenguest_arm64/xenguest_arm64.c               | 1 +
 board/xes/xpedite517x/xpedite517x.c                     | 1 +
 board/xilinx/common/board.c                             | 1 +
 board/xilinx/microblaze-generic/microblaze-generic.c    | 1 +
 board/xilinx/versal/board.c                             | 1 +
 board/xilinx/zynq/board.c                               | 1 +
 board/xilinx/zynq/bootimg.c                             | 1 +
 board/xilinx/zynq/cmds.c                                | 1 +
 board/xilinx/zynqmp/zynqmp.c                            | 1 +
 board/zyxel/nsa310s/nsa310s.c                           | 1 +
 cmd/acpi.c                                              | 1 +
 cmd/bdinfo.c                                            | 1 +
 cmd/bedbug.c                                            | 1 +
 cmd/bloblist.c                                          | 1 +
 cmd/bootefi.c                                           | 1 +
 cmd/booti.c                                             | 1 +
 cmd/bootm.c                                             | 1 +
 cmd/date.c                                              | 1 +
 cmd/efi.c                                               | 1 +
 cmd/load.c                                              | 1 +
 cmd/log.c                                               | 1 +
 cmd/mem.c                                               | 1 +
 cmd/mtdparts.c                                          | 1 +
 cmd/nvedit.c                                            | 1 +
 cmd/pstore.c                                            | 1 +
 cmd/pxe_utils.h                                         | 2 ++
 cmd/sb.c                                                | 1 +
 cmd/sound.c                                             | 1 +
 cmd/spl.c                                               | 1 +
 cmd/ti/ddr3.c                                           | 1 +
 cmd/tlv_eeprom.c                                        | 1 +
 cmd/x86/fsp.c                                           | 1 +
 cmd/x86/hob.c                                           | 1 +
 common/autoboot.c                                       | 1 +
 common/bloblist.c                                       | 1 +
 common/board_f.c                                        | 1 +
 common/board_info.c                                     | 1 +
 common/board_r.c                                        | 1 +
 common/bootm.c                                          | 1 +
 common/bootm_os.c                                       | 1 +
 common/bootstage.c                                      | 1 +
 common/cli.c                                            | 1 +
 common/cli_hush.c                                       | 1 +
 common/cli_readline.c                                   | 1 +
 common/command.c                                        | 1 +
 common/console.c                                        | 1 +
 common/dlmalloc.c                                       | 1 +
 common/exports.c                                        | 1 +
 common/hash.c                                           | 1 +
 common/hwconfig.c                                       | 1 +
 common/image-android.c                                  | 1 +
 common/image-cipher.c                                   | 1 +
 common/image-fdt.c                                      | 1 +
 common/image-fit-sig.c                                  | 1 +
 common/image-fit.c                                      | 1 +
 common/image-sig.c                                      | 1 +
 common/image.c                                          | 1 +
 common/init/board_init.c                                | 1 +
 common/init/handoff.c                                   | 1 +
 common/iotrace.c                                        | 1 +
 common/lcd.c                                            | 1 +
 common/lcd_simplefb.c                                   | 1 +
 common/log.c                                            | 1 +
 common/log_console.c                                    | 1 +
 common/log_syslog.c                                     | 1 +
 common/malloc_simple.c                                  | 1 +
 common/memsize.c                                        | 1 +
 common/spl/spl.c                                        | 1 +
 common/spl/spl_fit.c                                    | 1 +
 common/spl/spl_opensbi.c                                | 1 +
 common/spl/spl_spi.c                                    | 1 +
 common/splash_source.c                                  | 1 +
 common/stdio.c                                          | 2 +-
 disk/part_efi.c                                         | 1 +
 drivers/ata/libata.c                                    | 2 ++
 drivers/ata/mtk_ahci.c                                  | 1 +
 drivers/ata/sata_mv.c                                   | 1 +
 drivers/bios_emulator/atibios.c                         | 1 +
 drivers/block/blkcache.c                                | 1 +
 drivers/block/sandbox.c                                 | 1 +
 drivers/bootcount/bootcount_ram.c                       | 1 +
 drivers/cache/cache-v5l2.c                              | 1 +
 drivers/cache/sandbox_cache.c                           | 1 +
 drivers/clk/altera/clk-agilex.c                         | 1 +
 drivers/clk/altera/clk-arria10.c                        | 1 +
 drivers/clk/aspeed/clk_ast2500.c                        | 1 +
 drivers/clk/aspeed/clk_ast2600.c                        | 1 +
 drivers/clk/at91/compat.c                               | 1 +
 drivers/clk/at91/pmc.c                                  | 3 +--
 drivers/clk/clk-uclass.c                                | 1 +
 drivers/clk/clk_octeon.c                                | 1 +
 drivers/clk/clk_pic32.c                                 | 1 +
 drivers/clk/clk_stm32mp1.c                              | 1 +
 drivers/clk/clk_zynq.c                                  | 1 +
 drivers/clk/mpc83xx_clk.c                               | 1 +
 drivers/clk/renesas/clk-rcar-gen2.c                     | 1 +
 drivers/clk/renesas/clk-rcar-gen3.c                     | 1 +
 drivers/clk/rockchip/clk_px30.c                         | 1 +
 drivers/clk/rockchip/clk_rk3288.c                       | 1 +
 drivers/clk/rockchip/clk_rk3308.c                       | 1 +
 drivers/clk/rockchip/clk_rk3399.c                       | 1 +
 drivers/clk/rockchip/clk_rv1108.c                       | 1 +
 drivers/clk/ti/clk.c                                    | 1 +
 drivers/core/device-remove.c                            | 1 +
 drivers/core/device.c                                   | 1 +
 drivers/core/fdtaddr.c                                  | 1 +
 drivers/core/of_access.c                                | 1 +
 drivers/core/ofnode.c                                   | 1 +
 drivers/core/read.c                                     | 1 +
 drivers/core/regmap.c                                   | 1 +
 drivers/core/root.c                                     | 1 +
 drivers/core/uclass.c                                   | 1 +
 drivers/cpu/imx8_cpu.c                                  | 1 +
 drivers/cpu/riscv_cpu.c                                 | 1 +
 drivers/crypto/rsa_mod_exp/mod_exp_uclass.c             | 1 +
 drivers/ddr/altera/sdram_agilex.c                       | 1 +
 drivers/ddr/altera/sdram_arria10.c                      | 1 +
 drivers/ddr/altera/sdram_s10.c                          | 1 +
 drivers/ddr/altera/sdram_soc64.c                        | 1 +
 drivers/ddr/imx/imx8m/helper.c                          | 1 +
 drivers/demo/demo-shape.c                               | 1 +
 drivers/demo/demo-uclass.c                              | 1 +
 drivers/fpga/socfpga_arria10.c                          | 1 +
 drivers/fpga/zynqmppl.c                                 | 1 +
 drivers/gpio/74x164_gpio.c                              | 1 +
 drivers/gpio/altera_pio.c                               | 1 +
 drivers/gpio/atmel_pio4.c                               | 1 +
 drivers/gpio/da8xx_gpio.c                               | 1 +
 drivers/gpio/gpio-rcar.c                                | 1 +
 drivers/gpio/gpio-rza1.c                                | 1 +
 drivers/gpio/gpio-uclass.c                              | 1 +
 drivers/gpio/intel_broadwell_gpio.c                     | 1 +
 drivers/gpio/intel_ich6_gpio.c                          | 1 +
 drivers/gpio/msm_gpio.c                                 | 1 +
 drivers/gpio/mxs_gpio.c                                 | 1 +
 drivers/gpio/nx_gpio.c                                  | 1 +
 drivers/gpio/omap_gpio.c                                | 1 +
 drivers/gpio/pcf8575_gpio.c                             | 1 +
 drivers/gpio/pic32_gpio.c                               | 1 +
 drivers/gpio/s5p_gpio.c                                 | 1 +
 drivers/gpio/vybrid_gpio.c                              | 1 +
 drivers/hwspinlock/hwspinlock-uclass.c                  | 1 +
 drivers/i2c/at91_i2c.c                                  | 1 +
 drivers/i2c/cros_ec_tunnel.c                            | 1 +
 drivers/i2c/exynos_hs_i2c.c                             | 1 +
 drivers/i2c/fsl_i2c.c                                   | 1 +
 drivers/i2c/i2c_core.c                                  | 1 +
 drivers/i2c/ihs_i2c.c                                   | 1 +
 drivers/i2c/iproc_i2c.c                                 | 1 +
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c              | 1 +
 drivers/i2c/muxes/i2c-mux-gpio.c                        | 1 +
 drivers/i2c/muxes/pca954x.c                             | 1 +
 drivers/i2c/mvtwsi.c                                    | 1 +
 drivers/i2c/mxc_i2c.c                                   | 1 +
 drivers/i2c/nx_i2c.c                                    | 1 +
 drivers/i2c/ocores_i2c.c                                | 1 +
 drivers/i2c/s3c24x0_i2c.c                               | 1 +
 drivers/i2c/sh_i2c.c                                    | 1 +
 drivers/i2c/soft_i2c.c                                  | 1 +
 drivers/i2c/tegra186_bpmp_i2c.c                         | 1 +
 drivers/input/i8042.c                                   | 1 +
 drivers/mailbox/k3-sec-proxy.c                          | 1 +
 drivers/misc/atsha204a-i2c.c                            | 1 +
 drivers/misc/fs_loader.c                                | 1 +
 drivers/misc/imx8/fuse.c                                | 1 +
 drivers/misc/imx8/scu.c                                 | 1 +
 drivers/misc/imx8/scu_api.c                             | 1 +
 drivers/misc/tegra186_bpmp.c                            | 1 +
 drivers/misc/test_drv.c                                 | 1 +
 drivers/mmc/atmel_sdhci.c                               | 1 +
 drivers/mmc/ca_dw_mmc.c                                 | 1 +
 drivers/mmc/exynos_dw_mmc.c                             | 1 +
 drivers/mmc/fsl_esdhc.c                                 | 1 +
 drivers/mmc/fsl_esdhc_imx.c                             | 1 +
 drivers/mmc/ftsdc010_mci.c                              | 1 +
 drivers/mmc/hi6220_dw_mmc.c                             | 1 +
 drivers/mmc/iproc_sdhci.c                               | 1 +
 drivers/mmc/jz_mmc.c                                    | 1 +
 drivers/mmc/msm_sdhci.c                                 | 1 +
 drivers/mmc/mv_sdhci.c                                  | 1 +
 drivers/mmc/mvebu_mmc.c                                 | 1 +
 drivers/mmc/omap_hsmmc.c                                | 1 +
 drivers/mmc/pic32_sdhci.c                               | 2 ++
 drivers/mmc/renesas-sdhi.c                              | 1 +
 drivers/mmc/s5p_sdhci.c                                 | 1 +
 drivers/mmc/sdhci-cadence.c                             | 1 +
 drivers/mmc/sh_mmcif.c                                  | 1 +
 drivers/mmc/sh_sdhi.c                                   | 1 +
 drivers/mmc/socfpga_dw_mmc.c                            | 1 +
 drivers/mmc/sti_sdhci.c                                 | 1 +
 drivers/mmc/tmio-common.c                               | 1 +
 drivers/mmc/xenon_sdhci.c                               | 1 +
 drivers/mtd/altera_qspi.c                               | 1 +
 drivers/mtd/cfi_flash.c                                 | 1 +
 drivers/mtd/mtd_uboot.c                                 | 1 +
 drivers/mtd/nand/raw/nand_base.c                        | 1 +
 drivers/mtd/nand/raw/octeontx_nand.c                    | 1 +
 drivers/mtd/nand/raw/pxa3xx_nand.c                      | 1 +
 drivers/mtd/nand/raw/sunxi_nand.c                       | 1 +
 drivers/mtd/nand/raw/tegra_nand.c                       | 1 +
 drivers/mtd/pic32_flash.c                               | 1 +
 drivers/mtd/renesas_rpc_hf.c                            | 1 +
 drivers/mtd/spi/sf-uclass.c                             | 1 +
 drivers/net/ag7xxx.c                                    | 1 +
 drivers/net/altera_tse.c                                | 1 +
 drivers/net/dwmac_s700.c                                | 1 +
 drivers/net/fec_mxc.c                                   | 1 +
 drivers/net/fsl-mc/mc.c                                 | 1 +
 drivers/net/fsl_mcdmafec.c                              | 1 +
 drivers/net/ftmac100.c                                  | 1 +
 drivers/net/gmac_rockchip.c                             | 1 +
 drivers/net/ldpaa_eth/ldpaa_eth.c                       | 1 +
 drivers/net/macb.c                                      | 1 +
 drivers/net/mcffec.c                                    | 1 +
 drivers/net/mcfmii.c                                    | 1 +
 drivers/net/mpc8xx_fec.c                                | 1 +
 drivers/net/mvgbe.c                                     | 1 +
 drivers/net/mvneta.c                                    | 1 +
 drivers/net/mvpp2.c                                     | 1 +
 drivers/net/octeontx/smi.c                              | 1 +
 drivers/net/phy/fixed.c                                 | 1 +
 drivers/net/phy/miiphybb.c                              | 1 +
 drivers/net/phy/phy.c                                   | 1 +
 drivers/net/phy/xilinx_gmii2rgmii.c                     | 4 ++--
 drivers/net/pic32_eth.c                                 | 1 +
 drivers/net/qe/dm_qe_uec.c                              | 1 +
 drivers/net/ravb.c                                      | 1 +
 drivers/net/sandbox-raw.c                               | 1 +
 drivers/net/sandbox.c                                   | 1 +
 drivers/net/sh_eth.c                                    | 1 +
 drivers/net/sni_ave.c                                   | 1 +
 drivers/net/sun8i_emac.c                                | 1 +
 drivers/net/ti/cpsw-common.c                            | 1 +
 drivers/net/ti/keystone_net.c                           | 1 +
 drivers/net/xilinx_axi_emac.c                           | 1 +
 drivers/net/xilinx_emaclite.c                           | 1 +
 drivers/pci/fsl_pci_init.c                              | 1 +
 drivers/pci/pci-uclass.c                                | 1 +
 drivers/pci/pci.c                                       | 1 +
 drivers/pci/pci_mvebu.c                                 | 1 +
 drivers/pci/pci_octeontx.c                              | 1 +
 drivers/pci/pci_rom.c                                   | 1 +
 drivers/pci/pcie_dw_mvebu.c                             | 1 +
 drivers/pci/pcie_dw_rockchip.c                          | 1 +
 drivers/pci/pcie_dw_ti.c                                | 1 +
 drivers/pci/pcie_ecam_generic.c                         | 1 +
 drivers/pci/pcie_fsl.c                                  | 1 +
 drivers/pci/pcie_intel_fpga.c                           | 1 +
 drivers/pci/pcie_layerscape.c                           | 1 +
 drivers/pci/pcie_layerscape_ep.c                        | 1 +
 drivers/pci/pcie_layerscape_fixup_common.c              | 1 +
 drivers/pci/pcie_layerscape_gen4.c                      | 1 +
 drivers/pci/pcie_layerscape_rc.c                        | 1 +
 drivers/pci/pcie_phytium.c                              | 1 +
 drivers/pci/pcie_rockchip.c                             | 1 +
 drivers/pci/pcie_xilinx.c                               | 1 +
 drivers/pci_endpoint/pci_ep-uclass.c                    | 1 +
 drivers/pci_endpoint/pcie-cadence-ep.c                  | 1 +
 drivers/phy/marvell/comphy_a3700.c                      | 1 +
 drivers/phy/marvell/comphy_core.c                       | 1 +
 drivers/phy/marvell/comphy_cp110.c                      | 1 +
 drivers/phy/omap-usb2-phy.c                             | 1 +
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c           | 1 +
 drivers/phy/rockchip/phy-rockchip-pcie.c                | 1 +
 drivers/phy/rockchip/phy-rockchip-typec.c               | 1 +
 drivers/phy/sti_usb_phy.c                               | 1 +
 drivers/phy/ti-pipe3-phy.c                              | 1 +
 drivers/pinctrl/ath79/pinctrl_ar933x.c                  | 1 +
 drivers/pinctrl/ath79/pinctrl_qca953x.c                 | 1 +
 drivers/pinctrl/exynos/pinctrl-exynos.c                 | 1 +
 drivers/pinctrl/meson/pinctrl-meson.c                   | 1 +
 drivers/pinctrl/mtmips/pinctrl-mt7628.c                 | 1 +
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c             | 1 +
 drivers/pinctrl/mvebu/pinctrl-mvebu.c                   | 1 +
 drivers/pinctrl/nexell/pinctrl-nexell.c                 | 1 +
 drivers/pinctrl/nexell/pinctrl-s5pxx18.c                | 1 +
 drivers/pinctrl/nxp/pinctrl-imx.c                       | 1 +
 drivers/pinctrl/nxp/pinctrl-imx8.c                      | 1 +
 drivers/pinctrl/nxp/pinctrl-mxs.c                       | 1 +
 drivers/pinctrl/pinctrl-at91-pio4.c                     | 1 +
 drivers/pinctrl/pinctrl-at91.c                          | 1 +
 drivers/pinctrl/pinctrl-sti.c                           | 1 +
 drivers/pinctrl/pinctrl-uclass.c                        | 1 +
 drivers/pinctrl/pinctrl_pic32.c                         | 1 +
 drivers/pinctrl/renesas/pfc-r7s72100.c                  | 1 +
 drivers/pinctrl/rockchip/pinctrl-rockchip-core.c        | 1 +
 drivers/power/domain/imx8-power-domain-legacy.c         | 1 +
 drivers/power/domain/imx8m-power-domain.c               | 1 +
 drivers/power/pmic/bd71837.c                            | 1 +
 drivers/power/pmic/mc34708.c                            | 1 +
 drivers/power/pmic/mp5416.c                             | 1 +
 drivers/power/pmic/pca9450.c                            | 1 +
 drivers/power/regulator/pwm_regulator.c                 | 1 +
 drivers/pwm/pwm-sifive.c                                | 1 +
 drivers/pwm/rk_pwm.c                                    | 1 +
 drivers/pwm/sunxi_pwm.c                                 | 1 +
 drivers/qe/fdt.c                                        | 1 +
 drivers/qe/qe.c                                         | 1 +
 drivers/ram/aspeed/sdram_ast2500.c                      | 1 +
 drivers/ram/aspeed/sdram_ast2600.c                      | 1 +
 drivers/ram/mpc83xx_sdram.c                             | 1 +
 drivers/ram/octeon/octeon_ddr.c                         | 1 +
 drivers/ram/rockchip/sdram_rk322x.c                     | 1 +
 drivers/ram/sandbox_ram.c                               | 1 +
 drivers/ram/sifive/fu540_ddr.c                          | 1 +
 drivers/ram/stm32mp1/stm32mp1_interactive.c             | 1 +
 drivers/ram/stm32mp1/stm32mp1_tests.c                   | 1 +
 drivers/remoteproc/rproc-uclass.c                       | 1 +
 drivers/remoteproc/ti_power_proc.c                      | 1 +
 drivers/reset/sti-reset.c                               | 1 +
 drivers/serial/atmel_usart.c                            | 1 +
 drivers/serial/ns16550.c                                | 1 +
 drivers/serial/sandbox.c                                | 1 +
 drivers/serial/serial-uclass.c                          | 1 +
 drivers/serial/serial.c                                 | 1 +
 drivers/serial/serial_arc.c                             | 1 +
 drivers/serial/serial_linflexuart.c                     | 1 +
 drivers/serial/serial_lpuart.c                          | 1 +
 drivers/serial/serial_mcf.c                             | 1 +
 drivers/serial/serial_mpc8xx.c                          | 1 +
 drivers/serial/serial_msm.c                             | 1 +
 drivers/serial/serial_mtk.c                             | 1 +
 drivers/serial/serial_mxc.c                             | 1 +
 drivers/serial/serial_ns16550.c                         | 1 +
 drivers/serial/serial_pic32.c                           | 1 +
 drivers/serial/serial_pl01x.c                           | 1 +
 drivers/serial/serial_pxa.c                             | 1 +
 drivers/serial/serial_s5p.c                             | 1 +
 drivers/serial/serial_sh.c                              | 1 +
 drivers/serial/serial_sifive.c                          | 1 +
 drivers/serial/serial_sti_asc.c                         | 1 +
 drivers/serial/serial_xen.c                             | 1 +
 drivers/smem/msm_smem.c                                 | 1 +
 drivers/sound/ivybridge_sound.c                         | 1 +
 drivers/spi/atcspi200_spi.c                             | 1 +
 drivers/spi/bcmstb_spi.c                                | 1 +
 drivers/spi/ca_sflash.c                                 | 1 +
 drivers/spi/cf_spi.c                                    | 1 +
 drivers/spi/davinci_spi.c                               | 1 +
 drivers/spi/exynos_spi.c                                | 1 +
 drivers/spi/fsl_dspi.c                                  | 1 +
 drivers/spi/fsl_espi.c                                  | 1 +
 drivers/spi/fsl_qspi.c                                  | 1 +
 drivers/spi/mvebu_a3700_spi.c                           | 1 +
 drivers/spi/mxc_spi.c                                   | 1 +
 drivers/spi/omap3_spi.c                                 | 1 +
 drivers/spi/pic32_spi.c                                 | 1 +
 drivers/spi/pl022_spi.c                                 | 1 +
 drivers/spi/renesas_rpc_spi.c                           | 1 +
 drivers/spi/soft_spi.c                                  | 1 +
 drivers/spi/spi-sunxi.c                                 | 1 +
 drivers/spi/spi-uclass.c                                | 1 +
 drivers/spi/tegra20_sflash.c                            | 1 +
 drivers/spi/tegra20_slink.c                             | 1 +
 drivers/spi/tegra210_qspi.c                             | 1 +
 drivers/spi/ti_qspi.c                                   | 1 +
 drivers/spi/uniphier_spi.c                              | 1 +
 drivers/spi/zynq_qspi.c                                 | 1 +
 drivers/spi/zynq_spi.c                                  | 1 +
 drivers/spi/zynqmp_gqspi.c                              | 1 +
 drivers/spmi/spmi-msm.c                                 | 1 +
 drivers/sysreset/sysreset-uclass.c                      | 1 +
 drivers/sysreset/sysreset_mpc83xx.c                     | 1 +
 drivers/sysreset/sysreset_sti.c                         | 1 +
 drivers/thermal/imx_scu_thermal.c                       | 1 +
 drivers/thermal/imx_tmu.c                               | 1 +
 drivers/timer/arc_timer.c                               | 1 +
 drivers/timer/cadence-ttc.c                             | 1 +
 drivers/timer/mpc83xx_timer.c                           | 1 +
 drivers/timer/ostm_timer.c                              | 1 +
 drivers/timer/rockchip_timer.c                          | 1 +
 drivers/timer/timer-uclass.c                            | 1 +
 drivers/timer/tsc_timer.c                               | 1 +
 drivers/usb/common/common.c                             | 1 +
 drivers/usb/host/dwc3-octeon-glue.c                     | 1 +
 drivers/usb/host/dwc3-sti-glue.c                        | 1 +
 drivers/usb/host/ehci-exynos.c                          | 1 +
 drivers/usb/host/ehci-fsl.c                             | 1 +
 drivers/usb/host/ehci-marvell.c                         | 1 +
 drivers/usb/host/ehci-mx5.c                             | 1 +
 drivers/usb/host/ehci-mx6.c                             | 1 +
 drivers/usb/host/ehci-vf.c                              | 1 +
 drivers/usb/host/xhci-exynos5.c                         | 1 +
 drivers/usb/musb-new/da8xx.c                            | 1 +
 drivers/usb/musb-new/omap2430.c                         | 1 +
 drivers/usb/musb-new/pic32.c                            | 1 +
 drivers/usb/musb-new/ti-musb.c                          | 1 +
 drivers/usb/phy/rockchip_usb2_phy.c                     | 1 +
 drivers/video/atmel_hlcdfb.c                            | 1 +
 drivers/video/atmel_lcdfb.c                             | 1 +
 drivers/video/bridge/ps862x.c                           | 1 +
 drivers/video/broadwell_igd.c                           | 1 +
 drivers/video/cfb_console.c                             | 1 +
 drivers/video/da8xx-fb.c                                | 1 +
 drivers/video/exynos/exynos_dp.c                        | 1 +
 drivers/video/exynos/exynos_fb.c                        | 1 +
 drivers/video/exynos/exynos_mipi_dsi.c                  | 1 +
 drivers/video/fsl_dcu_fb.c                              | 1 +
 drivers/video/ivybridge_igd.c                           | 1 +
 drivers/video/mali_dp.c                                 | 1 +
 drivers/video/meson/meson_vpu.c                         | 1 +
 drivers/video/mxsfb.c                                   | 1 +
 drivers/video/rockchip/rk3288_vop.c                     | 1 +
 drivers/video/rockchip/rk3399_vop.c                     | 1 +
 drivers/video/rockchip/rk_lvds.c                        | 1 +
 drivers/video/rockchip/rk_mipi.c                        | 1 +
 drivers/video/rockchip/rk_vop.c                         | 1 +
 drivers/video/sandbox_sdl.c                             | 1 +
 drivers/video/simplefb.c                                | 1 +
 drivers/video/sunxi/sunxi_lcd.c                         | 1 +
 drivers/video/tegra.c                                   | 1 +
 drivers/video/ti/am335x-fb.c                            | 1 +
 drivers/video/ti/tilcdc.c                               | 1 +
 drivers/video/video-uclass.c                            | 1 +
 drivers/video/videomodes.c                              | 1 +
 drivers/watchdog/armada-37xx-wdt.c                      | 1 +
 drivers/watchdog/at91sam9_wdt.c                         | 1 +
 drivers/watchdog/mt7621_wdt.c                           | 1 +
 drivers/watchdog/octeontx_wdt.c                         | 1 +
 drivers/watchdog/orion_wdt.c                            | 1 +
 drivers/watchdog/sbsa_gwdt.c                            | 1 +
 drivers/watchdog/sp805_wdt.c                            | 1 +
 drivers/watchdog/wdt-uclass.c                           | 1 +
 drivers/xen/gnttab.c                                    | 1 +
 drivers/xen/pvblock.c                                   | 1 +
 env/callback.c                                          | 1 +
 env/common.c                                            | 1 +
 env/eeprom.c                                            | 1 +
 env/env.c                                               | 1 +
 env/ext4.c                                              | 1 +
 env/flash.c                                             | 1 +
 env/mmc.c                                               | 1 +
 env/nand.c                                              | 1 +
 env/nowhere.c                                           | 1 +
 env/nvram.c                                             | 1 +
 env/onenand.c                                           | 1 +
 env/remote.c                                            | 1 +
 env/sf.c                                                | 1 +
 env/ubi.c                                               | 1 +
 fs/fs.c                                                 | 1 +
 fs/reiserfs/reiserfs_private.h                          | 2 ++
 fs/ubifs/ubifs.c                                        | 1 +
 include/audio_codec.h                                   | 2 ++
 include/axi.h                                           | 2 ++
 include/backlight.h                                     | 2 ++
 include/bootcount.h                                     | 1 +
 include/cache.h                                         | 2 ++
 include/common.h                                        | 1 -
 include/cpu.h                                           | 2 ++
 include/dm/acpi.h                                       | 1 +
 include/dm/ofnode.h                                     | 2 ++
 include/dm/read.h                                       | 1 +
 include/dma.h                                           | 2 ++
 include/exports.h                                       | 1 +
 include/ext_common.h                                    | 2 ++
 include/fsl_qe.h                                        | 2 ++
 include/image-sparse.h                                  | 1 +
 include/init.h                                          | 8 ++++----
 include/initcall.h                                      | 1 +
 include/led.h                                           | 2 ++
 include/misc.h                                          | 2 ++
 include/netdev.h                                        | 2 ++
 include/power/as3722.h                                  | 2 ++
 include/power/regulator.h                               | 2 ++
 include/pwm.h                                           | 2 ++
 include/ram.h                                           | 2 ++
 include/scsi.h                                          | 2 ++
 include/soc.h                                           | 2 ++
 include/sysinfo.h                                       | 2 ++
 include/sysreset.h                                      | 2 ++
 include/tee.h                                           | 2 ++
 include/tpm-common.h                                    | 2 ++
 include/tpm-v1.h                                        | 2 ++
 include/tpm-v2.h                                        | 2 ++
 include/tps6586x.h                                      | 2 ++
 include/ufs.h                                           | 3 +++
 lib/acpi/acpi_table.c                                   | 1 +
 lib/asm-offsets.c                                       | 1 +
 lib/efi/efi_app.c                                       | 1 +
 lib/efi/efi_info.c                                      | 1 +
 lib/efi_loader/efi_boottime.c                           | 1 +
 lib/efi_loader/efi_dt_fixup.c                           | 1 +
 lib/efi_loader/efi_gop.c                                | 1 +
 lib/efi_loader/efi_memory.c                             | 1 +
 lib/efi_loader/efi_rng.c                                | 1 +
 lib/efi_loader/efi_runtime.c                            | 1 +
 lib/efi_selftest/dtbdump.c                              | 1 +
 lib/fdtdec.c                                            | 1 +
 lib/optee/optee.c                                       | 1 +
 lib/time.c                                              | 1 +
 lib/trace.c                                             | 1 +
 lib/zlib/zlib.c                                         | 2 +-
 net/eth-uclass.c                                        | 1 +
 net/eth_legacy.c                                        | 1 +
 net/tftp.c                                              | 1 +
 post/drivers/memory.c                                   | 1 +
 post/post.c                                             | 1 +
 test/bloblist.c                                         | 1 +
 test/bootm.c                                            | 1 +
 test/cmd/test_echo.c                                    | 1 +
 test/dm/acpi.c                                          | 1 +
 test/dm/blk.c                                           | 1 +
 test/dm/bus.c                                           | 1 +
 test/dm/core.c                                          | 1 +
 test/dm/fdtdec.c                                        | 1 +
 test/dm/mux-emul.c                                      | 1 +
 test/dm/of_platdata.c                                   | 1 +
 test/dm/ram.c                                           | 1 +
 test/dm/test-fdt.c                                      | 1 +
 test/dm/test-main.c                                     | 1 +
 test/lib/test_print.c                                   | 1 +
 test/log/cont_test.c                                    | 1 +
 test/log/log_filter.c                                   | 1 +
 test/log/log_test.c                                     | 1 +
 test/log/nolog_test.c                                   | 1 +
 test/log/pr_cont_test.c                                 | 1 +
 test/log/syslog_test.c                                  | 1 +
 test/log/syslog_test_ndebug.c                           | 1 +
 test/ut.c                                               | 1 +
 1361 files changed, 1405 insertions(+), 23 deletions(-)

diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
index 63d6207c0477..8a8d394a5f0c 100644
--- a/arch/arc/lib/bootm.c
+++ b/arch/arc/lib/bootm.c
@@ -11,6 +11,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arc/lib/cache.c b/arch/arc/lib/cache.c
index 85651b219cf8..f807cd83d6b5 100644
--- a/arch/arc/lib/cache.c
+++ b/arch/arc/lib/cache.c
@@ -6,6 +6,7 @@
 #include <config.h>
 #include <common.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
 #include <linux/kernel.h>
diff --git a/arch/arc/lib/cpu.c b/arch/arc/lib/cpu.c
index d66a8c867acd..07f57878ef14 100644
--- a/arch/arc/lib/cpu.c
+++ b/arch/arc/lib/cpu.c
@@ -9,6 +9,7 @@
 #include <vsprintf.h>
 #include <asm/arcregs.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arc/lib/relocate.c b/arch/arc/lib/relocate.c
index 6882ebec6d88..7f531c95eec6 100644
--- a/arch/arc/lib/relocate.c
+++ b/arch/arc/lib/relocate.c
@@ -7,6 +7,7 @@
 #include <elf.h>
 #include <log.h>
 #include <asm-generic/sections.h>
+#include <asm/global_data.h>
 
 extern ulong __image_copy_start;
 extern ulong __ivt_start;
diff --git a/arch/arm/cpu/arm1136/mx35/generic.c b/arch/arm/cpu/arm1136/mx35/generic.c
index 10f9ce42708e..cbf76ab4feec 100644
--- a/arch/arm/cpu/arm1136/mx35/generic.c
+++ b/arch/arm/cpu/arm1136/mx35/generic.c
@@ -12,6 +12,7 @@
 #include <div64.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/arm926ejs/armada100/dram.c b/arch/arm/cpu/arm926ejs/armada100/dram.c
index da0615faf159..c97b5b1940a5 100644
--- a/arch/arm/cpu/arm926ejs/armada100/dram.c
+++ b/arch/arm/cpu/arm926ejs/armada100/dram.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/armada100.h>
 
diff --git a/arch/arm/cpu/arm926ejs/armada100/timer.c b/arch/arm/cpu/arm926ejs/armada100/timer.c
index 0f1e68c8355f..ec73393d0fc7 100644
--- a/arch/arm/cpu/arm926ejs/armada100/timer.c
+++ b/arch/arm/cpu/arm926ejs/armada100/timer.c
@@ -12,6 +12,7 @@
 #include <time.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/armada100.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 /*
diff --git a/arch/arm/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c
index a4528cbaf529..9cd60abcccbd 100644
--- a/arch/arm/cpu/arm926ejs/mx25/generic.c
+++ b/arch/arm/cpu/arm926ejs/mx25/generic.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-imx/cpu.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/arm926ejs/mx27/timer.c b/arch/arm/cpu/arm926ejs/mx27/timer.c
index 408e88aa129e..4fd6a8059685 100644
--- a/arch/arm/cpu/arm926ejs/mx27/timer.c
+++ b/arch/arm/cpu/arm926ejs/mx27/timer.c
@@ -19,6 +19,7 @@
 #include <div64.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/ptrace.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c b/arch/arm/cpu/arm926ejs/mxs/mxs.c
index 8243aeb2c0f6..c9362136fbf9 100644
--- a/arch/arm/cpu/arm926ejs/mxs/mxs.c
+++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c
@@ -15,6 +15,7 @@
 #include <hang.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
index 1501d7df0dc6..a16a15e79d83 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/cpu/arm926ejs/mxs/timer.c b/arch/arm/cpu/arm926ejs/mxs/timer.c
index 5ab4ed0c5a3d..3dff3d768d1c 100644
--- a/arch/arm/cpu/arm926ejs/mxs/timer.c
+++ b/arch/arm/cpu/arm926ejs/mxs/timer.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/cpu/arm926ejs/spear/spr_misc.c b/arch/arm/cpu/arm926ejs/spear/spr_misc.c
index 998423b6525c..044052b32f93 100644
--- a/arch/arm/cpu/arm926ejs/spear/spr_misc.c
+++ b/arch/arm/cpu/arm926ejs/spear/spr_misc.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/mtd/st_smi.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
diff --git a/arch/arm/cpu/arm926ejs/spear/timer.c b/arch/arm/cpu/arm926ejs/spear/timer.c
index dd0f15c0ceee..b42baa71506f 100644
--- a/arch/arm/cpu/arm926ejs/spear/timer.c
+++ b/arch/arm/cpu/arm926ejs/spear/timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/spr_gpt.h>
diff --git a/arch/arm/cpu/armv7/arch_timer.c b/arch/arm/cpu/armv7/arch_timer.c
index 871629c2333b..d96406f7626f 100644
--- a/arch/arm/cpu/armv7/arch_timer.c
+++ b/arch/arm/cpu/armv7/arch_timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <bootstage.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/clock.c b/arch/arm/cpu/armv7/ls102xa/clock.c
index f3bdb14c0722..940995ef5af1 100644
--- a/arch/arm/cpu/armv7/ls102xa/clock.c
+++ b/arch/arm/cpu/armv7/ls102xa/clock.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c
index ce472aa9bd54..cbc8254b42a0 100644
--- a/arch/arm/cpu/armv7/ls102xa/cpu.c
+++ b/arch/arm/cpu/armv7/ls102xa/cpu.c
@@ -9,6 +9,7 @@
 #include <net.h>
 #include <vsprintf.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/cache.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c
index 2556980cde67..0daf8234fb14 100644
--- a/arch/arm/cpu/armv7/ls102xa/fdt.c
+++ b/arch/arm/cpu/armv7/ls102xa/fdt.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/io.h>
diff --git a/arch/arm/cpu/armv7/ls102xa/timer.c b/arch/arm/cpu/armv7/ls102xa/timer.c
index 2a32b30999fe..d79bf105f13a 100644
--- a/arch/arm/cpu/armv7/ls102xa/timer.c
+++ b/arch/arm/cpu/armv7/ls102xa/timer.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/immap_ls102xa.h>
diff --git a/arch/arm/cpu/armv7/s5p-common/cpu_info.c b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
index 7790f087a09d..d910282e2b29 100644
--- a/arch/arm/cpu/armv7/s5p-common/cpu_info.c
+++ b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 
diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c
index 3064fd25d4d0..8141f40d5c09 100644
--- a/arch/arm/cpu/armv7/s5p-common/timer.c
+++ b/arch/arm/cpu/armv7/s5p-common/timer.c
@@ -10,6 +10,7 @@
 #include <div64.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/pwm.h>
 #include <asm/arch/clk.h>
diff --git a/arch/arm/cpu/armv7/s5p4418/cpu.c b/arch/arm/cpu/armv7/s5p4418/cpu.c
index 8add9474ad23..3c71a37a74bf 100644
--- a/arch/arm/cpu/armv7/s5p4418/cpu.c
+++ b/arch/arm/cpu/armv7/s5p4418/cpu.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <asm/system.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <asm/io.h>
 #include <asm/arch/nexell.h>
diff --git a/arch/arm/cpu/armv7/stv0991/timer.c b/arch/arm/cpu/armv7/stv0991/timer.c
index 919529aa1b03..07033acb5c18 100644
--- a/arch/arm/cpu/armv7/stv0991/timer.c
+++ b/arch/arm/cpu/armv7/stv0991/timer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-stv0991/hardware.h>
 #include <asm/arch-stv0991/stv0991_cgu.h>
diff --git a/arch/arm/cpu/armv7/sunxi/timer.c b/arch/arm/cpu/armv7/sunxi/timer.c
index 65b64b5ac75b..b7585996369f 100644
--- a/arch/arm/cpu/armv7/sunxi/timer.c
+++ b/arch/arm/cpu/armv7/sunxi/timer.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 #include <linux/delay.h>
diff --git a/arch/arm/cpu/armv7/vf610/generic.c b/arch/arm/cpu/armv7/vf610/generic.c
index 743bfced6438..c23ddc12b456 100644
--- a/arch/arm/cpu/armv7/vf610/generic.c
+++ b/arch/arm/cpu/armv7/vf610/generic.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv7/vf610/timer.c b/arch/arm/cpu/armv7/vf610/timer.c
index fa8f8fae10a0..a9c1a8fcebc1 100644
--- a/arch/arm/cpu/armv7/vf610/timer.c
+++ b/arch/arm/cpu/armv7/vf610/timer.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/cpu/armv7/virt-dt.c b/arch/arm/cpu/armv7/virt-dt.c
index 61c82f64699c..c0422485ba4e 100644
--- a/arch/arm/cpu/armv7/virt-dt.c
+++ b/arch/arm/cpu/armv7/virt-dt.c
@@ -21,7 +21,6 @@
 #include <stdio_dev.h>
 #include <linux/ctype.h>
 #include <linux/types.h>
-#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/armv7.h>
diff --git a/arch/arm/cpu/armv7m/systick-timer.c b/arch/arm/cpu/armv7m/systick-timer.c
index d2672fd40cdb..556eaf8c74ad 100644
--- a/arch/arm/cpu/armv7m/systick-timer.c
+++ b/arch/arm/cpu/armv7m/systick-timer.c
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c
index 7c31d98a6f03..15cecb5e0b34 100644
--- a/arch/arm/cpu/armv8/cache_v8.c
+++ b/arch/arm/cpu/armv8/cache_v8.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index 1a5d26b5372e..3a5bf7782603 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <vsprintf.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/ptrace.h>
 #include <linux/errno.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
index c56689086de6..63d34e1ec039 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
index bf153c720e13..25a1c36d2ac0 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_speed.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <fsl_ifc.h>
 #include <asm/processor.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/mp.c b/arch/arm/cpu/armv8/fsl-layerscape/mp.c
index bd85351705a7..5ac545f9df81 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/mp.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/mp.c
@@ -8,6 +8,7 @@
 #include <image.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/system.h>
 #include <asm/arch/mp.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
index 2285296ea008..b9894d41bbdd 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <errno.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/types.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/spl.c b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
index 215ed9759e32..d5131bcf4b39 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/spl.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fsl_ifc.h>
 #include <i2c.h>
diff --git a/arch/arm/cpu/armv8/generic_timer.c b/arch/arm/cpu/armv8/generic_timer.c
index e23629ab0bc3..f27a74b9d09b 100644
--- a/arch/arm/cpu/armv8/generic_timer.c
+++ b/arch/arm/cpu/armv8/generic_timer.c
@@ -8,6 +8,7 @@
 #include <bootstage.h>
 #include <command.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/cpu/armv8/s32v234/generic.c b/arch/arm/cpu/armv8/s32v234/generic.c
index de5a098adb8f..0fc98852228a 100644
--- a/arch/arm/cpu/armv8/s32v234/generic.c
+++ b/arch/arm/cpu/armv8/s32v234/generic.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c
index bfc0fac3eff2..c6c4fcc7e073 100644
--- a/arch/arm/cpu/armv8/sec_firmware.c
+++ b/arch/arm/cpu/armv8/sec_firmware.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/kernel.h>
 #include <asm/io.h>
diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h
index 22de0aef8dc0..5108180ea77f 100644
--- a/arch/arm/include/asm/arch-rockchip/clock.h
+++ b/arch/arm/include/asm/arch-rockchip/clock.h
@@ -6,6 +6,8 @@
 #ifndef _ASM_ARCH_CLOCK_H
 #define _ASM_ARCH_CLOCK_H
 
+struct udevice;
+
 /* define pll mode */
 #define RKCLK_PLL_MODE_SLOW		0
 #define RKCLK_PLL_MODE_NORMAL		1
diff --git a/arch/arm/include/asm/arch-tegra/clock.h b/arch/arm/include/asm/arch-tegra/clock.h
index 8aa90d5c0c56..1d80d9e94617 100644
--- a/arch/arm/include/asm/arch-tegra/clock.h
+++ b/arch/arm/include/asm/arch-tegra/clock.h
@@ -8,6 +8,8 @@
 #ifndef _TEGRA_CLOCK_H_
 #define _TEGRA_CLOCK_H_
 
+struct udevice;
+
 /* Set of oscillator frequencies supported in the internal API. */
 enum clock_osc_freq {
 	/* All in MHz, so 13_0 is 13.0MHz */
diff --git a/arch/arm/include/asm/arch-tegra/tegra_i2c.h b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
index 5316bc47e4b3..e57b9ef9c474 100644
--- a/arch/arm/include/asm/arch-tegra/tegra_i2c.h
+++ b/arch/arm/include/asm/arch-tegra/tegra_i2c.h
@@ -10,6 +10,8 @@
 
 #include <asm/types.h>
 
+struct udevice;
+
 enum {
 	I2C_TIMEOUT_USEC = 10000,	/* Wait time for completion */
 	I2C_FIFO_DEPTH = 8,		/* I2C fifo depth */
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 2aafc6d2062e..5a935d34e20e 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -7,6 +7,9 @@
 #ifndef	__ASM_GBL_DATA_H
 #define __ASM_GBL_DATA_H
 
+#include <asm/types.h>
+#include <linux/types.h>
+
 /* Architecture-specific global data */
 struct arch_global_data {
 #if defined(CONFIG_FSL_ESDHC) || defined(CONFIG_FSL_ESDHC_IMX)
diff --git a/arch/arm/include/asm/secure.h b/arch/arm/include/asm/secure.h
index 50582c972b7a..64e5582c1f2a 100644
--- a/arch/arm/include/asm/secure.h
+++ b/arch/arm/include/asm/secure.h
@@ -2,6 +2,7 @@
 #define __ASM_SECURE_H
 
 #include <config.h>
+#include <asm/global_data.h>
 
 #define __secure __attribute__ ((section ("._secure.text")))
 #define __secure_data __attribute__ ((section ("._secure.data")))
diff --git a/arch/arm/include/asm/ti-common/sys_proto.h b/arch/arm/include/asm/ti-common/sys_proto.h
index db042a1aef2d..a96a8382fb6e 100644
--- a/arch/arm/include/asm/ti-common/sys_proto.h
+++ b/arch/arm/include/asm/ti-common/sys_proto.h
@@ -6,6 +6,8 @@
 #ifndef _TI_COMMON_SYS_PROTO_H_
 #define _TI_COMMON_SYS_PROTO_H_
 
+#include <asm/global_data.h>
+
 DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_ARCH_OMAP2PLUS
diff --git a/arch/arm/lib/bdinfo.c b/arch/arm/lib/bdinfo.c
index 25bc6e80f476..572f7fb2429f 100644
--- a/arch/arm/lib/bdinfo.c
+++ b/arch/arm/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/lib/bootm-fdt.c b/arch/arm/lib/bootm-fdt.c
index fe46a7d7c98d..29020bd1c6bc 100644
--- a/arch/arm/lib/bootm-fdt.c
+++ b/arch/arm/lib/bootm-fdt.c
@@ -19,6 +19,7 @@
 #ifdef CONFIG_ARMV7_NONSEC
 #include <asm/armv7.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/psci.h>
 #include <asm/spin_table.h>
 
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 1206e306db65..70c181e45b7e 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -19,6 +19,7 @@
 #include <hang.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/root.h>
 #include <env.h>
 #include <image.h>
diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index abd81d21c73c..24050e5bdd30 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/cache.h>
 #include <linux/compiler.h>
diff --git a/arch/arm/lib/cache.c b/arch/arm/lib/cache.c
index bdde9cdad5d0..a2bf2e57b941 100644
--- a/arch/arm/lib/cache.c
+++ b/arch/arm/lib/cache.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/lib/image.c b/arch/arm/lib/image.c
index 94590d3049ad..e394c1ad9093 100644
--- a/arch/arm/lib/image.c
+++ b/arch/arm/lib/image.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <image.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/sizes.h>
 
diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c
index 703be5a3209c..05bb1a38b35e 100644
--- a/arch/arm/lib/interrupts.c
+++ b/arch/arm/lib/interrupts.c
@@ -22,6 +22,7 @@
 #include <cpu_func.h>
 #include <efi_loader.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <asm/proc-armv/ptrace.h>
 #include <asm/ptrace.h>
 #include <asm/u-boot-arm.h>
diff --git a/arch/arm/lib/interrupts_64.c b/arch/arm/lib/interrupts_64.c
index 529948901376..c653e67db286 100644
--- a/arch/arm/lib/interrupts_64.c
+++ b/arch/arm/lib/interrupts_64.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <irq_func.h>
 #include <linux/compiler.h>
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index af0c9ad6bd6c..b2b54f28fc4b 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -14,6 +14,7 @@
 #include <spl.h>
 #include <image.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mach-types.h>
 
diff --git a/arch/arm/lib/stack.c b/arch/arm/lib/stack.c
index 96a248c0a907..b03e1cfc80c9 100644
--- a/arch/arm/lib/stack.c
+++ b/arch/arm/lib/stack.c
@@ -12,6 +12,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-aspeed/ast2500/board_common.c b/arch/arm/mach-aspeed/ast2500/board_common.c
index 3482ee91efd8..aca200223129 100644
--- a/arch/arm/mach-aspeed/ast2500/board_common.c
+++ b/arch/arm/mach-aspeed/ast2500/board_common.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <ram.h>
 #include <timer.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 #include <asm/arch/wdt.h>
diff --git a/arch/arm/mach-aspeed/ast2600/board_common.c b/arch/arm/mach-aspeed/ast2600/board_common.c
index a53e1632f6cf..82ff21908f26 100644
--- a/arch/arm/mach-aspeed/ast2600/board_common.c
+++ b/arch/arm/mach-aspeed/ast2600/board_common.c
@@ -12,6 +12,7 @@
 #include <linux/err.h>
 #include <dm/uclass.h>
 #include <asm/arch/scu_ast2600.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-aspeed/ast2600/spl.c b/arch/arm/mach-aspeed/ast2600/spl.c
index 9201d4a4d442..0d8cb29678b2 100644
--- a/arch/arm/mach-aspeed/ast2600/spl.c
+++ b/arch/arm/mach-aspeed/ast2600/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <asm/io.h>
 #include <asm/arch/scu_ast2600.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-at91/arm920t/clock.c b/arch/arm/mach-at91/arm920t/clock.c
index 9a57dd40891b..c7440278d8f8 100644
--- a/arch/arm/mach-at91/arm920t/clock.c
+++ b/arch/arm/mach-at91/arm920t/clock.c
@@ -8,6 +8,7 @@
  * Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  */
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/arch/arm/mach-at91/arm920t/timer.c b/arch/arm/mach-at91/arm920t/timer.c
index dca2d2c70c77..c400e8781356 100644
--- a/arch/arm/mach-at91/arm920t/timer.c
+++ b/arch/arm/mach-at91/arm920t/timer.c
@@ -16,6 +16,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/io.h>
diff --git a/arch/arm/mach-at91/arm926ejs/clock.c b/arch/arm/mach-at91/arm926ejs/clock.c
index 7156185a46fa..c68e0c0c3c44 100644
--- a/arch/arm/mach-at91/arm926ejs/clock.c
+++ b/arch/arm/mach-at91/arm926ejs/clock.c
@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/arch/arm/mach-at91/arm926ejs/timer.c b/arch/arm/mach-at91/arm926ejs/timer.c
index 42ef349966b0..a8cf0e4bd799 100644
--- a/arch/arm/mach-at91/arm926ejs/timer.c
+++ b/arch/arm/mach-at91/arm926ejs/timer.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pit.h>
diff --git a/arch/arm/mach-at91/armv7/clock.c b/arch/arm/mach-at91/armv7/clock.c
index 39268969580b..aa6bb6bf31e0 100644
--- a/arch/arm/mach-at91/armv7/clock.c
+++ b/arch/arm/mach-at91/armv7/clock.c
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-at91/armv7/timer.c b/arch/arm/mach-at91/armv7/timer.c
index a6346c01b285..1f54c5dcad98 100644
--- a/arch/arm/mach-at91/armv7/timer.c
+++ b/arch/arm/mach-at91/armv7/timer.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pit.h>
diff --git a/arch/arm/mach-at91/spl_at91.c b/arch/arm/mach-at91/spl_at91.c
index 35a3d5185d3f..d0c732539248 100644
--- a/arch/arm/mach-at91/spl_at91.c
+++ b/arch/arm/mach-at91/spl_at91.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91sam9_matrix.h>
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
index f2a541162370..49027ce0a2e6 100644
--- a/arch/arm/mach-bcm283x/init.c
+++ b/arch/arm/mach-bcm283x/init.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <dm/device.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 
 #define BCM2711_RPI4_PCIE_XHCI_MMIO_PHYS	0x600000000UL
 #define BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE	0x800000UL
diff --git a/arch/arm/mach-davinci/cpu.c b/arch/arm/mach-davinci/cpu.c
index 40dd44af67eb..aefd21dc458a 100644
--- a/arch/arm/mach-davinci/cpu.c
+++ b/arch/arm/mach-davinci/cpu.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-davinci/misc.c b/arch/arm/mach-davinci/misc.c
index 5bfc47dae457..90b38b7e020e 100644
--- a/arch/arm/mach-davinci/misc.c
+++ b/arch/arm/mach-davinci/misc.c
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <net.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/davinci_misc.h>
 
diff --git a/arch/arm/mach-davinci/timer.c b/arch/arm/mach-davinci/timer.c
index a6681821f6dd..43e0574901ee 100644
--- a/arch/arm/mach-davinci/timer.c
+++ b/arch/arm/mach-davinci/timer.c
@@ -23,6 +23,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/timer_defs.h>
 #include <div64.h>
diff --git a/arch/arm/mach-exynos/spl_boot.c b/arch/arm/mach-exynos/spl_boot.c
index 9c7ca49519b9..27f0dac182d3 100644
--- a/arch/arm/mach-exynos/spl_boot.c
+++ b/arch/arm/mach-exynos/spl_boot.c
@@ -7,6 +7,7 @@
 #include <config.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/cache.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c
index 600a1108ceca..6392fe267a01 100644
--- a/arch/arm/mach-imx/imx8/ahab.c
+++ b/arch/arm/mach-imx/imx8/ahab.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sci/sci.h>
 #include <asm/mach-imx/sys_proto.h>
diff --git a/arch/arm/mach-imx/imx8/clock.c b/arch/arm/mach-imx/imx8/clock.c
index d747e1332f04..9941b57b4be5 100644
--- a/arch/arm/mach-imx/imx8/clock.c
+++ b/arch/arm/mach-imx/imx8/clock.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/arch/clock.h>
 
diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c
index 911d6a51d1e4..02db322f51af 100644
--- a/arch/arm/mach-imx/imx8/cpu.c
+++ b/arch/arm/mach-imx/imx8/cpu.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/uclass.h>
diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
index 3e05b972a450..a132ce2e6a3a 100644
--- a/arch/arm/mach-imx/imx8/fdt.c
+++ b/arch/arm/mach-imx/imx8/fdt.c
@@ -7,6 +7,7 @@
 #include <log.h>
 #include <asm/arch/sci/sci.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/arch/arm/mach-imx/imx8/iomux.c b/arch/arm/mach-imx/imx8/iomux.c
index b8e6f48a5f77..9c3cfbf0068c 100644
--- a/arch/arm/mach-imx/imx8/iomux.c
+++ b/arch/arm/mach-imx/imx8/iomux.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/sci/sci.h>
diff --git a/arch/arm/mach-imx/imx8/snvs_security_sc.c b/arch/arm/mach-imx/imx8/snvs_security_sc.c
index 564d1bfdfb20..6f9b1c99fcd2 100644
--- a/arch/arm/mach-imx/imx8/snvs_security_sc.c
+++ b/arch/arm/mach-imx/imx8/snvs_security_sc.c
@@ -18,6 +18,7 @@
 #include <asm/arch/sci/sci.h>
 #include <asm/arch-imx8/imx8-pins.h>
 #include <asm/arch-imx8/snvs_security_sc.h>
+#include <asm/global_data.h>
 
 /* Access to gd */
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
index 9dde11cdedff..4024dafca10c 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
@@ -9,6 +9,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/io.h>
 #include <div64.h>
 #include <errno.h>
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 5df8e175101d..5456c10fb177 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch/imx-regs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c
index 818f38e17ddb..d82efa7f8f0a 100644
--- a/arch/arm/mach-imx/misc.c
+++ b/arch/arm/mach-imx/misc.c
@@ -7,6 +7,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-imx/mx5/mx53_dram.c b/arch/arm/mach-imx/mx5/mx53_dram.c
index a7f033f3f44d..f74414419470 100644
--- a/arch/arm/mach-imx/mx5/mx53_dram.c
+++ b/arch/arm/mach-imx/mx5/mx53_dram.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-imx/mx6/litesom.c b/arch/arm/mach-imx/mx6/litesom.c
index 92176dc86158..699a3dc317f0 100644
--- a/arch/arm/mach-imx/mx6/litesom.c
+++ b/arch/arm/mach-imx/mx6/litesom.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/arch/arm/mach-imx/mx6/opos6ul.c b/arch/arm/mach-imx/mx6/opos6ul.c
index 4b3c59f7eef4..e9d78740a157 100644
--- a/arch/arm/mach-imx/mx6/opos6ul.c
+++ b/arch/arm/mach-imx/mx6/opos6ul.c
@@ -8,6 +8,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <env.h>
diff --git a/arch/arm/mach-imx/mx7/clock.c b/arch/arm/mach-imx/mx7/clock.c
index 6a1bad855eb2..304a0303134a 100644
--- a/arch/arm/mach-imx/mx7/clock.c
+++ b/arch/arm/mach-imx/mx7/clock.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <div64.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/mach-imx/mx7ulp/clock.c b/arch/arm/mach-imx/mx7ulp/clock.c
index 51aaa5001e77..6191153917f7 100644
--- a/arch/arm/mach-imx/mx7ulp/clock.c
+++ b/arch/arm/mach-imx/mx7ulp/clock.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <command.h>
 #include <div64.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-imx/speed.c b/arch/arm/mach-imx/speed.c
index e78b1fd71b6e..b729187ec817 100644
--- a/arch/arm/mach-imx/speed.c
+++ b/arch/arm/mach-imx/speed.c
@@ -11,6 +11,7 @@
 #include <clock_legacy.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_FSL_ESDHC_IMX
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
index 2d15f62445c9..be4da0f7023a 100644
--- a/arch/arm/mach-imx/spl.c
+++ b/arch/arm/mach-imx/spl.c
@@ -10,6 +10,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index f588a5f52160..9f4d95982e59 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -7,6 +7,7 @@
 #include <errno.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <spl.h>
 
diff --git a/arch/arm/mach-imx/syscounter.c b/arch/arm/mach-imx/syscounter.c
index 7da43c32e0db..6dfed365d295 100644
--- a/arch/arm/mach-imx/syscounter.c
+++ b/arch/arm/mach-imx/syscounter.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <asm/arch/imx-regs.h>
diff --git a/arch/arm/mach-imx/timer.c b/arch/arm/mach-imx/timer.c
index a3c47889f135..fcd45f09f181 100644
--- a/arch/arm/mach-imx/timer.c
+++ b/arch/arm/mach-imx/timer.c
@@ -11,6 +11,7 @@
 #include <time.h>
 #include <asm/io.h>
 #include <div64.h>
+#include <asm/global_data.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-k3/am6_init.c b/arch/arm/mach-k3/am6_init.c
index dea470c02f70..d78d2b87519c 100644
--- a/arch/arm/mach-k3/am6_init.c
+++ b/arch/arm/mach-k3/am6_init.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <spl.h>
 #include <asm/arch/hardware.h>
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index 8b54e0cf5296..4fbf14843e0b 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include "common.h"
 #include <dm.h>
 #include <remoteproc.h>
diff --git a/arch/arm/mach-k3/sysfw-loader.c b/arch/arm/mach-k3/sysfw-loader.c
index 708d9c8508e8..0bacfc4d0770 100644
--- a/arch/arm/mach-k3/sysfw-loader.c
+++ b/arch/arm/mach-k3/sysfw-loader.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <remoteproc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
 #include <g_dnl.h>
 #include <usb.h>
diff --git a/arch/arm/mach-mediatek/mt7623/init.c b/arch/arm/mach-mediatek/mt7623/init.c
index 2778e260e024..5d837e059719 100644
--- a/arch/arm/mach-mediatek/mt7623/init.c
+++ b/arch/arm/mach-mediatek/mt7623/init.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-mediatek/mt7629/init.c b/arch/arm/mach-mediatek/mt7629/init.c
index 1f102dddd4f9..0130554ff35c 100644
--- a/arch/arm/mach-mediatek/mt7629/init.c
+++ b/arch/arm/mach-mediatek/mt7629/init.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <ram.h>
 #include <asm/arch/misc.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <linux/bitops.h>
diff --git a/arch/arm/mach-mediatek/mt8512/init.c b/arch/arm/mach-mediatek/mt8512/init.c
index aa779f437663..c14e7d22e6fc 100644
--- a/arch/arm/mach-mediatek/mt8512/init.c
+++ b/arch/arm/mach-mediatek/mt8512/init.c
@@ -17,6 +17,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8512-clk.h>
diff --git a/arch/arm/mach-mediatek/mt8516/init.c b/arch/arm/mach-mediatek/mt8516/init.c
index 2ffa5595cfc2..3771152fb3ce 100644
--- a/arch/arm/mach-mediatek/mt8516/init.c
+++ b/arch/arm/mach-mediatek/mt8516/init.c
@@ -15,6 +15,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8516-clk.h>
diff --git a/arch/arm/mach-mediatek/mt8518/init.c b/arch/arm/mach-mediatek/mt8518/init.c
index 531a403da1b0..28b00c3dec89 100644
--- a/arch/arm/mach-mediatek/mt8518/init.c
+++ b/arch/arm/mach-mediatek/mt8518/init.c
@@ -16,6 +16,7 @@
 #include <asm/arch/misc.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt8518-clk.h>
diff --git a/arch/arm/mach-meson/board-axg.c b/arch/arm/mach-meson/board-axg.c
index 0d4eda93b8c3..3b14bc998944 100644
--- a/arch/arm/mach-meson/board-axg.c
+++ b/arch/arm/mach-meson/board-axg.c
@@ -11,6 +11,7 @@
 #include <asm/arch/eth.h>
 #include <asm/arch/axg.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c
index 7ea0ed479474..34b3c8f399dd 100644
--- a/arch/arm/mach-meson/board-common.c
+++ b/arch/arm/mach-meson/board-common.c
@@ -11,6 +11,7 @@
 #include <asm/arch/boot.h>
 #include <env.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/libfdt.h>
 #include <linux/err.h>
diff --git a/arch/arm/mach-meson/board-g12a.c b/arch/arm/mach-meson/board-g12a.c
index 14127ca737c1..bb75d4f8ad37 100644
--- a/arch/arm/mach-meson/board-g12a.c
+++ b/arch/arm/mach-meson/board-g12a.c
@@ -13,6 +13,7 @@
 #include <asm/arch/g12a.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
index 7a0e70359662..f5273f42af66 100644
--- a/arch/arm/mach-meson/board-gx.c
+++ b/arch/arm/mach-meson/board-gx.c
@@ -12,6 +12,7 @@
 #include <asm/arch/gx.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/meson-vpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-meson/board-info.c b/arch/arm/mach-meson/board-info.c
index 90e7dfaa3ce9..d16d3f194dba 100644
--- a/arch/arm/mach-meson/board-info.c
+++ b/arch/arm/mach-meson/board-info.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm.h>
 #include <linux/bitfield.h>
diff --git a/arch/arm/mach-meson/sm.c b/arch/arm/mach-meson/sm.c
index ebbb880b71ea..1a8f23cb1faa 100644
--- a/arch/arm/mach-meson/sm.c
+++ b/arch/arm/mach-meson/sm.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <asm/arch/sm.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/bitops.h>
 #include <linux/err.h>
diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c
index c8c065e93c3b..fa687d8abbbd 100644
--- a/arch/arm/mach-mvebu/arm64-common.c
+++ b/arch/arm/mach-mvebu/arm64-common.c
@@ -8,6 +8,7 @@
 #include <fdtdec.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/libfdt.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c
index e438b4922e14..70f76c7d7074 100644
--- a/arch/arm/mach-mvebu/armada3700/cpu.c
+++ b/arch/arm/mach-mvebu/armada3700/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/arch/arm/mach-mvebu/armada8k/dram.c b/arch/arm/mach-mvebu/armada8k/dram.c
index 3da9fa589d27..bab375e18acc 100644
--- a/arch/arm/mach-mvebu/armada8k/dram.c
+++ b/arch/arm/mach-mvebu/armada8k/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-mvebu/dram.c b/arch/arm/mach-mvebu/dram.c
index 6c6f8d8c5c57..349e0cc4c180 100644
--- a/arch/arm/mach-mvebu/dram.c
+++ b/arch/arm/mach-mvebu/dram.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index f645befb2c04..16ebb7a59e55 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/arch/arm/mach-nexell/cmd_boot_linux.c b/arch/arm/mach-nexell/cmd_boot_linux.c
index f2dedfe16257..9b38d38ddb5b 100644
--- a/arch/arm/mach-nexell/cmd_boot_linux.c
+++ b/arch/arm/mach-nexell/cmd_boot_linux.c
@@ -11,6 +11,7 @@
 #include <errno.h>
 #include <image.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 
 #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_CLI_FRAMEWORK)
 
diff --git a/arch/arm/mach-octeontx/cpu.c b/arch/arm/mach-octeontx/cpu.c
index 9c29c31393cc..ce5f2b42d72f 100644
--- a/arch/arm/mach-octeontx/cpu.c
+++ b/arch/arm/mach-octeontx/cpu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/board.h>
 
diff --git a/arch/arm/mach-octeontx2/cpu.c b/arch/arm/mach-octeontx2/cpu.c
index 2a6d5e86613c..87868152b7bb 100644
--- a/arch/arm/mach-octeontx2/cpu.c
+++ b/arch/arm/mach-octeontx2/cpu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/board.h>
 
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
index e17898d8fbfe..ef33b3ca1b4a 100644
--- a/arch/arm/mach-omap2/am33xx/board.c
+++ b/arch/arm/mach-omap2/am33xx/board.c
@@ -26,6 +26,7 @@
 #include <asm/arch/mem.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c
index cb9d7fdb1563..05efe04dc359 100644
--- a/arch/arm/mach-omap2/boot-common.c
+++ b/arch/arm/mach-omap2/boot-common.c
@@ -11,6 +11,7 @@
 #include <ahci.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/omap_common.h>
 #include <asm/arch/omap.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/arch/arm/mach-omap2/hwinit-common.c b/arch/arm/mach-omap2/hwinit-common.c
index 7a7086776ee0..3da50f974dc0 100644
--- a/arch/arm/mach-omap2/hwinit-common.c
+++ b/arch/arm/mach-omap2/hwinit-common.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <spl.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/emif.h>
 #include <asm/omap_common.h>
diff --git a/arch/arm/mach-omap2/omap-cache.c b/arch/arm/mach-omap2/omap-cache.c
index 502ea6987ab7..1b246f844a84 100644
--- a/arch/arm/mach-omap2/omap-cache.c
+++ b/arch/arm/mach-omap2/omap-cache.c
@@ -15,6 +15,7 @@
 #include <cpu_func.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-omap2/omap3/am35x_musb.c b/arch/arm/mach-omap2/omap3/am35x_musb.c
index 026e5d2d130b..1121acc00589 100644
--- a/arch/arm/mach-omap2/omap3/am35x_musb.c
+++ b/arch/arm/mach-omap2/omap3/am35x_musb.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <dm/device.h>
 #include <asm/io.h>
 #include <asm/arch/am35x_def.h>
 
diff --git a/arch/arm/mach-omap2/omap3/emif4.c b/arch/arm/mach-omap2/omap3/emif4.c
index 4cfa13238810..df6e9ce1d6ce 100644
--- a/arch/arm/mach-omap2/omap3/emif4.c
+++ b/arch/arm/mach-omap2/omap3/emif4.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-omap2/omap3/sdrc.c b/arch/arm/mach-omap2/omap3/sdrc.c
index 1d65ed622704..4d85b1dee991 100644
--- a/arch/arm/mach-omap2/omap3/sdrc.c
+++ b/arch/arm/mach-omap2/omap3/sdrc.c
@@ -23,6 +23,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index bcfba16a08e5..82b10f6b2487 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -18,6 +18,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-orion5x/dram.c b/arch/arm/mach-orion5x/dram.c
index 33f65db48ea4..c9a3750e48de 100644
--- a/arch/arm/mach-orion5x/dram.c
+++ b/arch/arm/mach-orion5x/dram.c
@@ -12,6 +12,7 @@
 #include <config.h>
 #include <init.h>
 #include <asm/arch/cpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-orion5x/timer.c b/arch/arm/mach-orion5x/timer.c
index 4926bb777960..0adf3dcc6483 100644
--- a/arch/arm/mach-orion5x/timer.c
+++ b/arch/arm/mach-orion5x/timer.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/arch/arm/mach-owl/soc.c b/arch/arm/mach-owl/soc.c
index fd6ee7c1c0f2..4d2b9d0b0ebc 100644
--- a/arch/arm/mach-owl/soc.c
+++ b/arch/arm/mach-owl/soc.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 #include <linux/psci.h>
 #include <common.h>
diff --git a/arch/arm/mach-rmobile/memmap-gen3.c b/arch/arm/mach-rmobile/memmap-gen3.c
index 578cb9bfd3f8..a68eb806b353 100644
--- a/arch/arm/mach-rmobile/memmap-gen3.c
+++ b/arch/arm/mach-rmobile/memmap-gen3.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 
 #define GEN3_NR_REGIONS 16
 
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index ba4da72b3910..c386b52987e8 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -12,6 +12,7 @@
 #include <ram.h>
 #include <syscon.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/boot_mode.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3036/rk3036.c b/arch/arm/mach-rockchip/rk3036/rk3036.c
index e9e020ff3f58..0a072cf03a88 100644
--- a/arch/arm/mach-rockchip/rk3036/rk3036.c
+++ b/arch/arm/mach-rockchip/rk3036/rk3036.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/grf_rk3036.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/arch/arm/mach-rockchip/rk3128/rk3128.c b/arch/arm/mach-rockchip/rk3128/rk3128.c
index 740bd2ba0770..01dbfa75cb2b 100644
--- a/arch/arm/mach-rockchip/rk3128/rk3128.c
+++ b/arch/arm/mach-rockchip/rk3128/rk3128.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-rockchip/rk3188/rk3188.c b/arch/arm/mach-rockchip/rk3188/rk3188.c
index 222953ab94ad..ad8c6cd1d794 100644
--- a/arch/arm/mach-rockchip/rk3188/rk3188.c
+++ b/arch/arm/mach-rockchip/rk3188/rk3188.c
@@ -9,6 +9,7 @@
 #include <led.h>
 #include <log.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c
index 1a4ecdf62546..bc20bc5ab909 100644
--- a/arch/arm/mach-rockchip/rk3288/rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/rk3288.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/armv7.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3308/rk3308.c b/arch/arm/mach-rockchip/rk3308/rk3308.c
index 8e8214cf7ecb..70fe0d0ac350 100644
--- a/arch/arm/mach-rockchip/rk3308/rk3308.c
+++ b/arch/arm/mach-rockchip/rk3308/rk3308.c
@@ -5,6 +5,7 @@
 #include <common.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/grf_rk3308.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c
index 7c85b2663c88..ec3336cb49af 100644
--- a/arch/arm/mach-rockchip/rk3328/rk3328.c
+++ b/arch/arm/mach-rockchip/rk3328/rk3328.c
@@ -10,6 +10,7 @@
 #include <asm/arch-rockchip/grf_rk3328.h>
 #include <asm/arch-rockchip/uart.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c b/arch/arm/mach-rockchip/rk3368/rk3368.c
index 1c6d65a58870..9b7132d471c3 100644
--- a/arch/arm/mach-rockchip/rk3368/rk3368.c
+++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <syscon.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index c6434839719d..869d2159bea6 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -11,6 +11,7 @@
 #include <spl_gpio.h>
 #include <syscon.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
diff --git a/arch/arm/mach-rockchip/sdram.c b/arch/arm/mach-rockchip/sdram.c
index 4c637b776735..ed07ece15a4d 100644
--- a/arch/arm/mach-rockchip/sdram.c
+++ b/arch/arm/mach-rockchip/sdram.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <ram.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/sdram.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
index 8ccd5afb5609..93b8e7de4d0d 100644
--- a/arch/arm/mach-rockchip/spl-boot-order.c
+++ b/arch/arm/mach-rockchip/spl-boot-order.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <mmc.h>
 #include <spl.h>
+#include <asm/global_data.h>
 
 #if CONFIG_IS_ENABLED(OF_LIBFDT)
 /**
diff --git a/arch/arm/mach-rockchip/spl.c b/arch/arm/mach-rockchip/spl.c
index f148d48b6a35..4b5c22dc1382 100644
--- a/arch/arm/mach-rockchip/spl.c
+++ b/arch/arm/mach-rockchip/spl.c
@@ -13,6 +13,7 @@
 #include <ram.h>
 #include <spl.h>
 #include <asm/arch-rockchip/bootrom.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/arm/mach-snapdragon/pinctrl-snapdragon.h b/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
index 24f8863f59b5..61d466f4d84b 100644
--- a/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
+++ b/arch/arm/mach-snapdragon/pinctrl-snapdragon.h
@@ -8,7 +8,7 @@
 #ifndef _PINCTRL_SNAPDRAGON_H
 #define _PINCTRL_SNAPDRAGON_H
 
-#include <common.h>
+struct udevice;
 
 struct msm_pinctrl_data {
 	int pin_count;
diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c
index 7993c27646cf..2a6af9d1f8ae 100644
--- a/arch/arm/mach-socfpga/board.c
+++ b/arch/arm/mach-socfpga/board.c
@@ -12,6 +12,7 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/misc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <log.h>
 #include <usb.h>
diff --git a/arch/arm/mach-socfpga/clock_manager.c b/arch/arm/mach-socfpga/clock_manager.c
index a4a97b6a0fcf..f0b15f770cc5 100644
--- a/arch/arm/mach-socfpga/clock_manager.c
+++ b/arch/arm/mach-socfpga/clock_manager.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <init.h>
 #include <wait_bit.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock_manager.h>
 
diff --git a/arch/arm/mach-socfpga/clock_manager_agilex.c b/arch/arm/mach-socfpga/clock_manager_agilex.c
index a960176da77c..6377f2ce3bf9 100644
--- a/arch/arm/mach-socfpga/clock_manager_agilex.c
+++ b/arch/arm/mach-socfpga/clock_manager_agilex.c
@@ -11,6 +11,7 @@
 #include <malloc.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/system_manager.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dt-bindings/clock/agilex-clock.h>
 
diff --git a/arch/arm/mach-socfpga/clock_manager_s10.c b/arch/arm/mach-socfpga/clock_manager_s10.c
index 05e42127b57b..642dcbb0ac04 100644
--- a/arch/arm/mach-socfpga/clock_manager_s10.c
+++ b/arch/arm/mach-socfpga/clock_manager_s10.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock_manager.h>
 #include <asm/arch/handoff_s10.h>
diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
index 429444f06940..7dcdae813615 100644
--- a/arch/arm/mach-socfpga/mailbox_s10.c
+++ b/arch/arm/mach-socfpga/mailbox_s10.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <hang.h>
 #include <wait_bit.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mailbox_s10.h>
 #include <asm/arch/system_manager.h>
diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach-socfpga/misc.c
index ac2b891fadea..64a7c9d652c7 100644
--- a/arch/arm/mach-socfpga/misc.c
+++ b/arch/arm/mach-socfpga/misc.c
@@ -9,6 +9,7 @@
 #include <hang.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <fdtdec.h>
diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
index 7209e8d6db78..4edf4f9b5c16 100644
--- a/arch/arm/mach-socfpga/misc_gen5.c
+++ b/arch/arm/mach-socfpga/misc_gen5.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <env.h>
 #include <errno.h>
diff --git a/arch/arm/mach-socfpga/misc_s10.c b/arch/arm/mach-socfpga/misc_s10.c
index 0d67b0fd8360..50c7f19ae14b 100644
--- a/arch/arm/mach-socfpga/misc_s10.c
+++ b/arch/arm/mach-socfpga/misc_s10.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mailbox_s10.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-socfpga/mmu-arm64_s10.c b/arch/arm/mach-socfpga/mmu-arm64_s10.c
index 670ceb92ae3d..a55b7b7cf3b5 100644
--- a/arch/arm/mach-socfpga/mmu-arm64_s10.c
+++ b/arch/arm/mach-socfpga/mmu-arm64_s10.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-socfpga/reset_manager_arria10.c b/arch/arm/mach-socfpga/reset_manager_arria10.c
index aa5299415a74..27c030801134 100644
--- a/arch/arm/mach-socfpga/reset_manager_arria10.c
+++ b/arch/arm/mach-socfpga/reset_manager_arria10.c
@@ -3,6 +3,7 @@
  * Copyright (C) 2016-2017 Intel Corporation
  */
 
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/fpga_manager.h>
 #include <asm/arch/misc.h>
diff --git a/arch/arm/mach-socfpga/reset_manager_s10.c b/arch/arm/mach-socfpga/reset_manager_s10.c
index af8f2c087310..d2337bd4d626 100644
--- a/arch/arm/mach-socfpga/reset_manager_s10.c
+++ b/arch/arm/mach-socfpga/reset_manager_s10.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <hang.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/smc_api.h>
diff --git a/arch/arm/mach-socfpga/spl_a10.c b/arch/arm/mach-socfpga/spl_a10.c
index 45aea4ab6cc3..92231b5ba3c6 100644
--- a/arch/arm/mach-socfpga/spl_a10.c
+++ b/arch/arm/mach-socfpga/spl_a10.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/pl310.h>
 #include <asm/u-boot.h>
diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c
index 78b5d7c8d987..71b17ce3a599 100644
--- a/arch/arm/mach-socfpga/spl_agilex.c
+++ b/arch/arm/mach-socfpga/spl_agilex.c
@@ -6,6 +6,7 @@
 
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/spl_gen5.c b/arch/arm/mach-socfpga/spl_gen5.c
index 5a7c5ef76d5d..7c716117685c 100644
--- a/arch/arm/mach-socfpga/spl_gen5.c
+++ b/arch/arm/mach-socfpga/spl_gen5.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/spl_s10.c b/arch/arm/mach-socfpga/spl_s10.c
index daed05653ad1..955a1161e898 100644
--- a/arch/arm/mach-socfpga/spl_s10.c
+++ b/arch/arm/mach-socfpga/spl_s10.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/u-boot.h>
 #include <asm/utils.h>
diff --git a/arch/arm/mach-socfpga/system_manager_s10.c b/arch/arm/mach-socfpga/system_manager_s10.c
index cdda881efd71..c123cc96445d 100644
--- a/arch/arm/mach-socfpga/system_manager_s10.c
+++ b/arch/arm/mach-socfpga/system_manager_s10.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/system_manager.h>
 
diff --git a/arch/arm/mach-stm32mp/boot_params.c b/arch/arm/mach-stm32mp/boot_params.c
index 13322e34d606..84647e70398b 100644
--- a/arch/arm/mach-stm32mp/boot_params.c
+++ b/arch/arm/mach-stm32mp/boot_params.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <linux/libfdt.h>
 #include <asm/sections.h>
 #include <asm/system.h>
 
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index a8e7158c1f41..d0518d12235f 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -11,6 +11,7 @@
 #include <mmc.h>
 #include <part.h>
 #include <asm/arch/stm32mp1_smc.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <jffs2/load_kernel.h>
 #include <linux/list.h>
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
index 68d841bd9d18..373ca2088611 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
@@ -13,6 +13,7 @@
 #include <dm/lists.h>
 #include <dm/device-internal.h>
 #include <linux/delay.h>
+#include <asm/global_data.h>
 #include "stm32prog.h"
 
 /* - configuration part -----------------------------*/
diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
index 717f80e9ff3d..3faa4ec18a4f 100644
--- a/arch/arm/mach-stm32mp/cpu.c
+++ b/arch/arm/mach-stm32mp/cpu.c
@@ -18,6 +18,7 @@
 #include <asm/arch/bsec.h>
 #include <asm/arch/stm32.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/uclass.h>
 #include <linux/bitops.h>
diff --git a/arch/arm/mach-stm32mp/dram_init.c b/arch/arm/mach-stm32mp/dram_init.c
index 32b177bb798b..ad6977fd4454 100644
--- a/arch/arm/mach-stm32mp/dram_init.c
+++ b/arch/arm/mach-stm32mp/dram_init.c
@@ -12,6 +12,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <ram.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-stm32mp/fdt.c b/arch/arm/mach-stm32mp/fdt.c
index aaedeac8d5bc..ce2fe0206f04 100644
--- a/arch/arm/mach-stm32mp/fdt.c
+++ b/arch/arm/mach-stm32mp/fdt.c
@@ -6,6 +6,7 @@
 #define LOG_CATEGORY LOGC_ARCH
 
 #include <common.h>
+#include <fdtdec.h>
 #include <fdt_support.h>
 #include <log.h>
 #include <tee.h>
diff --git a/arch/arm/mach-stm32mp/spl.c b/arch/arm/mach-stm32mp/spl.c
index 0c50ad54df6a..b53659a698ad 100644
--- a/arch/arm/mach-stm32mp/spl.c
+++ b/arch/arm/mach-stm32mp/spl.c
@@ -13,6 +13,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <linux/libfdt.h>
diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index 9de9836c8d25..21852e2388f7 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -12,6 +12,7 @@
 #include <ns16550.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #if IS_ENABLED(CONFIG_TEGRA_CLKRST)
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index 8569ad7c6fcb..8950e678a619 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <ns16550.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/board.h>
diff --git a/arch/arm/mach-tegra/cboot.c b/arch/arm/mach-tegra/cboot.c
index 16c4cf306ec8..bb46fb23ff79 100644
--- a/arch/arm/mach-tegra/cboot.c
+++ b/arch/arm/mach-tegra/cboot.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <stdlib.h>
 #include <string.h>
+#include <asm/global_data.h>
 
 #include <linux/ctype.h>
 #include <linux/sizes.h>
diff --git a/arch/arm/mach-tegra/emc.c b/arch/arm/mach-tegra/emc.c
index 66628933b653..2eea14b5a744 100644
--- a/arch/arm/mach-tegra/emc.c
+++ b/arch/arm/mach-tegra/emc.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "emc.h"
 #include <asm/io.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/pmc.c b/arch/arm/mach-tegra/pmc.c
index cdc8493efd8e..93db63e104a1 100644
--- a/arch/arm/mach-tegra/pmc.c
+++ b/arch/arm/mach-tegra/pmc.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <linux/arm-smccc.h>
 
diff --git a/arch/arm/mach-tegra/tegra124/xusb-padctl.c b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
index 38afc3cbe6de..d3c7719c3dda 100644
--- a/arch/arm/mach-tegra/tegra124/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra124/xusb-padctl.c
@@ -11,6 +11,7 @@
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
+#include <asm/global_data.h>
 
 #include "../xusb-padctl-common.h"
 
diff --git a/arch/arm/mach-tegra/tegra20/warmboot.c b/arch/arm/mach-tegra/tegra20/warmboot.c
index ddde4a667726..3d3758f6e6f4 100644
--- a/arch/arm/mach-tegra/tegra20/warmboot.c
+++ b/arch/arm/mach-tegra/tegra20/warmboot.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <asm/arch/clock.h>
diff --git a/arch/arm/mach-tegra/tegra210/xusb-padctl.c b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
index d160ce4c999e..c414dfd3b86f 100644
--- a/arch/arm/mach-tegra/tegra210/xusb-padctl.c
+++ b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/of_access.h>
 #include <dm/ofnode.h>
 #include <linux/delay.h>
diff --git a/arch/arm/mach-uniphier/board_late_init.c b/arch/arm/mach-uniphier/board_late_init.c
index 8c5e5bb58f65..b33c4b19389b 100644
--- a/arch/arm/mach-uniphier/board_late_init.c
+++ b/arch/arm/mach-uniphier/board_late_init.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <init.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <stdio.h>
 #include <linux/printk.h>
diff --git a/arch/arm/mach-versal/clk.c b/arch/arm/mach-versal/clk.c
index b1e34796d0d1..249e050cc8d6 100644
--- a/arch/arm/mach-versal/clk.c
+++ b/arch/arm/mach-versal/clk.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <time.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-versal/cpu.c b/arch/arm/mach-versal/cpu.c
index 61c0b663fcfe..a35aac2c02c2 100644
--- a/arch/arm/mach-versal/cpu.c
+++ b/arch/arm/mach-versal/cpu.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-versal/mp.c b/arch/arm/mach-versal/mp.c
index 4b434b0ac3f7..c97c311d3130 100644
--- a/arch/arm/mach-versal/mp.c
+++ b/arch/arm/mach-versal/mp.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-zynq/clk.c b/arch/arm/mach-zynq/clk.c
index 856047613c19..27f6bf218321 100644
--- a/arch/arm/mach-zynq/clk.c
+++ b/arch/arm/mach-zynq/clk.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/arch/clk.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynq/timer.c b/arch/arm/mach-zynq/timer.c
index 37193157d9ec..a51822a53059 100644
--- a/arch/arm/mach-zynq/timer.c
+++ b/arch/arm/mach-zynq/timer.c
@@ -34,6 +34,7 @@
 #include <init.h>
 #include <time.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/clk.h>
diff --git a/arch/arm/mach-zynqmp-r5/cpu.c b/arch/arm/mach-zynqmp-r5/cpu.c
index 87c1d75f9f3c..d841c3a5b377 100644
--- a/arch/arm/mach-zynqmp-r5/cpu.c
+++ b/arch/arm/mach-zynqmp-r5/cpu.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/armv7_mpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynqmp/clk.c b/arch/arm/mach-zynqmp/clk.c
index 5067b339c218..1e6e726e8792 100644
--- a/arch/arm/mach-zynqmp/clk.c
+++ b/arch/arm/mach-zynqmp/clk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/arm/mach-zynqmp/cpu.c b/arch/arm/mach-zynqmp/cpu.c
index 3eb8e8f44875..29743cae5aab 100644
--- a/arch/arm/mach-zynqmp/cpu.c
+++ b/arch/arm/mach-zynqmp/cpu.c
@@ -11,6 +11,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <zynqmp_firmware.h>
 #include <asm/cache.h>
diff --git a/arch/m68k/cpu/mcf5227x/cpu.c b/arch/m68k/cpu/mcf5227x/cpu.c
index 5ea6158c8094..a7adf64f0de0 100644
--- a/arch/m68k/cpu/mcf5227x/cpu.c
+++ b/arch/m68k/cpu/mcf5227x/cpu.c
@@ -13,6 +13,7 @@
 #include <vsprintf.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5227x/speed.c b/arch/m68k/cpu/mcf5227x/speed.c
index 207f4534807e..fa9d5cb7887c 100644
--- a/arch/m68k/cpu/mcf5227x/speed.c
+++ b/arch/m68k/cpu/mcf5227x/speed.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf523x/cpu.c b/arch/m68k/cpu/mcf523x/cpu.c
index 8664231b5a14..8d3ab6f3fb25 100644
--- a/arch/m68k/cpu/mcf523x/cpu.c
+++ b/arch/m68k/cpu/mcf523x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf523x/speed.c b/arch/m68k/cpu/mcf523x/speed.c
index 2f65ac23182c..f41f977d7f5f 100644
--- a/arch/m68k/cpu/mcf523x/speed.c
+++ b/arch/m68k/cpu/mcf523x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf52x2/cpu.c b/arch/m68k/cpu/mcf52x2/cpu.c
index 8898a7562adf..0676e3914105 100644
--- a/arch/m68k/cpu/mcf52x2/cpu.c
+++ b/arch/m68k/cpu/mcf52x2/cpu.c
@@ -19,6 +19,7 @@
 #include <vsprintf.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/arch/m68k/cpu/mcf52x2/speed.c b/arch/m68k/cpu/mcf52x2/speed.c
index 751c83a4fc08..045908a13d40 100644
--- a/arch/m68k/cpu/mcf52x2/speed.c
+++ b/arch/m68k/cpu/mcf52x2/speed.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf530x/speed.c b/arch/m68k/cpu/mcf530x/speed.c
index cf53dfeb150a..03d9abeb182b 100644
--- a/arch/m68k/cpu/mcf530x/speed.c
+++ b/arch/m68k/cpu/mcf530x/speed.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap.h>
 
diff --git a/arch/m68k/cpu/mcf532x/cpu.c b/arch/m68k/cpu/mcf532x/cpu.c
index f1e6f734eb44..d37dd3defb73 100644
--- a/arch/m68k/cpu/mcf532x/cpu.c
+++ b/arch/m68k/cpu/mcf532x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf532x/speed.c b/arch/m68k/cpu/mcf532x/speed.c
index 0f54ea4b6a8b..e2985792d96f 100644
--- a/arch/m68k/cpu/mcf532x/speed.c
+++ b/arch/m68k/cpu/mcf532x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5445x/cpu.c b/arch/m68k/cpu/mcf5445x/cpu.c
index ebe15ca518c4..ac1e59168161 100644
--- a/arch/m68k/cpu/mcf5445x/cpu.c
+++ b/arch/m68k/cpu/mcf5445x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf5445x/speed.c b/arch/m68k/cpu/mcf5445x/speed.c
index eaa3b39bec69..a0b9af8866b3 100644
--- a/arch/m68k/cpu/mcf5445x/speed.c
+++ b/arch/m68k/cpu/mcf5445x/speed.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/cpu.c b/arch/m68k/cpu/mcf547x_8x/cpu.c
index e53adeb46b55..c1361e705799 100644
--- a/arch/m68k/cpu/mcf547x_8x/cpu.c
+++ b/arch/m68k/cpu/mcf547x_8x/cpu.c
@@ -15,6 +15,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/immap.h>
 #include <asm/io.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/slicetimer.c b/arch/m68k/cpu/mcf547x_8x/slicetimer.c
index 33b4cff4ec72..dc076fc6e814 100644
--- a/arch/m68k/cpu/mcf547x_8x/slicetimer.c
+++ b/arch/m68k/cpu/mcf547x_8x/slicetimer.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/timer.h>
diff --git a/arch/m68k/cpu/mcf547x_8x/speed.c b/arch/m68k/cpu/mcf547x_8x/speed.c
index bc22560ed2cf..bbcf601f38fb 100644
--- a/arch/m68k/cpu/mcf547x_8x/speed.c
+++ b/arch/m68k/cpu/mcf547x_8x/speed.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 #include <asm/immap.h>
diff --git a/arch/m68k/lib/bdinfo.c b/arch/m68k/lib/bdinfo.c
index 404e5f19ed82..9ec56fd3418f 100644
--- a/arch/m68k/lib/bdinfo.c
+++ b/arch/m68k/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/m68k/lib/bootm.c b/arch/m68k/lib/bootm.c
index 320451144fd3..51a6f938586d 100644
--- a/arch/m68k/lib/bootm.c
+++ b/arch/m68k/lib/bootm.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <bzlib.h>
 #include <watchdog.h>
diff --git a/arch/m68k/lib/fec.c b/arch/m68k/lib/fec.c
index dde353ad17fd..eecea7a02354 100644
--- a/arch/m68k/lib/fec.c
+++ b/arch/m68k/lib/fec.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 
diff --git a/arch/m68k/lib/time.c b/arch/m68k/lib/time.c
index a3eb6db54be7..cbe29e72a86e 100644
--- a/arch/m68k/lib/time.c
+++ b/arch/m68k/lib/time.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <irq_func.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/timer.h>
diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c
index 829ae26ad274..fe65f3728fdb 100644
--- a/arch/microblaze/cpu/interrupts.c
+++ b/arch/microblaze/cpu/interrupts.c
@@ -13,6 +13,7 @@
 #include <irq_func.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/microblaze_intc.h>
 #include <asm/asm.h>
 
diff --git a/arch/microblaze/cpu/timer.c b/arch/microblaze/cpu/timer.c
index 1b4617311c57..647bdcd5ba52 100644
--- a/arch/microblaze/cpu/timer.c
+++ b/arch/microblaze/cpu/timer.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/microblaze_timer.h>
 #include <asm/microblaze_intc.h>
 #include <linux/delay.h>
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index d2ea1453be04..6695ac63c774 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -18,6 +18,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 7c40e415c74f..d3ad66930131 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -16,6 +16,7 @@
 #include <asm/addrspace.h>
 #include <asm/byteorder.h>
 #include <asm/cpu-features.h>
+#include <asm/global_data.h>
 #include <asm/pgtable-bits.h>
 #include <asm/processor.h>
 #include <asm/string.h>
diff --git a/arch/mips/lib/boot.c b/arch/mips/lib/boot.c
index 6ef9109022e3..1b29d637ce9b 100644
--- a/arch/mips/lib/boot.c
+++ b/arch/mips/lib/boot.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index d5c99d891cd0..fde90fced44f 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/mips/lib/cache.c b/arch/mips/lib/cache.c
index cf29994a7ae8..51a8f4334750 100644
--- a/arch/mips/lib/cache.c
+++ b/arch/mips/lib/cache.c
@@ -9,6 +9,7 @@
 #include <asm/cache.h>
 #include <asm/cacheops.h>
 #include <asm/cm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>
 #include <asm/system.h>
diff --git a/arch/mips/lib/stack.c b/arch/mips/lib/stack.c
index 8f523fd6fb75..930d21856d90 100644
--- a/arch/mips/lib/stack.c
+++ b/arch/mips/lib/stack.c
@@ -3,6 +3,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/lib/traps.c b/arch/mips/lib/traps.c
index 540ea48e32f7..7577fdd25d79 100644
--- a/arch/mips/lib/traps.c
+++ b/arch/mips/lib/traps.c
@@ -11,6 +11,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <cpu_func.h>
 #include <hang.h>
diff --git a/arch/mips/mach-ath79/ar933x/clk.c b/arch/mips/mach-ath79/ar933x/clk.c
index 3feb25ce71df..68d48939d7d2 100644
--- a/arch/mips/mach-ath79/ar933x/clk.c
+++ b/arch/mips/mach-ath79/ar933x/clk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/ar934x/clk.c b/arch/mips/mach-ath79/ar934x/clk.c
index 9fa2225ed2be..6ed4057353a8 100644
--- a/arch/mips/mach-ath79/ar934x/clk.c
+++ b/arch/mips/mach-ath79/ar934x/clk.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <command.h>
 #include <hang.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/ar934x/ddr.c b/arch/mips/mach-ath79/ar934x/ddr.c
index 218f60a96cce..9df48b97ef46 100644
--- a/arch/mips/mach-ath79/ar934x/ddr.c
+++ b/arch/mips/mach-ath79/ar934x/ddr.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
index 31e87d620603..79f419088a99 100644
--- a/arch/mips/mach-ath79/cpu.c
+++ b/arch/mips/mach-ath79/cpu.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <asm/types.h>
 #include <mach/ath79.h>
 #include <mach/ar71xx_regs.h>
diff --git a/arch/mips/mach-ath79/dram.c b/arch/mips/mach-ath79/dram.c
index 1abe2a49e661..545b1199e106 100644
--- a/arch/mips/mach-ath79/dram.c
+++ b/arch/mips/mach-ath79/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/addrspace.h>
 #include <mach/ddr.h>
diff --git a/arch/mips/mach-ath79/include/mach/ath79.h b/arch/mips/mach-ath79/include/mach/ath79.h
index 0fde5079b167..2eda38885e36 100644
--- a/arch/mips/mach-ath79/include/mach/ath79.h
+++ b/arch/mips/mach-ath79/include/mach/ath79.h
@@ -11,6 +11,7 @@
 #ifndef __ASM_MACH_ATH79_H
 #define __ASM_MACH_ATH79_H
 
+#include <asm/global_data.h>
 #include <linux/types.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/mips/mach-ath79/qca953x/clk.c b/arch/mips/mach-ath79/qca953x/clk.c
index d450ad865233..f5438ef1c8d9 100644
--- a/arch/mips/mach-ath79/qca953x/clk.c
+++ b/arch/mips/mach-ath79/qca953x/clk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/qca956x/clk.c b/arch/mips/mach-ath79/qca956x/clk.c
index 5adf6cd8159b..6a58dba91f3f 100644
--- a/arch/mips/mach-ath79/qca956x/clk.c
+++ b/arch/mips/mach-ath79/qca956x/clk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-ath79/qca956x/ddr.c b/arch/mips/mach-ath79/qca956x/ddr.c
index e61a368141ba..f9cf8daa2242 100644
--- a/arch/mips/mach-ath79/qca956x/ddr.c
+++ b/arch/mips/mach-ath79/qca956x/ddr.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-bmips/dram.c b/arch/mips/mach-bmips/dram.c
index a772a655d921..bba6cd6f4aaf 100644
--- a/arch/mips/mach-bmips/dram.c
+++ b/arch/mips/mach-bmips/dram.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <ram.h>
 #include <dm.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/mips/mach-jz47xx/jz4780/jz4780.c b/arch/mips/mach-jz47xx/jz4780/jz4780.c
index 26fcfc842c28..43f5651f8326 100644
--- a/arch/mips/mach-jz47xx/jz4780/jz4780.c
+++ b/arch/mips/mach-jz47xx/jz4780/jz4780.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 #include <mach/jz4780.h>
diff --git a/arch/mips/mach-mscc/cpu.c b/arch/mips/mach-mscc/cpu.c
index b4ffd44ea441..5bc31006aa15 100644
--- a/arch/mips/mach-mscc/cpu.c
+++ b/arch/mips/mach-mscc/cpu.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 #include <asm/io.h>
diff --git a/arch/mips/mach-mscc/dram.c b/arch/mips/mach-mscc/dram.c
index b12bac63c27d..c53a4202e0d9 100644
--- a/arch/mips/mach-mscc/dram.c
+++ b/arch/mips/mach-mscc/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/types.h>
diff --git a/arch/mips/mach-mtmips/cpu.c b/arch/mips/mach-mtmips/cpu.c
index ca1967055a2e..a4b5cff61d98 100644
--- a/arch/mips/mach-mtmips/cpu.c
+++ b/arch/mips/mach-mtmips/cpu.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
diff --git a/arch/mips/mach-mtmips/ddr_cal.c b/arch/mips/mach-mtmips/ddr_cal.c
index 71a53c3c9cbf..762619a960f3 100644
--- a/arch/mips/mach-mtmips/ddr_cal.c
+++ b/arch/mips/mach-mtmips/ddr_cal.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <asm/addrspace.h>
 #include <asm/cacheops.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <mach/mc.h>
diff --git a/arch/mips/mach-mtmips/mt7628/ddr.c b/arch/mips/mach-mtmips/mt7628/ddr.c
index 3df85cd144a3..b091f2ecffc7 100644
--- a/arch/mips/mach-mtmips/mt7628/ddr.c
+++ b/arch/mips/mach-mtmips/mt7628/ddr.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <asm/addrspace.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/sizes.h>
diff --git a/arch/mips/mach-mtmips/mt7628/init.c b/arch/mips/mach-mtmips/mt7628/init.c
index 33538647a2d6..7c531ff68679 100644
--- a/arch/mips/mach-mtmips/mt7628/init.c
+++ b/arch/mips/mach-mtmips/mt7628/init.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <clk.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dt-bindings/clock/mt7628-clk.h>
 #include <linux/io.h>
diff --git a/arch/mips/mach-mtmips/spl.c b/arch/mips/mach-mtmips/spl.c
index 38d9e9160d2e..95201b8d7ab2 100644
--- a/arch/mips/mach-mtmips/spl.c
+++ b/arch/mips/mach-mtmips/spl.c
@@ -6,10 +6,10 @@
  */
 
 #include <common.h>
-#include <fdt.h>
 #include <init.h>
 #include <spl.h>
 #include <asm/sections.h>
+#include <linux/libfdt.h>
 #include <linux/sizes.h>
 #include <mach/serial.h>
 
diff --git a/arch/mips/mach-octeon/bootoctlinux.c b/arch/mips/mach-octeon/bootoctlinux.c
index 26136902f341..f661c16d4768 100644
--- a/arch/mips/mach-octeon/bootoctlinux.c
+++ b/arch/mips/mach-octeon/bootoctlinux.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <elf.h>
 #include <env.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <linux/compat.h>
diff --git a/arch/mips/mach-pic32/cpu.c b/arch/mips/mach-pic32/cpu.c
index 1d8c39714411..eac2fe5f8c94 100644
--- a/arch/mips/mach-pic32/cpu.c
+++ b/arch/mips/mach-pic32/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <mach/pic32.h>
 #include <mach/ddr.h>
 #include <dt-bindings/clock/microchip,clock.h>
diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c
index e552a3423005..b3b8bc290378 100644
--- a/arch/nds32/lib/bootm.c
+++ b/arch/nds32/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <hang.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 #include <asm/bootm.h>
diff --git a/arch/nios2/cpu/cpu.c b/arch/nios2/cpu/cpu.c
index e7ca9882fc58..b55c8fbc5841 100644
--- a/arch/nios2/cpu/cpu.c
+++ b/arch/nios2/cpu/cpu.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <irq_func.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/nios2/include/asm/io.h b/arch/nios2/include/asm/io.h
index 41e6bd4ee104..817cd72e00bd 100644
--- a/arch/nios2/include/asm/io.h
+++ b/arch/nios2/include/asm/io.h
@@ -7,6 +7,8 @@
 #ifndef __ASM_NIOS2_IO_H_
 #define __ASM_NIOS2_IO_H_
 
+#include <asm/global_data.h>
+
 static inline void sync(void)
 {
 	__asm__ __volatile__ ("sync" : : : "memory");
@@ -170,5 +172,6 @@ static inline void outsl (unsigned long port, const void *src, unsigned long cou
 #define memcpy_toio(a, b, c)		memcpy((void *)(a), (b), (c))
 
 #include <asm-generic/io.h>
+#include <asm/global_data.h>
 
 #endif /* __ASM_NIOS2_IO_H_ */
diff --git a/arch/nios2/lib/cache.c b/arch/nios2/lib/cache.c
index 0b961ac67620..5864d8f0f473 100644
--- a/arch/nios2/lib/cache.c
+++ b/arch/nios2/lib/cache.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/cpu/mpc83xx/cpu.c b/arch/powerpc/cpu/mpc83xx/cpu.c
index 843f2df649ec..8d531898bd89 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu.c
@@ -18,6 +18,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
diff --git a/arch/powerpc/cpu/mpc83xx/cpu_init.c b/arch/powerpc/cpu/mpc83xx/cpu_init.c
index 840f907acb8e..e6dcb8a33507 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu_init.c
@@ -7,6 +7,7 @@
 #include <asm-offsets.h>
 #include <mpc83xx.h>
 #include <ioports.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 #include <fsl_qe.h>
diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c
index 4ea7b27ef412..3393ad562e8d 100644
--- a/arch/powerpc/cpu/mpc83xx/fdt.c
+++ b/arch/powerpc/cpu/mpc83xx/fdt.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <clock_legacy.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/cpu/mpc83xx/interrupts.c b/arch/powerpc/cpu/mpc83xx/interrupts.c
index 05380674dc74..f9486678af33 100644
--- a/arch/powerpc/cpu/mpc83xx/interrupts.c
+++ b/arch/powerpc/cpu/mpc83xx/interrupts.c
@@ -10,6 +10,7 @@
 #include <command.h>
 #include <irq_func.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/ptrace.h>
 
diff --git a/arch/powerpc/cpu/mpc83xx/pci.c b/arch/powerpc/cpu/mpc83xx/pci.c
index d057cd6351c1..5c289d002260 100644
--- a/arch/powerpc/cpu/mpc83xx/pci.c
+++ b/arch/powerpc/cpu/mpc83xx/pci.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <pci.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #if defined(CONFIG_OF_LIBFDT)
diff --git a/arch/powerpc/cpu/mpc83xx/pcie.c b/arch/powerpc/cpu/mpc83xx/pcie.c
index 785d4805a469..84797c871c95 100644
--- a/arch/powerpc/cpu/mpc83xx/pcie.c
+++ b/arch/powerpc/cpu/mpc83xx/pcie.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <pci.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/arch/powerpc/cpu/mpc83xx/spd_sdram.c b/arch/powerpc/cpu/mpc83xx/spd_sdram.c
index aeff007fb063..a861e8dd2ddc 100644
--- a/arch/powerpc/cpu/mpc83xx/spd_sdram.c
+++ b/arch/powerpc/cpu/mpc83xx/spd_sdram.c
@@ -24,6 +24,7 @@
 #include <asm/mmu.h>
 #include <spd_sdram.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc83xx/speed.c b/arch/powerpc/cpu/mpc83xx/speed.c
index 5c14aa1f32e7..58e197f12082 100644
--- a/arch/powerpc/cpu/mpc83xx/speed.c
+++ b/arch/powerpc/cpu/mpc83xx/speed.c
@@ -13,6 +13,7 @@
 #include <mpc83xx.h>
 #include <command.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc83xx/spl_minimal.c b/arch/powerpc/cpu/mpc83xx/spl_minimal.c
index 2c61f2b81dbf..00cb2bd044ef 100644
--- a/arch/powerpc/cpu/mpc83xx/spl_minimal.c
+++ b/arch/powerpc/cpu/mpc83xx/spl_minimal.c
@@ -8,6 +8,7 @@
 #include <clock_legacy.h>
 #include <mpc83xx.h>
 #include <time.h>
+#include <asm/global_data.h>
 
 #include "lblaw/lblaw.h"
 #include "elbc/elbc.h"
diff --git a/arch/powerpc/cpu/mpc83xx/traps.c b/arch/powerpc/cpu/mpc83xx/traps.c
index ea8bc6c15280..22e451c58d68 100644
--- a/arch/powerpc/cpu/mpc83xx/traps.c
+++ b/arch/powerpc/cpu/mpc83xx/traps.c
@@ -12,6 +12,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <kgdb.h>
diff --git a/arch/powerpc/cpu/mpc85xx/commproc.c b/arch/powerpc/cpu/mpc85xx/commproc.c
index 95215a0b8292..8e8427a08bbe 100644
--- a/arch/powerpc/cpu/mpc85xx/commproc.c
+++ b/arch/powerpc/cpu/mpc85xx/commproc.c
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <asm-offsets.h>
 #include <asm/cpm_85xx.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 3ff1ef45658b..5170610f0413 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -20,6 +20,7 @@
 #include <command.h>
 #include <fsl_esdhc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mmu.h>
 #include <fsl_ifc.h>
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
index c519e8bd4b03..4195ecc5c98f 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <asm-offsets.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/fsl_law.h>
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 0d8353ceb26c..7d168e3c9a0e 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/cpu/mpc85xx/mp.c b/arch/powerpc/cpu/mpc85xx/mp.c
index 8822cf29fefd..653efe09f935 100644
--- a/arch/powerpc/cpu/mpc85xx/mp.c
+++ b/arch/powerpc/cpu/mpc85xx/mp.c
@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <env.h>
 #include <ioports.h>
diff --git a/arch/powerpc/cpu/mpc85xx/serial_scc.c b/arch/powerpc/cpu/mpc85xx/serial_scc.c
index a5c418570fa2..a2505d1ffc1d 100644
--- a/arch/powerpc/cpu/mpc85xx/serial_scc.c
+++ b/arch/powerpc/cpu/mpc85xx/serial_scc.c
@@ -18,6 +18,7 @@
 #include <common.h>
 #include <asm/cpm_85xx.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/powerpc/cpu/mpc85xx/speed.c b/arch/powerpc/cpu/mpc85xx/speed.c
index 773ae08dd3b7..09653c70125f 100644
--- a/arch/powerpc/cpu/mpc85xx/speed.c
+++ b/arch/powerpc/cpu/mpc85xx/speed.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <ppc_asm.tmpl>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/processor.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c
index 4465ae7565a4..973b6fbe4b74 100644
--- a/arch/powerpc/cpu/mpc85xx/tlb.c
+++ b/arch/powerpc/cpu/mpc85xx/tlb.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #ifdef CONFIG_ADDR_MAP
diff --git a/arch/powerpc/cpu/mpc85xx/traps.c b/arch/powerpc/cpu/mpc85xx/traps.c
index db6ed1fc92e9..def47285ba3b 100644
--- a/arch/powerpc/cpu/mpc85xx/traps.c
+++ b/arch/powerpc/cpu/mpc85xx/traps.c
@@ -20,6 +20,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <init.h>
diff --git a/arch/powerpc/cpu/mpc86xx/cpu.c b/arch/powerpc/cpu/mpc86xx/cpu.c
index 9f5bce3992b8..98b42bff7a3b 100644
--- a/arch/powerpc/cpu/mpc86xx/cpu.c
+++ b/arch/powerpc/cpu/mpc86xx/cpu.c
@@ -13,6 +13,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <mpc86xx.h>
 #include <asm/fsl_law.h>
diff --git a/arch/powerpc/cpu/mpc86xx/cpu_init.c b/arch/powerpc/cpu/mpc86xx/cpu_init.c
index a17091d2ff8c..73779f862c2a 100644
--- a/arch/powerpc/cpu/mpc86xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc86xx/cpu_init.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc86xx.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <asm/fsl_law.h>
 #include <asm/fsl_serdes.h>
diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c
index 010b6d4fe606..1313d8adde66 100644
--- a/arch/powerpc/cpu/mpc86xx/fdt.c
+++ b/arch/powerpc/cpu/mpc86xx/fdt.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/mp.h>
diff --git a/arch/powerpc/cpu/mpc86xx/mp.c b/arch/powerpc/cpu/mpc86xx/mp.c
index 08d11ad4f2e5..e6795e06c98b 100644
--- a/arch/powerpc/cpu/mpc86xx/mp.c
+++ b/arch/powerpc/cpu/mpc86xx/mp.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <cpu_func.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <ioports.h>
diff --git a/arch/powerpc/cpu/mpc86xx/speed.c b/arch/powerpc/cpu/mpc86xx/speed.c
index 500144586229..86c1709c4ca2 100644
--- a/arch/powerpc/cpu/mpc86xx/speed.c
+++ b/arch/powerpc/cpu/mpc86xx/speed.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <mpc86xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc86xx/traps.c b/arch/powerpc/cpu/mpc86xx/traps.c
index 3ee0ec859cf8..46006ece4160 100644
--- a/arch/powerpc/cpu/mpc86xx/traps.c
+++ b/arch/powerpc/cpu/mpc86xx/traps.c
@@ -14,6 +14,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <command.h>
 #include <init.h>
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 7c93e35003ff..893aecef21c2 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -27,6 +27,7 @@
 #include <netdev.h>
 #include <asm/cache.h>
 #include <asm/cpm_8xx.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/fdt.c b/arch/powerpc/cpu/mpc8xx/fdt.c
index 226e258f0ea7..b4a26efe3027 100644
--- a/arch/powerpc/cpu/mpc8xx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xx/fdt.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/immap.c b/arch/powerpc/cpu/mpc8xx/immap.c
index e5b62e9f4acf..40793c26e120 100644
--- a/arch/powerpc/cpu/mpc8xx/immap.c
+++ b/arch/powerpc/cpu/mpc8xx/immap.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 #include <asm/immap_8xx.h>
 #include <asm/cpm_8xx.h>
diff --git a/arch/powerpc/cpu/mpc8xx/speed.c b/arch/powerpc/cpu/mpc8xx/speed.c
index 77d4f8e47f74..ad3d3f9101cc 100644
--- a/arch/powerpc/cpu/mpc8xx/speed.c
+++ b/arch/powerpc/cpu/mpc8xx/speed.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <clock_legacy.h>
 #include <mpc8xx.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c
index b2d1dc5b4819..eda64861ee6f 100644
--- a/arch/powerpc/cpu/mpc8xxx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xxx/cpu.c
@@ -17,6 +17,7 @@
 #include <fm_eth.h>
 #include <netdev.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <vsc9953.h>
 
diff --git a/arch/powerpc/cpu/mpc8xxx/law.c b/arch/powerpc/cpu/mpc8xxx/law.c
index e388386ad42e..cf03f4101906 100644
--- a/arch/powerpc/cpu/mpc8xxx/law.c
+++ b/arch/powerpc/cpu/mpc8xxx/law.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/fsl_law.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/cpu/mpc8xxx/pamu_table.c b/arch/powerpc/cpu/mpc8xxx/pamu_table.c
index 7dd71d2e0c4a..d917e9dfb62f 100644
--- a/arch/powerpc/cpu/mpc8xxx/pamu_table.c
+++ b/arch/powerpc/cpu/mpc8xxx/pamu_table.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <log.h>
 #include <asm/fsl_pamu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/lib/bat_rw.c b/arch/powerpc/lib/bat_rw.c
index ac56e3aeddba..24dd30615bd3 100644
--- a/arch/powerpc/lib/bat_rw.c
+++ b/arch/powerpc/lib/bat_rw.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/lib/bdinfo.c b/arch/powerpc/lib/bdinfo.c
index 36c9c99ee6ff..39062804ccfe 100644
--- a/arch/powerpc/lib/bdinfo.c
+++ b/arch/powerpc/lib/bdinfo.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
index b903e6ec8dc5..31c17b5bb388 100644
--- a/arch/powerpc/lib/bootm.c
+++ b/arch/powerpc/lib/bootm.c
@@ -18,6 +18,7 @@
 #include <command.h>
 #include <image.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <bzlib.h>
 #include <asm/byteorder.h>
diff --git a/arch/powerpc/lib/stack.c b/arch/powerpc/lib/stack.c
index 5840fe63490f..f2a4652e081d 100644
--- a/arch/powerpc/lib/stack.c
+++ b/arch/powerpc/lib/stack.c
@@ -12,6 +12,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/powerpc/lib/traps.c b/arch/powerpc/lib/traps.c
index 288e37763284..c7bce82a44b3 100644
--- a/arch/powerpc/lib/traps.c
+++ b/arch/powerpc/lib/traps.c
@@ -4,8 +4,8 @@
  * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
  */
 
-#include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/riscv/cpu/fu540/cache.c b/arch/riscv/cpu/fu540/cache.c
index 78f5ad9d602f..0fc4ef6c0076 100644
--- a/arch/riscv/cpu/fu540/cache.c
+++ b/arch/riscv/cpu/fu540/cache.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 
diff --git a/arch/riscv/cpu/fu540/dram.c b/arch/riscv/cpu/fu540/dram.c
index 1dc77efeca55..cec130ec8dc6 100644
--- a/arch/riscv/cpu/fu540/dram.c
+++ b/arch/riscv/cpu/fu540/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/cpu/generic/dram.c b/arch/riscv/cpu/generic/dram.c
index 1dc77efeca55..cec130ec8dc6 100644
--- a/arch/riscv/cpu/generic/dram.c
+++ b/arch/riscv/cpu/generic/dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/lib/andes_plic.c b/arch/riscv/lib/andes_plic.c
index 267d6a191b21..221a5fe324e2 100644
--- a/arch/riscv/lib/andes_plic.c
+++ b/arch/riscv/lib/andes_plic.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/riscv/lib/asm-offsets.c b/arch/riscv/lib/asm-offsets.c
index 7301c1b98e23..f1fe089b3d8f 100644
--- a/arch/riscv/lib/asm-offsets.c
+++ b/arch/riscv/lib/asm-offsets.c
@@ -9,6 +9,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/kbuild.h>
 
 int main(void)
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
index c4137ded834b..8dd18205403c 100644
--- a/arch/riscv/lib/bootm.c
+++ b/arch/riscv/lib/bootm.c
@@ -13,6 +13,7 @@
 #include <fdt_support.h>
 #include <hang.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/root.h>
 #include <image.h>
 #include <asm/byteorder.h>
diff --git a/arch/riscv/lib/fdt_fixup.c b/arch/riscv/lib/fdt_fixup.c
index d02062fd5bd6..1f3f23621c33 100644
--- a/arch/riscv/lib/fdt_fixup.c
+++ b/arch/riscv/lib/fdt_fixup.c
@@ -10,6 +10,7 @@
 #include <fdt_support.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/riscv/lib/image.c b/arch/riscv/lib/image.c
index 91b7f1624e9f..47f2edcf7fc2 100644
--- a/arch/riscv/lib/image.c
+++ b/arch/riscv/lib/image.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <mapmem.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <linux/stddef.h>
 
diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c
index fb3ce118c177..7525c152b890 100644
--- a/arch/riscv/lib/interrupts.c
+++ b/arch/riscv/lib/interrupts.c
@@ -13,6 +13,7 @@
 #include <efi_loader.h>
 #include <hang.h>
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/encoding.h>
diff --git a/arch/riscv/lib/sifive_clint.c b/arch/riscv/lib/sifive_clint.c
index cfa288a01a84..ab22395c5529 100644
--- a/arch/riscv/lib/sifive_clint.c
+++ b/arch/riscv/lib/sifive_clint.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/smp.h>
 #include <linux/err.h>
diff --git a/arch/riscv/lib/smp.c b/arch/riscv/lib/smp.c
index 8f33ce1fe369..ba992100adf1 100644
--- a/arch/riscv/lib/smp.c
+++ b/arch/riscv/lib/smp.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <dm.h>
 #include <asm/barrier.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/riscv/lib/spl.c b/arch/riscv/lib/spl.c
index 5e19d0f36ab2..8baee07beac1 100644
--- a/arch/riscv/lib/spl.c
+++ b/arch/riscv/lib/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c
index fb857e53d592..edd48e2c1b74 100644
--- a/arch/sandbox/cpu/cpu.c
+++ b/arch/sandbox/cpu/cpu.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <os.h>
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c
index 9a77da15619c..e7b4b50681ac 100644
--- a/arch/sandbox/cpu/spl.c
+++ b/arch/sandbox/cpu/spl.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <os.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/spl.h>
 #include <asm/state.h>
 #include <test/test.h>
diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c
index 254258097474..483a26404046 100644
--- a/arch/sandbox/cpu/start.c
+++ b/arch/sandbox/cpu/start.c
@@ -14,6 +14,7 @@
 #include <cli.h>
 #include <sort.h>
 #include <asm/getopt.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/malloc.h>
 #include <asm/sections.h>
diff --git a/arch/sandbox/lib/interrupts.c b/arch/sandbox/lib/interrupts.c
index 9c2c60b8c685..4d7cbff802c6 100644
--- a/arch/sandbox/lib/interrupts.c
+++ b/arch/sandbox/lib/interrupts.c
@@ -9,6 +9,7 @@
 #include <efi_loader.h>
 #include <irq_func.h>
 #include <os.h>
+#include <asm/global_data.h>
 #include <asm-generic/signal.h>
 #include <asm/u-boot-sandbox.h>
 
diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index a6a8f07e6f26..3fa093a02ea3 100644
--- a/arch/sh/lib/board.c
+++ b/arch/sh/lib/board.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/apollolake/cpu.c b/arch/x86/cpu/apollolake/cpu.c
index 328f79255f8c..fbc016d0e0ba 100644
--- a/arch/x86/cpu/apollolake/cpu.c
+++ b/arch/x86/cpu/apollolake/cpu.c
@@ -11,6 +11,7 @@
 #include <acpi/acpi_table.h>
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
+#include <asm/global_data.h>
 #include <asm/intel_acpi.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/apollolake/cpu_spl.c b/arch/x86/cpu/apollolake/cpu_spl.c
index fafe4dbc0a04..9a18476b22c8 100644
--- a/arch/x86/cpu/apollolake/cpu_spl.c
+++ b/arch/x86/cpu/apollolake/cpu_spl.c
@@ -18,6 +18,7 @@
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
 #include <asm/fast_spi.h>
+#include <asm/global_data.h>
 #include <asm/intel_pinctrl.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/apollolake/fsp_s.c b/arch/x86/cpu/apollolake/fsp_s.c
index 288188027a41..a9b13c0c7047 100644
--- a/arch/x86/cpu/apollolake/fsp_s.c
+++ b/arch/x86/cpu/apollolake/fsp_s.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <p2sb.h>
 #include <acpi/acpi_s3.h>
+#include <asm/global_data.h>
 #include <asm/intel_pinctrl.h>
 #include <asm/io.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/baytrail/fsp_configs.c b/arch/x86/cpu/baytrail/fsp_configs.c
index 21816ce5b883..fb3f946c45f9 100644
--- a/arch/x86/cpu/baytrail/fsp_configs.c
+++ b/arch/x86/cpu/baytrail/fsp_configs.c
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/braswell/fsp_configs.c b/arch/x86/cpu/braswell/fsp_configs.c
index 9e710a940cad..243298fd5718 100644
--- a/arch/x86/cpu/braswell/fsp_configs.c
+++ b/arch/x86/cpu/braswell/fsp_configs.c
@@ -7,6 +7,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/broadwell/cpu.c b/arch/x86/cpu/broadwell/cpu.c
index b77301118cdf..3832a97f2c73 100644
--- a/arch/x86/cpu/broadwell/cpu.c
+++ b/arch/x86/cpu/broadwell/cpu.c
@@ -13,6 +13,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lpc_common.h>
 #include <asm/msr.h>
diff --git a/arch/x86/cpu/broadwell/cpu_from_spl.c b/arch/x86/cpu/broadwell/cpu_from_spl.c
index 4d4cdafa2b0a..e5f62e7187cb 100644
--- a/arch/x86/cpu/broadwell/cpu_from_spl.c
+++ b/arch/x86/cpu/broadwell/cpu_from_spl.c
@@ -11,6 +11,7 @@
 #include <handoff.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mtrr.h>
 
 int misc_init_r(void)
diff --git a/arch/x86/cpu/broadwell/cpu_full.c b/arch/x86/cpu/broadwell/cpu_full.c
index ea9e98dde69f..2049dbfe24a5 100644
--- a/arch/x86/cpu/broadwell/cpu_full.c
+++ b/arch/x86/cpu/broadwell/cpu_full.c
@@ -13,6 +13,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/msr.h>
 #include <asm/post.h>
diff --git a/arch/x86/cpu/broadwell/lpc.c b/arch/x86/cpu/broadwell/lpc.c
index 5669a028cf34..d2638a4e7a6b 100644
--- a/arch/x86/cpu/broadwell/lpc.c
+++ b/arch/x86/cpu/broadwell/lpc.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <log.h>
 #include <pch.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/broadwell/northbridge.c b/arch/x86/cpu/broadwell/northbridge.c
index 4bcab785560f..141babc51c3a 100644
--- a/arch/x86/cpu/broadwell/northbridge.c
+++ b/arch/x86/cpu/broadwell/northbridge.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrc_common.h>
 #include <asm/arch/iomap.h>
diff --git a/arch/x86/cpu/broadwell/pch.c b/arch/x86/cpu/broadwell/pch.c
index 9bcf211af99c..f012db9debe8 100644
--- a/arch/x86/cpu/broadwell/pch.c
+++ b/arch/x86/cpu/broadwell/pch.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <pch.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/i8259.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/broadwell/pinctrl_broadwell.c b/arch/x86/cpu/broadwell/pinctrl_broadwell.c
index 0ead13af62aa..85bd37101ba2 100644
--- a/arch/x86/cpu/broadwell/pinctrl_broadwell.c
+++ b/arch/x86/cpu/broadwell/pinctrl_broadwell.c
@@ -11,6 +11,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/arch/x86/cpu/broadwell/sata.c b/arch/x86/cpu/broadwell/sata.c
index ceb395ddcfd3..be3c9e764ef3 100644
--- a/arch/x86/cpu/broadwell/sata.c
+++ b/arch/x86/cpu/broadwell/sata.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/broadwell/sdram.c b/arch/x86/cpu/broadwell/sdram.c
index 72f59a0a5734..c104a849a545 100644
--- a/arch/x86/cpu/broadwell/sdram.c
+++ b/arch/x86/cpu/broadwell/sdram.c
@@ -12,6 +12,7 @@
 #include <pci.h>
 #include <syscon.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
 #include <asm/mrccache.h>
diff --git a/arch/x86/cpu/call32.S b/arch/x86/cpu/call32.S
index e641e781c04c..b28d58a317d3 100644
--- a/arch/x86/cpu/call32.S
+++ b/arch/x86/cpu/call32.S
@@ -4,7 +4,6 @@
  * Written by Simon Glass <sjg@chromium.org>
  */
 
-#include <asm/global_data.h>
 #include <asm/msr-index.h>
 #include <asm/processor-flags.h>
 
diff --git a/arch/x86/cpu/coreboot/coreboot.c b/arch/x86/cpu/coreboot/coreboot.c
index 22a93254a939..15c3ad879a00 100644
--- a/arch/x86/cpu/coreboot/coreboot.c
+++ b/arch/x86/cpu/coreboot/coreboot.c
@@ -10,6 +10,7 @@
 #include <fdtdec.h>
 #include <init.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c
index 27e859885e8c..a2e47d196a2e 100644
--- a/arch/x86/cpu/coreboot/sdram.c
+++ b/arch/x86/cpu/coreboot/sdram.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <asm/e820.h>
 #include <asm/arch/sysinfo.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/cpu/coreboot/tables.c
index 1594b4a8b2ab..c52741ac9da6 100644
--- a/arch/x86/cpu/coreboot/tables.c
+++ b/arch/x86/cpu/coreboot/tables.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <net.h>
 #include <asm/arch/sysinfo.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index 71351262f66d..9c4edfcbfdaa 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -37,6 +37,7 @@
 #include <asm/control_regs.h>
 #include <asm/coreboot_tables.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/lapic.h>
 #include <asm/microcode.h>
 #include <asm/mp.h>
diff --git a/arch/x86/cpu/cpu_x86.c b/arch/x86/cpu/cpu_x86.c
index bfb511a5101b..59da41f38333 100644
--- a/arch/x86/cpu/cpu_x86.c
+++ b/arch/x86/cpu/cpu_x86.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/efi/payload.c b/arch/x86/cpu/efi/payload.c
index 71619f6f01b5..9a73b768e9b8 100644
--- a/arch/x86/cpu/efi/payload.c
+++ b/arch/x86/cpu/efi/payload.c
@@ -13,6 +13,7 @@
 #include <usb.h>
 #include <asm/bootparam.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/cpu/efi/sdram.c b/arch/x86/cpu/efi/sdram.c
index 3143c079adbd..af65982fd0c0 100644
--- a/arch/x86/cpu/efi/sdram.c
+++ b/arch/x86/cpu/efi/sdram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <efi.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/cpu/i386/call64.S b/arch/x86/cpu/i386/call64.S
index 0ffc1006bbf7..d81bcc6f8f4c 100644
--- a/arch/x86/cpu/i386/call64.S
+++ b/arch/x86/cpu/i386/call64.S
@@ -6,7 +6,6 @@
  * Parts of this copied from Linux arch/x86/boot/compressed/head_64.S
  */
 
-#include <asm/global_data.h>
 #include <asm/msr-index.h>
 #include <asm/processor-flags.h>
 
diff --git a/arch/x86/cpu/i386/cpu.c b/arch/x86/cpu/i386/cpu.c
index 6fa0f4d32baa..e59215cc20ea 100644
--- a/arch/x86/cpu/i386/cpu.c
+++ b/arch/x86/cpu/i386/cpu.c
@@ -27,6 +27,7 @@
 #include <asm/control_regs.h>
 #include <asm/coreboot_tables.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/mp.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/i386/interrupt.c b/arch/x86/cpu/i386/interrupt.c
index d85f84b29a75..fae2544c456f 100644
--- a/arch/x86/cpu/i386/interrupt.c
+++ b/arch/x86/cpu/i386/interrupt.c
@@ -18,6 +18,7 @@
 #include <irq.h>
 #include <irq_func.h>
 #include <asm/control_regs.h>
+#include <asm/global_data.h>
 #include <asm/i8259.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/intel_common/acpi.c b/arch/x86/cpu/intel_common/acpi.c
index 6a3456f47605..15f19da2067a 100644
--- a/arch/x86/cpu/intel_common/acpi.c
+++ b/arch/x86/cpu/intel_common/acpi.c
@@ -17,6 +17,7 @@
 #include <asm/acpi_table.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_acpi.h>
 #include <asm/ioapic.h>
 #include <asm/mpspec.h>
diff --git a/arch/x86/cpu/intel_common/cpu.c b/arch/x86/cpu/intel_common/cpu.c
index a51bf86f7abc..96d05e2eb3a1 100644
--- a/arch/x86/cpu/intel_common/cpu.c
+++ b/arch/x86/cpu/intel_common/cpu.c
@@ -15,6 +15,7 @@
 #include <acpi/acpigen.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lapic.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/cpu_from_spl.c b/arch/x86/cpu/intel_common/cpu_from_spl.c
index e4157c5734c5..1c0dcedb5824 100644
--- a/arch/x86/cpu/intel_common/cpu_from_spl.c
+++ b/arch/x86/cpu/intel_common/cpu_from_spl.c
@@ -9,6 +9,7 @@
 #include <handoff.h>
 #include <init.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/lapic.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/itss.c b/arch/x86/cpu/intel_common/itss.c
index ae4de4ca8c6c..588a512ecd44 100644
--- a/arch/x86/cpu/intel_common/itss.c
+++ b/arch/x86/cpu/intel_common/itss.c
@@ -17,6 +17,7 @@
 #include <malloc.h>
 #include <p2sb.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/itss.h>
 
 static int set_polarity(struct udevice *dev, uint irq, bool active_low)
diff --git a/arch/x86/cpu/intel_common/lpc.c b/arch/x86/cpu/intel_common/lpc.c
index 3420f03ccaa2..23befbef15ff 100644
--- a/arch/x86/cpu/intel_common/lpc.c
+++ b/arch/x86/cpu/intel_common/lpc.c
@@ -9,6 +9,7 @@
 #include <fdtdec.h>
 #include <pch.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lpc_common.h>
diff --git a/arch/x86/cpu/intel_common/microcode.c b/arch/x86/cpu/intel_common/microcode.c
index 0355d3c1da69..4d8e1d210838 100644
--- a/arch/x86/cpu/intel_common/microcode.c
+++ b/arch/x86/cpu/intel_common/microcode.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <asm/cpu.h>
 #include <asm/microcode.h>
diff --git a/arch/x86/cpu/intel_common/mrc.c b/arch/x86/cpu/intel_common/mrc.c
index 73bfd123321f..a97b0b7ceb41 100644
--- a/arch/x86/cpu/intel_common/mrc.c
+++ b/arch/x86/cpu/intel_common/mrc.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <syscon.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/intel_regs.h>
 #include <asm/mrc_common.h>
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 8b53b96822d7..766b2451a2cc 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -10,6 +10,7 @@
 #include <irq.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/pci.h>
diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c
index 5448f064fcbf..0540b021618f 100644
--- a/arch/x86/cpu/ivybridge/bd82x6x.c
+++ b/arch/x86/cpu/ivybridge/bd82x6x.c
@@ -10,6 +10,7 @@
 #include <malloc.h>
 #include <pch.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
index cb6eded9c98d..bddba3eddecd 100644
--- a/arch/x86/cpu/ivybridge/cpu.c
+++ b/arch/x86/cpu/ivybridge/cpu.c
@@ -20,6 +20,7 @@
 #include <pch.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/ivybridge/fsp_configs.c b/arch/x86/cpu/ivybridge/fsp_configs.c
index 41d7d2a2b420..3c4ea6c267f8 100644
--- a/arch/x86/cpu/ivybridge/fsp_configs.c
+++ b/arch/x86/cpu/ivybridge/fsp_configs.c
@@ -7,6 +7,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/fsp1/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/ivybridge/lpc.c b/arch/x86/cpu/ivybridge/lpc.c
index 85fd2a965abd..f931d2be1b52 100644
--- a/arch/x86/cpu/ivybridge/lpc.c
+++ b/arch/x86/cpu/ivybridge/lpc.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <rtc.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/intel_regs.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index 598ebcdf0840..3906a69796f3 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -15,6 +15,7 @@
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
 #include <asm/mtrr.h>
diff --git a/arch/x86/cpu/ivybridge/northbridge.c b/arch/x86/cpu/ivybridge/northbridge.c
index b713fcb1cfe7..994f8a4ff6a5 100644
--- a/arch/x86/cpu/ivybridge/northbridge.c
+++ b/arch/x86/cpu/ivybridge/northbridge.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/cpu.h>
 #include <asm/intel_regs.h>
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c
index 025b20be31bd..f47ecdffae76 100644
--- a/arch/x86/cpu/ivybridge/sata.c
+++ b/arch/x86/cpu/ivybridge/sata.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/pch_common.h>
 #include <asm/pci.h>
diff --git a/arch/x86/cpu/ivybridge/sdram_nop.c b/arch/x86/cpu/ivybridge/sdram_nop.c
index 54e6acf26211..51dfe23f94d0 100644
--- a/arch/x86/cpu/ivybridge/sdram_nop.c
+++ b/arch/x86/cpu/ivybridge/sdram_nop.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index 0e61c7b5d7fa..c09762aee6c9 100644
--- a/arch/x86/cpu/mp_init.c
+++ b/arch/x86/cpu/mp_init.c
@@ -14,6 +14,7 @@
 #include <qfw.h>
 #include <asm/atomic.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/cpu/mtrr.c b/arch/x86/cpu/mtrr.c
index 6f095c53a57b..166aff380c64 100644
--- a/arch/x86/cpu/mtrr.c
+++ b/arch/x86/cpu/mtrr.c
@@ -21,6 +21,7 @@
 #include <log.h>
 #include <sort.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mp.h>
 #include <asm/msr.h>
diff --git a/arch/x86/cpu/qemu/dram.c b/arch/x86/cpu/qemu/dram.c
index 19d92f27d80c..c1745501294c 100644
--- a/arch/x86/cpu/qemu/dram.c
+++ b/arch/x86/cpu/qemu/dram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 #include <asm/arch/qemu.h>
 
diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c
index 0da36bddeaec..19e54c5202a9 100644
--- a/arch/x86/cpu/qemu/e820.c
+++ b/arch/x86/cpu/qemu/e820.c
@@ -11,6 +11,7 @@
 #include <malloc.h>
 #include <asm/e820.h>
 #include <asm/arch/qemu.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/quark/acpi.c b/arch/x86/cpu/quark/acpi.c
index b0406a04e92b..82b776ff65f6 100644
--- a/arch/x86/cpu/quark/acpi.c
+++ b/arch/x86/cpu/quark/acpi.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <acpi/acpi_table.h>
+#include <asm/processor.h>
 #include <asm/tables.h>
 #include <asm/arch/global_nvs.h>
 #include <asm/arch/iomap.h>
diff --git a/arch/x86/cpu/quark/dram.c b/arch/x86/cpu/quark/dram.c
index 72937139ed73..2287dce12b52 100644
--- a/arch/x86/cpu/quark/dram.c
+++ b/arch/x86/cpu/quark/dram.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
diff --git a/arch/x86/cpu/sipi_vector.S b/arch/x86/cpu/sipi_vector.S
index fa1e6cb19af4..6d2da963bcdb 100644
--- a/arch/x86/cpu/sipi_vector.S
+++ b/arch/x86/cpu/sipi_vector.S
@@ -11,7 +11,6 @@
  * C code
  */
 
-#include <asm/global_data.h>
 #include <asm/msr-index.h>
 #include <asm/processor.h>
 #include <asm/processor-flags.h>
diff --git a/arch/x86/cpu/slimbootloader/sdram.c b/arch/x86/cpu/slimbootloader/sdram.c
index 33e91fb6366b..36d0d4da5531 100644
--- a/arch/x86/cpu/slimbootloader/sdram.c
+++ b/arch/x86/cpu/slimbootloader/sdram.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/e820.h>
 #include <asm/arch/slimbootloader.h>
diff --git a/arch/x86/cpu/slimbootloader/serial.c b/arch/x86/cpu/slimbootloader/serial.c
index 772a94c31cb7..d28b280890d3 100644
--- a/arch/x86/cpu/slimbootloader/serial.c
+++ b/arch/x86/cpu/slimbootloader/serial.c
@@ -9,6 +9,7 @@
 #include <ns16550.h>
 #include <serial.h>
 #include <asm/arch/slimbootloader.h>
+#include <asm/global_data.h>
 
 /**
  * The serial port info hob is generated by Slim Bootloader, so eligible for
diff --git a/arch/x86/cpu/slimbootloader/slimbootloader.c b/arch/x86/cpu/slimbootloader/slimbootloader.c
index f61fe814e94a..ec5b87cfd63f 100644
--- a/arch/x86/cpu/slimbootloader/slimbootloader.c
+++ b/arch/x86/cpu/slimbootloader/slimbootloader.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch/slimbootloader.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 3d0d95295f64..897fd926c0a3 100644
--- a/arch/x86/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -22,7 +22,6 @@
  */
 
 #include <config.h>
-#include <asm/global_data.h>
 #include <asm/post.h>
 #include <asm/processor.h>
 #include <asm/processor-flags.h>
diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
index 54f4ff6662a8..865a49731e57 100644
--- a/arch/x86/cpu/start16.S
+++ b/arch/x86/cpu/start16.S
@@ -9,7 +9,6 @@
  * Daniel Engstr?m, Omicron Ceti AB, <daniel@omicron.se>
  */
 
-#include <asm/global_data.h>
 #include <asm/processor-flags.h>
 
 #define BOOT_SEG	0xffff0000	/* linear segment of boot code */
diff --git a/arch/x86/cpu/turbo.c b/arch/x86/cpu/turbo.c
index 4a73cb240dac..e2c84cddec8e 100644
--- a/arch/x86/cpu/turbo.c
+++ b/arch/x86/cpu/turbo.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/msr.h>
 #include <asm/processor.h>
 #include <asm/turbo.h>
diff --git a/arch/x86/include/asm/acpi_table.h b/arch/x86/include/asm/acpi_table.h
index 1b49ccadc0c1..d5c8805df38a 100644
--- a/arch/x86/include/asm/acpi_table.h
+++ b/arch/x86/include/asm/acpi_table.h
@@ -11,6 +11,8 @@
 
 #ifndef __ACPI__
 
+#include <pci.h>
+
 struct acpi_facs;
 struct acpi_fadt;
 struct acpi_global_nvs;
diff --git a/arch/x86/include/asm/arch-apollolake/systemagent.h b/arch/x86/include/asm/arch-apollolake/systemagent.h
index 788a63d79997..48e76c2bb0a9 100644
--- a/arch/x86/include/asm/arch-apollolake/systemagent.h
+++ b/arch/x86/include/asm/arch-apollolake/systemagent.h
@@ -9,6 +9,9 @@
 
 /* Device 0:0.0 PCI configuration space */
 #include <linux/bitops.h>
+
+struct udevice;
+
 #define MCHBAR		0x48
 
 /* RAPL Package Power Limit register under MCHBAR */
diff --git a/arch/x86/include/asm/cpu_common.h b/arch/x86/include/asm/cpu_common.h
index 2a5779a8e1a7..e41ceda73a84 100644
--- a/arch/x86/include/asm/cpu_common.h
+++ b/arch/x86/include/asm/cpu_common.h
@@ -14,6 +14,7 @@ enum {
 };
 
 struct cpu_info;
+struct udevice;
 
 /**
  * cpu_common_init() - Set up common CPU init
diff --git a/arch/x86/include/asm/fast_spi.h b/arch/x86/include/asm/fast_spi.h
index 7a81d4f05c66..82e3d8f63ef1 100644
--- a/arch/x86/include/asm/fast_spi.h
+++ b/arch/x86/include/asm/fast_spi.h
@@ -6,8 +6,10 @@
 #ifndef ASM_FAST_SPI_H
 #define ASM_FAST_SPI_H
 
-/* Register offsets from the MMIO region base (PCI_BASE_ADDRESS_0) */
+#include <pci.h>
 #include <linux/bitops.h>
+
+/* Register offsets from the MMIO region base (PCI_BASE_ADDRESS_0) */
 struct fast_spi_regs {
 	u32 bfp;
 	u32 hsfsts_ctl;
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index cf6c33cbe3af..83dc09757e0c 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -7,7 +7,7 @@
 #ifndef _ASM_IO_H
 #define _ASM_IO_H
 
-#include <linux/compiler.h>
+#include <compiler.h>
 
 /*
  * This file contains the definitions for the x86 IO instructions
diff --git a/arch/x86/include/asm/mp.h b/arch/x86/include/asm/mp.h
index 1e4e35321dec..1a3ae8e39503 100644
--- a/arch/x86/include/asm/mp.h
+++ b/arch/x86/include/asm/mp.h
@@ -11,6 +11,8 @@
 #include <asm/atomic.h>
 #include <asm/cache.h>
 
+struct udevice;
+
 enum {
 	/* Indicates that the function should run on all CPUs */
 	MP_SELECT_ALL	= -1,
diff --git a/arch/x86/include/asm/mrccache.h b/arch/x86/include/asm/mrccache.h
index b60d1171f771..8b104a2f0b8e 100644
--- a/arch/x86/include/asm/mrccache.h
+++ b/arch/x86/include/asm/mrccache.h
@@ -7,6 +7,8 @@
 #ifndef _ASM_MRCCACHE_H
 #define _ASM_MRCCACHE_H
 
+#include <compiler.h>
+
 #define MRC_DATA_ALIGN		0x100
 #define MRC_DATA_SIGNATURE	(('M' << 0) | ('R' << 8) | \
 				 ('C' << 16) | ('D'<<24))
diff --git a/arch/x86/lib/acpi_s3.c b/arch/x86/lib/acpi_s3.c
index 52410a515dfa..2c70acbe7b0b 100644
--- a/arch/x86/lib/acpi_s3.c
+++ b/arch/x86/lib/acpi_s3.c
@@ -7,6 +7,7 @@
 #include <acpi/acpi_s3.h>
 #include <acpi/acpi_table.h>
 #include <asm/acpi.h>
+#include <asm/global_data.h>
 #include <asm/post.h>
 #include <linux/linkage.h>
 
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 9a41ecb587d8..5ec31301d0b8 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -22,6 +22,7 @@
 #include <acpi/acpi_table.h>
 #include <asm/acpi/global_nvs.h>
 #include <asm/ioapic.h>
+#include <asm/global_data.h>
 #include <asm/lapic.h>
 #include <asm/mpspec.h>
 #include <asm/tables.h>
diff --git a/arch/x86/lib/asm-offsets.c b/arch/x86/lib/asm-offsets.c
index 47b38cd9e782..8df67db65c39 100644
--- a/arch/x86/lib/asm-offsets.c
+++ b/arch/x86/lib/asm-offsets.c
@@ -12,6 +12,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <linux/kbuild.h>
 
 int main(void)
diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c
index 3ab432e2623c..fbdc3b04e361 100644
--- a/arch/x86/lib/bios.c
+++ b/arch/x86/lib/bios.c
@@ -6,6 +6,7 @@
  * Copyright (C) 2009-2010 coresystems GmbH
  */
 #include <common.h>
+#include <compiler.h>
 #include <bios_emul.h>
 #include <irq_func.h>
 #include <log.h>
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index da6b8ce1ec16..aa5f0bf6b728 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -12,6 +12,7 @@
 #include <command.h>
 #include <hang.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/root.h>
 #include <errno.h>
diff --git a/arch/x86/lib/cmd_boot.c b/arch/x86/lib/cmd_boot.c
index baaf3d13ad4b..4facbe5f32fb 100644
--- a/arch/x86/lib/cmd_boot.c
+++ b/arch/x86/lib/cmd_boot.c
@@ -17,6 +17,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/lib/coreboot_table.c b/arch/x86/lib/coreboot_table.c
index 6cd324430121..6eab0452fda6 100644
--- a/arch/x86/lib/coreboot_table.c
+++ b/arch/x86/lib/coreboot_table.c
@@ -10,6 +10,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/coreboot_tables.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/e820.c b/arch/x86/lib/e820.c
index 1f20c5c8c6bb..12fcff123805 100644
--- a/arch/x86/lib/e820.c
+++ b/arch/x86/lib/e820.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <efi_loader.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/lib/fsp/fsp_common.c b/arch/x86/lib/fsp/fsp_common.c
index 4061fa244c49..6365b0a50a72 100644
--- a/arch/x86/lib/fsp/fsp_common.c
+++ b/arch/x86/lib/fsp/fsp_common.c
@@ -13,6 +13,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/cmos_layout.h>
 #include <asm/early_cmos.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrccache.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp/fsp_dram.c
index 3ffd40ce7478..8ad9aeedac0e 100644
--- a/arch/x86/lib/fsp/fsp_dram.c
+++ b/arch/x86/lib/fsp/fsp_dram.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/fsp/fsp_support.h>
 #include <asm/e820.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp/fsp_graphics.c b/arch/x86/lib/fsp/fsp_graphics.c
index a029237d08ef..cc909e0e16aa 100644
--- a/arch/x86/lib/fsp/fsp_graphics.c
+++ b/arch/x86/lib/fsp/fsp_graphics.c
@@ -13,6 +13,7 @@
 #include <video.h>
 #include <acpi/acpi_table.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 #include <asm/intel_opregion.h>
 #include <asm/mtrr.h>
 #include <dm/acpi.h>
diff --git a/arch/x86/lib/fsp1/fsp_common.c b/arch/x86/lib/fsp1/fsp_common.c
index da351cf097c0..20926171822d 100644
--- a/arch/x86/lib/fsp1/fsp_common.c
+++ b/arch/x86/lib/fsp1/fsp_common.c
@@ -13,6 +13,7 @@
 #include <acpi/acpi_s3.h>
 #include <asm/cmos_layout.h>
 #include <asm/early_cmos.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mrccache.h>
 #include <asm/post.h>
diff --git a/arch/x86/lib/fsp1/fsp_dram.c b/arch/x86/lib/fsp1/fsp_dram.c
index e3f9e30f6a63..cfd9b9f48c34 100644
--- a/arch/x86/lib/fsp1/fsp_dram.c
+++ b/arch/x86/lib/fsp1/fsp_dram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 
 int dram_init(void)
 {
diff --git a/arch/x86/lib/fsp2/fsp_dram.c b/arch/x86/lib/fsp2/fsp_dram.c
index a95fdc46c1b2..42d3892b7626 100644
--- a/arch/x86/lib/fsp2/fsp_dram.c
+++ b/arch/x86/lib/fsp2/fsp_dram.c
@@ -16,6 +16,7 @@
 #include <asm/fsp/fsp_support.h>
 #include <asm/fsp2/fsp_api.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 
 int dram_init(void)
diff --git a/arch/x86/lib/fsp2/fsp_meminit.c b/arch/x86/lib/fsp2/fsp_meminit.c
index ce0b0aff76be..022e2cb64e5a 100644
--- a/arch/x86/lib/fsp2/fsp_meminit.c
+++ b/arch/x86/lib/fsp2/fsp_meminit.c
@@ -11,6 +11,7 @@
 #include <bootstage.h>
 #include <dm.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/fsp/fsp_infoheader.h>
 #include <asm/fsp2/fsp_api.h>
diff --git a/arch/x86/lib/fsp2/fsp_silicon_init.c b/arch/x86/lib/fsp2/fsp_silicon_init.c
index ead3493de824..a96d2b183f6e 100644
--- a/arch/x86/lib/fsp2/fsp_silicon_init.c
+++ b/arch/x86/lib/fsp2/fsp_silicon_init.c
@@ -17,6 +17,7 @@
 #include <asm/arch/fsp/fsp_s_upd.h>
 #include <asm/fsp/fsp_infoheader.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 
 int fsp_silicon_init(bool s3wake, bool use_spi_flash)
 {
diff --git a/arch/x86/lib/fsp2/fsp_support.c b/arch/x86/lib/fsp2/fsp_support.c
index f220ef498b04..503f97d5f334 100644
--- a/arch/x86/lib/fsp2/fsp_support.c
+++ b/arch/x86/lib/fsp2/fsp_support.c
@@ -10,6 +10,7 @@
 #include <spi_flash.h>
 #include <asm/fsp/fsp_support.h>
 #include <asm/fsp2/fsp_internal.h>
+#include <asm/global_data.h>
 
 /* The amount of the FSP header to probe to obtain what we need */
 #define PROBE_BUF_SIZE 0x180
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
index d906b528b35b..066dc404a2d8 100644
--- a/arch/x86/lib/init_helpers.c
+++ b/arch/x86/lib/init_helpers.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/mtrr.h>
 
diff --git a/arch/x86/lib/mpspec.c b/arch/x86/lib/mpspec.c
index 562a27c55799..8e97d9ff36d9 100644
--- a/arch/x86/lib/mpspec.c
+++ b/arch/x86/lib/mpspec.c
@@ -12,6 +12,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/irq.h>
 #include <asm/ioapic.h>
 #include <asm/lapic.h>
diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c
index f181e8100cb7..b52691568012 100644
--- a/arch/x86/lib/mrccache.c
+++ b/arch/x86/lib/mrccache.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <spi.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
diff --git a/arch/x86/lib/physmem.c b/arch/x86/lib/physmem.c
index 4578046169a7..c11101b44ece 100644
--- a/arch/x86/lib/physmem.c
+++ b/arch/x86/lib/physmem.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <physmem.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/x86/lib/pinctrl_ich6.c b/arch/x86/lib/pinctrl_ich6.c
index 482599478b80..fd5e311b2916 100644
--- a/arch/x86/lib/pinctrl_ich6.c
+++ b/arch/x86/lib/pinctrl_ich6.c
@@ -11,6 +11,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/arch/x86/lib/pirq_routing.c b/arch/x86/lib/pirq_routing.c
index eb6a7d96de10..caeaec9287fe 100644
--- a/arch/x86/lib/pirq_routing.c
+++ b/arch/x86/lib/pirq_routing.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/pci.h>
 #include <asm/pirq_routing.h>
 
diff --git a/arch/x86/lib/relocate.c b/arch/x86/lib/relocate.c
index ecbd0927e07c..6fe515164773 100644
--- a/arch/x86/lib/relocate.c
+++ b/arch/x86/lib/relocate.c
@@ -17,6 +17,7 @@
 #include <common.h>
 #include <log.h>
 #include <relocate.h>
+#include <asm/global_data.h>
 #include <asm/u-boot-x86.h>
 #include <asm/sections.h>
 #include <elf.h>
diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
index 6699de49c636..1bae1f4f321b 100644
--- a/arch/x86/lib/spl.c
+++ b/arch/x86/lib/spl.c
@@ -17,6 +17,7 @@
 #include <syscon.h>
 #include <asm/cpu.h>
 #include <asm/cpu_common.h>
+#include <asm/global_data.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/pci.h>
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index c4007fa48669..1779bb3e11ae 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -9,6 +9,7 @@
 #include <malloc.h>
 #include <smbios.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <asm/sfi.h>
 #include <asm/mpspec.h>
 #include <asm/tables.h>
diff --git a/arch/x86/lib/tpl.c b/arch/x86/lib/tpl.c
index c84a0c9bc7d9..ac6b6efbccd6 100644
--- a/arch/x86/lib/tpl.c
+++ b/arch/x86/lib/tpl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <spl.h>
 #include <asm/cpu.h>
+#include <asm/global_data.h>
 #include <asm/mtrr.h>
 #include <asm/processor.h>
 #include <asm-generic/sections.h>
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c
index 0e564507f94f..bb1e2886abc7 100644
--- a/arch/xtensa/lib/bootm.c
+++ b/arch/xtensa/lib/bootm.c
@@ -9,6 +9,7 @@
 #include <command.h>
 #include <cpu_func.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 #include <asm/addrspace.h>
diff --git a/board/AndesTech/adp-ae3xx/adp-ae3xx.c b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
index b52cbd4d8615..3c4a27d63f6a 100644
--- a/board/AndesTech/adp-ae3xx/adp-ae3xx.c
+++ b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
@@ -7,6 +7,7 @@
 
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <common.h>
 #include <flash.h>
diff --git a/board/AndesTech/adp-ag101p/adp-ag101p.c b/board/AndesTech/adp-ag101p/adp-ag101p.c
index 3dd880f3d6c4..8848b7f97386 100644
--- a/board/AndesTech/adp-ag101p/adp-ag101p.c
+++ b/board/AndesTech/adp-ag101p/adp-ag101p.c
@@ -12,6 +12,7 @@
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/AndesTech/ax25-ae350/ax25-ae350.c b/board/AndesTech/ax25-ae350/ax25-ae350.c
index 59a43e4dcc4d..d781038de285 100644
--- a/board/AndesTech/ax25-ae350/ax25-ae350.c
+++ b/board/AndesTech/ax25-ae350/ax25-ae350.c
@@ -12,6 +12,7 @@
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <linux/io.h>
 #include <faraday/ftsmc020.h>
 #include <fdtdec.h>
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c
index 4ed06a80b798..437e975fdf7d 100644
--- a/board/Arcturus/ucp1020/spl.c
+++ b/board/Arcturus/ucp1020/spl.c
@@ -20,6 +20,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/BuR/brppt1/board.c b/board/BuR/brppt1/board.c
index 8aa03eac2838..7df37e4e66ac 100644
--- a/board/BuR/brppt1/board.c
+++ b/board/BuR/brppt1/board.c
@@ -23,6 +23,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/BuR/brppt2/board.c b/board/BuR/brppt2/board.c
index f156b552a761..e6eb403fc3d9 100644
--- a/board/BuR/brppt2/board.c
+++ b/board/BuR/brppt2/board.c
@@ -21,6 +21,7 @@
 # include <asm/arch/mx6-ddr.h>
 #endif
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 
diff --git a/board/BuR/brsmarc1/board.c b/board/BuR/brsmarc1/board.c
index 5b9108a89f91..738a5d2ff944 100644
--- a/board/BuR/brsmarc1/board.c
+++ b/board/BuR/brsmarc1/board.c
@@ -19,6 +19,7 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/emif.h>
diff --git a/board/BuR/brxre1/board.c b/board/BuR/brxre1/board.c
index 5d57e19fde03..ef692b006d51 100644
--- a/board/BuR/brxre1/board.c
+++ b/board/BuR/brxre1/board.c
@@ -21,6 +21,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
index f676d7baa6af..78bf7d622882 100644
--- a/board/BuR/common/common.c
+++ b/board/BuR/common/common.c
@@ -15,6 +15,7 @@
 #include <fdtdec.h>
 #include <i2c.h>
 #include <lcd.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "bur_common.h"
 
diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c
index f5e4de3c4183..153ed0e963b0 100644
--- a/board/BuS/eb_cpu5282/eb_cpu5282.c
+++ b/board/BuS/eb_cpu5282/eb_cpu5282.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include "asm/m5282.h"
 #include <bmp_layout.h>
 #include <env.h>
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index 679f3eb7014c..486680a49e88 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -7,6 +7,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <clk.h>
diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index 2da878d3648b..0353d58a361b 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -15,6 +15,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/CarMediaLab/flea3/flea3.c b/board/CarMediaLab/flea3/flea3.c
index 11fcecb94e57..12c5ac331f97 100644
--- a/board/CarMediaLab/flea3/flea3.c
+++ b/board/CarMediaLab/flea3/flea3.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <env.h>
 #include <linux/delay.h>
diff --git a/board/LaCie/edminiv2/edminiv2.c b/board/LaCie/edminiv2/edminiv2.c
index b5ffe8162f32..9c066a283c99 100644
--- a/board/LaCie/edminiv2/edminiv2.c
+++ b/board/LaCie/edminiv2/edminiv2.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <asm/arch/orion5x.h>
+#include <asm/global_data.h>
 #include "../common/common.h"
 #include <spl.h>
 #include <ns16550.h>
diff --git a/board/LaCie/net2big_v2/net2big_v2.c b/board/LaCie/net2big_v2/net2big_v2.c
index e94c9a6dce96..695d6f6ed470 100644
--- a/board/LaCie/net2big_v2/net2big_v2.c
+++ b/board/LaCie/net2big_v2/net2big_v2.c
@@ -14,6 +14,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c
index 33246b201528..730eab7e7031 100644
--- a/board/LaCie/netspace_v2/netspace_v2.c
+++ b/board/LaCie/netspace_v2/netspace_v2.c
@@ -13,6 +13,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/aspenite/aspenite.c b/board/Marvell/aspenite/aspenite.c
index c1406d7489cf..1f9389c0a7ab 100644
--- a/board/Marvell/aspenite/aspenite.c
+++ b/board/Marvell/aspenite/aspenite.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <mvmfp.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/mfp.h>
diff --git a/board/Marvell/db-88f6281-bp/db-88f6281-bp.c b/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
index 62027bd6385e..08f79d4b5320 100644
--- a/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
+++ b/board/Marvell/db-88f6281-bp/db-88f6281-bp.c
@@ -3,6 +3,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <miiphy.h>
diff --git a/board/Marvell/db-88f6720/db-88f6720.c b/board/Marvell/db-88f6720/db-88f6720.c
index 271535b76376..26c30647fbb0 100644
--- a/board/Marvell/db-88f6720/db-88f6720.c
+++ b/board/Marvell/db-88f6720/db-88f6720.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
index 9cd9ea2c0689..163a1b3de9d2 100644
--- a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
+++ b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
@@ -9,6 +9,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
index 2bdd55329d05..06307e582cec 100644
--- a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
+++ b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
@@ -9,6 +9,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
index 8d1dbebdb7a6..9e1fdecfca4d 100644
--- a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
+++ b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c b/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
index 5f12a27002f0..0abdca1cd210 100644
--- a/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
+++ b/board/Marvell/db-xc3-24g4xg/db-xc3-24g4xg.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/Marvell/dreamplug/dreamplug.c b/board/Marvell/dreamplug/dreamplug.c
index 7d188c327955..e1c64b52246b 100644
--- a/board/Marvell/dreamplug/dreamplug.c
+++ b/board/Marvell/dreamplug/dreamplug.c
@@ -15,6 +15,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "dreamplug.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/Marvell/gplugd/gplugd.c b/board/Marvell/gplugd/gplugd.c
index 58e433fd3472..c6376cdf6a94 100644
--- a/board/Marvell/gplugd/gplugd.c
+++ b/board/Marvell/gplugd/gplugd.c
@@ -18,6 +18,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/mfp.h>
 #include <asm/arch/armada100.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <miiphy.h>
 #include <asm/mach-types.h>
diff --git a/board/Marvell/guruplug/guruplug.c b/board/Marvell/guruplug/guruplug.c
index f3981c66d20b..8e7dbb3f3f60 100644
--- a/board/Marvell/guruplug/guruplug.c
+++ b/board/Marvell/guruplug/guruplug.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
index 1b9e7520cc7a..447365b97c41 100644
--- a/board/Marvell/mvebu_armada-37xx/board.c
+++ b/board/Marvell/mvebu_armada-37xx/board.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <mmc.h>
 #include <phy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/mvebu_armada-8k/board.c b/board/Marvell/mvebu_armada-8k/board.c
index bf8a929ec1e6..7da5d9f96b1a 100644
--- a/board/Marvell/mvebu_armada-8k/board.c
+++ b/board/Marvell/mvebu_armada-8k/board.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/octeontx/board.c b/board/Marvell/octeontx/board.c
index 940faacbe375..059ebf8f1727 100644
--- a/board/Marvell/octeontx/board.c
+++ b/board/Marvell/octeontx/board.c
@@ -13,6 +13,7 @@
 #include <log.h>
 #include <netdev.h>
 #include <pci_ids.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <linux/libfdt.h>
diff --git a/board/Marvell/octeontx2/board.c b/board/Marvell/octeontx2/board.c
index 50e903d9aa91..9b973a4acebb 100644
--- a/board/Marvell/octeontx2/board.c
+++ b/board/Marvell/octeontx2/board.c
@@ -9,6 +9,7 @@
 #include <console.h>
 #include <cpu_func.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass-internal.h>
 #include <env.h>
 #include <init.h>
diff --git a/board/Marvell/openrd/openrd.c b/board/Marvell/openrd/openrd.c
index d9b5b213feab..f44ac3315ebc 100644
--- a/board/Marvell/openrd/openrd.c
+++ b/board/Marvell/openrd/openrd.c
@@ -14,6 +14,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Marvell/sheevaplug/sheevaplug.c b/board/Marvell/sheevaplug/sheevaplug.c
index 6311ed3b2e59..0cc7f2b39243 100644
--- a/board/Marvell/sheevaplug/sheevaplug.c
+++ b/board/Marvell/sheevaplug/sheevaplug.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c
index 85dd10e55a2c..380e37be5502 100644
--- a/board/Seagate/dockstar/dockstar.c
+++ b/board/Seagate/dockstar/dockstar.c
@@ -16,6 +16,7 @@
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/cpu.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include "dockstar.h"
diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c
index de1ec544667c..4c19fa7195e8 100644
--- a/board/Seagate/goflexhome/goflexhome.c
+++ b/board/Seagate/goflexhome/goflexhome.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
diff --git a/board/Seagate/nas220/nas220.c b/board/Seagate/nas220/nas220.c
index 3a027d083a7b..cd2bbdad1cd6 100644
--- a/board/Seagate/nas220/nas220.c
+++ b/board/Seagate/nas220/nas220.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
diff --git a/board/Synology/ds109/ds109.c b/board/Synology/ds109/ds109.c
index fe3b0eb554ff..eaac95460c6e 100644
--- a/board/Synology/ds109/ds109.c
+++ b/board/Synology/ds109/ds109.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/setup.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/Synology/ds414/ds414.c b/board/Synology/ds414/ds414.c
index 632205164ebf..9c4ce670ddfb 100644
--- a/board/Synology/ds414/ds414.c
+++ b/board/Synology/ds414/ds414.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/advantech/dms-ba16/dms-ba16.c b/board/advantech/dms-ba16/dms-ba16.c
index 20820fdf0762..07a47e9fbb04 100644
--- a/board/advantech/dms-ba16/dms-ba16.c
+++ b/board/advantech/dms-ba16/dms-ba16.c
@@ -11,6 +11,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
index ea057d27cf35..8492e7603b46 100644
--- a/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
+++ b/board/advantech/imx8qm_rom7720_a1/imx8qm_rom7720_a1.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/board/advantech/imx8qm_rom7720_a1/spl.c b/board/advantech/imx8qm_rom7720_a1/spl.c
index a2386c9ef005..8493bb01588d 100644
--- a/board/advantech/imx8qm_rom7720_a1/spl.c
+++ b/board/advantech/imx8qm_rom7720_a1/spl.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <spl.h>
 #include <fsl_esdhc.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c b/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
index 668484b71b6a..d8b9fdfe356f 100644
--- a/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
+++ b/board/alliedtelesis/SBx81LIFKW/sbx81lifkw.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/io.h>
diff --git a/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c b/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
index e4bf507cc3f0..52b8eba92fc1 100644
--- a/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
+++ b/board/alliedtelesis/SBx81LIFXCAT/sbx81lifxcat.c
@@ -10,6 +10,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <led.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <asm/arch/cpu.h>
diff --git a/board/alliedtelesis/common/gpio_hog.c b/board/alliedtelesis/common/gpio_hog.c
index 1f87b3ac1b72..4aecf7e2cef7 100644
--- a/board/alliedtelesis/common/gpio_hog.c
+++ b/board/alliedtelesis/common/gpio_hog.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/alliedtelesis/x530/x530.c b/board/alliedtelesis/x530/x530.c
index c7438aeaf148..d602092d7329 100644
--- a/board/alliedtelesis/x530/x530.c
+++ b/board/alliedtelesis/x530/x530.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <wdt.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/amazon/kc1/kc1.c b/board/amazon/kc1/kc1.c
index 973bc5a92729..75fb14025c12 100644
--- a/board/amazon/kc1/kc1.c
+++ b/board/amazon/kc1/kc1.c
@@ -10,6 +10,7 @@
 #include <env.h>
 #include <fastboot.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/usb/musb.h>
 #include <asm/omap_musb.h>
diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c
index 7145dbe18ecb..7b09617cdc6b 100644
--- a/board/amlogic/vim3/vim3.c
+++ b/board/amlogic/vim3/vim3.c
@@ -13,6 +13,7 @@
 #include <asm/arch/boot.h>
 #include <asm/arch/eth.h>
 #include <asm/arch/sm.h>
+#include <asm/global_data.h>
 #include <i2c.h>
 #include "khadas-mcu.h"
 
diff --git a/board/aristainetos/aristainetos.c b/board/aristainetos/aristainetos.c
index 07d2e3ec7bb0..f13fa1163747 100644
--- a/board/aristainetos/aristainetos.c
+++ b/board/aristainetos/aristainetos.c
@@ -16,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/armadeus/apf27/apf27.c b/board/armadeus/apf27/apf27.c
index 29e0bf388d07..5e3fdd36fa21 100644
--- a/board/armadeus/apf27/apf27.c
+++ b/board/armadeus/apf27/apf27.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <jffs2/jffs2.h>
 #include <nand.h>
 #include <netdev.h>
diff --git a/board/armltd/integrator/integrator.c b/board/armltd/integrator/integrator.c
index 3c56fa1c019f..3e864e8e7a5c 100644
--- a/board/armltd/integrator/integrator.c
+++ b/board/armltd/integrator/integrator.c
@@ -24,6 +24,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include "arm-ebi.h"
diff --git a/board/armltd/total_compute/total_compute.c b/board/armltd/total_compute/total_compute.c
index da24b32333bb..01c65e4db813 100644
--- a/board/armltd/total_compute/total_compute.c
+++ b/board/armltd/total_compute/total_compute.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <asm/armv8/mmu.h>
+#include <asm/global_data.h>
 
 static const struct pl01x_serial_plat serial_plat = {
 	.base = UART0_BASE,
diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index 8fea8ff35294..df4cbd320430 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -23,6 +23,7 @@
 #include <errno.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/systimer.h>
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index bd66d52cb7b4..9d294903e968 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -12,6 +12,7 @@
 #include <errno.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <dm/platform_data/serial_pl01x.h>
diff --git a/board/astro/mcf5373l/mcf5373l.c b/board/astro/mcf5373l/mcf5373l.c
index e7c2b909300d..3e2f79a1cf4c 100644
--- a/board/astro/mcf5373l/mcf5373l.c
+++ b/board/astro/mcf5373l/mcf5373l.c
@@ -10,6 +10,7 @@
 #include <serial.h>
 #include <watchdog.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <asm/m5329.h>
 #include <asm/immap_5329.h>
 #include <asm/io.h>
diff --git a/board/atmark-techno/armadillo-800eva/armadillo-800eva.c b/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
index a18fb275d9f5..1bae2832522f 100644
--- a/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
+++ b/board/atmark-techno/armadillo-800eva/armadillo-800eva.c
@@ -24,6 +24,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c
index 8844bc754193..a314ced5e4a5 100644
--- a/board/atmel/at91rm9200ek/at91rm9200ek.c
+++ b/board/atmel/at91rm9200ek/at91rm9200ek.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/at91_pio.h>
diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c
index 42fa7627724e..38f97bce2042 100644
--- a/board/atmel/at91sam9260ek/at91sam9260ek.c
+++ b/board/atmel/at91sam9260ek/at91sam9260ek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9260_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c
index f467a4f566c9..0318eeaa94e9 100644
--- a/board/atmel/at91sam9261ek/at91sam9261ek.c
+++ b/board/atmel/at91sam9261ek/at91sam9261ek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9261.h>
 #include <asm/arch/at91sam9261_matrix.h>
diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c
index be132bc185fb..3218e14e860a 100644
--- a/board/atmel/at91sam9263ek/at91sam9263ek.c
+++ b/board/atmel/at91sam9263ek/at91sam9263ek.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/arch/at91sam9263.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
index 8aabc5595196..8cb2808e058a 100644
--- a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
+++ b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/at91sam9g45_matrix.h>
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
index d7ff2e13352f..a3fc55bbc34b 100644
--- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c
+++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <net.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c
index f81dccc9cccb..f427ee658bff 100644
--- a/board/atmel/at91sam9rlek/at91sam9rlek.c
+++ b/board/atmel/at91sam9rlek/at91sam9rlek.c
@@ -9,6 +9,7 @@
 #include <debug_uart.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/at91sam9rl.h>
diff --git a/board/atmel/at91sam9x5ek/at91sam9x5ek.c b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
index 2c071075bac5..e0abe4aeb08b 100644
--- a/board/atmel/at91sam9x5ek/at91sam9x5ek.c
+++ b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/atmel/common/video_display.c b/board/atmel/common/video_display.c
index 2666b0b3cd5d..a5049f4aad41 100644
--- a/board/atmel/common/video_display.c
+++ b/board/atmel/common/video_display.c
@@ -13,6 +13,7 @@
 #include <video.h>
 #include <video_console.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 
diff --git a/board/atmel/sam9x60ek/sam9x60ek.c b/board/atmel/sam9x60ek/sam9x60ek.c
index fbd05c78a948..32e5a2bf23af 100644
--- a/board/atmel/sam9x60ek/sam9x60ek.c
+++ b/board/atmel/sam9x60ek/sam9x60ek.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
index 376562cd0e7d..1b7d946b50c3 100644
--- a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
+++ b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
index c8c2e9581679..32d51bba7d96 100644
--- a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
+++ b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_icp/sama5d2_icp.c b/board/atmel/sama5d2_icp/sama5d2_icp.c
index 7c34df48b871..3f33fcfc4665 100644
--- a/board/atmel/sama5d2_icp/sama5d2_icp.c
+++ b/board/atmel/sama5d2_icp/sama5d2_icp.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c b/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
index b0a23b02db2b..a6937e7d5243 100644
--- a/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
+++ b/board/atmel/sama5d2_ptc_ek/sama5d2_ptc_ek.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <nand.h>
 #include <version.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
index 01636fb73d01..5110ec89697f 100644
--- a/board/atmel/sama5d2_xplained/sama5d2_xplained.c
+++ b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/atmel/sama5d3_xplained/sama5d3_xplained.c b/board/atmel/sama5d3_xplained/sama5d3_xplained.c
index 84c561be6fc3..db9603f58477 100644
--- a/board/atmel/sama5d3_xplained/sama5d3_xplained.c
+++ b/board/atmel/sama5d3_xplained/sama5d3_xplained.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sama5d3_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d3xek/sama5d3xek.c b/board/atmel/sama5d3xek/sama5d3xek.c
index 7f6a31985920..b6f8dcd91dc0 100644
--- a/board/atmel/sama5d3xek/sama5d3xek.c
+++ b/board/atmel/sama5d3xek/sama5d3xek.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sama5d3_smc.h>
 #include <asm/arch/at91_common.h>
diff --git a/board/atmel/sama5d4_xplained/sama5d4_xplained.c b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
index 93cc183a5b47..2088b48b7ee2 100644
--- a/board/atmel/sama5d4_xplained/sama5d4_xplained.c
+++ b/board/atmel/sama5d4_xplained/sama5d4_xplained.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_rstc.h>
diff --git a/board/atmel/sama5d4ek/sama5d4ek.c b/board/atmel/sama5d4ek/sama5d4ek.c
index 4b3883e20f85..46ec1eb32467 100644
--- a/board/atmel/sama5d4ek/sama5d4ek.c
+++ b/board/atmel/sama5d4ek/sama5d4ek.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_rstc.h>
diff --git a/board/atmel/sama7g5ek/sama7g5ek.c b/board/atmel/sama7g5ek/sama7g5ek.c
index b5cece08ac3d..4df43d81f827 100644
--- a/board/atmel/sama7g5ek/sama7g5ek.c
+++ b/board/atmel/sama7g5ek/sama7g5ek.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <debug_uart.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/atmel_pio4.h>
diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c
index d3af634e3aba..69d1b106b072 100644
--- a/board/bachmann/ot1200/ot1200.c
+++ b/board/bachmann/ot1200/ot1200.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/barco/platinum/platinum.c b/board/barco/platinum/platinum.c
index f96106cb75ed..ec8d55288876 100644
--- a/board/barco/platinum/platinum.c
+++ b/board/barco/platinum/platinum.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/barco/titanium/titanium.c b/board/barco/titanium/titanium.c
index 7a52e94c7eeb..efd1dc35ef4c 100644
--- a/board/barco/titanium/titanium.c
+++ b/board/barco/titanium/titanium.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/beacon/beacon-rzg2m/beacon-rzg2m.c b/board/beacon/beacon-rzg2m/beacon-rzg2m.c
index 86a24dd0658f..c343de510232 100644
--- a/board/beacon/beacon-rzg2m/beacon-rzg2m.c
+++ b/board/beacon/beacon-rzg2m/beacon-rzg2m.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/rcar-mstp.h>
 
diff --git a/board/beacon/imx8mm/imx8mm_beacon.c b/board/beacon/imx8mm/imx8mm_beacon.c
index c61d25fbead7..87ffebb5713d 100644
--- a/board/beacon/imx8mm/imx8mm_beacon.c
+++ b/board/beacon/imx8mm/imx8mm_beacon.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <miiphy.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/beacon/imx8mm/spl.c b/board/beacon/imx8mm/spl.c
index 4ee10cf8555e..12266b22a42f 100644
--- a/board/beacon/imx8mm/spl.c
+++ b/board/beacon/imx8mm/spl.c
@@ -6,6 +6,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/beacon/imx8mn/imx8mn_beacon.c b/board/beacon/imx8mn/imx8mn_beacon.c
index 51deb7b4e665..7fe252b262b1 100644
--- a/board/beacon/imx8mn/imx8mn_beacon.c
+++ b/board/beacon/imx8mn/imx8mn_beacon.c
@@ -9,6 +9,7 @@
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/beacon/imx8mn/spl.c b/board/beacon/imx8mn/spl.c
index 6f076f544525..b5263ccfd78d 100644
--- a/board/beacon/imx8mn/spl.c
+++ b/board/beacon/imx8mn/spl.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <asm/io.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mn_pins.h>
diff --git a/board/beckhoff/mx53cx9020/mx53cx9020.c b/board/beckhoff/mx53cx9020/mx53cx9020.c
index 617b545232a2..a3657db8266c 100644
--- a/board/beckhoff/mx53cx9020/mx53cx9020.c
+++ b/board/beckhoff/mx53cx9020/mx53cx9020.c
@@ -13,6 +13,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/iomux-mx53.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/mx5_video.h>
 #include <ACEX1K.h>
 #include <asm/gpio.h>
diff --git a/board/bluegiga/apx4devkit/apx4devkit.c b/board/bluegiga/apx4devkit/apx4devkit.c
index 739f71f5c4d1..ed0885f724c4 100644
--- a/board/bluegiga/apx4devkit/apx4devkit.c
+++ b/board/bluegiga/apx4devkit/apx4devkit.c
@@ -16,6 +16,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/setup.h>
diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c
index 17ecdb679e10..e217b95b4f2f 100644
--- a/board/bluewater/gurnard/gurnard.c
+++ b/board/bluewater/gurnard/gurnard.c
@@ -19,6 +19,7 @@
 #ifndef CONFIG_DM_ETH
 #include <netdev.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/bluewater/snapper9260/snapper9260.c b/board/bluewater/snapper9260/snapper9260.c
index 58fab15c1126..df53a651c395 100644
--- a/board/bluewater/snapper9260/snapper9260.c
+++ b/board/bluewater/snapper9260/snapper9260.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/mach-types.h>
diff --git a/board/bosch/guardian/board.c b/board/bosch/guardian/board.c
index 1d8fa781545d..113838f8b723 100644
--- a/board/bosch/guardian/board.c
+++ b/board/bosch/guardian/board.c
@@ -19,6 +19,7 @@
 #include <led.h>
 #include <miiphy.h>
 #include <panel.h>
+#include <asm/global_data.h>
 #include <power/tps65217.h>
 #include <power/tps65910.h>
 #include <spl.h>
diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c
index b8f1b56502e6..bfce291691a0 100644
--- a/board/bosch/shc/board.c
+++ b/board/bosch/shc/board.c
@@ -29,6 +29,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index 5b2d675a557e..84e14d1124fc 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
index a1e3b25c2e00..90685c072a3b 100644
--- a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
+++ b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <env.h>
diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
index 79ce54993dd0..43726f79bde3 100644
--- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
+++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <env.h>
diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c
index ad9af92b5591..6064eb43db11 100644
--- a/board/broadcom/bcm_ep/board.c
+++ b/board/broadcom/bcm_ep/board.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <config.h>
 #include <netdev.h>
diff --git a/board/broadcom/bcmns2/northstar2.c b/board/broadcom/bcmns2/northstar2.c
index 91f489aad3f2..494e457ff65b 100644
--- a/board/broadcom/bcmns2/northstar2.c
+++ b/board/broadcom/bcmns2/northstar2.c
@@ -6,6 +6,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 
diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c
index 10ae344a06df..9d2df92fa1d7 100644
--- a/board/broadcom/bcmns3/ns3.c
+++ b/board/broadcom/bcmns3/ns3.c
@@ -8,6 +8,7 @@
 #include <fdt_support.h>
 #include <asm/io.h>
 #include <asm/gic-v3.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 #include <asm/arch-bcmns3/bl33_info.h>
diff --git a/board/broadcom/bcmstb/bcmstb.c b/board/broadcom/bcmstb/bcmstb.c
index add4285db31d..f6bdf1f5f400 100644
--- a/board/broadcom/bcmstb/bcmstb.c
+++ b/board/broadcom/bcmstb/bcmstb.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <common.h>
 #include <env.h>
diff --git a/board/bticino/mamoj/mamoj.c b/board/bticino/mamoj/mamoj.c
index b7d37b700447..c9da42b43bf5 100644
--- a/board/bticino/mamoj/mamoj.c
+++ b/board/bticino/mamoj/mamoj.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/bticino/mamoj/spl.c b/board/bticino/mamoj/spl.c
index a9bb2a55e5de..883b7f4133b9 100644
--- a/board/bticino/mamoj/spl.c
+++ b/board/bticino/mamoj/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/io.h>
diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c
index 64daa456b3c7..34be601fdde6 100644
--- a/board/buffalo/lsxl/lsxl.c
+++ b/board/buffalo/lsxl/lsxl.c
@@ -24,6 +24,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include "lsxl.h"
diff --git a/board/calao/usb_a9263/usb_a9263.c b/board/calao/usb_a9263/usb_a9263.c
index 1fcaff604558..c0a5c518ca8b 100644
--- a/board/calao/usb_a9263/usb_a9263.c
+++ b/board/calao/usb_a9263/usb_a9263.c
@@ -15,6 +15,7 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/gpio.h>
 #include <asm-generic/gpio.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <net.h>
 #include <netdev.h>
diff --git a/board/cavium/thunderx/thunderx.c b/board/cavium/thunderx/thunderx.c
index fd234728980f..b09f72cad5c3 100644
--- a/board/cavium/thunderx/thunderx.c
+++ b/board/cavium/thunderx/thunderx.c
@@ -10,6 +10,7 @@
 #include <malloc.h>
 #include <errno.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 
 #include <cavium/atf.h>
diff --git a/board/ccv/xpress/xpress.c b/board/ccv/xpress/xpress.c
index 27beaeb101af..9f5e78ce6804 100644
--- a/board/ccv/xpress/xpress.c
+++ b/board/ccv/xpress/xpress.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/cirrus/edb93xx/edb93xx.c b/board/cirrus/edb93xx/edb93xx.c
index cbed98b0e368..7a7f62fe88e4 100644
--- a/board/cirrus/edb93xx/edb93xx.c
+++ b/board/cirrus/edb93xx/edb93xx.c
@@ -21,6 +21,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <status_led.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/arch/ep93xx.h>
diff --git a/board/cloudengines/pogo_e02/pogo_e02.c b/board/cloudengines/pogo_e02/pogo_e02.c
index 8df039168c99..039fd6e3dd67 100644
--- a/board/cloudengines/pogo_e02/pogo_e02.c
+++ b/board/cloudengines/pogo_e02/pogo_e02.c
@@ -17,6 +17,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "pogo_e02.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/cobra5272/cobra5272.c b/board/cobra5272/cobra5272.c
index a79884cb506f..3e2418866c73 100644
--- a/board/cobra5272/cobra5272.c
+++ b/board/cobra5272/cobra5272.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/compulab/cl-som-imx7/cl-som-imx7.c b/board/compulab/cl-som-imx7/cl-som-imx7.c
index 1eef1d550761..454c93a572f8 100644
--- a/board/compulab/cl-som-imx7/cl-som-imx7.c
+++ b/board/compulab/cl-som-imx7/cl-som-imx7.c
@@ -15,6 +15,7 @@
 #include <phy.h>
 #include <netdev.h>
 #include <fsl_esdhc_imx.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <power/pmic.h>
 #include <power/pfuze3000_pmic.h>
diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 7520e96e078e..f29b08247ecc 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -27,6 +27,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mxc_hdmi.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <asm/mach-imx/sata.h>
 #include <asm/mach-imx/video.h>
diff --git a/board/compulab/cm_t335/cm_t335.c b/board/compulab/cm_t335/cm_t335.c
index a9ba2b7e0023..1d4a3aceef54 100644
--- a/board/compulab/cm_t335/cm_t335.c
+++ b/board/compulab/cm_t335/cm_t335.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <status_led.h>
 #include <cpsw.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/sys_proto.h>
diff --git a/board/compulab/cm_t43/cm_t43.c b/board/compulab/cm_t43/cm_t43.c
index 4b097c8f8f7c..efdade155b57 100644
--- a/board/compulab/cm_t43/cm_t43.c
+++ b/board/compulab/cm_t43/cm_t43.c
@@ -8,6 +8,7 @@
 #include <miiphy.h>
 #include <cpsw.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/emif.h>
diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
index 9316b2c37720..6ae4a1af8921 100644
--- a/board/congatec/cgtqmx6eval/cgtqmx6eval.c
+++ b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/coreboot/coreboot/coreboot.c b/board/coreboot/coreboot/coreboot.c
index 55aeced54220..9aafb8920cd3 100644
--- a/board/coreboot/coreboot/coreboot.c
+++ b/board/coreboot/coreboot/coreboot.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <asm/arch/sysinfo.h>
+#include <asm/global_data.h>
 #include <init.h>
 #include <smbios.h>
 
diff --git a/board/corscience/tricorder/tricorder.c b/board/corscience/tricorder/tricorder.c
index 41675677de2a..3f4a40fd6593 100644
--- a/board/corscience/tricorder/tricorder.c
+++ b/board/corscience/tricorder/tricorder.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <twl4030.h>
 #include <status_led.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/cortina/presidio-asic/presidio.c b/board/cortina/presidio-asic/presidio.c
index 3c132f127179..5c7352226373 100644
--- a/board/cortina/presidio-asic/presidio.c
+++ b/board/cortina/presidio-asic/presidio.c
@@ -8,6 +8,7 @@
 #include <malloc.h>
 #include <errno.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
diff --git a/board/creative/xfi3/xfi3.c b/board/creative/xfi3/xfi3.c
index b5f0d3130745..2aa2435e49c2 100644
--- a/board/creative/xfi3/xfi3.c
+++ b/board/creative/xfi3/xfi3.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/cssi/MCR3000/MCR3000.c b/board/cssi/MCR3000/MCR3000.c
index 55e955c36bbf..c20e87149493 100644
--- a/board/cssi/MCR3000/MCR3000.c
+++ b/board/cssi/MCR3000/MCR3000.c
@@ -14,6 +14,7 @@
 #include <mpc8xx.h>
 #include <fdt_support.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/uclass.h>
 #include <wdt.h>
diff --git a/board/d-link/dns325/dns325.c b/board/d-link/dns325/dns325.c
index 0ae2e7d88c10..055783f63ada 100644
--- a/board/d-link/dns325/dns325.c
+++ b/board/d-link/dns325/dns325.c
@@ -19,6 +19,7 @@
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include "dns325.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c
index 683e8b452ada..383a86173849 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -17,6 +17,7 @@
 #include <spi.h>
 #include <spi_flash.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/ti-common/davinci_nand.h>
 #include <asm/arch/emac_defs.h>
 #include <asm/arch/pinmux_defs.h>
diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c
index a08858550d49..d5f43bf52044 100644
--- a/board/davinci/da8xxevm/omapl138_lcdk.c
+++ b/board/davinci/da8xxevm/omapl138_lcdk.c
@@ -14,6 +14,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/ti-common/davinci_nand.h>
 #include <asm/io.h>
 #include <ns16550.h>
diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c b/board/dhelectronics/dh_imx6/dh_imx6.c
index 9937d6b0106a..2969e90a707d 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index 35669c252bf6..49b12c4c0420 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -9,6 +9,7 @@
 #include <net.h>
 #include <asm/arch/stm32.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <bootm.h>
diff --git a/board/ea/mx7ulp_com/mx7ulp_com.c b/board/ea/mx7ulp_com/mx7ulp_com.c
index a9b8a3210828..5b2d444366c7 100644
--- a/board/ea/mx7ulp_com/mx7ulp_com.c
+++ b/board/ea/mx7ulp_com/mx7ulp_com.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mx7ulp-pins.h>
diff --git a/board/eets/pdu001/board.c b/board/eets/pdu001/board.c
index a602b623adb0..f806d1e7672a 100644
--- a/board/eets/pdu001/board.c
+++ b/board/eets/pdu001/board.c
@@ -18,6 +18,7 @@
 #include <i2c.h>
 #include <watchdog.h>
 #include <debug_uart.h>
+#include <asm/global_data.h>
 #include <dm/ofnode.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/board/egnite/ethernut5/ethernut5.c b/board/egnite/ethernut5/ethernut5.c
index 0674b3001096..559fdd2f646d 100644
--- a/board/egnite/ethernut5/ethernut5.c
+++ b/board/egnite/ethernut5/ethernut5.c
@@ -60,6 +60,7 @@
 #include <i2c.h>
 #include <mmc.h>
 #include <atmel_mci.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/at91sam9260.h>
 #include <asm/arch/at91sam9260_matrix.h>
diff --git a/board/el/el6x/el6x.c b/board/el/el6x/el6x.c
index bdc0558eda21..ddac58f73d28 100644
--- a/board/el/el6x/el6x.c
+++ b/board/el/el6x/el6x.c
@@ -13,6 +13,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c
index 245e5abcaebd..eb7a322d847d 100644
--- a/board/elgin/elgin_rv1108/elgin_rv1108.c
+++ b/board/elgin/elgin_rv1108/elgin_rv1108.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rv1108.h>
diff --git a/board/embest/mx6boards/mx6boards.c b/board/embest/mx6boards/mx6boards.c
index 752242bd54c4..65b3942e3991 100644
--- a/board/embest/mx6boards/mx6boards.c
+++ b/board/embest/mx6boards/mx6boards.c
@@ -20,6 +20,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/emulation/common/qemu_capsule.c b/board/emulation/common/qemu_capsule.c
index f1d403501a94..5cb461d52bce 100644
--- a/board/emulation/common/qemu_capsule.c
+++ b/board/emulation/common/qemu_capsule.c
@@ -8,6 +8,7 @@
 #include <efi_loader.h>
 #include <env.h>
 #include <fdtdec.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/engicam/common/board.c b/board/engicam/common/board.c
index 5a2003d50988..df9149e0d6d8 100644
--- a/board/engicam/common/board.c
+++ b/board/engicam/common/board.c
@@ -16,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 
 #include "board.h"
 
diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c
index deed3a9b84ec..eaa525eb0049 100644
--- a/board/esd/meesc/meesc.c
+++ b/board/esd/meesc/meesc.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <serial.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/mach-types.h>
diff --git a/board/esd/vme8349/vme8349.c b/board/esd/vme8349/vme8349.c
index 8d3d26e3c703..d388fc6d4901 100644
--- a/board/esd/vme8349/vme8349.c
+++ b/board/esd/vme8349/vme8349.c
@@ -17,6 +17,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/firefly/firefly-rk3288/firefly-rk3288.c b/board/firefly/firefly-rk3288/firefly-rk3288.c
index bd8a32cf7b39..41c49e5daa72 100644
--- a/board/firefly/firefly-rk3288/firefly-rk3288.c
+++ b/board/firefly/firefly-rk3288/firefly-rk3288.c
@@ -7,6 +7,7 @@
 #include <hang.h>
 #include <led.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_SPL_BUILD
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/common/arm_sleep.c b/board/freescale/common/arm_sleep.c
index bb1ef9979279..733940860f55 100644
--- a/board/freescale/common/arm_sleep.c
+++ b/board/freescale/common/arm_sleep.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #ifndef CONFIG_ARMV7_NONSEC
 #error " Deep sleep needs non-secure mode support. "
diff --git a/board/freescale/common/emc2305.c b/board/freescale/common/emc2305.c
index 050b679f3c57..12ad4b3e08a2 100644
--- a/board/freescale/common/emc2305.c
+++ b/board/freescale/common/emc2305.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <command.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include "emc2305.h"
diff --git a/board/freescale/common/mpc85xx_sleep.c b/board/freescale/common/mpc85xx_sleep.c
index 6f6f4d40fcb8..d2bb173c1833 100644
--- a/board/freescale/common/mpc85xx_sleep.c
+++ b/board/freescale/common/mpc85xx_sleep.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/immap_85xx.h>
 #include "sleep.h"
 #ifdef CONFIG_U_QE
diff --git a/board/freescale/corenet_ds/corenet_ds.c b/board/freescale/corenet_ds/corenet_ds.c
index 15d11ed81abf..3a83e65f2fe5 100644
--- a/board/freescale/corenet_ds/corenet_ds.c
+++ b/board/freescale/corenet_ds/corenet_ds.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/corenet_ds/ddr.c b/board/freescale/corenet_ds/ddr.c
index 19f6e8700d5f..2c440673e7c3 100644
--- a/board/freescale/corenet_ds/ddr.c
+++ b/board/freescale/corenet_ds/ddr.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
index 6af71006966c..ab55135a9720 100644
--- a/board/freescale/imx8mm_evk/imx8mm_evk.c
+++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <miiphy.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/imx8mm_evk/spl.c b/board/freescale/imx8mm_evk/spl.c
index 19c8a5aa2354..64bc60651d3e 100644
--- a/board/freescale/imx8mm_evk/spl.c
+++ b/board/freescale/imx8mm_evk/spl.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index e5ca54f9ae75..9a0a0488bf4f 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/imx8mn_evk/spl.c b/board/freescale/imx8mn_evk/spl.c
index dd38c1015cf4..6d5c7a5b4676 100644
--- a/board/freescale/imx8mn_evk/spl.c
+++ b/board/freescale/imx8mn_evk/spl.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/imx8mp_evk/imx8mp_evk.c b/board/freescale/imx8mp_evk/imx8mp_evk.c
index 330b47fa5f92..89cc17cbeac5 100644
--- a/board/freescale/imx8mp_evk/imx8mp_evk.c
+++ b/board/freescale/imx8mp_evk/imx8mp_evk.c
@@ -10,6 +10,7 @@
 #include <miiphy.h>
 #include <netdev.h>
 #include <linux/delay.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm-generic/gpio.h>
 #include <asm/arch/imx8mp_pins.h>
diff --git a/board/freescale/imx8mp_evk/spl.c b/board/freescale/imx8mp_evk/spl.c
index 3214718e62b2..ebfd94dc1fa0 100644
--- a/board/freescale/imx8mp_evk/spl.c
+++ b/board/freescale/imx8mp_evk/spl.c
@@ -12,6 +12,7 @@
 #include <init.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/board/freescale/imx8mq_evk/imx8mq_evk.c b/board/freescale/imx8mq_evk/imx8mq_evk.c
index 1ad670b8ccf0..93da67d77983 100644
--- a/board/freescale/imx8mq_evk/imx8mq_evk.c
+++ b/board/freescale/imx8mq_evk/imx8mq_evk.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/freescale/imx8mq_evk/spl.c b/board/freescale/imx8mq_evk/spl.c
index 42183ed5aa0a..82753585f2f0 100644
--- a/board/freescale/imx8mq_evk/spl.c
+++ b/board/freescale/imx8mq_evk/spl.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <asm/io.h>
diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c
index fba3baa1267e..c6772206244c 100644
--- a/board/freescale/imx8qm_mek/imx8qm_mek.c
+++ b/board/freescale/imx8qm_mek/imx8qm_mek.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #include <asm/io.h>
diff --git a/board/freescale/imx8qm_mek/spl.c b/board/freescale/imx8qm_mek/spl.c
index 9dee12a2c6a2..944ba745c09f 100644
--- a/board/freescale/imx8qm_mek/spl.c
+++ b/board/freescale/imx8qm_mek/spl.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index da55933e21b2..7179823a2235 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <errno.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/freescale/imx8qxp_mek/spl.c b/board/freescale/imx8qxp_mek/spl.c
index 881d297cf17f..ae6b64ff6ea1 100644
--- a/board/freescale/imx8qxp_mek/spl.c
+++ b/board/freescale/imx8qxp_mek/spl.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/freescale/imxrt1020-evk/imxrt1020-evk.c b/board/freescale/imxrt1020-evk/imxrt1020-evk.c
index 0cef6071feba..35241acd224c 100644
--- a/board/freescale/imxrt1020-evk/imxrt1020-evk.c
+++ b/board/freescale/imxrt1020-evk/imxrt1020-evk.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <ram.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 
diff --git a/board/freescale/imxrt1050-evk/imxrt1050-evk.c b/board/freescale/imxrt1050-evk/imxrt1050-evk.c
index edc7fb176bbc..b8d852f097b0 100644
--- a/board/freescale/imxrt1050-evk/imxrt1050-evk.c
+++ b/board/freescale/imxrt1050-evk/imxrt1050-evk.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <ram.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 
diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c b/board/freescale/ls1012afrdm/ls1012afrdm.c
index 4770eadabd79..2cd651b943fb 100644
--- a/board/freescale/ls1012afrdm/ls1012afrdm.c
+++ b/board/freescale/ls1012afrdm/ls1012afrdm.c
@@ -8,6 +8,7 @@
 #include <i2c.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1012aqds/ls1012aqds.c b/board/freescale/ls1012aqds/ls1012aqds.c
index 7bea45c8ae53..b77808ea57b7 100644
--- a/board/freescale/ls1012aqds/ls1012aqds.c
+++ b/board/freescale/ls1012aqds/ls1012aqds.c
@@ -8,6 +8,7 @@
 #include <fdt_support.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1012ardb/ls1012ardb.c b/board/freescale/ls1012ardb/ls1012ardb.c
index 30b43ea135ad..ed6dc9ff712f 100644
--- a/board/freescale/ls1012ardb/ls1012ardb.c
+++ b/board/freescale/ls1012ardb/ls1012ardb.c
@@ -10,6 +10,7 @@
 #include <i2c.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1021aiot/dcu.c b/board/freescale/ls1021aiot/dcu.c
index 77732a6ab158..e4fbcbcaad35 100644
--- a/board/freescale/ls1021aiot/dcu.c
+++ b/board/freescale/ls1021aiot/dcu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <fsl_dcu_fb.h>
+#include <asm/global_data.h>
 #include "div64.h"
 #include "../common/dcu_sii9022a.h"
 
diff --git a/board/freescale/ls1021aiot/ls1021aiot.c b/board/freescale/ls1021aiot/ls1021aiot.c
index 2e5cc5906665..bfe613760427 100644
--- a/board/freescale/ls1021aiot/ls1021aiot.c
+++ b/board/freescale/ls1021aiot/ls1021aiot.c
@@ -12,6 +12,7 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
 #include <asm/arch/ls102xa_stream_id.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/ls102xa_devdis.h>
diff --git a/board/freescale/ls1021aqds/dcu.c b/board/freescale/ls1021aqds/dcu.c
index b648a7872bcc..f66961ca5907 100644
--- a/board/freescale/ls1021aqds/dcu.c
+++ b/board/freescale/ls1021aqds/dcu.c
@@ -6,6 +6,7 @@
  * FSL DCU Framebuffer driver
  */
 
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <fsl_dcu_fb.h>
diff --git a/board/freescale/ls1021aqds/ddr.c b/board/freescale/ls1021aqds/ddr.c
index f84bce95a845..66fe1519cc6d 100644
--- a/board/freescale/ls1021aqds/ddr.c
+++ b/board/freescale/ls1021aqds/ddr.c
@@ -8,6 +8,7 @@
 #include <fsl_ddr_dimm_params.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <linux/delay.h>
diff --git a/board/freescale/ls1021atsn/ls1021atsn.c b/board/freescale/ls1021atsn/ls1021atsn.c
index 878306b2d0fc..c1acd3040c42 100644
--- a/board/freescale/ls1021atsn/ls1021atsn.c
+++ b/board/freescale/ls1021atsn/ls1021atsn.c
@@ -11,6 +11,7 @@
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/ls102xa_soc.h>
 #include <asm/arch/fsl_serdes.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include "../common/sleep.h"
 #include <fsl_validate.h>
diff --git a/board/freescale/ls1021atwr/dcu.c b/board/freescale/ls1021atwr/dcu.c
index bdf7f7645c2f..7bf283e3d66c 100644
--- a/board/freescale/ls1021atwr/dcu.c
+++ b/board/freescale/ls1021atwr/dcu.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <fsl_dcu_fb.h>
+#include <asm/global_data.h>
 #include "div64.h"
 #include "../common/dcu_sii9022a.h"
 
diff --git a/board/freescale/ls1021atwr/ls1021atwr.c b/board/freescale/ls1021atwr/ls1021atwr.c
index 2889bd8deddb..0cd38a14b830 100644
--- a/board/freescale/ls1021atwr/ls1021atwr.c
+++ b/board/freescale/ls1021atwr/ls1021atwr.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/immap_ls102xa.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/ls1028a/ddr.c b/board/freescale/ls1028a/ddr.c
index 74d3af5c359d..3e976da6b305 100644
--- a/board/freescale/ls1028a/ddr.c
+++ b/board/freescale/ls1028a/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/ls1028a/ls1028a.c b/board/freescale/ls1028a/ls1028a.c
index e37e3a3c16d4..f3c1d958b72a 100644
--- a/board/freescale/ls1028a/ls1028a.c
+++ b/board/freescale/ls1028a/ls1028a.c
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <fsl_ddr.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hwconfig.h>
 #include <fdt_support.h>
diff --git a/board/freescale/ls1043aqds/ddr.c b/board/freescale/ls1043aqds/ddr.c
index c0fc9aadf041..23947bdb84c9 100644
--- a/board/freescale/ls1043aqds/ddr.c
+++ b/board/freescale/ls1043aqds/ddr.c
@@ -11,6 +11,7 @@
 #endif
 #include <log.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c
index ef0f2e612242..44e4c61eab27 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -10,6 +10,7 @@
 #include <fsl_ddr_sdram.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1043ardb/ddr.c b/board/freescale/ls1043ardb/ddr.c
index f16e036d0e8c..08b43ff5e4c5 100644
--- a/board/freescale/ls1043ardb/ddr.c
+++ b/board/freescale/ls1043ardb/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 #include <log.h>
 #include <vsprintf.h>
diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c
index dc32c030ecac..beef26b084bf 100644
--- a/board/freescale/ls1043ardb/ls1043ardb.c
+++ b/board/freescale/ls1043ardb/ls1043ardb.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046afrwy/ddr.c b/board/freescale/ls1046afrwy/ddr.c
index daf17e016934..256397b52b65 100644
--- a/board/freescale/ls1046afrwy/ddr.c
+++ b/board/freescale/ls1046afrwy/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <fsl_ddr_sdram.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c b/board/freescale/ls1046afrwy/ls1046afrwy.c
index 4ebf77b1ad1f..9813a36ca07e 100644
--- a/board/freescale/ls1046afrwy/ls1046afrwy.c
+++ b/board/freescale/ls1046afrwy/ls1046afrwy.c
@@ -7,6 +7,7 @@
 #include <i2c.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046aqds/ddr.c b/board/freescale/ls1046aqds/ddr.c
index f3cfbc4c39be..9a96de271786 100644
--- a/board/freescale/ls1046aqds/ddr.c
+++ b/board/freescale/ls1046aqds/ddr.c
@@ -11,6 +11,7 @@
 #endif
 #include <log.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1046aqds/ls1046aqds.c b/board/freescale/ls1046aqds/ls1046aqds.c
index 33b10277af7c..3c96c900c320 100644
--- a/board/freescale/ls1046aqds/ls1046aqds.c
+++ b/board/freescale/ls1046aqds/ls1046aqds.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <fsl_ddr_sdram.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1046ardb/ddr.c b/board/freescale/ls1046ardb/ddr.c
index 0e07df521190..befb556bd30b 100644
--- a/board/freescale/ls1046ardb/ddr.c
+++ b/board/freescale/ls1046ardb/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 #ifdef CONFIG_FSL_DEEP_SLEEP
 #include <fsl_sleep.h>
diff --git a/board/freescale/ls1046ardb/ls1046ardb.c b/board/freescale/ls1046ardb/ls1046ardb.c
index e107c8471b30..93ef903f2998 100644
--- a/board/freescale/ls1046ardb/ls1046ardb.c
+++ b/board/freescale/ls1046ardb/ls1046ardb.c
@@ -7,6 +7,7 @@
 #include <i2c.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls1088a/ddr.c b/board/freescale/ls1088a/ddr.c
index fd9549bfbc8c..995c42960178 100644
--- a/board/freescale/ls1088a/ddr.c
+++ b/board/freescale/ls1088a/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
index 5d19702a05cf..2ba6a3990d90 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -13,6 +13,7 @@
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
 #include <fsl_sec.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/delay.h>
diff --git a/board/freescale/ls2080a/ddr.c b/board/freescale/ls2080a/ddr.c
index 229fc9cc30ea..29d7bd1c5ee6 100644
--- a/board/freescale/ls2080a/ddr.c
+++ b/board/freescale/ls2080a/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080a/ls2080a.c b/board/freescale/ls2080a/ls2080a.c
index 62da2a7af11a..48437a52e401 100644
--- a/board/freescale/ls2080a/ls2080a.c
+++ b/board/freescale/ls2080a/ls2080a.c
@@ -10,6 +10,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/board/freescale/ls2080aqds/ddr.c b/board/freescale/ls2080aqds/ddr.c
index 3fb2c4448c24..2767d058cc96 100644
--- a/board/freescale/ls2080aqds/ddr.c
+++ b/board/freescale/ls2080aqds/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index 3eb40f5e2a21..a6f6897eb09d 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -10,6 +10,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fdt_support.h>
 #include <linux/libfdt.h>
diff --git a/board/freescale/ls2080ardb/ddr.c b/board/freescale/ls2080ardb/ddr.c
index 4571a228c59e..07fa84733324 100644
--- a/board/freescale/ls2080ardb/ddr.c
+++ b/board/freescale/ls2080ardb/ddr.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/clock.h>
+#include <asm/global_data.h>
 #include "ddr.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/ls2080ardb/eth_ls2080rdb.c b/board/freescale/ls2080ardb/eth_ls2080rdb.c
index 018d1dc6720c..21b4c16ff27c 100644
--- a/board/freescale/ls2080ardb/eth_ls2080rdb.c
+++ b/board/freescale/ls2080ardb/eth_ls2080rdb.c
@@ -13,6 +13,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index c7e9c1dacf43..26ce5a80edf7 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -11,6 +11,7 @@
 #include <netdev.h>
 #include <fsl_ifc.h>
 #include <fsl_ddr.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <hwconfig.h>
 #include <fdt_support.h>
diff --git a/board/freescale/lx2160a/ddr.c b/board/freescale/lx2160a/ddr.c
index cd422bf2bc5c..7ab7a9e6ca83 100644
--- a/board/freescale/lx2160a/ddr.c
+++ b/board/freescale/lx2160a/ddr.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c b/board/freescale/lx2160a/eth_lx2160aqds.c
index fcace0293605..437f0bc4cf68 100644
--- a/board/freescale/lx2160a/eth_lx2160aqds.c
+++ b/board/freescale/lx2160a/eth_lx2160aqds.c
@@ -17,6 +17,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/lx2160a/eth_lx2160ardb.c b/board/freescale/lx2160a/eth_lx2160ardb.c
index b3125b7748d5..15cbc58d59a7 100644
--- a/board/freescale/lx2160a/eth_lx2160ardb.c
+++ b/board/freescale/lx2160a/eth_lx2160ardb.c
@@ -14,6 +14,7 @@
 #include <miiphy.h>
 #include <phy.h>
 #include <fm_eth.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <exports.h>
 #include <asm/arch/fsl_serdes.h>
diff --git a/board/freescale/lx2160a/eth_lx2162aqds.c b/board/freescale/lx2160a/eth_lx2162aqds.c
index 4683f674f0e1..b742c1ff5288 100644
--- a/board/freescale/lx2160a/eth_lx2162aqds.c
+++ b/board/freescale/lx2160a/eth_lx2162aqds.c
@@ -19,6 +19,7 @@
 #include <fm_eth.h>
 #include <asm/io.h>
 #include <exports.h>
+#include <asm/global_data.h>
 #include <asm/arch/fsl_serdes.h>
 #include <fsl-mc/fsl_mc.h>
 #include <fsl-mc/ldpaa_wriop.h>
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index ea027bec5676..1d203ec6da0f 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -7,6 +7,7 @@
 #include <clock_legacy.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <i2c.h>
 #include <malloc.h>
diff --git a/board/freescale/m5208evbe/m5208evbe.c b/board/freescale/m5208evbe/m5208evbe.c
index a950030eb397..7bfb4557dd5b 100644
--- a/board/freescale/m5208evbe/m5208evbe.c
+++ b/board/freescale/m5208evbe/m5208evbe.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m52277evb/m52277evb.c b/board/freescale/m52277evb/m52277evb.c
index 144e490479ed..510af33e4c3c 100644
--- a/board/freescale/m52277evb/m52277evb.c
+++ b/board/freescale/m52277evb/m52277evb.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5235evb/m5235evb.c b/board/freescale/m5235evb/m5235evb.c
index 5d4039375530..e7c7a94036b5 100644
--- a/board/freescale/m5235evb/m5235evb.c
+++ b/board/freescale/m5235evb/m5235evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5249evb/m5249evb.c b/board/freescale/m5249evb/m5249evb.c
index a89d5100586f..48c00791114d 100644
--- a/board/freescale/m5249evb/m5249evb.c
+++ b/board/freescale/m5249evb/m5249evb.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <linux/delay.h>
 
diff --git a/board/freescale/m5253demo/m5253demo.c b/board/freescale/m5253demo/m5253demo.c
index 9a157db60142..2a4703579dab 100644
--- a/board/freescale/m5253demo/m5253demo.c
+++ b/board/freescale/m5253demo/m5253demo.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <netdev.h>
 #include <asm/io.h>
diff --git a/board/freescale/m5272c3/m5272c3.c b/board/freescale/m5272c3/m5272c3.c
index 1017ef0c2a53..9580cf2a0390 100644
--- a/board/freescale/m5272c3/m5272c3.c
+++ b/board/freescale/m5272c3/m5272c3.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5275evb/m5275evb.c b/board/freescale/m5275evb/m5275evb.c
index e65e6d0af585..1c4fb7232afb 100644
--- a/board/freescale/m5275evb/m5275evb.c
+++ b/board/freescale/m5275evb/m5275evb.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 
diff --git a/board/freescale/m5282evb/m5282evb.c b/board/freescale/m5282evb/m5282evb.c
index 251be667d46b..e1ea9b3a58f8 100644
--- a/board/freescale/m5282evb/m5282evb.c
+++ b/board/freescale/m5282evb/m5282evb.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/m53017evb/m53017evb.c b/board/freescale/m53017evb/m53017evb.c
index f13b6931ea25..c9f89353ce4b 100644
--- a/board/freescale/m53017evb/m53017evb.c
+++ b/board/freescale/m53017evb/m53017evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5329evb/m5329evb.c b/board/freescale/m5329evb/m5329evb.c
index 531894f65161..7a75b04dd0d2 100644
--- a/board/freescale/m5329evb/m5329evb.c
+++ b/board/freescale/m5329evb/m5329evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m5373evb/m5373evb.c b/board/freescale/m5373evb/m5373evb.c
index 29ff55f15966..cfa5ca4a477c 100644
--- a/board/freescale/m5373evb/m5373evb.c
+++ b/board/freescale/m5373evb/m5373evb.c
@@ -10,6 +10,7 @@
 #include <config.h>
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m54418twr/m54418twr.c b/board/freescale/m54418twr/m54418twr.c
index a418fba1401b..ca8993197e3e 100644
--- a/board/freescale/m54418twr/m54418twr.c
+++ b/board/freescale/m54418twr/m54418twr.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/immap.h>
 #include <mmc.h>
diff --git a/board/freescale/m54451evb/m54451evb.c b/board/freescale/m54451evb/m54451evb.c
index 1298bd324e9f..a4ddc69166b3 100644
--- a/board/freescale/m54451evb/m54451evb.c
+++ b/board/freescale/m54451evb/m54451evb.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m54455evb/m54455evb.c b/board/freescale/m54455evb/m54455evb.c
index 286300645b4a..c749ee407e77 100644
--- a/board/freescale/m54455evb/m54455evb.c
+++ b/board/freescale/m54455evb/m54455evb.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m547xevb/m547xevb.c b/board/freescale/m547xevb/m547xevb.c
index 908a500f4b9f..1568f455e927 100644
--- a/board/freescale/m547xevb/m547xevb.c
+++ b/board/freescale/m547xevb/m547xevb.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/m548xevb/m548xevb.c b/board/freescale/m548xevb/m548xevb.c
index 796b808e6f90..b62355a7ae7b 100644
--- a/board/freescale/m548xevb/m548xevb.c
+++ b/board/freescale/m548xevb/m548xevb.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <init.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <linux/delay.h>
diff --git a/board/freescale/mpc8308rdb/sdram.c b/board/freescale/mpc8308rdb/sdram.c
index 6e0922cd53c9..6340fd16ea9b 100644
--- a/board/freescale/mpc8308rdb/sdram.c
+++ b/board/freescale/mpc8308rdb/sdram.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 
 #include <asm/bitops.h>
 #include <asm/io.h>
diff --git a/board/freescale/mpc8313erdb/mpc8313erdb.c b/board/freescale/mpc8313erdb/mpc8313erdb.c
index 7e1a31f2650d..3bf5cff1e100 100644
--- a/board/freescale/mpc8313erdb/mpc8313erdb.c
+++ b/board/freescale/mpc8313erdb/mpc8313erdb.c
@@ -20,6 +20,7 @@
 #if defined(CONFIG_MPC83XX_GPIO) && !defined(CONFIG_SPL_BUILD)
 #include <asm/gpio.h>
 #endif
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/mpc8313erdb/sdram.c b/board/freescale/mpc8313erdb/sdram.c
index 99f6bcd5a933..f146ae5d43c4 100644
--- a/board/freescale/mpc8313erdb/sdram.c
+++ b/board/freescale/mpc8313erdb/sdram.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <mpc83xx.h>
 #include <spd_sdram.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/bitops.h>
diff --git a/board/freescale/mpc8315erdb/mpc8315erdb.c b/board/freescale/mpc8315erdb/mpc8315erdb.c
index 05b983a3f26f..e89d5d495595 100644
--- a/board/freescale/mpc8315erdb/mpc8315erdb.c
+++ b/board/freescale/mpc8315erdb/mpc8315erdb.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
diff --git a/board/freescale/mpc8315erdb/sdram.c b/board/freescale/mpc8315erdb/sdram.c
index 8a828207f935..ffbb79aaec14 100644
--- a/board/freescale/mpc8315erdb/sdram.c
+++ b/board/freescale/mpc8315erdb/sdram.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <mpc83xx.h>
 #include <spd_sdram.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/bitops.h>
diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c
index 3cde715e96b7..cef3216a6fe5 100644
--- a/board/freescale/mpc8323erdb/mpc8323erdb.c
+++ b/board/freescale/mpc8323erdb/mpc8323erdb.c
@@ -19,6 +19,7 @@
 #include <i2c.h>
 #include <miiphy.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <u-boot/crc.h>
diff --git a/board/freescale/mpc832xemds/mpc832xemds.c b/board/freescale/mpc832xemds/mpc832xemds.c
index 6139cbd04091..f34758a9470a 100644
--- a/board/freescale/mpc832xemds/mpc832xemds.c
+++ b/board/freescale/mpc832xemds/mpc832xemds.c
@@ -16,6 +16,7 @@
 #if defined(CONFIG_PCI)
 #include <pci.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c
index 46be5ccd92cf..5f38639afd42 100644
--- a/board/freescale/mpc8349emds/mpc8349emds.c
+++ b/board/freescale/mpc8349emds/mpc8349emds.c
@@ -10,6 +10,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <spi.h>
diff --git a/board/freescale/mpc8349itx/mpc8349itx.c b/board/freescale/mpc8349itx/mpc8349itx.c
index a265a8380fef..5b4c290df149 100644
--- a/board/freescale/mpc8349itx/mpc8349itx.c
+++ b/board/freescale/mpc8349itx/mpc8349itx.c
@@ -18,6 +18,7 @@
 #endif
 #include <spd_sdram.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <linux/libfdt.h>
diff --git a/board/freescale/mpc837xemds/mpc837xemds.c b/board/freescale/mpc837xemds/mpc837xemds.c
index f515299bc9a8..71875cf8f8ec 100644
--- a/board/freescale/mpc837xemds/mpc837xemds.c
+++ b/board/freescale/mpc837xemds/mpc837xemds.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <net.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 #include <spd_sdram.h>
diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c
index 39673ad076a3..81d31f19c4c1 100644
--- a/board/freescale/mpc837xerdb/mpc837xerdb.c
+++ b/board/freescale/mpc837xerdb/mpc837xerdb.c
@@ -11,6 +11,7 @@
 #include <i2c.h>
 #include <init.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 #include <fdt_support.h>
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index 52bf4da98eaa..74b0e45b4f82 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <net.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 0f9aea469b11..b30b86364d5d 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -8,6 +8,7 @@
 #include <log.h>
 #include <net.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/mx23evk/mx23evk.c b/board/freescale/mx23evk/mx23evk.c
index 3fbac6b5cc31..605cdec218a3 100644
--- a/board/freescale/mx23evk/mx23evk.c
+++ b/board/freescale/mx23evk/mx23evk.c
@@ -13,6 +13,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/mx25pdk/mx25pdk.c b/board/freescale/mx25pdk/mx25pdk.c
index 1cffdd933172..3b445a46dd7b 100644
--- a/board/freescale/mx25pdk/mx25pdk.c
+++ b/board/freescale/mx25pdk/mx25pdk.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx28evk/mx28evk.c b/board/freescale/mx28evk/mx28evk.c
index a6b66d99ccb1..21c9cb112836 100644
--- a/board/freescale/mx28evk/mx28evk.c
+++ b/board/freescale/mx28evk/mx28evk.c
@@ -14,6 +14,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c
index fc024c47dbdd..4039d9f049a6 100644
--- a/board/freescale/mx35pdk/mx35pdk.c
+++ b/board/freescale/mx35pdk/mx35pdk.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
index 4250efddde77..ac48e7668c0e 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx53ard/mx53ard.c b/board/freescale/mx53ard/mx53ard.c
index d265d3adaa64..f9ec5ca6ef35 100644
--- a/board/freescale/mx53ard/mx53ard.c
+++ b/board/freescale/mx53ard/mx53ard.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53evk/mx53evk.c b/board/freescale/mx53evk/mx53evk.c
index ef6c6ec1ed6e..b006638e2c12 100644
--- a/board/freescale/mx53evk/mx53evk.c
+++ b/board/freescale/mx53evk/mx53evk.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
index 1da263bb5d5f..ee54a61d874e 100644
--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx53smd/mx53smd.c b/board/freescale/mx53smd/mx53smd.c
index 7c0f98a13216..2f91a0525c4b 100644
--- a/board/freescale/mx53smd/mx53smd.c
+++ b/board/freescale/mx53smd/mx53smd.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/freescale/mx6memcal/mx6memcal.c b/board/freescale/mx6memcal/mx6memcal.c
index ea7a56369d6e..1cc744fa9ba0 100644
--- a/board/freescale/mx6memcal/mx6memcal.c
+++ b/board/freescale/mx6memcal/mx6memcal.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/freescale/mx6memcal/spl.c b/board/freescale/mx6memcal/spl.c
index c11eee51b612..c82b532f6d53 100644
--- a/board/freescale/mx6memcal/spl.c
+++ b/board/freescale/mx6memcal/spl.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/clock.h>
diff --git a/board/freescale/mx6qarm2/mx6qarm2.c b/board/freescale/mx6qarm2/mx6qarm2.c
index ddde245869af..c06fd643677d 100644
--- a/board/freescale/mx6qarm2/mx6qarm2.c
+++ b/board/freescale/mx6qarm2/mx6qarm2.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
diff --git a/board/freescale/mx6sabreauto/mx6sabreauto.c b/board/freescale/mx6sabreauto/mx6sabreauto.c
index c031cf8538e7..e92ef26d0ad0 100644
--- a/board/freescale/mx6sabreauto/mx6sabreauto.c
+++ b/board/freescale/mx6sabreauto/mx6sabreauto.c
@@ -9,6 +9,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index 9a176f471182..8c352308553a 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/spi.h>
 #include <env.h>
 #include <linux/errno.h>
diff --git a/board/freescale/mx6slevk/mx6slevk.c b/board/freescale/mx6slevk/mx6slevk.c
index 5d2f815d2348..2c90a35e2c95 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -14,6 +14,7 @@
 #include <asm/arch/mx6-ddr.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/freescale/mx6sllevk/mx6sllevk.c b/board/freescale/mx6sllevk/mx6sllevk.c
index 0a36b46e9e8b..b4fddafe6402 100644
--- a/board/freescale/mx6sllevk/mx6sllevk.c
+++ b/board/freescale/mx6sllevk/mx6sllevk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
index 1640f465bad3..7340a3440231 100644
--- a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
+++ b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
index 7fb8de177bcd..57fab2386415 100644
--- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
+++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
index 9cb17594013e..b916ea010290 100644
--- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
+++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
@@ -12,6 +12,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx6ullevk/mx6ullevk.c b/board/freescale/mx6ullevk/mx6ullevk.c
index 3f1ecce10f88..86c11c7bd3a5 100644
--- a/board/freescale/mx6ullevk/mx6ullevk.c
+++ b/board/freescale/mx6ullevk/mx6ullevk.c
@@ -10,6 +10,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c
index f12e9d4cfefe..2777ae13bce0 100644
--- a/board/freescale/mx7dsabresd/mx7dsabresd.c
+++ b/board/freescale/mx7dsabresd/mx7dsabresd.c
@@ -9,6 +9,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/freescale/mx7ulp_evk/mx7ulp_evk.c b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
index fd21591ad6fc..01e32136532d 100644
--- a/board/freescale/mx7ulp_evk/mx7ulp_evk.c
+++ b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mx7ulp-pins.h>
diff --git a/board/freescale/p1010rdb/ddr.c b/board/freescale/p1010rdb/ddr.c
index 71f6259b60e4..2625195f81b1 100644
--- a/board/freescale/p1010rdb/ddr.c
+++ b/board/freescale/p1010rdb/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <asm/immap_85xx.h>
 #include <asm/processor.h>
diff --git a/board/freescale/p1010rdb/p1010rdb.c b/board/freescale/p1010rdb/p1010rdb.c
index 4c3a03e7cd95..7e007da87c5d 100644
--- a/board/freescale/p1010rdb/p1010rdb.c
+++ b/board/freescale/p1010rdb/p1010rdb.c
@@ -9,6 +9,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/cache.h>
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c
index 35b95e083890..6c84eef398e2 100644
--- a/board/freescale/p1010rdb/spl.c
+++ b/board/freescale/p1010rdb/spl.c
@@ -15,6 +15,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c
index b16f701ae1a6..010f4639ee16 100644
--- a/board/freescale/p1_p2_rdb_pc/spl.c
+++ b/board/freescale/p1_p2_rdb_pc/spl.c
@@ -16,6 +16,7 @@
 #include <i2c.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/p2041rdb/ddr.c b/board/freescale/p2041rdb/ddr.c
index 7a06c7af3dce..910058cefe16 100644
--- a/board/freescale/p2041rdb/ddr.c
+++ b/board/freescale/p2041rdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/p2041rdb/p2041rdb.c b/board/freescale/p2041rdb/p2041rdb.c
index 720d304fe428..4ece1e6ea0a4 100644
--- a/board/freescale/p2041rdb/p2041rdb.c
+++ b/board/freescale/p2041rdb/p2041rdb.c
@@ -10,6 +10,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/qemu-ppce500/qemu-ppce500.c b/board/freescale/qemu-ppce500/qemu-ppce500.c
index 3395377b4feb..aa5774fd7974 100644
--- a/board/freescale/qemu-ppce500/qemu-ppce500.c
+++ b/board/freescale/qemu-ppce500/qemu-ppce500.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <pci.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
 #include <asm/fsl_pci.h>
diff --git a/board/freescale/s32v234evb/s32v234evb.c b/board/freescale/s32v234evb/s32v234evb.c
index f381cfc2ad08..304f5acf3be7 100644
--- a/board/freescale/s32v234evb/s32v234evb.c
+++ b/board/freescale/s32v234evb/s32v234evb.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/siul.h>
diff --git a/board/freescale/t102xrdb/ddr.c b/board/freescale/t102xrdb/ddr.c
index 3640a4795740..818c20cf1b5e 100644
--- a/board/freescale/t102xrdb/ddr.c
+++ b/board/freescale/t102xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c
index 66d2f3bda7bc..71566851d01d 100644
--- a/board/freescale/t102xrdb/spl.c
+++ b/board/freescale/t102xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/sleep.h"
 #include "../common/spl.h"
 
diff --git a/board/freescale/t102xrdb/t102xrdb.c b/board/freescale/t102xrdb/t102xrdb.c
index bb775eb2d325..2770e104ee61 100644
--- a/board/freescale/t102xrdb/t102xrdb.c
+++ b/board/freescale/t102xrdb/t102xrdb.c
@@ -12,6 +12,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c
index e313bf99cf22..8351f7ce9db2 100644
--- a/board/freescale/t104xrdb/ddr.c
+++ b/board/freescale/t104xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c
index 28ac12a1fd0d..f5fe73e62dca 100644
--- a/board/freescale/t104xrdb/spl.c
+++ b/board/freescale/t104xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/sleep.h"
 #include "../common/spl.h"
 
diff --git a/board/freescale/t104xrdb/t104xrdb.c b/board/freescale/t104xrdb/t104xrdb.c
index c7290e5a3426..780043483dff 100644
--- a/board/freescale/t104xrdb/t104xrdb.c
+++ b/board/freescale/t104xrdb/t104xrdb.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <log.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t208xqds/ddr.c b/board/freescale/t208xqds/ddr.c
index 3317f99c81fb..56471b3988b9 100644
--- a/board/freescale/t208xqds/ddr.c
+++ b/board/freescale/t208xqds/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c
index 13e61f083f6b..e934a3ca6f70 100644
--- a/board/freescale/t208xqds/spl.c
+++ b/board/freescale/t208xqds/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/qixis.h"
 #include "t208xqds_qixis.h"
 #include "../common/spl.h"
diff --git a/board/freescale/t208xqds/t208xqds.c b/board/freescale/t208xqds/t208xqds.c
index f3af8d52925e..dedf722c6957 100644
--- a/board/freescale/t208xqds/t208xqds.c
+++ b/board/freescale/t208xqds/t208xqds.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <log.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t208xrdb/ddr.c b/board/freescale/t208xrdb/ddr.c
index 6a09d1cd221b..1fbab36e1a20 100644
--- a/board/freescale/t208xrdb/ddr.c
+++ b/board/freescale/t208xrdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c
index 2bba94da7bc4..b0ce9af0007a 100644
--- a/board/freescale/t208xrdb/spl.c
+++ b/board/freescale/t208xrdb/spl.c
@@ -14,6 +14,7 @@
 #include <mmc.h>
 #include <fsl_esdhc.h>
 #include <spi_flash.h>
+#include <asm/global_data.h>
 #include "../common/spl.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/freescale/t208xrdb/t208xrdb.c b/board/freescale/t208xrdb/t208xrdb.c
index d37abb7ef3bb..a18459841c62 100644
--- a/board/freescale/t208xrdb/t208xrdb.c
+++ b/board/freescale/t208xrdb/t208xrdb.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/t4rdb/ddr.c b/board/freescale/t4rdb/ddr.c
index 5b7d10c9798b..57cbde154f0e 100644
--- a/board/freescale/t4rdb/ddr.c
+++ b/board/freescale/t4rdb/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c
index fc624efbe632..e2f9c9b3de29 100644
--- a/board/freescale/t4rdb/spl.c
+++ b/board/freescale/t4rdb/spl.c
@@ -10,6 +10,7 @@
 #include <console.h>
 #include <env_internal.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/spl.h>
 #include <malloc.h>
 #include <ns16550.h>
diff --git a/board/freescale/t4rdb/t4240rdb.c b/board/freescale/t4rdb/t4240rdb.c
index 5c2a75b905e6..6ab35ca9185b 100644
--- a/board/freescale/t4rdb/t4240rdb.c
+++ b/board/freescale/t4rdb/t4240rdb.c
@@ -11,6 +11,7 @@
 #include <image.h>
 #include <init.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/freescale/vf610twr/vf610twr.c b/board/freescale/vf610twr/vf610twr.c
index bd125bc17e05..98cb0140ad02 100644
--- a/board/freescale/vf610twr/vf610twr.c
+++ b/board/freescale/vf610twr/vf610twr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux-vf610.h>
diff --git a/board/friendlyarm/nanopi2/board.c b/board/friendlyarm/nanopi2/board.c
index 68980536abe9..c0fe2d546f63 100644
--- a/board/friendlyarm/nanopi2/board.c
+++ b/board/friendlyarm/nanopi2/board.c
@@ -12,6 +12,7 @@
 #ifdef CONFIG_PWM_NX
 #include <pwm.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include <asm/arch/nexell.h>
diff --git a/board/gardena/smart-gateway-at91sam/board.c b/board/gardena/smart-gateway-at91sam/board.c
index 45c947fcbb47..3f402cfeee8c 100644
--- a/board/gardena/smart-gateway-at91sam/board.c
+++ b/board/gardena/smart-gateway-at91sam/board.c
@@ -11,6 +11,7 @@
 #include <led.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/clk.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 048f624c3529..71de80c1b91c 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -15,6 +15,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/sata.h>
diff --git a/board/gdsys/a38x/controlcenterdc.c b/board/gdsys/a38x/controlcenterdc.c
index a2287f9deb13..ba57a272187e 100644
--- a/board/gdsys/a38x/controlcenterdc.c
+++ b/board/gdsys/a38x/controlcenterdc.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <tpm-v1.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm-generic/gpio.h>
diff --git a/board/gdsys/a38x/hydra.c b/board/gdsys/a38x/hydra.c
index daade6da0af4..495a97691881 100644
--- a/board/gdsys/a38x/hydra.c
+++ b/board/gdsys/a38x/hydra.c
@@ -1,6 +1,7 @@
 #include <common.h>
 #include <command.h>
 #include <console.h> /* ctrlc */
+#include <pci.h>
 #include <asm/io.h>
 
 #include "hydra.h"
diff --git a/board/gdsys/mpc8308/gazerbeam.c b/board/gdsys/mpc8308/gazerbeam.c
index 0e7fa1e333e4..4e974c56d2c8 100644
--- a/board/gdsys/mpc8308/gazerbeam.c
+++ b/board/gdsys/mpc8308/gazerbeam.c
@@ -17,6 +17,7 @@
 #include <sysinfo.h>
 #include <tpm-v1.h>
 #include <video_osd.h>
+#include <asm/global_data.h>
 
 #include "../common/ihs_mdio.h"
 #include "../../../drivers/sysinfo/gazerbeam.h"
diff --git a/board/gdsys/mpc8308/sdram.c b/board/gdsys/mpc8308/sdram.c
index 9695fb0a10df..bfd55f54e4e1 100644
--- a/board/gdsys/mpc8308/sdram.c
+++ b/board/gdsys/mpc8308/sdram.c
@@ -19,6 +19,7 @@
 #include <spd_sdram.h>
 
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 #include <asm/processor.h>
diff --git a/board/ge/b1x5v2/b1x5v2.c b/board/ge/b1x5v2/b1x5v2.c
index 1cb347fd9e54..de4cb0d5afaa 100644
--- a/board/ge/b1x5v2/b1x5v2.c
+++ b/board/ge/b1x5v2/b1x5v2.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/mach-imx/video.h>
diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
index 3ea9425fd1ea..c11fc40abe54 100644
--- a/board/ge/bx50v3/bx50v3.c
+++ b/board/ge/bx50v3/bx50v3.c
@@ -12,6 +12,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <linux/libfdt.h>
diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index ef689733c41d..6174125e728a 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/google/imx8mq_phanbell/imx8mq_phanbell.c b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
index 746071b4150f..d0a740dd3f40 100644
--- a/board/google/imx8mq_phanbell/imx8mq_phanbell.c
+++ b/board/google/imx8mq_phanbell/imx8mq_phanbell.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/google/imx8mq_phanbell/spl.c b/board/google/imx8mq_phanbell/spl.c
index 06a3f4c1aa86..eec3f3d931b2 100644
--- a/board/google/imx8mq_phanbell/spl.c
+++ b/board/google/imx8mq_phanbell/spl.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <hang.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <init.h>
diff --git a/board/google/veyron/veyron.c b/board/google/veyron/veyron.c
index 391d973c0b6d..32dbcdc4d10a 100644
--- a/board/google/veyron/veyron.c
+++ b/board/google/veyron/veyron.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <log.h>
 #include <asm/arch-rockchip/clock.h>
+#include <asm/global_data.h>
 #include <dt-bindings/clock/rk3288-cru.h>
 #include <linux/delay.h>
 #include <linux/err.h>
diff --git a/board/grinn/chiliboard/board.c b/board/grinn/chiliboard/board.c
index 8cc9278287b4..12480f5729d6 100644
--- a/board/grinn/chiliboard/board.c
+++ b/board/grinn/chiliboard/board.c
@@ -16,6 +16,7 @@
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/emif.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <cpsw.h>
 #include <env.h>
diff --git a/board/grinn/liteboard/board.c b/board/grinn/liteboard/board.c
index 578d75aed3d1..48392c48e5cc 100644
--- a/board/grinn/liteboard/board.c
+++ b/board/grinn/liteboard/board.c
@@ -15,6 +15,7 @@
 #include <asm/arch/mx6ul_pins.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/boot_mode.h>
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index e07295c7b5c0..a790d453da04 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <netdev.h>
 #include <scsi.h>
+#include <asm/global_data.h>
 
 #include <linux/sizes.h>
 #include <asm/io.h>
diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
index 65a8179adbfb..afe324c89070 100644
--- a/board/hisilicon/hikey/hikey.c
+++ b/board/hisilicon/hikey/hikey.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <errno.h>
 #include <malloc.h>
diff --git a/board/hisilicon/hikey960/hikey960.c b/board/hisilicon/hikey960/hikey960.c
index 3fe4c60d02ee..62073aa9541e 100644
--- a/board/hisilicon/hikey960/hikey960.c
+++ b/board/hisilicon/hikey960/hikey960.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hi3660.h>
 #include <asm/armv8/mmu.h>
diff --git a/board/hisilicon/poplar/poplar.c b/board/hisilicon/poplar/poplar.c
index bfb2c66a17a3..fda9a3405df8 100644
--- a/board/hisilicon/poplar/poplar.c
+++ b/board/hisilicon/poplar/poplar.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 #include <asm/arch/hi3798cv200.h>
diff --git a/board/ids/ids8313/ids8313.c b/board/ids/ids8313/ids8313.c
index ac35b5b0d0c1..45c77a249a9b 100644
--- a/board/ids/ids8313/ids8313.c
+++ b/board/ids/ids8313/ids8313.c
@@ -17,6 +17,7 @@
 #include <mpc83xx.h>
 #include <spi.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 
diff --git a/board/imgtec/boston/ddr.c b/board/imgtec/boston/ddr.c
index 241b3846687a..182f79b9182d 100644
--- a/board/imgtec/boston/ddr.c
+++ b/board/imgtec/boston/ddr.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 
diff --git a/board/imgtec/boston/dt.c b/board/imgtec/boston/dt.c
index 44b56416ff91..bf772ff5dec4 100644
--- a/board/imgtec/boston/dt.c
+++ b/board/imgtec/boston/dt.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 
 int ft_board_setup(void *blob, struct bd_info *bd)
 {
diff --git a/board/imgtec/ci20/ci20.c b/board/imgtec/ci20/ci20.c
index 038dbdd74f06..7ee175d40a5b 100644
--- a/board/imgtec/ci20/ci20.c
+++ b/board/imgtec/ci20/ci20.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c
index 252cc813c6ea..c04f727961de 100644
--- a/board/imgtec/malta/malta.c
+++ b/board/imgtec/malta/malta.c
@@ -13,6 +13,7 @@
 #include <pci_gt64120.h>
 #include <pci_msc01.h>
 #include <rtc.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/addrspace.h>
diff --git a/board/imgtec/xilfpga/xilfpga.c b/board/imgtec/xilfpga/xilfpga.c
index 0b68bbde50fc..6a836370e36d 100644
--- a/board/imgtec/xilfpga/xilfpga.c
+++ b/board/imgtec/xilfpga/xilfpga.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/inversepath/usbarmory/usbarmory.c b/board/inversepath/usbarmory/usbarmory.c
index 56a2a7c4a6e6..086d0522c78a 100644
--- a/board/inversepath/usbarmory/usbarmory.c
+++ b/board/inversepath/usbarmory/usbarmory.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <fs.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/iomega/iconnect/iconnect.c b/board/iomega/iconnect/iconnect.c
index 79c794bfc896..fe4be28b13ce 100644
--- a/board/iomega/iconnect/iconnect.c
+++ b/board/iomega/iconnect/iconnect.c
@@ -11,6 +11,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include "iconnect.h"
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/isee/igep003x/board.c b/board/isee/igep003x/board.c
index 9b4cb91b3418..02ae7df04db9 100644
--- a/board/isee/igep003x/board.c
+++ b/board/isee/igep003x/board.c
@@ -21,6 +21,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/isee/igep00x0/common.c b/board/isee/igep00x0/common.c
index 58c713f0f322..3fdf83e845c9 100644
--- a/board/isee/igep00x0/common.c
+++ b/board/isee/igep00x0/common.c
@@ -2,6 +2,7 @@
 
 #include <common.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/omap_mmc.h>
 #include <asm/arch/mux.h>
diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c
index efca3e0965f8..cc8118b4ad4f 100644
--- a/board/k+p/kp_imx53/kp_imx53.c
+++ b/board/k+p/kp_imx53/kp_imx53.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
index e60d556b3032..110496d99505 100644
--- a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
+++ b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
 #include <errno.h>
diff --git a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
index 75fb6acfb3c3..103c4531a64c 100644
--- a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
+++ b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-ddr.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <spl.h>
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c
index df507e27907e..c8b617ab570f 100644
--- a/board/keymile/common/common.c
+++ b/board/keymile/common/common.c
@@ -15,6 +15,7 @@
 #include <cli_hush.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/ctype.h>
 #include <linux/delay.h>
diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
index a984165e241e..ecc8c786b6b8 100644
--- a/board/keymile/km83xx/km83xx.c
+++ b/board/keymile/km83xx/km83xx.c
@@ -22,6 +22,7 @@
 #include <mpc83xx.h>
 #include <i2c.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mmu.h>
 #include <asm/processor.h>
diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 60187bd8d294..e9af090a3bc9 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -20,6 +20,7 @@
 #include <netdev.h>
 #include <miiphy.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/keymile/kmp204x/ddr.c b/board/keymile/kmp204x/ddr.c
index d9c9ddf2bac5..77a00c55c951 100644
--- a/board/keymile/kmp204x/ddr.c
+++ b/board/keymile/kmp204x/ddr.c
@@ -11,6 +11,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/kmc/kzm9g/kzm9g.c b/board/kmc/kzm9g/kzm9g.c
index 4b406042180c..02c87a031c30 100644
--- a/board/kmc/kzm9g/kzm9g.c
+++ b/board/kmc/kzm9g/kzm9g.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/gpio.h>
diff --git a/board/kobol/helios4/helios4.c b/board/kobol/helios4/helios4.c
index 17d2489415de..adb091ce4fd3 100644
--- a/board/kobol/helios4/helios4.c
+++ b/board/kobol/helios4/helios4.c
@@ -10,6 +10,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/kontron/sl28/ddr.c b/board/kontron/sl28/ddr.c
index d111b6d4c320..41426996ab9f 100644
--- a/board/kontron/sl28/ddr.c
+++ b/board/kontron/sl28/ddr.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0+
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <fsl_ddr_sdram.h>
 
diff --git a/board/kontron/sl28/sl28.c b/board/kontron/sl28/sl28.c
index 34f17b486bd4..d0372accaf33 100644
--- a/board/kontron/sl28/sl28.c
+++ b/board/kontron/sl28/sl28.c
@@ -5,6 +5,7 @@
 #include <errno.h>
 #include <fsl_ddr.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <env_internal.h>
 #include <asm/arch-fsl-layerscape/soc.h>
diff --git a/board/kontron/sl28/spl_atf.c b/board/kontron/sl28/spl_atf.c
index 5438b5239c6f..a9cd6850e983 100644
--- a/board/kontron/sl28/spl_atf.c
+++ b/board/kontron/sl28/spl_atf.c
@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <atf_common.h>
 #include <spl.h>
diff --git a/board/kosagi/novena/novena.c b/board/kosagi/novena/novena.c
index b1939f8a56e2..0e1b4a0a46ce 100644
--- a/board/kosagi/novena/novena.c
+++ b/board/kosagi/novena/novena.c
@@ -10,6 +10,7 @@
 #include <eeprom.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <ahci.h>
 #include <env.h>
diff --git a/board/l+g/vinco/vinco.c b/board/l+g/vinco/vinco.c
index b1593bab5ebd..f221f05261ae 100644
--- a/board/l+g/vinco/vinco.c
+++ b/board/l+g/vinco/vinco.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_common.h>
 #include <asm/arch/at91_pmc.h>
diff --git a/board/laird/wb45n/wb45n.c b/board/laird/wb45n/wb45n.c
index df6eeb624347..5e1ef8a49ac4 100644
--- a/board/laird/wb45n/wb45n.c
+++ b/board/laird/wb45n/wb45n.c
@@ -4,6 +4,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9x5_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/laird/wb50n/wb50n.c b/board/laird/wb50n/wb50n.c
index 9cc21b2abd3c..8fa989a2a4ff 100644
--- a/board/laird/wb50n/wb50n.c
+++ b/board/laird/wb50n/wb50n.c
@@ -4,6 +4,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91_sfr.h>
 #include <asm/arch/sama5d3_smc.h>
diff --git a/board/lego/ev3/legoev3.c b/board/lego/ev3/legoev3.c
index 51b669a891b6..5e5c8c1198f7 100644
--- a/board/lego/ev3/legoev3.c
+++ b/board/lego/ev3/legoev3.c
@@ -19,6 +19,7 @@
 #include <spi_flash.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/pinmux_defs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/davinci_misc.h>
 #include <linux/errno.h>
diff --git a/board/lg/sniper/sniper.c b/board/lg/sniper/sniper.c
index 118ab269d6fc..3065461be5b7 100644
--- a/board/lg/sniper/sniper.c
+++ b/board/lg/sniper/sniper.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <fastboot.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/usb/musb.h>
 #include <asm/omap_musb.h>
diff --git a/board/liebherr/display5/display5.c b/board/liebherr/display5/display5.c
index 5f447143019a..e3a59dbec009 100644
--- a/board/liebherr/display5/display5.c
+++ b/board/liebherr/display5/display5.c
@@ -9,6 +9,7 @@
 #include <fdt_support.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/liebherr/display5/spl.c b/board/liebherr/display5/spl.c
index 23959c255731..b8658c8d6174 100644
--- a/board/liebherr/display5/spl.c
+++ b/board/liebherr/display5/spl.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <asm/io.h>
diff --git a/board/liebherr/mccmon6/mccmon6.c b/board/liebherr/mccmon6/mccmon6.c
index 71f75d877d2f..1b49526fba4f 100644
--- a/board/liebherr/mccmon6/mccmon6.c
+++ b/board/liebherr/mccmon6/mccmon6.c
@@ -12,6 +12,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index 9286f4c755bc..cd11b0ada77c 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -18,6 +18,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c
index cba51f54d41d..f0141659282a 100644
--- a/board/logicpd/am3517evm/am3517evm.c
+++ b/board/logicpd/am3517evm/am3517evm.c
@@ -16,6 +16,7 @@
 #include <net.h>
 #include <ns16550.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/omap_musb.h>
 #include <asm/arch/am35x_def.h>
diff --git a/board/logicpd/imx6/imx6logic.c b/board/logicpd/imx6/imx6logic.c
index ba69c966869d..0d53548dcb4b 100644
--- a/board/logicpd/imx6/imx6logic.c
+++ b/board/logicpd/imx6/imx6logic.c
@@ -16,6 +16,7 @@
 #include <mmc.h>
 #include <fsl_esdhc_imx.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <linux/sizes.h>
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index 496886fea25a..2379b521904a 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -20,6 +20,7 @@
 #include <i2c.h>
 #include <serial.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mux.h>
diff --git a/board/maxbcm/maxbcm.c b/board/maxbcm/maxbcm.c
index 3c6422214f77..e92132ad19a1 100644
--- a/board/maxbcm/maxbcm.c
+++ b/board/maxbcm/maxbcm.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/mediatek/mt7622/mt7622_rfb.c b/board/mediatek/mt7622/mt7622_rfb.c
index 6a5f936635c1..0504d6177fd5 100644
--- a/board/mediatek/mt7622/mt7622_rfb.c
+++ b/board/mediatek/mt7622/mt7622_rfb.c
@@ -8,6 +8,7 @@
 #include <config.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt7623/mt7623_rfb.c b/board/mediatek/mt7623/mt7623_rfb.c
index 984e75ccaf26..755e879085c2 100644
--- a/board/mediatek/mt7623/mt7623_rfb.c
+++ b/board/mediatek/mt7623/mt7623_rfb.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <mmc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt7629/mt7629_rfb.c b/board/mediatek/mt7629/mt7629_rfb.c
index 08468b50ea2a..d1bca6d62ef8 100644
--- a/board/mediatek/mt7629/mt7629_rfb.c
+++ b/board/mediatek/mt7629/mt7629_rfb.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt8512/mt8512.c b/board/mediatek/mt8512/mt8512.c
index 4ad62b73a6c0..ac3adb801222 100644
--- a/board/mediatek/mt8512/mt8512.c
+++ b/board/mediatek/mt8512/mt8512.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <log.h>
 #include <wdt.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/mediatek/mt8518/mt8518_ap1.c b/board/mediatek/mt8518/mt8518_ap1.c
index c9acfcb1a56d..fce5de6767cd 100644
--- a/board/mediatek/mt8518/mt8518_ap1.c
+++ b/board/mediatek/mt8518/mt8518_ap1.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c
index 893f62559994..c34baca602cd 100644
--- a/board/menlo/m53menlo/m53menlo.c
+++ b/board/menlo/m53menlo/m53menlo.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.c b/board/microchip/mpfs_icicle/mpfs_icicle.c
index 0e34409067a3..afef719dffda 100644
--- a/board/microchip/mpfs_icicle/mpfs_icicle.c
+++ b/board/microchip/mpfs_icicle/mpfs_icicle.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c b/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
index 8b419ef6f7ea..315169ba661d 100644
--- a/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
+++ b/board/mikrotik/crs3xx-98dx3236/crs3xx-98dx3236.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <i2c.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 #include <linux/mbus.h>
diff --git a/board/mini-box/picosam9g45/picosam9g45.c b/board/mini-box/picosam9g45/picosam9g45.c
index e8e1ac3eb195..5d6cb24966d6 100644
--- a/board/mini-box/picosam9g45/picosam9g45.c
+++ b/board/mini-box/picosam9g45/picosam9g45.c
@@ -13,6 +13,7 @@
 #include <common.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clk.h>
 #include <asm/arch/at91sam9g45_matrix.h>
diff --git a/board/mpc8308_p1m/sdram.c b/board/mpc8308_p1m/sdram.c
index cbf8781746eb..62a2d8a53afa 100644
--- a/board/mpc8308_p1m/sdram.c
+++ b/board/mpc8308_p1m/sdram.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 
 #include <asm/bitops.h>
 #include <asm/io.h>
diff --git a/board/mscc/jr2/jr2.c b/board/mscc/jr2/jr2.c
index 51700f4acffe..1c516aacd881 100644
--- a/board/mscc/jr2/jr2.c
+++ b/board/mscc/jr2/jr2.c
@@ -11,6 +11,7 @@
 #include <miiphy.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
+#include <asm/global_data.h>
 
 enum {
 	BOARD_TYPE_PCB110 = 0xAABBCE00,
diff --git a/board/mscc/luton/luton.c b/board/mscc/luton/luton.c
index acc26157c771..038902d08a9d 100644
--- a/board/mscc/luton/luton.c
+++ b/board/mscc/luton/luton.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 #include <miiphy.h>
diff --git a/board/mscc/ocelot/ocelot.c b/board/mscc/ocelot/ocelot.c
index 74e8bfc43147..c462890bb853 100644
--- a/board/mscc/ocelot/ocelot.c
+++ b/board/mscc/ocelot/ocelot.c
@@ -7,6 +7,7 @@
 #include <image.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/addrspace.h>
 #include <asm/types.h>
diff --git a/board/mscc/serval/serval.c b/board/mscc/serval/serval.c
index ed1aea55cc2f..94c1c42b79b2 100644
--- a/board/mscc/serval/serval.c
+++ b/board/mscc/serval/serval.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 #include <miiphy.h>
diff --git a/board/mscc/servalt/servalt.c b/board/mscc/servalt/servalt.c
index 879f5de50675..252d8e3156d5 100644
--- a/board/mscc/servalt/servalt.c
+++ b/board/mscc/servalt/servalt.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <image.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <led.h>
 
diff --git a/board/myir/mys_6ulx/mys_6ulx.c b/board/myir/mys_6ulx/mys_6ulx.c
index d886af05bea4..847497bcba7c 100644
--- a/board/myir/mys_6ulx/mys_6ulx.c
+++ b/board/myir/mys_6ulx/mys_6ulx.c
@@ -9,6 +9,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index ceb4317901ce..a6b4db503a66 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -30,6 +30,7 @@
 #include <twl4030.h>
 #include <i2c.h>
 #include <video_fb.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/setup.h>
 #include <asm/bitops.h>
diff --git a/board/novtech/meerkat96/meerkat96.c b/board/novtech/meerkat96/meerkat96.c
index b13e7ce3b18d..1edebe5db9be 100644
--- a/board/novtech/meerkat96/meerkat96.c
+++ b/board/novtech/meerkat96/meerkat96.c
@@ -9,6 +9,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
 #include <common.h>
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index f13fdb8d47e7..d1e189cbb6eb 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/phytec/pcl063/pcl063.c b/board/phytec/pcl063/pcl063.c
index 9e6940f9c76a..b2e435f6908d 100644
--- a/board/phytec/pcl063/pcl063.c
+++ b/board/phytec/pcl063/pcl063.c
@@ -11,6 +11,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <fsl_esdhc_imx.h>
diff --git a/board/phytec/pcm052/pcm052.c b/board/phytec/pcm052/pcm052.c
index b0c56a29f1f8..f9cf4abd474b 100644
--- a/board/phytec/pcm052/pcm052.c
+++ b/board/phytec/pcm052/pcm052.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux-vf610.h>
diff --git a/board/phytec/pcm058/pcm058.c b/board/phytec/pcm058/pcm058.c
index 79c666588f4e..5e5b129ef1ff 100644
--- a/board/phytec/pcm058/pcm058.c
+++ b/board/phytec/pcm058/pcm058.c
@@ -14,6 +14,7 @@
 #include <net.h>
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-ddr.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
diff --git a/board/phytec/pfla02/pfla02.c b/board/phytec/pfla02/pfla02.c
index 3b10cc0f9f11..076ce6711ef0 100644
--- a/board/phytec/pfla02/pfla02.c
+++ b/board/phytec/pfla02/pfla02.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/phytec/phycore_am335x_r2/board.c b/board/phytec/phycore_am335x_r2/board.c
index fb5890684714..5ca94152049f 100644
--- a/board/phytec/phycore_am335x_r2/board.c
+++ b/board/phytec/phycore_am335x_r2/board.c
@@ -17,6 +17,7 @@
 #include <asm/arch/ddr_defs.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <power/tps65910.h>
 #include <jffs2/load_kernel.h>
 #include <mtd_node.h>
diff --git a/board/phytec/phycore_imx8mm/phycore-imx8mm.c b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
index d2f3d23b7ead..ef6472916903 100644
--- a/board/phytec/phycore_imx8mm/phycore-imx8mm.c
+++ b/board/phytec/phycore_imx8mm/phycore-imx8mm.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
diff --git a/board/phytec/phycore_imx8mm/spl.c b/board/phytec/phycore_imx8mm/spl.c
index 863374d800d9..64f0780f6e65 100644
--- a/board/phytec/phycore_imx8mm/spl.c
+++ b/board/phytec/phycore_imx8mm/spl.c
@@ -9,6 +9,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mm_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <dm/device.h>
diff --git a/board/phytec/phycore_imx8mp/phycore-imx8mp.c b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
index 6cb2ba5fc21c..67649078c201 100644
--- a/board/phytec/phycore_imx8mp/phycore-imx8mp.c
+++ b/board/phytec/phycore_imx8mp/phycore-imx8mp.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <env.h>
diff --git a/board/phytec/phycore_imx8mp/spl.c b/board/phytec/phycore_imx8mp/spl.c
index 6de5d07bbfe1..eefdd7fdda3d 100644
--- a/board/phytec/phycore_imx8mp/spl.c
+++ b/board/phytec/phycore_imx8mp/spl.c
@@ -9,6 +9,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mp_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/phytec/phycore_rk3288/phycore-rk3288.c b/board/phytec/phycore_rk3288/phycore-rk3288.c
index ecc73227a023..f588fc3b0c70 100644
--- a/board/phytec/phycore_rk3288/phycore-rk3288.c
+++ b/board/phytec/phycore_rk3288/phycore-rk3288.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <common.h>
 #include <dm.h>
diff --git a/board/phytium/durian/durian.c b/board/phytium/durian/durian.c
index b80688ae864c..8a82a4591ac2 100644
--- a/board/phytium/durian/durian.c
+++ b/board/phytium/durian/durian.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <asm/armv8/mmu.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <linux/arm-smccc.h>
diff --git a/board/ppcag/bg0900/bg0900.c b/board/ppcag/bg0900/bg0900.c
index e8168e346824..578f5c73b6cb 100644
--- a/board/ppcag/bg0900/bg0900.c
+++ b/board/ppcag/bg0900/bg0900.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c
index 7553d0b00de5..f57091739ec9 100644
--- a/board/qemu-mips/qemu-mips.c
+++ b/board/qemu-mips/qemu-mips.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/mipsregs.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
index 4d1dbd696dcf..646013cfc93d 100644
--- a/board/qualcomm/dragonboard410c/dragonboard410c.c
+++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
@@ -13,6 +13,7 @@
 #include <net.h>
 #include <usb.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <fdt_support.h>
 #include <asm/arch/dram.h>
diff --git a/board/qualcomm/dragonboard820c/dragonboard820c.c b/board/qualcomm/dragonboard820c/dragonboard820c.c
index c1ade5ce43a6..877e34c21017 100644
--- a/board/qualcomm/dragonboard820c/dragonboard820c.c
+++ b/board/qualcomm/dragonboard820c/dragonboard820c.c
@@ -10,6 +10,7 @@
 #include <asm/arch/sysmap-apq8096.h>
 #include <env.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/arm-smccc.h>
 #include <linux/psci.h>
 #include <common.h>
diff --git a/board/raidsonic/ib62x0/ib62x0.c b/board/raidsonic/ib62x0/ib62x0.c
index db1b0adc3826..f9bc07649e0a 100644
--- a/board/raidsonic/ib62x0/ib62x0.c
+++ b/board/raidsonic/ib62x0/ib62x0.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <miiphy.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c
index 279ed4872165..854c47636d3f 100644
--- a/board/renesas/alt/alt.c
+++ b/board/renesas/alt/alt.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c
index 2450fca7a58b..9671382f2a3e 100644
--- a/board/renesas/blanche/blanche.c
+++ b/board/renesas/blanche/blanche.c
@@ -15,6 +15,7 @@
 #include <asm/arch/rmobile.h>
 #include <asm/arch/sh_sdhi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/condor/condor.c b/board/renesas/condor/condor.c
index 8054511d9d6c..4454061e071b 100644
--- a/board/renesas/condor/condor.c
+++ b/board/renesas/condor/condor.c
@@ -10,6 +10,7 @@
 #include <cpu_func.h>
 #include <hang.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c
index 9993f5bbe321..ffd52ebfe431 100644
--- a/board/renesas/draak/draak.c
+++ b/board/renesas/draak/draak.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/eagle/eagle.c b/board/renesas/eagle/eagle.c
index 6228f22e0103..f9e553feaa70 100644
--- a/board/renesas/eagle/eagle.c
+++ b/board/renesas/eagle/eagle.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/ebisu/ebisu.c b/board/renesas/ebisu/ebisu.c
index c8d180566d43..82cd2a5800fe 100644
--- a/board/renesas/ebisu/ebisu.c
+++ b/board/renesas/ebisu/ebisu.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c
index c6a93c25e6d2..56cdc73b1a77 100644
--- a/board/renesas/gose/gose.c
+++ b/board/renesas/gose/gose.c
@@ -12,6 +12,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/grpeach/grpeach.c b/board/renesas/grpeach/grpeach.c
index b92e01ca9847..ac989eb29c2f 100644
--- a/board/renesas/grpeach/grpeach.c
+++ b/board/renesas/grpeach/grpeach.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 
diff --git a/board/renesas/koelsch/koelsch.c b/board/renesas/koelsch/koelsch.c
index 1b3acc8fd1f1..b0a66ea2669e 100644
--- a/board/renesas/koelsch/koelsch.c
+++ b/board/renesas/koelsch/koelsch.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c
index 36a35a9a9cfb..add4eef3d53c 100644
--- a/board/renesas/lager/lager.c
+++ b/board/renesas/lager/lager.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c
index 793e02cb440a..b3e4c08d74d3 100644
--- a/board/renesas/porter/porter.c
+++ b/board/renesas/porter/porter.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index 9762fb26384a..e77357968a34 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <dm.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <dm/uclass-internal.h>
 #include <asm/arch/rmobile.h>
 #include <linux/libfdt.h>
diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c
index c78c2a42b02a..08ed725521c2 100644
--- a/board/renesas/salvator-x/salvator-x.c
+++ b/board/renesas/salvator-x/salvator-x.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c
index 171d06f3175c..05af5f4d68b1 100644
--- a/board/renesas/silk/silk.c
+++ b/board/renesas/silk/silk.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c
index babcce9aa1c3..3fdf936ddcac 100644
--- a/board/renesas/stout/stout.c
+++ b/board/renesas/stout/stout.c
@@ -14,6 +14,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <env_internal.h>
 #include <asm/processor.h>
diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c
index efbffa0ee77c..7ba1948659f9 100644
--- a/board/renesas/ulcb/ulcb.c
+++ b/board/renesas/ulcb/ulcb.c
@@ -12,6 +12,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/platform_data/serial_sh.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
diff --git a/board/rockchip/evb_rk3308/evb_rk3308.c b/board/rockchip/evb_rk3308/evb_rk3308.c
index 180f1fe4f00b..e0c96fd70a28 100644
--- a/board/rockchip/evb_rk3308/evb_rk3308.c
+++ b/board/rockchip/evb_rk3308/evb_rk3308.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <adc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/rockchip/evb_rv1108/evb_rv1108.c b/board/rockchip/evb_rv1108/evb_rv1108.c
index fc31c4931169..e6ac598648db 100644
--- a/board/rockchip/evb_rv1108/evb_rv1108.c
+++ b/board/rockchip/evb_rv1108/evb_rv1108.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <init.h>
 #include <syscon.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/grf_rv1108.h>
diff --git a/board/ronetix/pm9261/pm9261.c b/board/ronetix/pm9261/pm9261.c
index 0ce6a6e44e90..5be2c5e192bb 100644
--- a/board/ronetix/pm9261/pm9261.c
+++ b/board/ronetix/pm9261/pm9261.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <init.h>
 #include <vsprintf.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c
index 62dfe6e33d75..95c0dec4db5f 100644
--- a/board/ronetix/pm9263/pm9263.c
+++ b/board/ronetix/pm9263/pm9263.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/ronetix/pm9g45/pm9g45.c b/board/ronetix/pm9g45/pm9g45.c
index c7d22db0aba8..8d5825c7f131 100644
--- a/board/ronetix/pm9g45/pm9g45.c
+++ b/board/ronetix/pm9g45/pm9g45.c
@@ -12,6 +12,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/sizes.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
index d283ef6275ab..b43242fd3f40 100644
--- a/board/samsung/arndale/arndale.c
+++ b/board/samsung/arndale/arndale.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <log.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/pinmux.h>
 #include <asm/arch/dwmmc.h>
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 470531fdbb28..104d2a657469 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -16,6 +16,7 @@
 #include <spi.h>
 #include <tmu.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/board.h>
diff --git a/board/samsung/common/exynos5-dt-types.c b/board/samsung/common/exynos5-dt-types.c
index f1ecb7d2c396..e2d5a7c9ba77 100644
--- a/board/samsung/common/exynos5-dt-types.c
+++ b/board/samsung/common/exynos5-dt-types.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <fdtdec.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 69aa2120e126..4463cdcb87b6 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <fdtdec.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <i2c.h>
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index 837463ba78f8..7d3b9846e39f 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <lcd.h>
 #include <libtizen.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <samsung/misc.h>
 #include <errno.h>
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index 2f0ef22c4171..b32b82fc2dad 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/mmc.h>
 #include <dm.h>
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index 7d7e722892e7..90aab62d33b0 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -10,6 +10,7 @@
 #include <asm/arch/power.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/gpio.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/cpu.h>
 #include <dm.h>
diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c
index d034f53d68b5..69ed715403fb 100644
--- a/board/samsung/smdkc100/smdkc100.c
+++ b/board/samsung/smdkc100/smdkc100.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/sromc.h>
diff --git a/board/samsung/smdkv310/smdkv310.c b/board/samsung/smdkv310/smdkv310.c
index 24273f1214b0..8811cbb9ad0b 100644
--- a/board/samsung/smdkv310/smdkv310.c
+++ b/board/samsung/smdkv310/smdkv310.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <netdev.h>
diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c
index f50da6be7245..9ef11b8471ca 100644
--- a/board/samsung/universal_c210/universal.c
+++ b/board/samsung/universal_c210/universal.c
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <spi.h>
 #include <lcd.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/adc.h>
diff --git a/board/sandbox/sandbox.c b/board/sandbox/sandbox.c
index d152703b1540..3c63d45dd3e1 100644
--- a/board/sandbox/sandbox.c
+++ b/board/sandbox/sandbox.c
@@ -11,6 +11,7 @@
 #include <init.h>
 #include <led.h>
 #include <os.h>
+#include <asm/global_data.h>
 #include <asm/test.h>
 #include <asm/u-boot-sandbox.h>
 
diff --git a/board/sandisk/sansa_fuze_plus/sfp.c b/board/sandisk/sansa_fuze_plus/sfp.c
index 42004098b377..f46b02e38e59 100644
--- a/board/sandisk/sansa_fuze_plus/sfp.c
+++ b/board/sandisk/sansa_fuze_plus/sfp.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/iomux-mx23.h>
diff --git a/board/sbc8349/sbc8349.c b/board/sbc8349/sbc8349.c
index 824479c099b6..b440a0b17e97 100644
--- a/board/sbc8349/sbc8349.c
+++ b/board/sbc8349/sbc8349.c
@@ -13,6 +13,7 @@
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <asm/bitops.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <spd_sdram.h>
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 34e46d4ea4c8..a67092daf47f 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <log.h>
 #include <pci.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_86xx.h>
 #include <asm/fsl_pci.h>
diff --git a/board/schulercontrol/sc_sps_1/sc_sps_1.c b/board/schulercontrol/sc_sps_1/sc_sps_1.c
index 8011871fc8fb..3a04b1a634cc 100644
--- a/board/schulercontrol/sc_sps_1/sc_sps_1.c
+++ b/board/schulercontrol/sc_sps_1/sc_sps_1.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/seco/mx6quq7/mx6quq7.c b/board/seco/mx6quq7/mx6quq7.c
index c7e3d425eacd..a061d7d8afbc 100644
--- a/board/seco/mx6quq7/mx6quq7.c
+++ b/board/seco/mx6quq7/mx6quq7.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/siemens/capricorn/spl.c b/board/siemens/capricorn/spl.c
index 8435bd3863bf..8e077d73aef9 100644
--- a/board/siemens/capricorn/spl.c
+++ b/board/siemens/capricorn/spl.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <spl.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
diff --git a/board/siemens/common/board.c b/board/siemens/common/board.c
index e0bd8590bc9d..1bdf404ac3eb 100644
--- a/board/siemens/common/board.c
+++ b/board/siemens/common/board.c
@@ -25,6 +25,7 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c
index 25d85a8f1705..a6e1737be022 100644
--- a/board/siemens/corvus/board.c
+++ b/board/siemens/corvus/board.c
@@ -14,6 +14,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9g45_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/siemens/smartweb/smartweb.c b/board/siemens/smartweb/smartweb.c
index c6bdd9708372..d500a6214d56 100644
--- a/board/siemens/smartweb/smartweb.c
+++ b/board/siemens/smartweb/smartweb.c
@@ -19,6 +19,7 @@
 #include <dm.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9_sdramc.h>
 #include <asm/arch/at91sam9260_matrix.h>
diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c
index 91e29f06f60f..cad16f906564 100644
--- a/board/siemens/taurus/taurus.c
+++ b/board/siemens/taurus/taurus.c
@@ -17,6 +17,7 @@
 #include <env.h>
 #include <flash.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/at91sam9260_matrix.h>
 #include <asm/arch/at91sam9_smc.h>
diff --git a/board/sks-kinkel/sksimx6/sksimx6.c b/board/sks-kinkel/sksimx6/sksimx6.c
index 9fdbeac82fd3..cec3ade96cfd 100644
--- a/board/sks-kinkel/sksimx6/sksimx6.c
+++ b/board/sks-kinkel/sksimx6/sksimx6.c
@@ -11,6 +11,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index 25bc664328aa..0c9262d35400 100644
--- a/board/socrates/socrates.c
+++ b/board/socrates/socrates.c
@@ -16,6 +16,7 @@
 #include <init.h>
 #include <pci.h>
 #include <uuid.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <asm/immap_85xx.h>
 #include <ioports.h>
diff --git a/board/softing/vining_2000/vining_2000.c b/board/softing/vining_2000/vining_2000.c
index 4e9d351582ff..aaeeee361e54 100644
--- a/board/softing/vining_2000/vining_2000.c
+++ b/board/softing/vining_2000/vining_2000.c
@@ -14,6 +14,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/softing/vining_fpga/socfpga.c b/board/softing/vining_fpga/socfpga.c
index 7e311b7a1c38..aaedf0345045 100644
--- a/board/softing/vining_fpga/socfpga.c
+++ b/board/softing/vining_fpga/socfpga.c
@@ -10,6 +10,7 @@
 #include <net.h>
 #include <status_led.h>
 #include <asm/arch/reset_manager.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <i2c.h>
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 92443d5177d9..7b2accf01de6 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -10,6 +10,7 @@
 #include <miiphy.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
diff --git a/board/solidrun/common/tlv_data.c b/board/solidrun/common/tlv_data.c
index f08ac8975a6a..11d6e4a13807 100644
--- a/board/solidrun/common/tlv_data.c
+++ b/board/solidrun/common/tlv_data.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <compiler.h>
 #include <tlv_eeprom.h>
 #include "tlv_data.h"
 
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
index ae1c04df87da..3eadc38f6fd4 100644
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -23,6 +23,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <env.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/somlabs/visionsom-6ull/visionsom-6ull.c b/board/somlabs/visionsom-6ull/visionsom-6ull.c
index bc7257be405b..076c641d8a90 100644
--- a/board/somlabs/visionsom-6ull/visionsom-6ull.c
+++ b/board/somlabs/visionsom-6ull/visionsom-6ull.c
@@ -11,6 +11,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/st/common/stm32mp_mtdparts.c b/board/st/common/stm32mp_mtdparts.c
index 71a0b449adfe..69eb10844d4e 100644
--- a/board/st/common/stm32mp_mtdparts.c
+++ b/board/st/common/stm32mp_mtdparts.c
@@ -14,6 +14,7 @@
 #include <tee.h>
 #include <asm/arch/stm32prog.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 
 #define MTDPARTS_LEN		256
 #define MTDIDS_LEN		128
diff --git a/board/st/stih410-b2260/board.c b/board/st/stih410-b2260/board.c
index e06f05bfa482..cd3a7dc51a2f 100644
--- a/board/st/stih410-b2260/board.c
+++ b/board/st/stih410-b2260/board.c
@@ -8,6 +8,7 @@
 #include <cpu_func.h>
 #include <init.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/usb/otg.h>
 #include <dwc3-sti-glue.h>
 #include <dwc3-uboot.h>
diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c
index ee6a90c9fdd0..9d8fc9f5a2e1 100644
--- a/board/st/stm32f429-discovery/stm32f429-discovery.c
+++ b/board/st/stm32f429-discovery/stm32f429-discovery.c
@@ -15,6 +15,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
index 22a193d8fc31..96b4c2572632 100644
--- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c
+++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c
index 4ad4ee69c7c7..742fd67b98e9 100644
--- a/board/st/stm32f469-discovery/stm32f469-discovery.c
+++ b/board/st/stm32f469-discovery/stm32f469-discovery.c
@@ -9,6 +9,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c
index 0f728fd9f9e2..40450ca914be 100644
--- a/board/st/stm32f746-disco/stm32f746-disco.c
+++ b/board/st/stm32f746-disco/stm32f746-disco.c
@@ -17,6 +17,7 @@
 #include <splash.h>
 #include <st_logo_data.h>
 #include <video.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/armv7m.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c
index 0b5afa05ac78..405836aba398 100644
--- a/board/st/stm32h743-disco/stm32h743-disco.c
+++ b/board/st/stm32h743-disco/stm32h743-disco.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c
index 0b5afa05ac78..405836aba398 100644
--- a/board/st/stm32h743-eval/stm32h743-eval.c
+++ b/board/st/stm32h743-eval/stm32h743-eval.c
@@ -8,6 +8,7 @@
 #include <dm.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index 78362d24a281..ab85d8ba683d 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -32,6 +32,7 @@
 #include <syscon.h>
 #include <usb.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/stm32.h>
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c
index 95e203ff0ea4..3b0de82db283 100644
--- a/board/st/stv0991/stv0991.c
+++ b/board/st/stv0991/stv0991.c
@@ -15,6 +15,7 @@
 #include <asm/arch/hardware.h>
 #include <asm/arch/gpio.h>
 #include <netdev.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platform_data/serial_pl01x.h>
 
diff --git a/board/ste/stemmy/stemmy.c b/board/ste/stemmy/stemmy.c
index f7834c08fc2c..b9b2a6fddc2a 100644
--- a/board/ste/stemmy/stemmy.c
+++ b/board/ste/stemmy/stemmy.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index e42b61e9068a..c150810d16d7 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -29,6 +29,7 @@
 #include <asm/arch/mmc.h>
 #include <asm/arch/prcm.h>
 #include <asm/arch/spl.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <u-boot/crc.h>
 #ifndef CONFIG_ARM64
diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c
index b4a1d4c5dff6..75e4d037623e 100644
--- a/board/synopsys/axs10x/axs10x.c
+++ b/board/synopsys/axs10x/axs10x.c
@@ -9,6 +9,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <asm/arcregs.h>
+#include <asm/global_data.h>
 #include "axs10x.h"
 #include <asm/cache.h>
 
diff --git a/board/synopsys/emsdp/emsdp.c b/board/synopsys/emsdp/emsdp.c
index 91fa94a638ef..997120ec5e17 100644
--- a/board/synopsys/emsdp/emsdp.c
+++ b/board/synopsys/emsdp/emsdp.c
@@ -9,6 +9,7 @@
 #include <dwmmc.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 
 #include <asm/arcregs.h>
diff --git a/board/synopsys/hsdk/hsdk.c b/board/synopsys/hsdk/hsdk.c
index cd11f9dac06b..892b94bb0836 100644
--- a/board/synopsys/hsdk/hsdk.c
+++ b/board/synopsys/hsdk/hsdk.c
@@ -14,6 +14,7 @@
 #include <irq_func.h>
 #include <log.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/printk.h>
diff --git a/board/synopsys/iot_devkit/iot_devkit.c b/board/synopsys/iot_devkit/iot_devkit.c
index 497ea186d3a8..c6051363c1f9 100644
--- a/board/synopsys/iot_devkit/iot_devkit.c
+++ b/board/synopsys/iot_devkit/iot_devkit.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <dwmmc.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/libfdt.h>
 #include <fdtdec.h>
diff --git a/board/sysam/amcore/amcore.c b/board/sysam/amcore/amcore.c
index 65fc60e2b46d..beab4e9d1884 100644
--- a/board/sysam/amcore/amcore.c
+++ b/board/sysam/amcore/amcore.c
@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 #include <dm.h>
diff --git a/board/sysam/stmark2/stmark2.c b/board/sysam/stmark2/stmark2.c
index ce8b541ccdf7..d48da48b69d6 100644
--- a/board/sysam/stmark2/stmark2.c
+++ b/board/sysam/stmark2/stmark2.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <init.h>
 #include <spi.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/immap.h>
 #include <mmc.h>
diff --git a/board/syteco/zmx25/zmx25.c b/board/syteco/zmx25/zmx25.c
index d5393d705976..2d4c5cce8920 100644
--- a/board/syteco/zmx25/zmx25.c
+++ b/board/syteco/zmx25/zmx25.c
@@ -17,6 +17,7 @@
 #include <cpu_func.h>
 #include <env.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/tbs/tbs2910/tbs2910.c b/board/tbs/tbs2910/tbs2910.c
index d32517f998a8..faf73cc218c9 100644
--- a/board/tbs/tbs2910/tbs2910.c
+++ b/board/tbs/tbs2910/tbs2910.c
@@ -8,6 +8,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c
index 230481be0de6..4821925c026d 100644
--- a/board/tcl/sl50/board.c
+++ b/board/tcl/sl50/board.c
@@ -23,6 +23,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/technexion/pico-imx6/pico-imx6.c b/board/technexion/pico-imx6/pico-imx6.c
index da82244b3975..6b9c4f4373cc 100644
--- a/board/technexion/pico-imx6/pico-imx6.c
+++ b/board/technexion/pico-imx6/pico-imx6.c
@@ -6,6 +6,7 @@
  * Author: Fabio Estevam <festevam@gmail.com>
  */
 
+#include <common.h>
 #include <env.h>
 #include <init.h>
 #include <net.h>
@@ -15,6 +16,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/mach-imx/video.h>
@@ -22,7 +24,6 @@
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/sizes.h>
-#include <common.h>
 #include <miiphy.h>
 #include <netdev.h>
 #include <phy.h>
diff --git a/board/technexion/pico-imx6ul/pico-imx6ul.c b/board/technexion/pico-imx6ul/pico-imx6ul.c
index 126823fce099..62a54d0c8eb5 100644
--- a/board/technexion/pico-imx6ul/pico-imx6ul.c
+++ b/board/technexion/pico-imx6ul/pico-imx6ul.c
@@ -13,6 +13,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/technexion/pico-imx7d/pico-imx7d.c b/board/technexion/pico-imx7d/pico-imx7d.c
index a6fd49d729c4..2d749dac19a4 100644
--- a/board/technexion/pico-imx7d/pico-imx7d.c
+++ b/board/technexion/pico-imx7d/pico-imx7d.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/technexion/pico-imx8mq/pico-imx8mq.c b/board/technexion/pico-imx8mq/pico-imx8mq.c
index 330de7137c3d..951e3e1985bc 100644
--- a/board/technexion/pico-imx8mq/pico-imx8mq.c
+++ b/board/technexion/pico-imx8mq/pico-imx8mq.c
@@ -8,6 +8,7 @@
 #include <init.h>
 #include <malloc.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <miiphy.h>
 #include <netdev.h>
diff --git a/board/technexion/pico-imx8mq/spl.c b/board/technexion/pico-imx8mq/spl.c
index b181f797a77a..8b853a914e85 100644
--- a/board/technexion/pico-imx8mq/spl.c
+++ b/board/technexion/pico-imx8mq/spl.c
@@ -11,6 +11,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mq_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c
index 84db131de2b8..0c9dca31e67e 100644
--- a/board/technexion/tao3530/tao3530.c
+++ b/board/technexion/tao3530/tao3530.c
@@ -9,6 +9,7 @@
 #include <malloc.h>
 #include <netdev.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mem.h>
diff --git a/board/technologic/ts4600/ts4600.c b/board/technologic/ts4600/ts4600.c
index 0ef306d58a27..b9cce821d96d 100644
--- a/board/technologic/ts4600/ts4600.c
+++ b/board/technologic/ts4600/ts4600.c
@@ -15,6 +15,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/technologic/ts4800/ts4800.c b/board/technologic/ts4800/ts4800.c
index fe36fb7ffab4..a309e58b27fd 100644
--- a/board/technologic/ts4800/ts4800.c
+++ b/board/technologic/ts4800/ts4800.c
@@ -10,6 +10,7 @@
 #include <init.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/imx-regs.h>
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c
index 67bc00b65b03..3c4133083f54 100644
--- a/board/theadorable/theadorable.c
+++ b/board/theadorable/theadorable.c
@@ -13,6 +13,7 @@
 #if !defined(CONFIG_SPL_BUILD)
 #include <bootcount.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index 3cc0e4b91c0b..2cd0a1281f9a 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -27,6 +27,7 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/emif.h>
 #include <asm/gpio.h>
diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c
index f32d1757db79..b1017d6c9b76 100644
--- a/board/ti/am3517crane/am3517crane.c
+++ b/board/ti/am3517crane/am3517crane.c
@@ -11,6 +11,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mem.h>
diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
index 62ed37cb4889..ac0d79264331 100644
--- a/board/ti/am43xx/board.c
+++ b/board/ti/am43xx/board.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <eeprom.h>
 #include <image.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 #include <env.h>
 #include <fdt_support.h>
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index 78098755106b..73063faee690 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -20,6 +20,7 @@
 #include <serial.h>
 #include <usb.h>
 #include <errno.h>
+#include <asm/global_data.h>
 #include <asm/omap_common.h>
 #include <asm/omap_sec_common.h>
 #include <asm/emif.h>
diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index 4438f14e4ff1..fbe33cbea551 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -15,6 +15,7 @@
 #include <net.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/omap_common.h>
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 6bd59eb10c2e..888a95849190 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -24,6 +24,7 @@
 #include <status_led.h>
 #endif
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <linux/mtd/rawnand.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index ca1976e16a5f..05f251f7782c 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -20,6 +20,7 @@
 #include <palmas.h>
 #include <sata.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/string.h>
 #include <asm/gpio.h>
 #include <usb.h>
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index ecbd843676a7..96434b3ba0f4 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -17,6 +17,7 @@
 #include <net.h>
 #include <ns16550.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index 44969e80b4d5..b9a9f1955222 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -16,6 +16,7 @@
 #include <net.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/hardware.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <spl.h>
diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
index 53bc12791d2b..0c5c2c9146fb 100644
--- a/board/ti/ks2_evm/board.c
+++ b/board/ti/ks2_evm/board.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "board.h"
 #include <env.h>
 #include <hang.h>
diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c
index 88f56edc54ed..4777622156b8 100644
--- a/board/ti/omap5_uevm/evm.c
+++ b/board/ti/omap5_uevm/evm.c
@@ -15,6 +15,7 @@
 #include <serial.h>
 #include <tca642x.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/usb/gadget.h>
 #include <dwc3-uboot.h>
diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
index f718e69e85dc..fda8d5f3c838 100644
--- a/board/ti/panda/panda.c
+++ b/board/ti/panda/panda.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <net.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/mach-types.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
diff --git a/board/ti/sdp4430/sdp.c b/board/ti/sdp4430/sdp.c
index 3fd973049a87..4895bfafd80a 100644
--- a/board/ti/sdp4430/sdp.c
+++ b/board/ti/sdp4430/sdp.c
@@ -12,6 +12,7 @@
 #include <serial.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
+#include <asm/global_data.h>
 
 #include "sdp4430_mux_data.h"
 
diff --git a/board/ti/ti816x/evm.c b/board/ti/ti816x/evm.c
index becece1c2057..2d42af6b809d 100644
--- a/board/ti/ti816x/evm.c
+++ b/board/ti/ti816x/evm.c
@@ -12,6 +12,7 @@
 #include <net.h>
 #include <spl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/cpu.h>
diff --git a/board/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c
index f4eaf15970bb..3c744b943f40 100644
--- a/board/timll/devkit3250/devkit3250.c
+++ b/board/timll/devkit3250/devkit3250.c
@@ -12,6 +12,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/emc.h>
 #include <asm/arch/wdt.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index 0731fb764569..0808ca1a54c0 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -22,6 +22,7 @@
 #include <malloc.h>
 #include <ns16550.h>
 #include <twl4030.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mux.h>
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index 2ed66261d286..76faa6e78fd0 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
diff --git a/board/toradex/apalis-imx8x/apalis-imx8x.c b/board/toradex/apalis-imx8x/apalis-imx8x.c
index 739d2e51554d..b6f3bdd7eda7 100644
--- a/board/toradex/apalis-imx8x/apalis-imx8x.c
+++ b/board/toradex/apalis-imx8x/apalis-imx8x.c
@@ -12,6 +12,7 @@
 #include <asm/arch/iomux.h>
 #include <asm/arch/sci/sci.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <env.h>
diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
index 5ae5274584a4..0c857b599da6 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -12,6 +12,7 @@
 #include <image.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index f718dc855d4d..0396eea56b55 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -11,6 +11,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/tegra.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <dm.h>
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index 6ff55ce57b95..01f5561596ea 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -4,6 +4,7 @@
  */
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #include <asm/arch/clock.h>
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index da081e30bec7..562199a51a62 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <cpu_func.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/imx8-pins.h>
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index 57d3e526b4c0..74d59e586a8c 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -12,6 +12,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
 
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 8afe1bfd5ebb..8f7ef992a7fa 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -12,6 +12,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/io.h>
diff --git a/board/toradex/colibri_pxa270/colibri_pxa270.c b/board/toradex/colibri_pxa270/colibri_pxa270.c
index 645751a37ec8..25fbf4120955 100644
--- a/board/toradex/colibri_pxa270/colibri_pxa270.c
+++ b/board/toradex/colibri_pxa270/colibri_pxa270.c
@@ -15,6 +15,7 @@
 #include <asm/arch/pxa.h>
 #include <asm/arch/regs-mmc.h>
 #include <asm/arch/regs-uart.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/platdata.h>
 #include <dm/platform_data/pxa_mmc_gen.h>
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index f44ca90ce96e..73ef4d2db32c 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -12,6 +12,7 @@
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/board.h>
 #include <asm/arch-tegra/tegra.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <i2c.h>
diff --git a/board/toradex/colibri_vf/colibri_vf.c b/board/toradex/colibri_vf/colibri_vf.c
index 7194ede01cbe..e9c5bc063223 100644
--- a/board/toradex/colibri_vf/colibri_vf.c
+++ b/board/toradex/colibri_vf/colibri_vf.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 #include <asm/arch/clock.h>
 #include <asm/arch/crm_regs.h>
diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
index adab0a080209..b00467f97685 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include "tdx-cfg-block.h"
 #include "tdx-eeprom.h"
 
diff --git a/board/toradex/common/tdx-eeprom.c b/board/toradex/common/tdx-eeprom.c
index fbc267dab62f..81bd9e68c2d2 100644
--- a/board/toradex/common/tdx-eeprom.c
+++ b/board/toradex/common/tdx-eeprom.c
@@ -5,6 +5,7 @@
 
 #include <dm.h>
 #include <i2c_eeprom.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/toradex/verdin-imx8mm/spl.c b/board/toradex/verdin-imx8mm/spl.c
index 72e2e09e256f..97d6a31da150 100644
--- a/board/toradex/verdin-imx8mm/spl.c
+++ b/board/toradex/verdin-imx8mm/spl.c
@@ -12,6 +12,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/imx8mm_pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 7cfae8767cec..76f4a1e209af 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -7,6 +7,7 @@
 #include <init.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <i2c.h>
 #include <miiphy.h>
diff --git a/board/tqc/tqm834x/tqm834x.c b/board/tqc/tqm834x/tqm834x.c
index c16784324c92..17b4662c167f 100644
--- a/board/tqc/tqm834x/tqm834x.c
+++ b/board/tqc/tqm834x/tqm834x.c
@@ -10,6 +10,7 @@
 #include <ioports.h>
 #include <log.h>
 #include <mpc83xx.h>
+#include <asm/global_data.h>
 #include <asm/mpc8349_pci.h>
 #include <i2c.h>
 #include <miiphy.h>
diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
index 2df901a584cb..26d557cece94 100644
--- a/board/tqc/tqma6/tqma6.c
+++ b/board/tqc/tqma6/tqma6.c
@@ -15,6 +15,7 @@
 #include <asm/arch/sys_proto.h>
 #include <env.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c
index c6edc724405e..653ca1ca5a62 100644
--- a/board/udoo/neo/neo.c
+++ b/board/udoo/neo/neo.c
@@ -15,6 +15,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/iomux.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <env.h>
diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c
index 62b32ae7595c..d83f23dd3581 100644
--- a/board/udoo/udoo.c
+++ b/board/udoo/udoo.c
@@ -13,6 +13,7 @@
 #include <env.h>
 #include <malloc.h>
 #include <asm/arch/mx6-pins.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
 #include <asm/gpio.h>
diff --git a/board/variscite/dart_6ul/dart_6ul.c b/board/variscite/dart_6ul/dart_6ul.c
index 764aaa8b6b1b..7326daa1798d 100644
--- a/board/variscite/dart_6ul/dart_6ul.c
+++ b/board/variscite/dart_6ul/dart_6ul.c
@@ -11,6 +11,7 @@
 #include <asm/arch/crm_regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
 #include <dm.h>
diff --git a/board/varisys/cyrus/ddr.c b/board/varisys/cyrus/ddr.c
index 7949eb88c07b..184948094db0 100644
--- a/board/varisys/cyrus/ddr.c
+++ b/board/varisys/cyrus/ddr.c
@@ -8,6 +8,7 @@
 #include <hwconfig.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/mmu.h>
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr_dimm_params.h>
diff --git a/board/ve8313/ve8313.c b/board/ve8313/ve8313.c
index 6cdb11047165..78d401e955eb 100644
--- a/board/ve8313/ve8313.c
+++ b/board/ve8313/ve8313.c
@@ -11,6 +11,7 @@
 #include <common.h>
 #include <fdt_support.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <linux/libfdt.h>
 #include <pci.h>
diff --git a/board/vscom/baltos/board.c b/board/vscom/baltos/board.c
index afe12466df31..4175d414694b 100644
--- a/board/vscom/baltos/board.c
+++ b/board/vscom/baltos/board.c
@@ -13,6 +13,7 @@
 #include <init.h>
 #include <net.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <spl.h>
 #include <asm/arch/cpu.h>
diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c
index e0e01b1a4a43..53299c87010a 100644
--- a/board/wandboard/wandboard.c
+++ b/board/wandboard/wandboard.c
@@ -17,6 +17,7 @@
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/mxc_hdmi.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/warp/warp.c b/board/warp/warp.c
index 85da9c1bd435..0f1d038fabdf 100644
--- a/board/warp/warp.c
+++ b/board/warp/warp.c
@@ -13,6 +13,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx6-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/mxc_i2c.h>
diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c
index aaa7006d3b2d..0f202241dd78 100644
--- a/board/warp7/warp7.c
+++ b/board/warp7/warp7.c
@@ -10,6 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/mx7-pins.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/global_data.h>
 #include <asm/gpio.h>
 #include <asm/mach-imx/hab.h>
 #include <asm/mach-imx/iomux-v3.h>
diff --git a/board/work-microwave/work_92105/work_92105.c b/board/work-microwave/work_92105/work_92105.c
index 2e0def5b64f0..bdcecff7308f 100644
--- a/board/work-microwave/work_92105/work_92105.c
+++ b/board/work-microwave/work_92105/work_92105.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/cpu.h>
diff --git a/board/xen/xenguest_arm64/xenguest_arm64.c b/board/xen/xenguest_arm64/xenguest_arm64.c
index 4660f3fff20d..7d0d782a2395 100644
--- a/board/xen/xenguest_arm64/xenguest_arm64.c
+++ b/board/xen/xenguest_arm64/xenguest_arm64.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <xen.h>
+#include <asm/global_data.h>
 
 #include <asm/io.h>
 #include <asm/armv8/mmu.h>
diff --git a/board/xes/xpedite517x/xpedite517x.c b/board/xes/xpedite517x/xpedite517x.c
index 2c9499ab20b3..8a5b52c49527 100644
--- a/board/xes/xpedite517x/xpedite517x.c
+++ b/board/xes/xpedite517x/xpedite517x.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <asm/processor.h>
 #include <fsl_ddr_sdram.h>
 #include <asm/mmu.h>
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
index df19aeadd0b2..4a83d93a85e8 100644
--- a/board/xilinx/common/board.c
+++ b/board/xilinx/common/board.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <i2c.h>
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index d4095c07c1e9..a427ac94a170 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -15,6 +15,7 @@
 #include <env.h>
 #include <init.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <dm/lists.h>
 #include <fdtdec.h>
 #include <linux/sizes.h>
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 2782a346f07c..c644fe8dc068 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -13,6 +13,7 @@
 #include <malloc.h>
 #include <time.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
index 7ac069aaafdf..49ff3f0dc0e9 100644
--- a/board/xilinx/zynq/board.c
+++ b/board/xilinx/zynq/board.c
@@ -16,6 +16,7 @@
 #include <watchdog.h>
 #include <wdt.h>
 #include <zynqpl.h>
+#include <asm/global_data.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
 #include "../common/board.h"
diff --git a/board/xilinx/zynq/bootimg.c b/board/xilinx/zynq/bootimg.c
index 481f012c282d..2f55078dd768 100644
--- a/board/xilinx/zynq/bootimg.c
+++ b/board/xilinx/zynq/bootimg.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <log.h>
 #include <part.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynq/cmds.c b/board/xilinx/zynq/cmds.c
index 73e2b0eac7e5..6c697caa625b 100644
--- a/board/xilinx/zynq/cmds.c
+++ b/board/xilinx/zynq/cmds.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 459d9b1e47e1..43e322f71517 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -23,6 +23,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/psu_init_gpl.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/ptrace.h>
 #include <dm/device.h>
diff --git a/board/zyxel/nsa310s/nsa310s.c b/board/zyxel/nsa310s/nsa310s.c
index 3f71e3da4461..cd4a7723b120 100644
--- a/board/zyxel/nsa310s/nsa310s.c
+++ b/board/zyxel/nsa310s/nsa310s.c
@@ -12,6 +12,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 #include <asm/arch/mpp.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include "nsa310s.h"
 
diff --git a/cmd/acpi.c b/cmd/acpi.c
index a3419b42b556..157261bffbe1 100644
--- a/cmd/acpi.c
+++ b/cmd/acpi.c
@@ -8,6 +8,7 @@
 #include <mapmem.h>
 #include <acpi/acpi_table.h>
 #include <asm/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 8d8daa6336af..84dab7d2d33d 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -15,6 +15,7 @@
 #include <video.h>
 #include <vsprintf.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/bedbug.c b/cmd/bedbug.c
index 684e4a9ea5cf..bef617b6a4f8 100644
--- a/cmd/bedbug.c
+++ b/cmd/bedbug.c
@@ -6,6 +6,7 @@
 #include <cli.h>
 #include <command.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <asm/ptrace.h>
 #include <linux/ctype.h>
 #include <net.h>
diff --git a/cmd/bloblist.c b/cmd/bloblist.c
index bb2e682ff849..97b57341617c 100644
--- a/cmd/bloblist.c
+++ b/cmd/bloblist.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <bloblist.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 81dd8e0284f7..1583a96be14e 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -19,6 +19,7 @@
 #include <image.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <linux/libfdt_env.h>
 #include <mapmem.h>
diff --git a/cmd/booti.c b/cmd/booti.c
index 76d1255ec584..3df70ea9caaf 100644
--- a/cmd/booti.c
+++ b/cmd/booti.c
@@ -12,6 +12,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/kernel.h>
 #include <linux/sizes.h>
 
diff --git a/cmd/bootm.c b/cmd/bootm.c
index e6b0e04413cd..7732b97f635d 100644
--- a/cmd/bootm.c
+++ b/cmd/bootm.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <nand.h>
 #include <asm/byteorder.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <linux/err.h>
 #include <u-boot/zlib.h>
diff --git a/cmd/date.c b/cmd/date.c
index 75a032cd2777..0e1189475313 100644
--- a/cmd/date.c
+++ b/cmd/date.c
@@ -12,6 +12,7 @@
 #include <dm.h>
 #include <rtc.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/efi.c b/cmd/efi.c
index 1558cb17eb0a..f2ed26bd4b23 100644
--- a/cmd/efi.c
+++ b/cmd/efi.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <sort.h>
+#include <asm/global_data.h>
 
 static const char *const type_name[] = {
 	"reserved",
diff --git a/cmd/load.c b/cmd/load.c
index f252c748948a..5bbc39baeadd 100644
--- a/cmd/load.c
+++ b/cmd/load.c
@@ -20,6 +20,7 @@
 #include <serial.h>
 #include <xyzModem.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/log.c b/cmd/log.c
index ca1c51e0672e..72380c5691c0 100644
--- a/cmd/log.c
+++ b/cmd/log.c
@@ -10,6 +10,7 @@
 #include <getopt.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 
 static char log_fmt_chars[LOGF_COUNT] = "clFLfm";
 
diff --git a/cmd/mem.c b/cmd/mem.c
index 1d4f2bab2f9a..1eb83b757030 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -22,6 +22,7 @@
 #include <mapmem.h>
 #include <rand.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <linux/compiler.h>
diff --git a/cmd/mtdparts.c b/cmd/mtdparts.c
index 5220142b9ab2..ed373a8c4dad 100644
--- a/cmd/mtdparts.c
+++ b/cmd/mtdparts.c
@@ -75,6 +75,7 @@
 #include <env.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <jffs2/load_kernel.h>
 #include <linux/list.h>
 #include <linux/ctype.h>
diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index d0d2eca90472..d14ba10cefaa 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -35,6 +35,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <u-boot/crc.h>
 #include <watchdog.h>
diff --git a/cmd/pstore.c b/cmd/pstore.c
index 9a8b38c7f26e..5656bae6d3ef 100644
--- a/cmd/pstore.c
+++ b/cmd/pstore.c
@@ -5,6 +5,7 @@
 
 #include <config.h>
 #include <command.h>
+#include <fdtdec.h>
 #include <fs.h>
 #include <log.h>
 #include <mapmem.h>
diff --git a/cmd/pxe_utils.h b/cmd/pxe_utils.h
index 6af952373430..bf58e15347ce 100644
--- a/cmd/pxe_utils.h
+++ b/cmd/pxe_utils.h
@@ -3,6 +3,8 @@
 #ifndef __PXE_UTILS_H
 #define __PXE_UTILS_H
 
+#include <linux/list.h>
+
 /*
  * A note on the pxe file parser.
  *
diff --git a/cmd/sb.c b/cmd/sb.c
index f7eb921f43e9..0d55818e3c67 100644
--- a/cmd/sb.c
+++ b/cmd/sb.c
@@ -8,6 +8,7 @@
 #include <command.h>
 #include <dm.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 
 static int do_sb_handoff(struct cmd_tbl *cmdtp, int flag, int argc,
diff --git a/cmd/sound.c b/cmd/sound.c
index 7fc19678ea8f..fdcde3653390 100644
--- a/cmd/sound.c
+++ b/cmd/sound.c
@@ -9,6 +9,7 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <sound.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/spl.c b/cmd/spl.c
index 28b40dd31e10..472703f8fe15 100644
--- a/cmd/spl.c
+++ b/cmd/spl.c
@@ -10,6 +10,7 @@
 #include <env.h>
 #include <image.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/cmd/ti/ddr3.c b/cmd/ti/ddr3.c
index 623b63b0f94c..6b43a7386832 100644
--- a/cmd/ti/ddr3.c
+++ b/cmd/ti/ddr3.c
@@ -14,6 +14,7 @@
 #include <asm/emif.h>
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c
index eab0531c96b9..5099cbdd95ee 100644
--- a/cmd/tlv_eeprom.c
+++ b/cmd/tlv_eeprom.c
@@ -17,6 +17,7 @@
 #include <env.h>
 #include <init.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 #include <u-boot/crc.h>
 
diff --git a/cmd/x86/fsp.c b/cmd/x86/fsp.c
index 8017eda387c2..82e4415b16eb 100644
--- a/cmd/x86/fsp.c
+++ b/cmd/x86/fsp.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <command.h>
 #include <asm/fsp/fsp_support.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/cmd/x86/hob.c b/cmd/x86/hob.c
index 9e555c778c26..01db93eb3e15 100644
--- a/cmd/x86/hob.c
+++ b/cmd/x86/hob.c
@@ -7,6 +7,7 @@
 #include <command.h>
 #include <efi.h>
 #include <uuid.h>
+#include <asm/global_data.h>
 #include <asm/hob.h>
 #include <asm/fsp/fsp_hob.h>
 
diff --git a/common/autoboot.c b/common/autoboot.c
index b025fd99a0bf..0bb08e7a4cf9 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -19,6 +19,7 @@
 #include <menu.h>
 #include <post.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 #include <u-boot/sha256.h>
 #include <bootcount.h>
diff --git a/common/bloblist.c b/common/bloblist.c
index 0e6448becbcf..eab63e9ca518 100644
--- a/common/bloblist.c
+++ b/common/bloblist.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <mapmem.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 
 /*
diff --git a/common/board_f.c b/common/board_f.c
index 4327a43a33b6..0cddf0359dca 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -49,6 +49,7 @@
 #if defined(CONFIG_MP) && defined(CONFIG_PPC)
 #include <asm/mp.h>
 #endif
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 #include <dm/root.h>
diff --git a/common/board_info.c b/common/board_info.c
index a6db087f9604..b54aa30a9442 100644
--- a/common/board_info.c
+++ b/common/board_info.c
@@ -2,6 +2,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <linux/compiler.h>
 
diff --git a/common/board_r.c b/common/board_r.c
index 9fa4d4b42e5e..9793439adff0 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -21,6 +21,7 @@
 #include <log.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 /* TODO: can we just include all these headers whether needed or not? */
 #if defined(CONFIG_CMD_BEDBUG)
diff --git a/common/bootm.c b/common/bootm.c
index 8298693900d5..defaed8426df 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -19,6 +19,7 @@
 #include <mapmem.h>
 #include <net.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/sizes.h>
 #if defined(CONFIG_CMD_USB)
diff --git a/common/bootm_os.c b/common/bootm_os.c
index e9aaddf3e615..0b6325db6605 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -14,6 +14,7 @@
 #include <image.h>
 #include <lmb.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <malloc.h>
 #include <mapmem.h>
diff --git a/common/bootstage.c b/common/bootstage.c
index 5f87358fd854..d5b78b9f4872 100644
--- a/common/bootstage.c
+++ b/common/bootstage.c
@@ -16,6 +16,7 @@
 #include <malloc.h>
 #include <sort.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <linux/compiler.h>
 #include <linux/libfdt.h>
 
diff --git a/common/cli.c b/common/cli.c
index 6635ab2bcf85..048eacb9ef97 100644
--- a/common/cli.c
+++ b/common/cli.c
@@ -18,6 +18,7 @@
 #include <fdtdec.h>
 #include <hang.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/cli_hush.c b/common/cli_hush.c
index b7f0f0ff4184..9466651d1a2c 100644
--- a/common/cli_hush.c
+++ b/common/cli_hush.c
@@ -84,6 +84,7 @@
 #include <cli.h>
 #include <cli_hush.h>
 #include <command.h>        /* find_cmd */
+#include <asm/global_data.h>
 #endif
 #ifndef __U_BOOT__
 #include <ctype.h>     /* isalpha, isdigit */
diff --git a/common/cli_readline.c b/common/cli_readline.c
index 5c158d03b4ad..c7614a4c90ff 100644
--- a/common/cli_readline.c
+++ b/common/cli_readline.c
@@ -14,6 +14,7 @@
 #include <command.h>
 #include <time.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/command.c b/common/command.c
index 3fe6791edaa2..95af73f17b59 100644
--- a/common/command.c
+++ b/common/command.c
@@ -14,6 +14,7 @@
 #include <console.h>
 #include <env.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/ctype.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/console.c b/common/console.c
index f3cc45cab548..567273a0ce8b 100644
--- a/common/console.c
+++ b/common/console.c
@@ -19,6 +19,7 @@
 #include <exports.h>
 #include <env_internal.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index b29a7cfd93d3..cf0270a9c115 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1,5 +1,6 @@
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 #if CONFIG_IS_ENABLED(UNIT_TEST)
 #define DEBUG
diff --git a/common/exports.c b/common/exports.c
index 4578f07021f3..20d8b759bc25 100644
--- a/common/exports.c
+++ b/common/exports.c
@@ -4,6 +4,7 @@
 #include <malloc.h>
 #include <spi.h>
 #include <i2c.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/hash.c b/common/hash.c
index 05238a8ba91e..fc64002f736a 100644
--- a/common/hash.c
+++ b/common/hash.c
@@ -18,6 +18,7 @@
 #include <mapmem.h>
 #include <hw_sha.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/errno.h>
 #include <u-boot/crc.h>
diff --git a/common/hwconfig.c b/common/hwconfig.c
index daf3eea5f968..26a561c365b7 100644
--- a/common/hwconfig.c
+++ b/common/hwconfig.c
@@ -15,6 +15,7 @@
 #include <exports.h>
 #include <hwconfig.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <linux/string.h>
 #else
diff --git a/common/image-android.c b/common/image-android.c
index 18f7c8db03ba..d07b0e0f09b4 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -12,6 +12,7 @@
 #include <errno.h>
 #include <asm/unaligned.h>
 #include <mapmem.h>
+#include <linux/libfdt.h>
 
 #define ANDROID_IMAGE_DEFAULT_KERNEL_ADDR	0x10008000
 
diff --git a/common/image-cipher.c b/common/image-cipher.c
index 4ca9eec4ef15..b9061489396c 100644
--- a/common/image-cipher.c
+++ b/common/image-cipher.c
@@ -9,6 +9,7 @@
 #else
 #include <common.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSdTCC*/
 #include <image.h>
diff --git a/common/image-fdt.c b/common/image-fdt.c
index 707b44a69d74..0157cce32d58 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -17,6 +17,7 @@
 #include <lmb.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <mapmem.h>
 #include <asm/io.h>
diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c
index 31cc580941ae..897e04c7a38b 100644
--- a/common/image-fit-sig.c
+++ b/common/image-fit-sig.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 #include <fdt_region.h>
diff --git a/common/image-fit.c b/common/image-fit.c
index 33210ef3c034..adc3e551de98 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -21,6 +21,7 @@
 #include <mapmem.h>
 #include <asm/io.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 
diff --git a/common/image-sig.c b/common/image-sig.c
index f3c209ae8b72..4abd3c080f78 100644
--- a/common/image-sig.c
+++ b/common/image-sig.c
@@ -12,6 +12,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 DECLARE_GLOBAL_DATA_PTR;
 #endif /* !USE_HOSTCC*/
 #include <image.h>
diff --git a/common/image.c b/common/image.c
index 6923dac7c079..a6500f5f5c7e 100644
--- a/common/image.c
+++ b/common/image.c
@@ -36,6 +36,7 @@
 #include <xilinx.h>
 #endif
 
+#include <asm/global_data.h>
 #include <u-boot/md5.h>
 #include <u-boot/sha1.h>
 #include <linux/errno.h>
diff --git a/common/init/board_init.c b/common/init/board_init.c
index 8c8a5eac0571..3f183ee11326 100644
--- a/common/init/board_init.c
+++ b/common/init/board_init.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <bootstage.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/init/handoff.c b/common/init/handoff.c
index 62071bd0179d..d0be1bb17a2c 100644
--- a/common/init/handoff.c
+++ b/common/init/handoff.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <handoff.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/iotrace.c b/common/iotrace.c
index 7225ee440418..63d0cca3a004 100644
--- a/common/iotrace.c
+++ b/common/iotrace.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <mapmem.h>
 #include <time.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bug.h>
 #include <u-boot/crc.h>
diff --git a/common/lcd.c b/common/lcd.c
index 02f2db3a99e5..ab5614ad0e3d 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -15,6 +15,7 @@
 #include <log.h>
 #include <asm/cache.h>
 #include <init.h>
+#include <asm/global_data.h>
 #include <linux/types.h>
 #include <stdio_dev.h>
 #include <lcd.h>
diff --git a/common/lcd_simplefb.c b/common/lcd_simplefb.c
index 246eb4c4955c..1650615cdb9f 100644
--- a/common/lcd_simplefb.c
+++ b/common/lcd_simplefb.c
@@ -10,6 +10,7 @@
 #include <dm.h>
 #include <lcd.h>
 #include <fdt_support.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 #include <video.h>
 
diff --git a/common/log.c b/common/log.c
index 767f0febc51e..6b0034c3ba2e 100644
--- a/common/log.c
+++ b/common/log.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/uclass.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/log_console.c b/common/log_console.c
index 8776fd470391..6abb13c93b80 100644
--- a/common/log_console.c
+++ b/common/log_console.c
@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/log_syslog.c b/common/log_syslog.c
index 4eb09157bb96..53c4def5d1c0 100644
--- a/common/log_syslog.c
+++ b/common/log_syslog.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/malloc_simple.c b/common/malloc_simple.c
index 34f0b4909387..0267fb6bec87 100644
--- a/common/malloc_simple.c
+++ b/common/malloc_simple.c
@@ -11,6 +11,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/memsize.c b/common/memsize.c
index e95c68265ab9..d5d13d51bf1f 100644
--- a/common/memsize.c
+++ b/common/memsize.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/spl/spl.c b/common/spl/spl.c
index cdd7b05f279e..e3d84082f441 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -18,6 +18,7 @@
 #include <log.h>
 #include <serial.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/u-boot.h>
 #include <nand.h>
 #include <fat.h>
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index a6ad094e91aa..a2612b45a59d 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -14,6 +14,7 @@
 #include <spl.h>
 #include <sysinfo.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/libfdt.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c
index 41e0746bb012..1c0abf8553a8 100644
--- a/common/spl/spl_opensbi.c
+++ b/common/spl/spl_opensbi.c
@@ -11,6 +11,7 @@
 #include <hang.h>
 #include <image.h>
 #include <spl.h>
+#include <asm/global_data.h>
 #include <asm/smp.h>
 #include <opensbi.h>
 #include <linux/libfdt.h>
diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c
index 2744fb5d520c..6a4e03328709 100644
--- a/common/spl/spl_spi.c
+++ b/common/spl/spl_spi.c
@@ -15,6 +15,7 @@
 #include <spi_flash.h>
 #include <errno.h>
 #include <spl.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/splash_source.c b/common/splash_source.c
index f51ca5ddf37c..2737fc6e7ffa 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -20,6 +20,7 @@
 #include <spi_flash.h>
 #include <splash.h>
 #include <usb.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/common/stdio.c b/common/stdio.c
index abf9b1e91588..2b883fddbeae 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -19,7 +19,7 @@
 #include <serial.h>
 #include <splash.h>
 #include <i2c.h>
-
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/disk/part_efi.c b/disk/part_efi.c
index 7a24e33d189f..e5636ea7e699 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -15,6 +15,7 @@
 #include <part.h>
 #include <uuid.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <asm/unaligned.h>
 #include <command.h>
 #include <fdtdec.h>
diff --git a/drivers/ata/libata.c b/drivers/ata/libata.c
index d41200f6c26c..47e2c5c1cc40 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 46b7677783fe..554175bc0051 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 b78e311fc3bc..1012cb537427 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 9c7f14e98f47..6c7cc24cbd92 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 eca66198edf7..b53420a3a88c 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 f57f690d3c06..9d7d68c007f6 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 078c84d5ecab..8cc30cf40eff 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 cb9ebbb4f9cb..2c7983d0ceaf 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 9050c4cf3406..0fb767e43399 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 bac1d98e1975..cca6d6741221 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 1812152d56f8..578597a16e81 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 a0906716250a..97f00f505dd4 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 f72d384047f3..acb7eca74144 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 e514f26656e2..ba288cab9dc4 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 660e23192149..1fa42d728b59 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 d5c4e3cbe510..b87288da7a2a 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 ce274549da00..fa50265184f0 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 5a10d4640d7f..ef06a7fb9f6c 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 d4f10485919f..0df87e7bf446 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 bf32d8317ab2..3e3320900d56 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 c5ced1f132cf..0255ccaf8a48 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 16da10c8dd88..b423c9414b2e 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 30a101fe8621..3223becd753b 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 a2a5939d4b12..6b746f4c658b 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 6226d55658ea..221a5bd400f6 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 a05efcfbabaf..5a838b9e9a58 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 55ebac7057d1..f8cbda44551e 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 1e22db0cb71d..555155b16da6 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 e44b90ad6abe..c999df213a81 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 7e8f3afb2d60..da1509b043ad 100644
--- a/drivers/core/device-remove.c
+++ b/drivers/core/device-remove.c
@@ -18,6 +18,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 8629df8defb8..82a00989604a 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 ed55f69de124..83a50b6a3a7c 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 0a12e9b26f89..9960e6b310b8 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 7a5f4c0a73da..26c9d0405645 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 4d9b5dd03842..14fd1214d623 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 4baacabd0156..b51ce108c143 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 2bfa75b47250..26dd79dcffd3 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 f38122d54b56..1a4ea7a57a69 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 1d1e49efea9b..abddbef57b89 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 0b10c173a3ec..b30dceba37c5 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 e91fe644580b..f5ae35e13254 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 a4ceb36461dc..65ecdd022c43 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 3c58f59f3ab6..4a8f8dea1c4d 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 03a270f2639b..3caa2e14f946 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 5aba655e5f1f..a08f0953e554 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 5ebf54f5f4af..f23904bf7124 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 8129317ba1bc..b6b29bcb31b3 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 a020ecb24fa4..815f8de6453b 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 44e1ac54c3f1..4bea7fd900d8 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 8ce140a2e1ab..6b394869dbf6 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 0c06301a81cb..7a7cfe86114b 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 f4582b1467ce..edc5a8093b0c 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 e7b8f231ccf4..f615fce32e1f 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 9a52a5e414f5..d106e9846dfb 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 beae34f233ab..daaac5e78442 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 ee7de4c17e91..f14be871e8d0 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 bad6b71e0c38..4a9b74e1ca1a 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 68d72eedc5a7..20af35de2cf5 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 11d4be04f562..63a07b9592a0 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 af6c8383aa67..e1ff84c1c03d 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 4b2b18fdb538..5775a22abd43 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 52851e58b69f..e2565d709535 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 336ece47785b..316a28efa6bb 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 6d38646ef66a..359646266c93 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 253a9ba2f84c..975a2af3ccb8 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 796fe3e11043..76f35ac5d925 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 fcce90c53c26..339392dcd35a 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 9da79455ed3c..8997243421c0 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 3eb6db4878d1..aca8de943690 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 970b91cfd30c..75828b6e7c27 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 879ddc67b692..39bcacc17a7e 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 875d30762e3b..528357596860 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 da50d86cc8b4..85cf75ecd922 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 f91a96a3aa31..ba7817478c3a 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 83301bbf1b33..d975e782649a 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 928e02b7af17..ad730e0e79ff 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 8d6e208a0b86..4ca206115f85 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 d21a84c4fa88..55858cf653f2 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 37b1a06ee032..5df69f145980 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 0362ec676327..3c91515bffb3 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 c63a73255769..07cda0fa6793 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 48ed1d5bffb8..088ba9a6a3cd 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 0c8915605dbc..56f0f69885e4 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 f857307e6a4f..26a87006698e 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 1031066b8c41..db69c18cb6de 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 88e4e9a5c9dd..588f6bdcc4b4 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 1ea11fd67b44..565d99e7e57f 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 8dd93a3e11e9..ff21a08388a9 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 90f9cd246a04..af65c559dc69 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 f460b1a64c8a..e77b3af770e5 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 be181229370e..38111c525485 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 72a347326376..035a600f71cf 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 20b74fbb18d1..27ecce710fcb 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 f2366d6592db..dbee7f77db3f 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 7dd3de34c999..827a50e954f7 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 d7dbc23fd0b6..2b5ceeab94b5 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 2b79356a20ed..a17ed8c11cbe 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 b4ff1c3fb4b3..544798bb71d1 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 b5f3fd134d41..6014e1c5cac9 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 8ac859797f04..e0e132698e30 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 fa6181d85fa6..0fa037224fbe 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 bb5d0922bebe..2cec5b9ae324 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 f931e4b3c1d6..6e4f527e5d83 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 ae3af3927db5..61e48ee0f62d 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 bfbba46c5dc3..d63d7b3a2c10 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 556dd380466b..2096a67f54e5 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 03d5150b207a..8ec1f57a1b70 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 52f044e37a16..da44511d9896 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 fb37c6756c4a..fe555106a1d3 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 2acb8c6efa04..9ad92648a344 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 3cf56e0ac408..dee84263c3fd 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 2b726c26b870..327a05ad11d0 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 af342f2c290b..830e29cdd414 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 b8865b1ca6e7..b2d0fac96368 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 aa0d3a222211..d6d2d5721411 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 8ecd575152d9..6194768fd727 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 6c0c840bbb10..e9c7d3a2e004 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 d63569440197..e292f2903d85 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 0011811250b0..7bac599a54a1 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 9e3a652f4451..b4512e3a5fc4 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 9360d4ed1720..c53ec657a34d 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 698968bc1163..6557faddf943 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 9997135ef937..e0ccc7b0d90d 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 f6233756d853..8ff58a703876 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 12fc065b320c..7bc6ec7beea2 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 a530127cb779..6310253efa6a 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 a58a2c4b6c31..ea0dbe9eeee5 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 8a644ad9b384..2c61ce7b6e69 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 3017022abbbc..12d132152d32 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 c16dff959b1d..632ab3c1e5d1 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 456b7b98e913..eb4cd96763bd 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 efe3d1dade62..744b58bdd1a6 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 e3b29a9c3e7d..ec21157d7105 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 5bfe3781a17d..c9cf6a987e11 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 c36d40c91112..c20aef4ab28d 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 0d672374fda0..af3d076160f6 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 a50a5b3f33a0..f9096604840e 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 ef013c9c97e3..725173f62737 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 6e26467700a5..57ea45e2dc7f 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 cb343b446f59..43bb761483e3 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 ec81320a86d1..0987266c96ef 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 12be584638fa..282c2599d3c4 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 2452859f8145..ce5b8eed64b4 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 3192cf550911..4a4268c2b2cc 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 d266e6d0f378..1cf522b8fe57 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 58436419f1b9..91dcd05e4b38 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 9d9f746e1dba..3228672fc4ae 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 59a32c491301..24d617553e71 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 662ea2b98cc0..a2be3987364c 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 e2feb17048cc..74105c0b7d6b 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 9eba55affb19..5a678d1cf952 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 a33068cc706e..b08c79244c92 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 34e2b8f9e968..6953b7286a39 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 8273f73c9119..ce66ff781ffe 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 a389e2bd0d1d..37459dfa0a40 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 1666a8cdb212..3143a5813a6d 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 0ebe86a333b3..ab51552ed88b 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 0f6b6bb537e0..a6cdda81a76c 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 ca93edb70e31..3140f2515fbf 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 35b796c91369..5e8f683c29e3 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 343ab69d1943..2ce6271afe82 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 6b447537f66d..43fc36dc6a82 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 1d09c5ac4f6b..e72a60c13180 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 ba65f47e808b..dfd54b339f45 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 a7453e57552b..d8f9239523cd 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 374c4aa2432e..9a440f57d6e7 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 16932839a586..46855c5cd3a3 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 4a21813a82fd..a14a4db3c2f1 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 7ec149d178c5..93e57cf0cf14 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 15270627b0db..77f1a1b48f1e 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 5e00fcda97a2..33a5c3cc208b 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 7d1f13d637c0..e83e5aff206b 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 b061b31cae59..3c2a2a476111 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 b4964757c783..60195cfe1b6e 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 25b5272d4ed7..3c7c4ca18e8b 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 041a526f0b51..14983cce4f2b 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 40f0ef10ac4b..8b924d404c2d 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 be9cb6285c8c..255e73181d59 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 517e7b5cebd2..b055ed516546 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 03ea04ceaa9b..752e1703215b 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 027745e42e80..b0c91c0f430e 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 00879a2d7290..ae9a65b0a9e1 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 aa89701de8fb..5555cf5a8c9e 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 7313428fe0ca..d58c64982b27 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 4606de6f48ec..12523d18a805 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 b2203277c410..cd54e7f88907 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 b0fcb13f1c9a..a323de7c76d0 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 cb9914373218..2a9604cdcc49 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 6744b8b22756..62b8ba3a4a89 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 bc6c0feed04f..44ca4bc7919e 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 a45a318e4742..ca63b856e13b 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 87c1bcddb4a0..ce4caafce7e4 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 98fe6c6fce36..b5b3c3f1522a 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 14408da2e7e5..eb673a9f69cb 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 b1c78bead3b6..0d534268e966 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 64d78213a86e..2640c8fcefc1 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 b11a40e11a3d..ee362d8464fc 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 c15da6be0ead..79c63c7caec6 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 4797d3250f91..b9d389e70f5d 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 5ced4fea8885..536c6aff96e5 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 4518c05d4685..6b01f47657ca 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 adc687a3b57a..863eb1455d23 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 48c7bde37526..1596dcc4747e 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 2e5db2c6c2fe..46af44ecb1f2 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 449a0aa8b5fb..e6b10a377b6c 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 3a5143adc381..b7ae2f6adab2 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 ddaad55ddc51..b7aab12f11c1 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 c5baf5d211e4..20cdbb0702e6 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 7919e54e8de8..b0f30aa1f758 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 a19758d59d78..54d97ac0ae37 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 82bdf05b24b4..a445cdba7130 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 ec1cb9b652f3..630513ba3a22 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 ec369aedd325..e2fae2dbc860 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 341c83b1365b..c4cd07ffaf4a 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 31c9139c646d..cb9238972f27 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 66253a4a43b0..40d732224b6c 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 458c4df688c2..6180adf77e2d 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 c7f8b8095407..a886647f1937 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 18e57db07638..ca59f3ae3e18 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 30c30430bea7..01212d630a92 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 a64fc4a0527a..9cf098034571 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 614635526fee..e3d5ee456b00 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 fd7f14955adb..6195c7c4442c 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 259e4e3e6781..97883ffc8792 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 905ef304e252..141b19b57ac0 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 fd4235225a46..9ad398d24155 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 783834c9f574..a53ff93a6b06 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 6bec68d1daed..1f75dc15fa0b 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 66235bd420ac..9057ccacd96e 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 be4abed0c022..910dce623e90 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 5a7484ce4882..c0653bb8974c 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 e45a2489c508..8c2310ac9064 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 1fcc7cfd6923..64262f1aa901 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 c2d6a4e0c17e..5919c8bb978b 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 9dbbb44e955d..86d544cc8540 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 8041490630cb..9287f28952cf 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 7edec23e6482..bd14f3e78192 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 65c6db073ec4..b9e99babebb1 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 756738c2d212..5243c955fbf4 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 ead0193ad444..8a87eed68397 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 355659ba0560..dea25a049c88 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 445eacc8aac6..8f3e4dd44f15 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 c3714e1e1ec2..876a4baa9fc6 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 a35e5be303f6..2b473d70f648 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 e6e21b2ce8c7..bb2afd0d8cd6 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 50d6e70f1773..0978930dcd4f 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 024c2c956e47..d8c6c2f6b5fc 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 665b2aa3b2c9..6d416021deef 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 e5795da99d95..e4970a169bd8 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 b5beca976d35..97b6a4ff40d2 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 5d1dbe7a9179..ccdda9f03344 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 b21e943d2106..4f9de0da767f 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 669841ede4d7..330fc127ecb3 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 0eac0d53a50a..6d09952a5dcb 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 d74f89023366..e6c23cedff11 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 d26fe7e77043..23790707f937 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 5d1a46c6bced..2cada4efbfc1 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 dbb7b22b51c7..e1d5b229bd7d 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 597d425d11f9..ff322805bc9d 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 492a86cafe15..d982219e06de 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 0f05158c84c6..634cd565610c 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 dc4fdacdc997..503c47a2716f 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 84569845b74c..38bddd38619e 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 298f350ef398..6511c0e0e541 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 53a791ea292e..15557a62306a 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 30b1a77a7328..1bcc3ad318db 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 c17a5522bccd..8fe3508c6409 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -9,6 +9,7 @@
  * Haikun Wang (B53464 at 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 abc28e37d2ae..387b5471598c 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 8bc7038a82ad..c27c60674b62 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 c40d7d17be47..b1dce048ad24 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 553a0315df5d..bb68eb90e919 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 74931768c0fc..c69f8fee6e57 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 34d7d3e2ac32..45f07f083da8 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 133363ea7d9e..9856a5669ca1 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 105765168e52..26b6aa85c92b 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 3425d9950a81..f3602a25ba30 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 11453800788e..4ca5d3a93acf 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 3fe351f8a706..7155d4aebd6d 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 4384a48ec849..10e38cf839dc 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 3057fe1a2226..209ba8b0ccf2 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 b464b9ccb0ef..5c8c1859cc96 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 76bc480f4335..c542f40c7df6 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 e47ed5b221b2..fcc1bfe64b65 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 845f2d2f5f41..3d829bcb73be 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 2971e55f41b1..52b8fbc8744a 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 efcbd0557fbd..f669974af17b 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 7f21443f6ae3..5a335e50aa64 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 e69fb2255b6a..a9908ebf7956 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 4e89971840f2..81fccf957679 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 29e88dbcd10c..f0f445f22edc 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 b785be7bd050..e704bcbea869 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 1bd0340410ac..02cefecd0d22 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 904950457c7f..497f8a04155f 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 3cac2ec4220d..2f95d45ecd7a 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 2f2b8be3dca9..f4f6e9038739 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 99bd36f9f251..24813de26530 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 8d3eceb8d8d2..18c61450aff5 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 da1a72f0252b..6f00a5d0dba2 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 7d0fc66cc75a..7d19a99622b5 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 5e5c3c3e3dc9..2a47f40bbabb 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 742e156cbb94..975f375e15ad 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 1234399f33b3..239b671ac381 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 fda04c493359..c1cdd4b0889a 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 8e79bdd84722..cf1f882441bf 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 3ecbfd032ff8..5420bb9772b5 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 0af02ba27378..ab863f41b24e 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 ef3a63afa440..aeea5399995f 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 25f76c9fa918..648e136447d9 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 9893a8ccceeb..270be934e7fc 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 f42803533d73..68fc0c36146d 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 3fdcaeaa5d01..7d15b94a6c43 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 b833f10f4bab..4ed5e6e90c6c 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 75cf1811f7aa..91042935b07b 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 f1cf9160d565..93caa821a1d2 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 0485ae24366f..c7b59b71e1d7 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 f87c0224a1ab..c38cac174ab8 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 76115b7bc561..c8e105857fd9 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 cba105c19a4e..2551f162e8f9 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 3f07f4eb297f..27ff7163f348 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 4984dda8477d..462c318126dd 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 63b5b8e61a27..a532d5ae1abb 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 7b4459ced853..69992b3c2ba0 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 042aa9a5b9eb..c56eadc8237b 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 4ea0f1248701..dc5b24c98bb8 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 e7db0cbcef15..1aa5317dd5f3 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 dc4f542256d7..ba1ddd64e08c 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 ca6933a6c54f..e39844571f89 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 b43732a77ab3..e1fd36a62d6a 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 3f6ee744871c..44f32bb5fa2b 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 30e81b88b690..a34b491058f2 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 03c8257a3572..9cf3e3ca7688 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 159201a59168..8813220671d8 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 fcb393b906c5..145c3330203b 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 12edf9c90c98..5956b59ce49d 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 b5fb6f62bb78..fd58426cf5d3 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 635edf6dd3bb..7a9eba1ed42a 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 08b006b469b6..d60132eb7732 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 5fa6f794ecce..8b41dac66d0d 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 814126af6664..90c1edd87e6f 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 91d078a9d5f3..96ec6f80af3b 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 89003eea7276..ed7373eac84b 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 dd97a17a7014..6b5e1ab6fc35 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 9e0d89be62d5..647ae325e9ae 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 8b5ed28ebd30..f7d201b921a1 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 5f586ef68379..01b244db8075 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 167af904dc22..cebea426fbb6 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 b7cb199c9238..f43cd3fd2fb2 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 291aad757012..bec8827ceb15 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 e632f077f342..28f7918c4673 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 9bf1091ab321..778729d646e1 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 6455dfd5c963..1c5d039ef052 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>
 
diff --git a/env/callback.c b/env/callback.c
index 4054b9ef58b3..638a02b28f78 100644
--- a/env/callback.c
+++ b/env/callback.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 
 #if defined(CONFIG_NEEDS_MANUAL_RELOC)
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/env/common.c b/env/common.c
index 6c32a9b47960..2ee423beb5c8 100644
--- a/env/common.c
+++ b/env/common.c
@@ -14,6 +14,7 @@
 #include <env_internal.h>
 #include <log.h>
 #include <sort.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <search.h>
 #include <errno.h>
diff --git a/env/eeprom.c b/env/eeprom.c
index e300470ad0fc..ba168014e248 100644
--- a/env/eeprom.c
+++ b/env/eeprom.c
@@ -12,6 +12,7 @@
 #include <eeprom.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <u-boot/crc.h>
 #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
diff --git a/env/env.c b/env/env.c
index 37b4b54cb75f..caefa33e1d48 100644
--- a/env/env.c
+++ b/env/env.c
@@ -8,6 +8,7 @@
 #include <env.h>
 #include <env_internal.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/bitops.h>
 #include <linux/bug.h>
 
diff --git a/env/ext4.c b/env/ext4.c
index e666f7b9455a..ec643f2226ab 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -31,6 +31,7 @@
 #include <errno.h>
 #include <ext4fs.h>
 #include <mmc.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/env/flash.c b/env/flash.c
index 722d5adf8b69..ebee9069e4e3 100644
--- a/env/flash.c
+++ b/env/flash.c
@@ -15,6 +15,7 @@
 #include <env_internal.h>
 #include <flash.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <search.h>
diff --git a/env/mmc.c b/env/mmc.c
index ee376c3e0c3c..9b226be1d5bf 100644
--- a/env/mmc.c
+++ b/env/mmc.c
@@ -6,6 +6,7 @@
 /* #define DEBUG */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 #include <command.h>
 #include <env.h>
diff --git a/env/nand.c b/env/nand.c
index 0d7ee19bc232..be82e97d69cd 100644
--- a/env/nand.c
+++ b/env/nand.c
@@ -17,6 +17,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <memalign.h>
diff --git a/env/nowhere.c b/env/nowhere.c
index d43a2d6b513f..41557f5ce44f 100644
--- a/env/nowhere.c
+++ b/env/nowhere.c
@@ -11,6 +11,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/env/nvram.c b/env/nvram.c
index 7c8ea26f9682..f4126858b5b4 100644
--- a/env/nvram.c
+++ b/env/nvram.c
@@ -27,6 +27,7 @@
 #include <command.h>
 #include <env.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <search.h>
 #include <errno.h>
diff --git a/env/onenand.c b/env/onenand.c
index a2477cef9bed..c8da3ff8114b 100644
--- a/env/onenand.c
+++ b/env/onenand.c
@@ -10,6 +10,7 @@
 #include <common.h>
 #include <command.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #include <search.h>
diff --git a/env/remote.c b/env/remote.c
index d93a137376e3..166bebf52b5b 100644
--- a/env/remote.c
+++ b/env/remote.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <command.h>
 #include <env_internal.h>
+#include <asm/global_data.h>
 #include <linux/stddef.h>
 #include <u-boot/crc.h>
 
diff --git a/env/sf.c b/env/sf.c
index 42d762714eca..88ec1108b681 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <uuid.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <u-boot/crc.h>
 
diff --git a/env/ubi.c b/env/ubi.c
index 5502efe28b62..eb21c4f38b49 100644
--- a/env/ubi.c
+++ b/env/ubi.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 
 #include <command.h>
 #include <env.h>
diff --git a/fs/fs.c b/fs/fs.c
index 0c8f577a798a..900928c39459 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -20,6 +20,7 @@
 #include <sandboxfs.h>
 #include <ubifs_uboot.h>
 #include <btrfs.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <div64.h>
 #include <linux/math64.h>
diff --git a/fs/reiserfs/reiserfs_private.h b/fs/reiserfs/reiserfs_private.h
index c8867e24fefa..5936f2140056 100644
--- a/fs/reiserfs/reiserfs_private.h
+++ b/fs/reiserfs/reiserfs_private.h
@@ -15,6 +15,8 @@
  * from the original reiser fs code, as found in the linux kernel.
  */
 
+#include <compiler.h>
+
 #ifndef __BYTE_ORDER
 #if defined(__LITTLE_ENDIAN) && !defined(__BIG_ENDIAN)
 #define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 70beb848e1b0..d6be5c947d7e 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -17,6 +17,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <memalign.h>
+#include <asm/global_data.h>
 #include "ubifs.h"
 #include <part.h>
 #include <dm/devres.h>
diff --git a/include/audio_codec.h b/include/audio_codec.h
index 258709954693..2ea4ff096e62 100644
--- a/include/audio_codec.h
+++ b/include/audio_codec.h
@@ -7,6 +7,8 @@
 #ifndef __AUDIO_CODEC_H__
 #define __AUDIO_CODEC_H__
 
+struct udevice;
+
 /*
  * An audio codec turns digital data into sound with various parameters to
  * control its operation.
diff --git a/include/axi.h b/include/axi.h
index 3e40692cdfda..59fb0b2e4584 100644
--- a/include/axi.h
+++ b/include/axi.h
@@ -7,6 +7,8 @@
 #ifndef _AXI_H_
 #define _AXI_H_
 
+struct udevice;
+
 /**
  * enum axi_size_t - Determine size of AXI transfer
  * @AXI_SIZE_8:  AXI sransfer is 8-bit wide
diff --git a/include/backlight.h b/include/backlight.h
index ac59eb293b45..b44da50bc306 100644
--- a/include/backlight.h
+++ b/include/backlight.h
@@ -7,6 +7,8 @@
 #ifndef _BACKLIGHT_H
 #define _BACKLIGHT_H
 
+struct udevice;
+
 enum {
 	BACKLIGHT_MAX		= 100,
 	BACKLIGHT_MIN		= 0,
diff --git a/include/bootcount.h b/include/bootcount.h
index b1d1fe53d1a9..796b237c8f61 100644
--- a/include/bootcount.h
+++ b/include/bootcount.h
@@ -7,6 +7,7 @@
 #define _BOOTCOUNT_H__
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/byteorder.h>
 #include <env.h>
diff --git a/include/cache.h b/include/cache.h
index 32f59fd8f714..ecb7956efd5c 100644
--- a/include/cache.h
+++ b/include/cache.h
@@ -6,6 +6,8 @@
 #ifndef __CACHE_H
 #define __CACHE_H
 
+struct udevice;
+
 /*
  * Structure for the cache controller
  */
diff --git a/include/common.h b/include/common.h
index f0679ac70544..71df59bca0e5 100644
--- a/include/common.h
+++ b/include/common.h
@@ -23,7 +23,6 @@
 #include <stdio.h>
 #include <linux/kernel.h>
 #include <asm/u-boot.h> /* boot information for Linux kernel */
-#include <asm/global_data.h>	/* global data used for startup functions */
 #include <display_options.h>
 #include <vsprintf.h>
 #endif	/* __ASSEMBLY__ */
diff --git a/include/cpu.h b/include/cpu.h
index 5831bfa74214..be02a1671298 100644
--- a/include/cpu.h
+++ b/include/cpu.h
@@ -7,6 +7,8 @@
 #ifndef __CPU_H
 #define __CPU_H
 
+struct udevice;
+
 /**
  * struct cpu_plat - platform data for a CPU
  * @cpu_id:	   Platform-specific way of identifying the CPU.
diff --git a/include/dm/acpi.h b/include/dm/acpi.h
index e6951b6a25d9..7f1f2ef2cb60 100644
--- a/include/dm/acpi.h
+++ b/include/dm/acpi.h
@@ -28,6 +28,7 @@
 #if !defined(__ACPI__)
 
 struct nhlt;
+struct udevice;
 
 /** enum acpi_dump_option - selects what ACPI information to dump */
 enum acpi_dump_option {
diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h
index 5b088650d3bc..5318d6503579 100644
--- a/include/dm/ofnode.h
+++ b/include/dm/ofnode.h
@@ -379,6 +379,8 @@ bool ofnode_read_bool(ofnode node, const char *propname);
 ofnode ofnode_find_subnode(ofnode node, const char *subnode_name);
 
 #if CONFIG_IS_ENABLED(DM_INLINE_OFNODE)
+#include <asm/global_data.h>
+
 static inline bool ofnode_is_enabled(ofnode node)
 {
 	if (ofnode_is_np(node)) {
diff --git a/include/dm/read.h b/include/dm/read.h
index 03ba98232a61..97575bcad044 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -695,6 +695,7 @@ int dev_decode_display_timing(const struct udevice *dev, int index,
 			      struct display_timing *config);
 
 #else /* CONFIG_DM_DEV_READ_INLINE is enabled */
+#include <asm/global_data.h>
 
 static inline int dev_read_u32(const struct udevice *dev,
 			       const char *propname, u32 *outp)
diff --git a/include/dma.h b/include/dma.h
index 6ff591977b14..a64580a61ff7 100644
--- a/include/dma.h
+++ b/include/dma.h
@@ -13,6 +13,8 @@
 #include <linux/errno.h>
 #include <linux/types.h>
 
+struct udevice;
+
 /*
  * enum dma_direction - dma transfer direction indicator
  * @DMA_MEM_TO_MEM: Memcpy mode
diff --git a/include/exports.h b/include/exports.h
index faf0f5924432..99436e413252 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -2,6 +2,7 @@
 #define __EXPORTS_H__
 
 #include <irq_func.h>
+#include <asm/global_data.h>
 #include <linux/delay.h>
 
 #ifndef __ASSEMBLY__
diff --git a/include/ext_common.h b/include/ext_common.h
index bc3324172a08..30a0c248414a 100644
--- a/include/ext_common.h
+++ b/include/ext_common.h
@@ -20,6 +20,8 @@
 #ifndef __EXT_COMMON__
 #define __EXT_COMMON__
 
+#include <compiler.h>
+
 struct cmd_tbl;
 
 #define SECTOR_SIZE		0x200
diff --git a/include/fsl_qe.h b/include/fsl_qe.h
index 1c6941347f7f..cd8fca95b4a0 100644
--- a/include/fsl_qe.h
+++ b/include/fsl_qe.h
@@ -20,6 +20,8 @@
 #define QE_DATAONLY_BASE	0
 #define QE_DATAONLY_SIZE	(QE_MURAM_SIZE - QE_DATAONLY_BASE)
 
+struct udevice;
+
 /* QE threads SNUM
 */
 typedef enum qe_snum_state {
diff --git a/include/image-sparse.h b/include/image-sparse.h
index 234c237b845f..0572dbd0a283 100644
--- a/include/image-sparse.h
+++ b/include/image-sparse.h
@@ -3,6 +3,7 @@
  * Copyright 2014 Broadcom Corporation.
  */
 
+#include <compiler.h>
 #include <part.h>
 #include <sparse_format.h>
 
diff --git a/include/init.h b/include/init.h
index 980be2799369..f8f69a54e005 100644
--- a/include/init.h
+++ b/include/init.h
@@ -10,16 +10,16 @@
 #ifndef __INIT_H_
 #define __INIT_H_	1
 
-#include <linux/types.h>
-
-struct global_data;
-
 #ifndef __ASSEMBLY__		/* put C only stuff in this section */
 
+#include <linux/types.h>
+
 /* Avoid using CONFIG_EFI_STUB directly as we may boot from other loaders */
 #ifdef CONFIG_EFI_STUB
 #define ll_boot_init()	false
 #else
+#include <asm/global_data.h>
+
 #define ll_boot_init()	(!(gd->flags & GD_FLG_SKIP_LL_INIT))
 #endif
 
diff --git a/include/initcall.h b/include/initcall.h
index 41b74dc52d2f..69ce26807051 100644
--- a/include/initcall.h
+++ b/include/initcall.h
@@ -12,6 +12,7 @@ typedef int (*init_fnc_t)(void);
 #ifdef CONFIG_EFI_APP
 #include <efi.h>
 #endif
+#include <asm/global_data.h>
 
 /*
  * To enable debugging. add #define DEBUG at the top of the including file.
diff --git a/include/led.h b/include/led.h
index 7bfdddfd6fab..02766fa56fb6 100644
--- a/include/led.h
+++ b/include/led.h
@@ -7,6 +7,8 @@
 #ifndef __LED_H
 #define __LED_H
 
+struct udevice;
+
 /**
  * struct led_uc_plat - Platform data the uclass stores about each device
  *
diff --git a/include/misc.h b/include/misc.h
index 12d1325ee26e..82ec2ce79368 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -6,6 +6,8 @@
 #ifndef _MISC_H_
 #define _MISC_H_
 
+struct udevice;
+
 /**
  * misc_read() - Read the device to buffer, optional.
  * @dev: the device
diff --git a/include/netdev.h b/include/netdev.h
index b1eb5fc10467..0ad9f8dc3a5c 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -12,6 +12,8 @@
 #define _NETDEV_H_
 #include <phy_interface.h>
 
+struct udevice;
+
 /*
  * Board and CPU-specific initialization functions
  * board_eth_init() has highest priority.  cpu_eth_init() only
diff --git a/include/power/as3722.h b/include/power/as3722.h
index 27828570559e..f5398123f2a9 100644
--- a/include/power/as3722.h
+++ b/include/power/as3722.h
@@ -6,6 +6,8 @@
 #ifndef __POWER_AS3722_H__
 #define __POWER_AS3722_H__
 
+struct udevice;
+
 #define AS3722_GPIO_OUTPUT_VDDH (1 << 0)
 #define AS3722_GPIO_INVERT (1 << 1)
 
diff --git a/include/power/regulator.h b/include/power/regulator.h
index 19a3b7b502a3..da9a065bdde0 100644
--- a/include/power/regulator.h
+++ b/include/power/regulator.h
@@ -7,6 +7,8 @@
 #ifndef _INCLUDE_REGULATOR_H_
 #define _INCLUDE_REGULATOR_H_
 
+struct udevice;
+
 /**
  * U-Boot Voltage/Current Regulator
  * ================================
diff --git a/include/pwm.h b/include/pwm.h
index 54ae3e64c310..f9959706ceb6 100644
--- a/include/pwm.h
+++ b/include/pwm.h
@@ -10,6 +10,8 @@
 #ifndef _pwm_h_
 #define _pwm_h_
 
+struct udevice;
+
 /* struct pwm_ops: Operations for the PWM uclass */
 struct pwm_ops {
 	/**
diff --git a/include/ram.h b/include/ram.h
index 67e22d76c930..273d41539400 100644
--- a/include/ram.h
+++ b/include/ram.h
@@ -7,6 +7,8 @@
 #ifndef __RAM_H
 #define __RAM_H
 
+struct udevice;
+
 struct ram_info {
 	phys_addr_t base;
 	size_t size;
diff --git a/include/scsi.h b/include/scsi.h
index 90cec99e322b..0a475a8ca4c0 100644
--- a/include/scsi.h
+++ b/include/scsi.h
@@ -9,6 +9,8 @@
 #include <asm/cache.h>
 #include <linux/dma-direction.h>
 
+struct udevice;
+
 struct scsi_cmd {
 	unsigned char		cmd[16];					/* command				   */
 	/* for request sense */
diff --git a/include/soc.h b/include/soc.h
index a55eb1b5724e..a52a300a84a6 100644
--- a/include/soc.h
+++ b/include/soc.h
@@ -9,6 +9,8 @@
 
 #define SOC_MAX_STR_SIZE	128
 
+struct udevice;
+
 /**
  * struct soc_attr - Contains SoC identify information to be used in
  *		     SoC matching. An array of these structs
diff --git a/include/sysinfo.h b/include/sysinfo.h
index c045d316b072..c0da4932d4af 100644
--- a/include/sysinfo.h
+++ b/include/sysinfo.h
@@ -4,6 +4,8 @@
  * Mario Six,  Guntermann & Drunck GmbH, mario.six at gdsys.cc
  */
 
+struct udevice;
+
 /*
  * This uclass encapsulates hardware methods to gather information about a
  * sysinfo or a specific device such as hard-wired GPIOs on GPIO expanders,
diff --git a/include/sysreset.h b/include/sysreset.h
index 61295e3fcbb7..8bb094d463b3 100644
--- a/include/sysreset.h
+++ b/include/sysreset.h
@@ -7,6 +7,8 @@
 #ifndef __SYSRESET_H
 #define __SYSRESET_H
 
+struct udevice;
+
 enum sysreset_t {
 	SYSRESET_WARM,	/* Reset CPU, keep GPIOs active */
 	SYSRESET_COLD,	/* Reset CPU and GPIOs */
diff --git a/include/tee.h b/include/tee.h
index 8207d0c02afb..99367b258e29 100644
--- a/include/tee.h
+++ b/include/tee.h
@@ -7,6 +7,8 @@
 #define __TEE_H
 
 #include <linux/bitops.h>
+#include <linux/list.h>
+
 #define TEE_UUID_LEN		16
 
 #define TEE_GEN_CAP_GP          BIT(0)	/* GlobalPlatform compliant TEE */
diff --git a/include/tpm-common.h b/include/tpm-common.h
index e29b10b1766e..c1309a2735d1 100644
--- a/include/tpm-common.h
+++ b/include/tpm-common.h
@@ -9,6 +9,8 @@
 
 #include <command.h>
 
+struct udevice;
+
 enum tpm_duration {
 	TPM_SHORT = 0,
 	TPM_MEDIUM = 1,
diff --git a/include/tpm-v1.h b/include/tpm-v1.h
index 59ad4aecf42c..8f6cc28a9ea6 100644
--- a/include/tpm-v1.h
+++ b/include/tpm-v1.h
@@ -10,6 +10,8 @@
 #include <tpm-common.h>
 #include <linux/bitops.h>
 
+struct udevice;
+
 /* Useful constants */
 enum {
 	TPM_REQUEST_HEADER_LENGTH	= 10,
diff --git a/include/tpm-v2.h b/include/tpm-v2.h
index fab6b86ca2fa..56eaa65815f2 100644
--- a/include/tpm-v2.h
+++ b/include/tpm-v2.h
@@ -16,6 +16,8 @@
 
 #include <tpm-common.h>
 
+struct udevice;
+
 #define TPM2_DIGEST_LEN		32
 
 #define TPM2_SHA1_DIGEST_SIZE 20
diff --git a/include/tps6586x.h b/include/tps6586x.h
index 785eb39229d0..aa4270c65e33 100644
--- a/include/tps6586x.h
+++ b/include/tps6586x.h
@@ -7,6 +7,8 @@
 #ifndef _TPS6586X_H_
 #define _TPS6586X_H_
 
+struct udevice;
+
 enum {
 	/* SM0-2 PWM/PFM Mode Selection */
 	TPS6586X_PWM_SM0	= 1 << 0,
diff --git a/include/ufs.h b/include/ufs.h
index 0592a763dd9f..bda135cf1841 100644
--- a/include/ufs.h
+++ b/include/ufs.h
@@ -1,6 +1,9 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 #ifndef _UFS_H
 #define _UFS_H
+
+struct udevice;
+
 /**
  * ufs_probe() - initialize all devices in the UFS uclass
  *
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c
index a0f0961be5bc..2f0774178412 100644
--- a/lib/acpi/acpi_table.c
+++ b/lib/acpi/acpi_table.c
@@ -13,6 +13,7 @@
 #include <tables_csum.h>
 #include <version.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 
 int acpi_create_dmar(struct acpi_dmar *dmar, enum dmar_flags flags)
diff --git a/lib/asm-offsets.c b/lib/asm-offsets.c
index b17651ed63d8..ee592cfda1cc 100644
--- a/lib/asm-offsets.c
+++ b/lib/asm-offsets.c
@@ -13,6 +13,7 @@
 
 #include <common.h>
 #include <asm-offsets.h>
+#include <asm/global_data.h>
 
 #include <linux/kbuild.h>
 
diff --git a/lib/efi/efi_app.c b/lib/efi/efi_app.c
index b7e19c347509..907bacd716a7 100644
--- a/lib/efi/efi_app.c
+++ b/lib/efi/efi_app.c
@@ -15,6 +15,7 @@
 #include <errno.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <linux/err.h>
 #include <linux/types.h>
 #include <efi.h>
diff --git a/lib/efi/efi_info.c b/lib/efi/efi_info.c
index 35a8a9325f84..4d78923c4d40 100644
--- a/lib/efi/efi_info.c
+++ b/lib/efi/efi_info.c
@@ -9,6 +9,7 @@
 #include <efi.h>
 #include <errno.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 
 int efi_info_get(enum efi_entry_t type, void **datap, int *sizep)
 {
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index ce658a8e7331..41b8949b0424 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -19,6 +19,7 @@
 #include <u-boot/crc.h>
 #include <usb.h>
 #include <watchdog.h>
+#include <asm/global_data.h>
 #include <linux/libfdt_env.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/lib/efi_loader/efi_dt_fixup.c b/lib/efi_loader/efi_dt_fixup.c
index 3850ab3b0fe6..580551b1f122 100644
--- a/lib/efi_loader/efi_dt_fixup.c
+++ b/lib/efi_loader/efi_dt_fixup.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <efi_dt_fixup.h>
 #include <efi_loader.h>
+#include <fdtdec.h>
 #include <mapmem.h>
 
 const efi_guid_t efi_guid_dt_fixup_protocol = EFI_DT_FIXUP_PROTOCOL_GUID;
diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c
index 53f6d970f735..1206b2d7a2c8 100644
--- a/lib/efi_loader/efi_gop.c
+++ b/lib/efi_loader/efi_gop.c
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <video.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index a3106aba7f25..be2f655dffdb 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -12,6 +12,7 @@
 #include <mapmem.h>
 #include <watchdog.h>
 #include <asm/cache.h>
+#include <asm/global_data.h>
 #include <linux/list_sort.h>
 #include <linux/sizes.h>
 
diff --git a/lib/efi_loader/efi_rng.c b/lib/efi_loader/efi_rng.c
index 8bdadad0a953..0e0654685623 100644
--- a/lib/efi_loader/efi_rng.c
+++ b/lib/efi_loader/efi_rng.c
@@ -11,6 +11,7 @@
 #include <efi_rng.h>
 #include <log.h>
 #include <rng.h>
+#include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 93c9478b2250..93a695fc27e2 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -14,6 +14,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <rtc.h>
+#include <asm/global_data.h>
 #include <u-boot/crc.h>
 
 /* For manual relocation support */
diff --git a/lib/efi_selftest/dtbdump.c b/lib/efi_selftest/dtbdump.c
index 953b264d9d45..844d08246ee3 100644
--- a/lib/efi_selftest/dtbdump.c
+++ b/lib/efi_selftest/dtbdump.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <efi_api.h>
 #include <efi_dt_fixup.h>
+#include <linux/libfdt.h>
 
 #define BUFFER_SIZE 64
 #define ESC 0x17
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index a2d2fb4e1fe6..2b2503799996 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -21,6 +21,7 @@
 #include <mapmem.h>
 #include <linux/libfdt.h>
 #include <serial.h>
+#include <asm/global_data.h>
 #include <asm/sections.h>
 #include <linux/ctype.h>
 #include <linux/lzo.h>
diff --git a/lib/optee/optee.c b/lib/optee/optee.c
index 9e6606568f32..4dcf6f930990 100644
--- a/lib/optee/optee.c
+++ b/lib/optee/optee.c
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <fdtdec.h>
 #include <image.h>
 #include <log.h>
 #include <malloc.h>
diff --git a/lib/time.c b/lib/time.c
index cc6944ec345d..38a9758292a5 100644
--- a/lib/time.c
+++ b/lib/time.c
@@ -14,6 +14,7 @@
 #include <timer.h>
 #include <watchdog.h>
 #include <div64.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/delay.h>
 
diff --git a/lib/trace.c b/lib/trace.c
index defc9716d80f..9e34b1953755 100644
--- a/lib/trace.c
+++ b/lib/trace.c
@@ -7,6 +7,7 @@
 #include <mapmem.h>
 #include <time.h>
 #include <trace.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <asm/sections.h>
 
diff --git a/lib/zlib/zlib.c b/lib/zlib/zlib.c
index 90e05e7d4d95..493fe19eda6f 100644
--- a/lib/zlib/zlib.c
+++ b/lib/zlib/zlib.c
@@ -12,7 +12,7 @@
  * - added inflateIncomp
  */
 
-#include <common.h>
+#include <compiler.h>
 
 #ifdef CONFIG_GZIP_COMPRESSED
 #define NO_DUMMY_DECL
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index 35842f577dd7..34ca731d1e31 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -11,6 +11,7 @@
 #include <env.h>
 #include <log.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <net/pcap.h>
diff --git a/net/eth_legacy.c b/net/eth_legacy.c
index 6870afb505c7..96ed5a472026 100644
--- a/net/eth_legacy.c
+++ b/net/eth_legacy.c
@@ -13,6 +13,7 @@
 #include <log.h>
 #include <net.h>
 #include <phy.h>
+#include <asm/global_data.h>
 #include <linux/bug.h>
 #include <linux/errno.h>
 #include <net/pcap.h>
diff --git a/net/tftp.c b/net/tftp.c
index 03079ded34e3..d8cb12120bbc 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -14,6 +14,7 @@
 #include <log.h>
 #include <mapmem.h>
 #include <net.h>
+#include <asm/global_data.h>
 #include <net/tftp.h>
 #include "bootp.h"
 #ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
diff --git a/post/drivers/memory.c b/post/drivers/memory.c
index e90ada3ce854..281989da6fa7 100644
--- a/post/drivers/memory.c
+++ b/post/drivers/memory.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <log.h>
+#include <asm/global_data.h>
 
 /* Memory test
  *
diff --git a/post/post.c b/post/post.c
index 7d6a64731281..d67c43ed8ae8 100644
--- a/post/post.c
+++ b/post/post.c
@@ -14,6 +14,7 @@
 #include <watchdog.h>
 #include <div64.h>
 #include <post.h>
+#include <asm/global_data.h>
 
 #ifdef CONFIG_SYS_POST_HOTKEYS_GPIO
 #include <asm/gpio.h>
diff --git a/test/bloblist.c b/test/bloblist.c
index 85a6c39680e4..6953d3010a65 100644
--- a/test/bloblist.c
+++ b/test/bloblist.c
@@ -7,6 +7,7 @@
 #include <bloblist.h>
 #include <log.h>
 #include <mapmem.h>
+#include <asm/global_data.h>
 #include <test/suites.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/bootm.c b/test/bootm.c
index 92dc2b6e1738..563d6ebaa5a6 100644
--- a/test/bootm.c
+++ b/test/bootm.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <bootm.h>
+#include <asm/global_data.h>
 #include <test/suites.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/cmd/test_echo.c b/test/cmd/test_echo.c
index 4183cf75bb63..aa5cebc4e78f 100644
--- a/test/cmd/test_echo.c
+++ b/test/cmd/test_echo.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <asm/global_data.h>
 #include <display_options.h>
 #include <test/lib.h>
 #include <test/test.h>
diff --git a/test/dm/acpi.c b/test/dm/acpi.c
index e0a323ecd40f..240187c52350 100644
--- a/test/dm/acpi.c
+++ b/test/dm/acpi.c
@@ -17,6 +17,7 @@
 #include <acpi/acpigen.h>
 #include <acpi/acpi_device.h>
 #include <acpi/acpi_table.h>
+#include <asm/global_data.h>
 #include <dm/acpi.h>
 #include <dm/test.h>
 #include <test/ut.h>
diff --git a/test/dm/blk.c b/test/dm/blk.c
index a39a1ebd289a..b7f4304e9e99 100644
--- a/test/dm/blk.c
+++ b/test/dm/blk.c
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <part.h>
 #include <usb.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 #include <dm/test.h>
 #include <test/test.h>
diff --git a/test/dm/bus.c b/test/dm/bus.c
index e768eab6957a..89a6aa6554cb 100644
--- a/test/dm/bus.c
+++ b/test/dm/bus.c
@@ -9,6 +9,7 @@
 #include <os.h>
 #endif
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <dm/device-internal.h>
 #include <dm/test.h>
diff --git a/test/dm/core.c b/test/dm/core.c
index 1f5ca570dc7a..ea1d1908968b 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -11,6 +11,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <dm/device-internal.h>
 #include <dm/root.h>
 #include <dm/util.h>
diff --git a/test/dm/fdtdec.c b/test/dm/fdtdec.c
index 017157a2ecd1..1f630ea3eee1 100644
--- a/test/dm/fdtdec.c
+++ b/test/dm/fdtdec.c
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <asm/global_data.h>
 #include <dm/of_extra.h>
 #include <dm/test.h>
 #include <test/ut.h>
diff --git a/test/dm/mux-emul.c b/test/dm/mux-emul.c
index 45154cea5004..58233edc9b29 100644
--- a/test/dm/mux-emul.c
+++ b/test/dm/mux-emul.c
@@ -9,6 +9,7 @@
 #include <mux-internal.h>
 #include <dm/test.h>
 #include <test/ut.h>
+#include <asm/global_data.h>
 
 struct mux_emul_priv {
 	u32 state;
diff --git a/test/dm/of_platdata.c b/test/dm/of_platdata.c
index 26c50922c569..e9804cc27fa8 100644
--- a/test/dm/of_platdata.c
+++ b/test/dm/of_platdata.c
@@ -6,6 +6,7 @@
 #include <dm/test.h>
 #include <test/test.h>
 #include <test/ut.h>
+#include <asm/global_data.h>
 
 /* Test that we can find a device using of-platdata */
 static int dm_test_of_plat_base(struct unit_test_state *uts)
diff --git a/test/dm/ram.c b/test/dm/ram.c
index f01236c8cd5c..f624343138d6 100644
--- a/test/dm/ram.c
+++ b/test/dm/ram.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <ram.h>
+#include <asm/global_data.h>
 #include <dm/test.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c
index b5ac9bba24eb..6e83aeecd928 100644
--- a/test/dm/test-fdt.c
+++ b/test/dm/test-fdt.c
@@ -10,6 +10,7 @@
 #include <fdtdec.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/io.h>
 #include <dm/test.h>
 #include <dm/root.h>
diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 69458d62c869..560f8d63ec64 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -10,6 +10,7 @@
 #include <errno.h>
 #include <log.h>
 #include <malloc.h>
+#include <asm/global_data.h>
 #include <asm/state.h>
 #include <dm/test.h>
 #include <dm/root.h>
diff --git a/test/lib/test_print.c b/test/lib/test_print.c
index 1d497d00413c..12972f1bcd60 100644
--- a/test/lib/test_print.c
+++ b/test/lib/test_print.c
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <command.h>
 #include <display_options.h>
+#include <asm/global_data.h>
 #include <test/lib.h>
 #include <test/test.h>
 #include <test/ut.h>
diff --git a/test/log/cont_test.c b/test/log/cont_test.c
index 68ca1d262c4d..16379a74be62 100644
--- a/test/log/cont_test.c
+++ b/test/log/cont_test.c
@@ -7,6 +7,7 @@
 
 #include <common.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/test.h>
 #include <test/suites.h>
diff --git a/test/log/log_filter.c b/test/log/log_filter.c
index e8a6e01a5cc6..b644b40a850d 100644
--- a/test/log/log_filter.c
+++ b/test/log/log_filter.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <console.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/ut.h>
 
diff --git a/test/log/log_test.c b/test/log/log_test.c
index 82234a69942d..4a814ff41320 100644
--- a/test/log/log_test.c
+++ b/test/log/log_test.c
@@ -9,6 +9,7 @@
 #include <common.h>
 #include <command.h>
 #include <log.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/ut.h>
 
diff --git a/test/log/nolog_test.c b/test/log/nolog_test.c
index c418ed07c9a2..cb4fb3db9a20 100644
--- a/test/log/nolog_test.c
+++ b/test/log/nolog_test.c
@@ -10,6 +10,7 @@
 
 #include <common.h>
 #include <console.h>
+#include <asm/global_data.h>
 #include <test/log.h>
 #include <test/test.h>
 #include <test/suites.h>
diff --git a/test/log/pr_cont_test.c b/test/log/pr_cont_test.c
index 236eff4b33b3..6abddf7a1195 100644
--- a/test/log/pr_cont_test.c
+++ b/test/log/pr_cont_test.c
@@ -11,6 +11,7 @@
 #include <test/test.h>
 #include <test/suites.h>
 #include <test/ut.h>
+#include <asm/global_data.h>
 #include <linux/printk.h>
 
 #define BUFFSIZE 64
diff --git a/test/log/syslog_test.c b/test/log/syslog_test.c
index a058d8f56959..4db649db8226 100644
--- a/test/log/syslog_test.c
+++ b/test/log/syslog_test.c
@@ -11,6 +11,7 @@
 #define LOG_DEBUG
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <hexdump.h>
 #include <test/log.h>
diff --git a/test/log/syslog_test_ndebug.c b/test/log/syslog_test_ndebug.c
index 84844a394402..4438791044d0 100644
--- a/test/log/syslog_test_ndebug.c
+++ b/test/log/syslog_test_ndebug.c
@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <asm/global_data.h>
 #include <dm/device.h>
 #include <hexdump.h>
 #include <test/log.h>
diff --git a/test/ut.c b/test/ut.c
index 44ed1ba2d313..7328338731c1 100644
--- a/test/ut.c
+++ b/test/ut.c
@@ -11,6 +11,7 @@
 #ifdef CONFIG_SANDBOX
 #include <asm/state.h>
 #endif
+#include <asm/global_data.h>
 #include <test/test.h>
 #include <test/ut.h>
 
-- 
2.17.1

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

* [PATCHv2] common: Drop asm/global_data.h from common header
  2021-02-03 14:19   ` [PATCHv2] " Tom Rini
@ 2021-02-15 15:45     ` Tom Rini
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Rini @ 2021-02-15 15:45 UTC (permalink / raw)
  To: u-boot

On Wed, Feb 03, 2021 at 09:19:51AM -0500, Tom Rini wrote:

> From: Simon Glass <sjg@chromium.org>
> 
> Move this out of the common header and include it only where needed.  In
> a number of cases this requires adding "struct udevice;" to avoid adding
> another large header or in other cases replacing / adding missing header
> files that had been pulled in, very indirectly.   Finally, we have a few
> cases where we did not need to include <asm/global_data.h> at all, so
> remove that include.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210215/a06d4b78/attachment.sig>

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

end of thread, other threads:[~2021-02-15 15:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-31  3:38 [PATCH 0/4] common: Drop remaining includes in common.h (part A) Simon Glass
2020-10-31  3:38 ` [PATCH 1/4] common: Drop asm/global_data.h from common header Simon Glass
2021-02-03 14:19   ` [PATCHv2] " Tom Rini
2021-02-15 15:45     ` Tom Rini
2020-10-31  3:38 ` [PATCH 2/4] common: Drop display_options.h " Simon Glass
2020-10-31  3:38 ` [PATCH 3/4] common: Drop linux/printk.h " Simon Glass
2020-10-31  3:38 ` [PATCH 4/4] Fix code style for time functions Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.