diff --git a/api/api_net.c b/api/api_net.c
index 67c291682a655a4bc545a4cd86cf2b52eb29808d..80658b5bdb176c826c680e53852667530b6d2713 100644
--- a/api/api_net.c
+++ b/api/api_net.c
@@ -12,8 +12,6 @@
 #include <linux/types.h>
 #include <api_public.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DEBUG
 #undef DEBUG
 
diff --git a/arch/arm/cpu/arm1136/mx31/timer.c b/arch/arm/cpu/arm1136/mx31/timer.c
index 3a81ce427ca64566ab9f397c1e77cc4e5547b943..ea9eca1dbff2fdd6566bc8103e7c87bee6900db4 100644
--- a/arch/arm/cpu/arm1136/mx31/timer.c
+++ b/arch/arm/cpu/arm1136/mx31/timer.c
@@ -23,8 +23,6 @@
 #define GPTCR_CLKSOURCE_32	(4 << 6)	/* Clock source		*/
 #define GPTCR_TEN		1		/* Timer enable		*/
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* The 32768Hz 32-bit timer overruns in 131072 seconds */
 int timer_init(void)
 {
diff --git a/arch/arm/cpu/arm1136/mx35/timer.c b/arch/arm/cpu/arm1136/mx35/timer.c
index 4edf533e2a27f04f27208e45d5f823e4825c50e2..c396e15ec099dc05ac9a16025d95ebb338ea6411 100644
--- a/arch/arm/cpu/arm1136/mx35/timer.c
+++ b/arch/arm/cpu/arm1136/mx35/timer.c
@@ -12,8 +12,6 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/crm_regs.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* General purpose timers bitfields */
 #define GPTCR_SWR       (1<<15)	/* Software reset */
 #define GPTCR_FRR       (1<<9)	/* Freerun / restart */
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
index 18fb937a3a4cb091e756d8d80e0a5162d1942434..2fdc0eb8d15acb25d9415fe7f5c394fc495a0aa0 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
@@ -26,8 +26,6 @@
 #endif
 #include <fsl_immap.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 bool soc_has_dp_ddr(void)
 {
 	struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
diff --git a/arch/arm/cpu/armv8/s32v234/cpu.c b/arch/arm/cpu/armv8/s32v234/cpu.c
index 5c97e0eee43469748daea37d16d49a30e2af08ed..282cd02f5908d2d41c7c1f7607e8af393bdf84f6 100644
--- a/arch/arm/cpu/armv8/s32v234/cpu.c
+++ b/arch/arm/cpu/armv8/s32v234/cpu.c
@@ -12,8 +12,6 @@
 #include <asm/arch/mc_me_regs.h>
 #include "cpu.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 cpu_mask(void)
 {
 	return readl(MC_ME_CS);
diff --git a/arch/arm/cpu/pxa/timer.c b/arch/arm/cpu/pxa/timer.c
index 7c25e67fea74dd6bc76954a46f96fc49024ec13e..ba332716e863f1428320553cdc2cd4dcb3219d7e 100644
--- a/arch/arm/cpu/pxa/timer.c
+++ b/arch/arm/cpu/pxa/timer.c
@@ -9,8 +9,6 @@
 #include <common.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int timer_init(void)
 {
 	writel(0, CONFIG_SYS_TIMER_COUNTER);
diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h
index c9f0b3a14b560e897a7e3ae2517d93242a94156d..c8298c57e11ba22d8faa8c60029897f95fc98cc0 100644
--- a/arch/arm/include/asm/arch-omap4/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap4/sys_proto.h
@@ -16,8 +16,6 @@
 #include <asm/arch/mux_omap4.h>
 #include <asm/ti-common/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
 extern const struct emif_regs emif_regs_elpida_200_mhz_2cs;
 extern const struct emif_regs emif_regs_elpida_380_mhz_1cs;
diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h
index d43cd7f2e72e8dc40cbd47e8be8ca0a2ac5f521a..e99bf77e8398c47cb6ea949e8e63bf284cc15344 100644
--- a/arch/arm/include/asm/arch-omap5/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap5/sys_proto.h
@@ -16,8 +16,6 @@
 #include <asm/arch/clock.h>
 #include <asm/ti-common/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Structure for Iodelay configuration registers.
  * Theoretical max for g_delay is 21560 ps.
diff --git a/arch/arm/lib/cmd_boot.c b/arch/arm/lib/cmd_boot.c
index 37bb6a567e8855fc841e016788211e7cf0f6944b..781a6eaf52dfa942c937924a914497f330fc5f6a 100644
--- a/arch/arm/lib/cmd_boot.c
+++ b/arch/arm/lib/cmd_boot.c
@@ -21,8 +21,6 @@
 #include <common.h>
 #include <command.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * ARMv7M does not support ARM instruction mode. However, the
  * interworking BLX and BX instructions do encode the ARM/Thumb
diff --git a/arch/arm/mach-at91/spl_atmel.c b/arch/arm/mach-at91/spl_atmel.c
index ce16ef3bdb71eb376e7db24847fbd876ea6eed29..ae008d5501e29b23e8e2631ff2de0af0e3486fde 100644
--- a/arch/arm/mach-at91/spl_atmel.c
+++ b/arch/arm/mach-at91/spl_atmel.c
@@ -15,8 +15,6 @@
 #include <asm/arch/clk.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void switch_to_main_crystal_osc(void)
 {
 	struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
diff --git a/arch/arm/mach-davinci/spl.c b/arch/arm/mach-davinci/spl.c
index 4c74db9ed03c5e84830237a4b9ab01436d3609ba..f4553160027e1b57143eab78ae30418b6999da71 100644
--- a/arch/arm/mach-davinci/spl.c
+++ b/arch/arm/mach-davinci/spl.c
@@ -16,8 +16,6 @@
 #include <spi_flash.h>
 #include <mmc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_SPL_LIBCOMMON_SUPPORT
 void puts(const char *str)
 {
diff --git a/arch/arm/mach-exynos/clock_init_exynos5.c b/arch/arm/mach-exynos/clock_init_exynos5.c
index 1b7498d9d5f6fc113191178322cd4702210a943a..2c55e4031f58101378bd4ddb3058c71ed09ef497 100644
--- a/arch/arm/mach-exynos/clock_init_exynos5.c
+++ b/arch/arm/mach-exynos/clock_init_exynos5.c
@@ -21,8 +21,6 @@
 #define FSYS1_MMC0_DIV_MASK	0xff0f
 #define FSYS1_MMC0_DIV_VAL	0x0701
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct arm_clk_ratios arm_clk_ratios[] = {
 #ifdef CONFIG_EXYNOS5420
 	{
diff --git a/arch/arm/mach-exynos/mmu-arm64.c b/arch/arm/mach-exynos/mmu-arm64.c
index 23814222d82d3e2ec4c9e317c555c87998eb98d3..e0dd94ce24e836a42a585e0a68b6e03794f4ddea 100644
--- a/arch/arm/mach-exynos/mmu-arm64.c
+++ b/arch/arm/mach-exynos/mmu-arm64.c
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <asm/armv8/mmu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_EXYNOS7420
 static struct mm_region exynos7420_mem_map[] = {
 	{
diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c
index ada8adf2f4f041cd6c5fcd865087fd64b2b47105..62cd56e096e9474e0aea744ec3907e9a243c11c6 100644
--- a/arch/arm/mach-imx/cmd_dek.c
+++ b/arch/arm/mach-imx/cmd_dek.c
@@ -16,8 +16,6 @@
 #include <asm/arch/clock.h>
 #include <mapmem.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
 * blob_dek() - Encapsulate the DEK as a blob using CAM's Key
 * @src: - Address of data to be encapsulated
diff --git a/arch/arm/mach-imx/mx7ulp/pcc.c b/arch/arm/mach-imx/mx7ulp/pcc.c
index edd84e51b98178f8d7c0e89b15bd35f1e5b5f1a0..1d39c5b1ee0e5ecdc65d760388e6940bd10dcec3 100644
--- a/arch/arm/mach-imx/mx7ulp/pcc.c
+++ b/arch/arm/mach-imx/mx7ulp/pcc.c
@@ -12,8 +12,6 @@
 #include <asm/arch/pcc.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PCC_CLKSRC_TYPES 2
 #define PCC_CLKSRC_NUM 7
 
diff --git a/arch/arm/mach-imx/mx7ulp/scg.c b/arch/arm/mach-imx/mx7ulp/scg.c
index c117af0a0ecd50ea00aab3a977e8a6538fccfeee..341f8cc119af2bd96660685f0109bf03d932feb4 100644
--- a/arch/arm/mach-imx/mx7ulp/scg.c
+++ b/arch/arm/mach-imx/mx7ulp/scg.c
@@ -12,8 +12,6 @@
 #include <asm/arch/pcc.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 scg_p scg1_regs = (scg_p)SCG1_RBASE;
 
 static u32 scg_src_get_rate(enum scg_clk clksrc)
diff --git a/arch/arm/mach-imx/mx8m/clock.c b/arch/arm/mach-imx/mx8m/clock.c
index c56ba99d5c63e182bab193856f8c981fb90746a9..04811173432b017dbf3f8252655badbf4f970591 100644
--- a/arch/arm/mach-imx/mx8m/clock.c
+++ b/arch/arm/mach-imx/mx8m/clock.c
@@ -14,8 +14,6 @@
 #include <errno.h>
 #include <linux/iopoll.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct anamix_pll *ana_pll = (struct anamix_pll *)ANATOP_BASE_ADDR;
 
 static u32 decode_frac_pll(enum clk_root_src frac_pll)
diff --git a/arch/arm/mach-imx/mx8m/clock_slice.c b/arch/arm/mach-imx/mx8m/clock_slice.c
index e734498b9472e27d2411f2c1a3f228cb8808925f..b851d59c131755cb22eeaa5f63bd05e09c1b0776 100644
--- a/arch/arm/mach-imx/mx8m/clock_slice.c
+++ b/arch/arm/mach-imx/mx8m/clock_slice.c
@@ -12,8 +12,6 @@
 #include <asm/io.h>
 #include <errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct ccm_reg *ccm_reg = (struct ccm_reg *)CCM_BASE_ADDR;
 
 static struct clk_root_map root_array[] = {
diff --git a/arch/arm/mach-imx/timer.c b/arch/arm/mach-imx/timer.c
index 69dbf3c2cebf6bccc45c401394381709b49b9151..60f706fbe3b60283f97a3f6273cbc8b14ef683a9 100644
--- a/arch/arm/mach-imx/timer.c
+++ b/arch/arm/mach-imx/timer.c
@@ -38,8 +38,6 @@ static struct mxc_gpt *cur_gpt = (struct mxc_gpt *)GPT1_BASE_ADDR;
 #define GPTPR_PRESCALER24M_SHIFT 12
 #define GPTPR_PRESCALER24M_MASK (0xF << GPTPR_PRESCALER24M_SHIFT)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline int gpt_has_clk_source_osc(void)
 {
 #if defined(CONFIG_MX6)
diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c
index ab4164cbe00d7f925478e4d787dbe2490fdb81c3..37ef13484c9496354e757f634e783a70772f4a26 100644
--- a/arch/arm/mach-mvebu/armada3700/cpu.c
+++ b/arch/arm/mach-mvebu/armada3700/cpu.c
@@ -14,8 +14,6 @@
 #include <asm/arch/soc.h>
 #include <asm/armv8/mmu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Armada 3700 */
 #define MVEBU_GPIO_NB_REG_BASE		(MVEBU_REGISTER(0x13800))
 
diff --git a/arch/arm/mach-mvebu/armada8k/cpu.c b/arch/arm/mach-mvebu/armada8k/cpu.c
index ce7e913b708cc05fbdc2b2220dcd8793cd64ef02..2b3419be03858dcdf9babb6d0c344dfd7c9d4c50 100644
--- a/arch/arm/mach-mvebu/armada8k/cpu.c
+++ b/arch/arm/mach-mvebu/armada8k/cpu.c
@@ -14,8 +14,6 @@
 #include <asm/arch/soc.h>
 #include <asm/armv8/mmu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Armada 7k/8k */
 #define MVEBU_RFU_BASE			(MVEBU_REGISTER(0x6f0000))
 #define RFU_GLOBAL_SW_RST		(MVEBU_RFU_BASE + 0x84)
diff --git a/arch/arm/mach-mvebu/sata.c b/arch/arm/mach-mvebu/sata.c
index 5d8032bd8944957260875a724f9dc06b9cc9a8a1..526c4a61ef97e0624b3e4e3fa32d81473148f4ac 100644
--- a/arch/arm/mach-mvebu/sata.c
+++ b/arch/arm/mach-mvebu/sata.c
@@ -8,8 +8,6 @@
 #include <ahci.h>
 #include <dm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Dummy implementation that can be overwritten by a board
  * specific function
diff --git a/arch/arm/mach-mvebu/timer.c b/arch/arm/mach-mvebu/timer.c
index f5c2eaa808a3a0ccf7c0fbf22e06a4204d3908df..a86128e871c615374dc4e2e58119befb77f4ae7e 100644
--- a/arch/arm/mach-mvebu/timer.c
+++ b/arch/arm/mach-mvebu/timer.c
@@ -11,8 +11,6 @@
 #include <asm/io.h>
 #include <asm/arch/soc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TIMER_LOAD_VAL			0xffffffff
 
 static int init_done __attribute__((section(".data"))) = 0;
diff --git a/arch/arm/mach-omap2/omap3/board.c b/arch/arm/mach-omap2/omap3/board.c
index a61b9331450e31155f78f82050f91a61758522da..b4c9af1290bdc6bd52a197c2fc81563a139052ad 100644
--- a/arch/arm/mach-omap2/omap3/board.c
+++ b/arch/arm/mach-omap2/omap3/board.c
@@ -28,8 +28,6 @@
 #include <asm/omap_common.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Declarations */
 extern omap3_sysinfo sysinfo;
 #ifndef CONFIG_SYS_L2CACHE_OFF
diff --git a/arch/arm/mach-omap2/omap4/hwinit.c b/arch/arm/mach-omap2/omap4/hwinit.c
index 67ab1ccd75b3afef131cda93591d7c2ae4d1690e..4bda162903b8242fa2aac26a0a25c0d6d269656e 100644
--- a/arch/arm/mach-omap2/omap4/hwinit.c
+++ b/arch/arm/mach-omap2/omap4/hwinit.c
@@ -21,8 +21,6 @@
 #include <asm/arch/gpio.h>
 #include <asm/omap_common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
 static const struct gpio_bank gpio_bank_44xx[6] = {
diff --git a/arch/arm/mach-omap2/omap5/hwinit.c b/arch/arm/mach-omap2/omap5/hwinit.c
index 57f2a8664c8808ba8f0b01343bcbc3d6c472839d..e7a3f57b67e64d4e21ba0fb860937ea93668aed1 100644
--- a/arch/arm/mach-omap2/omap5/hwinit.c
+++ b/arch/arm/mach-omap2/omap5/hwinit.c
@@ -24,8 +24,6 @@
 #include <asm/emif.h>
 #include <asm/omap_common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
 #ifndef CONFIG_DM_GPIO
diff --git a/arch/arm/mach-rockchip/rk3036-board-spl.c b/arch/arm/mach-rockchip/rk3036-board-spl.c
index 550e3a1521424ccbb15b5d344c0dd069245f8dc1..4501cd17e3397e9803cdc177f47293bd278f1d23 100644
--- a/arch/arm/mach-rockchip/rk3036-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3036-board-spl.c
@@ -14,8 +14,6 @@
 #include <asm/arch/timer.h>
 #include <asm/arch/uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GRF_BASE	0x20008000
 
 #define DEBUG_UART_BASE	0x20068000
diff --git a/arch/arm/mach-rockchip/rk3188-board.c b/arch/arm/mach-rockchip/rk3188-board.c
index 916d18fc32929f10bcee3d9ada0bc2ba8bd34fb2..9005705db108213265294b3a9416e66b290196ef 100644
--- a/arch/arm/mach-rockchip/rk3188-board.c
+++ b/arch/arm/mach-rockchip/rk3188-board.c
@@ -18,8 +18,6 @@
 #include <asm/gpio.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_late_init(void)
 {
 	struct rk3188_grf *grf;
diff --git a/arch/arm/mach-rockchip/rk322x-board-spl.c b/arch/arm/mach-rockchip/rk322x-board-spl.c
index d3d04465744b9a471a2246f3178e5c44b724ab18..4d8e8bdeb2715bfe59e43887fbb2feeacc93cef2 100644
--- a/arch/arm/mach-rockchip/rk322x-board-spl.c
+++ b/arch/arm/mach-rockchip/rk322x-board-spl.c
@@ -21,8 +21,6 @@ u32 spl_boot_device(void)
 {
 	return BOOT_DEVICE_MMC1;
 }
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GRF_BASE	0x11000000
 #define SGRF_BASE	0x10140000
 
diff --git a/arch/arm/mach-rockchip/rk3288-board-tpl.c b/arch/arm/mach-rockchip/rk3288-board-tpl.c
index 150beea02e1c1a04fef035050b3ee66c979d0894..6f7097dbdbbe8ecfed86c19d4b5812312c4ea81e 100644
--- a/arch/arm/mach-rockchip/rk3288-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3288-board-tpl.c
@@ -19,8 +19,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/timer.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GRF_BASE		0xff770000
 void board_init_f(ulong dummy)
 {
diff --git a/arch/arm/mach-rockchip/rk3368-board-spl.c b/arch/arm/mach-rockchip/rk3368-board-spl.c
index 8055ae538f1890f4aa114dad55da0fed62100057..a1d504bbd277b3b3106be90e9b24ae4a9e78c010 100644
--- a/arch/arm/mach-rockchip/rk3368-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3368-board-spl.c
@@ -17,8 +17,6 @@
 #include <asm/arch/periph.h>
 #include <asm/arch/timer.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_debug_uart_init(void)
 {
 }
diff --git a/arch/arm/mach-rockchip/rk3368-board-tpl.c b/arch/arm/mach-rockchip/rk3368-board-tpl.c
index 60d5aeade99e586301bb9e89ff120e79776bf610..f5bc0d4cd537b8147713a67f4a54dbf4a4954fd4 100644
--- a/arch/arm/mach-rockchip/rk3368-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3368-board-tpl.c
@@ -18,8 +18,6 @@
 #include <asm/arch/timer.h>
 #include <syscon.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The SPL (and also the full U-Boot stage on the RK3368) will run in
  * secure mode (i.e. EL3) and an ATF will eventually be booted before
diff --git a/arch/arm/mach-rockchip/rk3399-board-spl.c b/arch/arm/mach-rockchip/rk3399-board-spl.c
index d35990efd65198b12ef99bf94e523f7a65b3aab8..4eb7f01c15ee65e89f8642f6c5f0aea467bf5896 100644
--- a/arch/arm/mach-rockchip/rk3399-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3399-board-spl.c
@@ -19,8 +19,6 @@
 #include <spl.h>
 #include <syscon.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_return_to_bootrom(void)
 {
 	back_to_bootrom(BROM_BOOT_NEXTSTAGE);
diff --git a/arch/arm/mach-socfpga/clock_manager_arria10.c b/arch/arm/mach-socfpga/clock_manager_arria10.c
index 623a266f80f0b638ad043acf5d530c1d6dde2fa2..4bc4acb9bfe266dc9c5558875a7eb7e3b9bf71bb 100644
--- a/arch/arm/mach-socfpga/clock_manager_arria10.c
+++ b/arch/arm/mach-socfpga/clock_manager_arria10.c
@@ -10,8 +10,6 @@
 #include <dm.h>
 #include <asm/arch/clock_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static u32 eosc1_hz;
 static u32 cb_intosc_hz;
 static u32 f2s_free_hz;
diff --git a/arch/arm/mach-socfpga/clock_manager_gen5.c b/arch/arm/mach-socfpga/clock_manager_gen5.c
index 4e5b6d1693711165208bd9ef59cca0cc2313f47e..1b3914ba7dcc9a56397ca5501178d96a22dab75a 100644
--- a/arch/arm/mach-socfpga/clock_manager_gen5.c
+++ b/arch/arm/mach-socfpga/clock_manager_gen5.c
@@ -10,8 +10,6 @@
 #include <asm/arch/clock_manager.h>
 #include <wait_bit.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_clock_manager *clock_manager_base =
 	(struct socfpga_clock_manager *)SOCFPGA_CLKMGR_ADDRESS;
 
diff --git a/arch/arm/mach-socfpga/fpga_manager.c b/arch/arm/mach-socfpga/fpga_manager.c
index f9095739b0f0bd93d17020ad67d9131dc634b88f..16e4a7821b3eee6833c00d20d58b16e5710c1af9 100644
--- a/arch/arm/mach-socfpga/fpga_manager.c
+++ b/arch/arm/mach-socfpga/fpga_manager.c
@@ -15,8 +15,6 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Timeout count */
 #define FPGA_TIMEOUT_CNT		0x1000000
 
diff --git a/arch/arm/mach-socfpga/freeze_controller.c b/arch/arm/mach-socfpga/freeze_controller.c
index 71d5d99e9c100ead1cc386375685e3a17c2dc12d..62fa854082e7d6c25ab61b303cfdd4e49d4f32c4 100644
--- a/arch/arm/mach-socfpga/freeze_controller.c
+++ b/arch/arm/mach-socfpga/freeze_controller.c
@@ -11,8 +11,6 @@
 #include <asm/arch/freeze_controller.h>
 #include <linux/errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_freeze_controller *freeze_controller_base =
 		(void *)(SOCFPGA_SYSMGR_ADDRESS + SYSMGR_FRZCTRL_ADDRESS);
 
diff --git a/arch/arm/mach-socfpga/misc_arria10.c b/arch/arm/mach-socfpga/misc_arria10.c
index 9d751f6b2f225464013fff84202818e40fd773e6..475fd59a45bd369dcb2ecc70861fb78c4b7e4c71 100644
--- a/arch/arm/mach-socfpga/misc_arria10.c
+++ b/arch/arm/mach-socfpga/misc_arria10.c
@@ -28,8 +28,6 @@
 #define PINMUX_UART1_TX_SHARED_IO_OFFSET_Q3_7	0x78
 #define PINMUX_UART1_TX_SHARED_IO_OFFSET_Q4_3	0x98
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_SPL_BUILD)
 static struct pl310_regs *const pl310 =
 	(struct pl310_regs *)CONFIG_SYS_PL310_BASE;
diff --git a/arch/arm/mach-socfpga/reset_manager.c b/arch/arm/mach-socfpga/reset_manager.c
index 29438ed533d8a7bf7178c2087557307d4673d927..484b295cd3ff284b7aa0882fcfc893c98a4a9dbe 100644
--- a/arch/arm/mach-socfpga/reset_manager.c
+++ b/arch/arm/mach-socfpga/reset_manager.c
@@ -9,8 +9,6 @@
 #include <asm/io.h>
 #include <asm/arch/reset_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_reset_manager *reset_manager_base =
 		(void *)SOCFPGA_RSTMGR_ADDRESS;
 
diff --git a/arch/arm/mach-socfpga/reset_manager_gen5.c b/arch/arm/mach-socfpga/reset_manager_gen5.c
index aa88adb4147e8b3cf1da8217706973c41fdc8b15..c59127456ce0cde3e0afe9f86934853d8e714f86 100644
--- a/arch/arm/mach-socfpga/reset_manager_gen5.c
+++ b/arch/arm/mach-socfpga/reset_manager_gen5.c
@@ -11,8 +11,6 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_reset_manager *reset_manager_base =
 		(void *)SOCFPGA_RSTMGR_ADDRESS;
 static const struct socfpga_system_manager *sysmgr_regs =
diff --git a/arch/arm/mach-socfpga/scan_manager.c b/arch/arm/mach-socfpga/scan_manager.c
index 566b33f2b6a0e92d37e5773ba9527f3ae22760f9..8b271b1f45413acdf0b0d525cffed365e6aa33d5 100644
--- a/arch/arm/mach-socfpga/scan_manager.c
+++ b/arch/arm/mach-socfpga/scan_manager.c
@@ -28,8 +28,6 @@
 #define SCANMGR_STAT_ACTIVE		(1 << 31)
 #define SCANMGR_STAT_WFIFOCNT_MASK	0x70000000
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_scan_manager *scan_manager_base =
 		(void *)(SOCFPGA_SCANMGR_ADDRESS);
 static const struct socfpga_freeze_controller *freeze_controller_base =
diff --git a/arch/arm/mach-socfpga/system_manager_gen5.c b/arch/arm/mach-socfpga/system_manager_gen5.c
index 3588a570a7f376771df09421ce94b47cbad9a34b..e0af7753b0ecceb7126afba5c0f67ed730f53ad4 100644
--- a/arch/arm/mach-socfpga/system_manager_gen5.c
+++ b/arch/arm/mach-socfpga/system_manager_gen5.c
@@ -9,8 +9,6 @@
 #include <asm/arch/system_manager.h>
 #include <asm/arch/fpga_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct socfpga_system_manager *sysmgr_regs =
 	(struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS;
 
diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
index 1753faec1d9b7887d80bf93231b5ed92faab4eed..ac456ca0c69a85e20a732ed4a74aa0beb2a76fd5 100644
--- a/arch/arm/mach-sunxi/board.c
+++ b/arch/arm/mach-sunxi/board.c
@@ -209,7 +209,6 @@ void s_init(void)
 }
 
 #ifdef CONFIG_SPL_BUILD
-DECLARE_GLOBAL_DATA_PTR;
 #endif
 
 /* The sunxi internal brom will try to loader external bootloader
diff --git a/arch/arm/mach-sunxi/dram_sun9i.c b/arch/arm/mach-sunxi/dram_sun9i.c
index 8c681f354132aaf116508ec733d1d318b70914a9..e7d423f861ebe7f1ea29172995e3502f3dc15c26 100644
--- a/arch/arm/mach-sunxi/dram_sun9i.c
+++ b/arch/arm/mach-sunxi/dram_sun9i.c
@@ -20,8 +20,6 @@
 #include <asm/arch/dram.h>
 #include <asm/arch/sys_proto.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DRAM_CLK (CONFIG_DRAM_CLK * 1000000)
 
 /*
diff --git a/arch/arm/mach-tegra/board186.c b/arch/arm/mach-tegra/board186.c
index 691c3fd98dabdec9e3450914b99a959511dd8c19..9e95123c55c8b3d3805c2787576d4b016bb19d3a 100644
--- a/arch/arm/mach-tegra/board186.c
+++ b/arch/arm/mach-tegra/board186.c
@@ -7,8 +7,6 @@
 #include <common.h>
 #include <asm/arch/tegra.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_early_init_f(void)
 {
 	return 0;
diff --git a/arch/arm/mach-tegra/tegra186/nvtboot_board.c b/arch/arm/mach-tegra/tegra186/nvtboot_board.c
index 8ecb4544434998b1c757da7632452ae9ea144ad7..bef3ce8fc8342c24b0ad324d838e091a333fd3a5 100644
--- a/arch/arm/mach-tegra/tegra186/nvtboot_board.c
+++ b/arch/arm/mach-tegra/tegra186/nvtboot_board.c
@@ -11,8 +11,6 @@
 #include <asm/arch/tegra.h>
 #include <asm/armv8/mmu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 extern unsigned long nvtboot_boot_x0;
 
 /*
diff --git a/arch/arm/mach-zynq/ddrc.c b/arch/arm/mach-zynq/ddrc.c
index 047a7b4d9c2fa2bd2f29702b2f2e722bed96bbe2..795e2bd003fdfd20a4fea2d982029ffec3a6aca9 100644
--- a/arch/arm/mach-zynq/ddrc.c
+++ b/arch/arm/mach-zynq/ddrc.c
@@ -10,8 +10,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/hardware.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_ZYNQ_DDRC_INIT
 void zynq_ddrc_init(void) {}
 #else
diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c
index 0a303f41ebdfb606f92f993facdde7761d79f07c..d1e61aab116f467019bc3ab606144ff23f3ca2d4 100644
--- a/arch/arm/mach-zynq/spl.c
+++ b/arch/arm/mach-zynq/spl.c
@@ -13,8 +13,6 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/ps7_init_gpl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void board_init_f(ulong dummy)
 {
 	ps7_init();
diff --git a/arch/microblaze/cpu/spl.c b/arch/microblaze/cpu/spl.c
index 3d57a5a8593cb2d1c8726f4ca524d0dfd9badf91..3407e36c5cf7db9c37717156fdb74455baa1bac0 100644
--- a/arch/microblaze/cpu/spl.c
+++ b/arch/microblaze/cpu/spl.c
@@ -12,8 +12,6 @@
 #include <asm/io.h>
 #include <asm/u-boot.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 bool boot_linux;
 
 u32 spl_boot_device(void)
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index 154671d4802edfa6c5606f37ed756dd58816a7a5..0be72f5433452f4008be68d844fe98badecc695d 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -15,8 +15,6 @@
 #include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int do_bootm_linux(int flag, int argc, char * const argv[],
 		   bootm_headers_t *images)
 {
diff --git a/arch/mips/mach-ath79/ar933x/ddr.c b/arch/mips/mach-ath79/ar933x/ddr.c
index 2a25e23869ec69ecf8a26cecfec9514ce4e367a0..eeaf4aec4d722dabd60fc652fd8d19baf6348f2d 100644
--- a/arch/mips/mach-ath79/ar933x/ddr.c
+++ b/arch/mips/mach-ath79/ar933x/ddr.c
@@ -12,8 +12,6 @@
 #include <mach/ar71xx_regs.h>
 #include <mach/ath79.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DDR_CTRL_UPD_EMR3S      BIT(5)
 #define DDR_CTRL_UPD_EMR2S      BIT(4)
 #define DDR_CTRL_PRECHARGE      BIT(3)
diff --git a/arch/mips/mach-ath79/qca953x/ddr.c b/arch/mips/mach-ath79/qca953x/ddr.c
index c6049d8958a47fa288f9e4155f963991cf7a9dd3..92d591c2a6810366fb9b7e4839d860ba18b862da 100644
--- a/arch/mips/mach-ath79/qca953x/ddr.c
+++ b/arch/mips/mach-ath79/qca953x/ddr.c
@@ -12,8 +12,6 @@
 #include <mach/ar71xx_regs.h>
 #include <mach/ath79.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DDR_CTRL_UPD_EMR3S      BIT(5)
 #define DDR_CTRL_UPD_EMR2S      BIT(4)
 #define DDR_CTRL_PRECHARGE      BIT(3)
diff --git a/arch/nds32/lib/boot.c b/arch/nds32/lib/boot.c
index f9c1c6b3ff6310ad4e13f5997154f042a40c46af..1313506ed557e6df32c00e70da71740467c0eae4 100644
--- a/arch/nds32/lib/boot.c
+++ b/arch/nds32/lib/boot.c
@@ -9,8 +9,6 @@
 #include <common.h>
 #include <command.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned long do_go_exec(ulong (*entry)(int, char * const []),
 			 int argc, char * const argv[])
 {
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index b350bfeb06564261c89da4ef4508b1f1c10264b5..99abb6786c7b3467f6c349591ff4083a8b346e3e 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -54,8 +54,6 @@
 #include <fsl_qe.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SYS_FSL_SINGLE_SOURCE_CLK
 /*
  * For deriving usb clock from 100MHz sysclk, reference divisor is set
diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c
index 948ad8fa1cac25758620b378e5b94da1ea7978ab..4bd36b68860395b87a71b967ac1f7513e429ad9c 100644
--- a/arch/powerpc/cpu/mpc86xx/fdt.c
+++ b/arch/powerpc/cpu/mpc86xx/fdt.c
@@ -9,8 +9,6 @@
 #include <fdt_support.h>
 #include <asm/mp.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 extern void ft_fixup_num_cores(void *blob);
 extern void ft_srio_setup(void *blob);
 
diff --git a/arch/powerpc/lib/extable.c b/arch/powerpc/lib/extable.c
index ed047da452b5685743c9f49f462a25769b3c1b05..2f8b9326f920ccd1a85bc5452bb4d746c69fa4c7 100644
--- a/arch/powerpc/lib/extable.c
+++ b/arch/powerpc/lib/extable.c
@@ -21,8 +21,6 @@
  * on our cache or tlb entries.
  */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct exception_table_entry
 {
 	unsigned long insn, fixup;
diff --git a/arch/powerpc/lib/spl.c b/arch/powerpc/lib/spl.c
index b93197030e3fd4d1de428313efe4a26fb7180c5e..bc477175afb0a75851d9d0aa9a698a685fb481b8 100644
--- a/arch/powerpc/lib/spl.c
+++ b/arch/powerpc/lib/spl.c
@@ -9,8 +9,6 @@
 #include <image.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * This function jumps to an image with argument. Normally an FDT or ATAGS
  * image.
diff --git a/arch/riscv/lib/boot.c b/arch/riscv/lib/boot.c
index 39ba9b49ff69814d5e07d2f98563c6294cecd718..ffad66d68320b1d776234c3bc70665ecbed09ff1 100644
--- a/arch/riscv/lib/boot.c
+++ b/arch/riscv/lib/boot.c
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <command.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned long do_go_exec(ulong (*entry)(int, char * const []),
 			 int argc, char * const argv[])
 {
diff --git a/arch/sandbox/lib/bootm.c b/arch/sandbox/lib/bootm.c
index 0c9a7979d23142fbc3d96d1722c7d8cd4d6b3c09..c7226ff30d3c62d8b144faa30292908b4e66694e 100644
--- a/arch/sandbox/lib/bootm.c
+++ b/arch/sandbox/lib/bootm.c
@@ -7,8 +7,6 @@
 #include <common.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define	LINUX_ARM_ZIMAGE_MAGIC	0x016f2818
 
 struct arm_z_header {
diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c
index c9c7637fa7d761f8a8e2da8d686510e9a8d81c6c..2728c00227d295abaa9e4cfb770d13ee8b07a15e 100644
--- a/arch/x86/cpu/pci.c
+++ b/arch/x86/cpu/pci.c
@@ -17,8 +17,6 @@
 #include <asm/io.h>
 #include <asm/pci.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int pci_x86_read_config(struct udevice *bus, pci_dev_t bdf, uint offset,
 			ulong *valuep, enum pci_size_t size)
 {
diff --git a/arch/x86/cpu/qemu/cpu.c b/arch/x86/cpu/qemu/cpu.c
index b1a965e7156d227e79af60eec90312de4780e780..b53630b099f4917f69c17c4de5fda2f73edf24cb 100644
--- a/arch/x86/cpu/qemu/cpu.c
+++ b/arch/x86/cpu/qemu/cpu.c
@@ -11,8 +11,6 @@
 #include <qfw.h>
 #include <asm/cpu.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int cpu_qemu_get_desc(struct udevice *dev, char *buf, int size)
 {
 	if (size < CPU_MAX_NAME_LEN)
diff --git a/arch/x86/cpu/tangier/tangier.c b/arch/x86/cpu/tangier/tangier.c
index 20d6c6039b6140d149b784e587d9d1e003f2475f..ac8733c75e9224ccf44b45b65d156288ce5216d9 100644
--- a/arch/x86/cpu/tangier/tangier.c
+++ b/arch/x86/cpu/tangier/tangier.c
@@ -8,8 +8,6 @@
 #include <asm/scu.h>
 #include <asm/u-boot-x86.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Miscellaneous platform dependent initializations
  */
diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c
index cafae15af0c6fadd0ef9d5b2ad5998b460e42cba..693d1a31f3d5f37be12cf025651bc24dd9a8d45d 100644
--- a/arch/x86/cpu/x86_64/cpu.c
+++ b/arch/x86/cpu/x86_64/cpu.c
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <debug_uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Global declaration of gd */
 struct global_data *global_data_ptr;
 
diff --git a/arch/x86/lib/lpc-uclass.c b/arch/x86/lib/lpc-uclass.c
index eb033e6b3f6312fc0ea82a054af9ac57383941b8..37b0c216c2c9aea9b8b5cb1e317934631eb71bcd 100644
--- a/arch/x86/lib/lpc-uclass.c
+++ b/arch/x86/lib/lpc-uclass.c
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <dm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 UCLASS_DRIVER(lpc) = {
 	.id		= UCLASS_LPC,
 	.name		= "lpc",
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 6af1bf46783b3b7a65f904cf5b18033951a66cae..9932ee69a0c42a1672acb8ce955bc5543428ba10 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -28,8 +28,6 @@
 #include <linux/compiler.h>
 #include <linux/libfdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Memory lay-out:
  *
diff --git a/board/armadeus/opos6uldev/board.c b/board/armadeus/opos6uldev/board.c
index 646094aef4ca1e4174ddf3b16e24bc40a4571e74..02d8940355ab984d873e44990b2876b9d3d9cc30 100644
--- a/board/armadeus/opos6uldev/board.c
+++ b/board/armadeus/opos6uldev/board.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_VIDEO_MXS
 #define LCD_PAD_CTRL ( \
 	PAD_CTL_HYS | PAD_CTL_PUS_100K_UP | PAD_CTL_PUE | \
diff --git a/board/astro/mcf5373l/fpga.c b/board/astro/mcf5373l/fpga.c
index 53e00728c3d8894904847094c5bfc369bab22abf..72b93ac1e58a545b856fb568cadcac07f792970c 100644
--- a/board/astro/mcf5373l/fpga.c
+++ b/board/astro/mcf5373l/fpga.c
@@ -25,8 +25,6 @@
 #include <asm/io.h>
 #include "fpga.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int altera_pre_fn(int cookie)
 {
 	gpio_t *gpiop = (gpio_t *)MMAP_GPIO;
diff --git a/board/bachmann/ot1200/ot1200_spl.c b/board/bachmann/ot1200/ot1200_spl.c
index f3dff95710aa609f38599ddfa14c0faca818babd..dd1ade7877980b64b366caebc5e8467bca02f2cc 100644
--- a/board/bachmann/ot1200/ot1200_spl.c
+++ b/board/bachmann/ot1200/ot1200_spl.c
@@ -8,8 +8,6 @@
 #include <spl.h>
 #include <asm/arch/mx6-ddr.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Configure MX6Q/DUAL mmdc DDR io registers */
 static struct mx6dq_iomux_ddr_regs ot1200_ddr_ioregs = {
 	/* SDCLK[0:1], CAS, RAS, Reset: Differential input, 48ohm */
diff --git a/board/barco/platinum/spl_picon.c b/board/barco/platinum/spl_picon.c
index f49adf03296724f4a89fcaf8805cc42aad7d1964..0f6ff3a38f72ba2b2372aa71b7c8b3a549989881 100644
--- a/board/barco/platinum/spl_picon.c
+++ b/board/barco/platinum/spl_picon.c
@@ -21,8 +21,6 @@
 
 #include "platinum.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #undef RTT_NOM_120OHM	/* use 120ohm Rtt_nom vs 60ohm (lower power) */
 
 /* Configure MX6Q/DUAL mmdc DDR io registers */
diff --git a/board/barco/platinum/spl_titanium.c b/board/barco/platinum/spl_titanium.c
index c27fb4836a15e2e8cd0523637cdc127a7080f785..7af890a902e40e73a469f5044368f001c568daab 100644
--- a/board/barco/platinum/spl_titanium.c
+++ b/board/barco/platinum/spl_titanium.c
@@ -21,8 +21,6 @@
 
 #include "platinum.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #undef RTT_NOM_120OHM	/* use 120ohm Rtt_nom vs 60ohm (lower power) */
 
 /* Configure MX6Q/DUAL mmdc DDR io registers */
diff --git a/board/cavium/thunderx/atf.c b/board/cavium/thunderx/atf.c
index 6ab9de944f229780a92e9d05640e94f15befa02f..51b4a9fa2777651396133dd933c70c620b8ab77d 100644
--- a/board/cavium/thunderx/atf.c
+++ b/board/cavium/thunderx/atf.c
@@ -16,8 +16,6 @@
 
 #include <malloc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 ssize_t atf_read_mmc(uintptr_t offset, void *buffer, size_t size)
 {
 	struct pt_regs regs;
diff --git a/board/cei/cei-tk1-som/cei-tk1-som.c b/board/cei/cei-tk1-som/cei-tk1-som.c
index 7c87bd1eb11ed883f2d47ddc377cf0fa1b05bff8..c2e27b7b675a8e773e24909417608b51aa179071 100644
--- a/board/cei/cei-tk1-som/cei-tk1-som.c
+++ b/board/cei/cei-tk1-som/cei-tk1-som.c
@@ -13,8 +13,6 @@
 
 #include "pinmux-config-cei-tk1-som.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Routine: pinmux_init
  * Description: Do individual peripheral pinmux configs
diff --git a/board/compulab/cm_fx6/common.c b/board/compulab/cm_fx6/common.c
index 19fa5d3cf70bd9469b8ca6a39c9a3abe1cdd2e04..796931dc991869ee76764a6725fa24a964d1ac8f 100644
--- a/board/compulab/cm_fx6/common.c
+++ b/board/compulab/cm_fx6/common.c
@@ -15,8 +15,6 @@
 #include <fsl_esdhc.h>
 #include "common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_FSL_ESDHC
 #define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP |			\
 	PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm |			\
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
index 16e5bf8dfa2332e97ec893cf65bbc616ce12ceb9..924f5d79df72f82ea5eb3500d6e6e1d0797d33cd 100644
--- a/board/compulab/cm_fx6/spl.c
+++ b/board/compulab/cm_fx6/spl.c
@@ -20,8 +20,6 @@
 #include <fsl_esdhc.h>
 #include "common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum ddr_config {
 	DDR_16BIT_256MB,
 	DDR_32BIT_512MB,
diff --git a/board/compulab/cm_t43/spl.c b/board/compulab/cm_t43/spl.c
index b7d118eb9ceb055f67e105db59dbba2d88f108c3..ccdf6b3e3425082e153430cff0dc3f9d363ee711 100644
--- a/board/compulab/cm_t43/spl.c
+++ b/board/compulab/cm_t43/spl.c
@@ -14,8 +14,6 @@
 #include <power/tps65218.h>
 #include "board.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 const struct dpll_params dpll_mpu  = { 800,  24, 1,  -1, -1, -1, -1 };
 const struct dpll_params dpll_core = { 1000, 24, -1, -1, 10,  8,  4 };
 const struct dpll_params dpll_per  = { 960,  24, 5,  -1, -1, -1, -1 };
diff --git a/board/compulab/common/omap3_display.c b/board/compulab/common/omap3_display.c
index ed2077e3617904c32f1d49cc09a52292df5015a9..e19fbb91613fa7450303ceb6c9ab75027c68cac2 100644
--- a/board/compulab/common/omap3_display.c
+++ b/board/compulab/common/omap3_display.c
@@ -17,8 +17,6 @@
 #include <scf0403_lcd.h>
 #include <asm/arch-omap3/dss.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum display_type {
 	NONE,
 	DVI,
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
index 57ae7f15ce8e78be7873b626030d76786e34eba0..c4b81a9f92f7d0137f1c1f4602897364d9136e4d 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
@@ -45,8 +45,6 @@
 	(PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm |	\
 	 PAD_CTL_SRE_FAST | PAD_CTL_HYS)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct mx6dq_iomux_ddr_regs dhcom6dq_ddr_ioregs = {
 	.dram_sdclk_0	= 0x00020030,
 	.dram_sdclk_1	= 0x00020030,
diff --git a/board/engicam/common/spl.c b/board/engicam/common/spl.c
index 6e2389dd4b42e7ff9848f17e4294674ad6484b12..6d4f8c34267f8ef3cea906a66448631cdcd5974a 100644
--- a/board/engicam/common/spl.c
+++ b/board/engicam/common/spl.c
@@ -23,8 +23,6 @@
 #include <asm/mach-imx/iomux-v3.h>
 #include <asm/mach-imx/video.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL  (PAD_CTL_PKE | PAD_CTL_PUE |             \
         PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED |               \
         PAD_CTL_DSE_40ohm   | PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
diff --git a/board/engicam/imx6q/imx6q.c b/board/engicam/imx6q/imx6q.c
index fe37088b49119f1c409f6e431682e96e62b3f75b..1c57358d1671bab926725c40516dcf087b3f6adb 100644
--- a/board/engicam/imx6q/imx6q.c
+++ b/board/engicam/imx6q/imx6q.c
@@ -22,8 +22,6 @@
 
 #include "../common/board.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_NAND_MXS
 #define GPMI_PAD_CTRL0	(PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
 #define GPMI_PAD_CTRL1	(PAD_CTL_DSE_40ohm | PAD_CTL_SPEED_MED | \
diff --git a/board/engicam/imx6ul/imx6ul.c b/board/engicam/imx6ul/imx6ul.c
index a903a3603ba72a23dcc5b81be3dba5dba667b51a..26c6354c377873f998176ae7562b00544be4b699 100644
--- a/board/engicam/imx6ul/imx6ul.c
+++ b/board/engicam/imx6ul/imx6ul.c
@@ -22,8 +22,6 @@
 
 #include "../common/board.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_NAND_MXS
 
 #define GPMI_PAD_CTRL0		(PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
diff --git a/board/esd/vme8349/pci.c b/board/esd/vme8349/pci.c
index 4d3b21ddff4eea41223db5fa9356ead327fbde12..f1cfa23b42b81a85c1545c1a61225cc098541bed 100644
--- a/board/esd/vme8349/pci.c
+++ b/board/esd/vme8349/pci.c
@@ -20,8 +20,6 @@
 #include <asm/fsl_i2c.h>
 #include "vme8349pin.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/freescale/bsc9131rdb/ddr.c b/board/freescale/bsc9131rdb/ddr.c
index 339c57625638a108495073fc47f40cef14b9b56f..2a5e61e230494d8ba9b11aa33c92ab8bf7035efd 100644
--- a/board/freescale/bsc9131rdb/ddr.c
+++ b/board/freescale/bsc9131rdb/ddr.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/fsl_law.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_SYS_DDR_RAW_TIMING
 #define CONFIG_SYS_DRAM_SIZE	1024
 
diff --git a/board/freescale/bsc9132qds/ddr.c b/board/freescale/bsc9132qds/ddr.c
index 43f163a2c621bb2471eff741189a0073caed35ac..49b6b8fe586f2dd3c5954571ab1e330519a709c4 100644
--- a/board/freescale/bsc9132qds/ddr.c
+++ b/board/freescale/bsc9132qds/ddr.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/fsl_law.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_SYS_DDR_RAW_TIMING
 
 fsl_ddr_cfg_regs_t ddr_cfg_regs_800 = {
diff --git a/board/freescale/common/vid.c b/board/freescale/common/vid.c
index a9451c5c6ee5de5383c530a7f78038324f4ff86c..eb25f5e23f810236564669847f8fac9072f4a138 100644
--- a/board/freescale/common/vid.c
+++ b/board/freescale/common/vid.c
@@ -17,8 +17,6 @@
 #endif
 #include "vid.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int __weak i2c_multiplexer_select_vid_channel(u8 channel)
 {
 	return 0;
diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c
index 8b3f4ad78d8e944f008c9ab3d30ed82437785830..99c103239bda11e6318f472cbe2c4732b43cc878 100644
--- a/board/freescale/ls1021aqds/ls1021aqds.c
+++ b/board/freescale/ls1021aqds/ls1021aqds.c
@@ -38,8 +38,6 @@
 
 #define SET_SDHC_MUX_SEL(reg, value)	((reg & 0x0f) | value)
 #define SET_EC_MUX_SEL(reg, value)	((reg & 0xf0) | value)
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	MUX_TYPE_CAN,
 	MUX_TYPE_IIC2,
diff --git a/board/freescale/ls1088a/eth_ls1088ardb.c b/board/freescale/ls1088a/eth_ls1088ardb.c
index 97accc90fd7c790d7e93a911c7b05abc72e39368..fa86118acc88ded278fa6cdeb739658d78db9195 100644
--- a/board/freescale/ls1088a/eth_ls1088ardb.c
+++ b/board/freescale/ls1088a/eth_ls1088ardb.c
@@ -18,8 +18,6 @@
 #include <fsl-mc/fsl_mc.h>
 #include <fsl-mc/ldpaa_wriop.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_eth_init(bd_t *bis)
 {
 #if defined(CONFIG_FSL_MC_ENET)
diff --git a/board/freescale/m5329evb/nand.c b/board/freescale/m5329evb/nand.c
index 88496812bf8a65ab0c34e4603b07e9aae9624474..291346d612b89857c7e9358277a0f17f6208c266 100644
--- a/board/freescale/m5329evb/nand.c
+++ b/board/freescale/m5329evb/nand.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/immap.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_CMD_NAND)
 #include <nand.h>
 #include <linux/mtd/mtd.h>
diff --git a/board/freescale/m5373evb/nand.c b/board/freescale/m5373evb/nand.c
index a96a59991f52f9bc9edafb984ba4e78c183cdef7..4b0354029d41e71127bf6e79e75c2cafdfe2e7d8 100644
--- a/board/freescale/m5373evb/nand.c
+++ b/board/freescale/m5373evb/nand.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/immap.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_CMD_NAND)
 #include <nand.h>
 #include <linux/mtd/mtd.h>
diff --git a/board/freescale/mpc8308rdb/mpc8308rdb.c b/board/freescale/mpc8308rdb/mpc8308rdb.c
index 93c7200509c2bec0c35ff82c2e4d7001e99375ad..0cf1c08f29ee4b85deee25bbcc4b197f788962ef 100644
--- a/board/freescale/mpc8308rdb/mpc8308rdb.c
+++ b/board/freescale/mpc8308rdb/mpc8308rdb.c
@@ -20,8 +20,6 @@
 #include <asm/fsl_serdes.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The following are used to control the SPI chip selects for the SPI command.
  */
diff --git a/board/freescale/mpc832xemds/pci.c b/board/freescale/mpc832xemds/pci.c
index e8b2b11d88b0e3783c4de2538c717c4ac824c88b..274bf9384ef70dab17fa6d43d0e482da96050230 100644
--- a/board/freescale/mpc832xemds/pci.c
+++ b/board/freescale/mpc832xemds/pci.c
@@ -16,8 +16,6 @@
 #include <asm/fsl_i2c.h>
 #include "../common/pq-mds-pib.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/freescale/mpc8349emds/pci.c b/board/freescale/mpc8349emds/pci.c
index 9f7324feddfe10e30ada3a457f9837e1d266fb93..311517f75ba23a61a081f0fe037d0bfeb9bb5e06 100644
--- a/board/freescale/mpc8349emds/pci.c
+++ b/board/freescale/mpc8349emds/pci.c
@@ -12,8 +12,6 @@
 #include <i2c.h>
 #include <asm/fsl_i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/freescale/mpc8349itx/pci.c b/board/freescale/mpc8349itx/pci.c
index afc9df0923b7d76ff97f874c64ef20c196ed62f1..adb0ed8081746df752be029ad12e0fdfeb0549bc 100644
--- a/board/freescale/mpc8349itx/pci.c
+++ b/board/freescale/mpc8349itx/pci.c
@@ -13,8 +13,6 @@
 #include <i2c.h>
 #include <asm/fsl_i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/freescale/p1022ds/p1022ds.c b/board/freescale/p1022ds/p1022ds.c
index 4e3c824e75002d06cfb98ee22899ddbd50c0ccb7..89acea33d11004a86f7ffe62fe271606ca6ce81a 100644
--- a/board/freescale/p1022ds/p1022ds.c
+++ b/board/freescale/p1022ds/p1022ds.c
@@ -28,8 +28,6 @@
 
 #include "../common/ngpixis.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_early_init_f(void)
 {
 	ccsr_gur_t *gur = (void *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
diff --git a/board/freescale/p1023rdb/ddr.c b/board/freescale/p1023rdb/ddr.c
index d587df527ab1ac5dae565008355b8057c8929ab0..191a82441107d818cffe6185f3a8c09958581797 100644
--- a/board/freescale/p1023rdb/ddr.c
+++ b/board/freescale/p1023rdb/ddr.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/fsl_law.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* CONFIG_SYS_DDR_RAW_TIMING */
 /*
  * Hynix H5TQ1G83TFR-H9C
diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c b/board/gateworks/gw_ventana/gw_ventana_spl.c
index bdbe5e70270eb8684ecd07cfba37c14b66a5aa89..ee93e545ded20449c1e79cc3974d0fd6fa14b647 100644
--- a/board/gateworks/gw_ventana/gw_ventana_spl.c
+++ b/board/gateworks/gw_ventana/gw_ventana_spl.c
@@ -21,8 +21,6 @@
 #include "gsc.h"
 #include "common.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define RTT_NOM_120OHM /* use 120ohm Rtt_nom vs 60ohm (lower power) */
 #define GSC_EEPROM_DDR_SIZE	0x2B	/* enum (512,1024,2048) MB */
 #define GSC_EEPROM_DDR_WIDTH	0x2D	/* enum (32,64) bit */
diff --git a/board/gdsys/mpc8308/hrcon.c b/board/gdsys/mpc8308/hrcon.c
index ed5cb332794ebfccb05533e408db6ae0b9065fad..d1ed273a0831c5acf1a8768fbf5f2b136456005e 100644
--- a/board/gdsys/mpc8308/hrcon.c
+++ b/board/gdsys/mpc8308/hrcon.c
@@ -33,8 +33,6 @@
 
 #include <miiphy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MAX_MUX_CHANNELS 2
 
 enum {
diff --git a/board/gdsys/mpc8308/strider.c b/board/gdsys/mpc8308/strider.c
index c8ea8a4ae0a8275d598888976a68eecd2bee30d9..c3b09b29d5926e9b5f6c45ccf49b24970da68964 100644
--- a/board/gdsys/mpc8308/strider.c
+++ b/board/gdsys/mpc8308/strider.c
@@ -36,8 +36,6 @@
 
 #include <miiphy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MAX_MUX_CHANNELS 2
 
 enum {
diff --git a/board/gdsys/p1022/controlcenterd.c b/board/gdsys/p1022/controlcenterd.c
index b5f445a943df70befcc049a9d5afaade085d499d..7bdc924a89d50026c52281a8313544b3de555c50 100644
--- a/board/gdsys/p1022/controlcenterd.c
+++ b/board/gdsys/p1022/controlcenterd.c
@@ -44,8 +44,6 @@
 #include "../common/dp501.h"
 #include "controlcenterd-id.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	HWVER_100 = 0,
 	HWVER_110 = 1,
diff --git a/board/geekbuying/geekbox/geekbox.c b/board/geekbuying/geekbox/geekbox.c
index 88b67f9d5f31f5c31fab078f5def893d9814b1ef..b638186e8f5aa147a9ec2cba2a883e6d0307da63 100644
--- a/board/geekbuying/geekbox/geekbox.c
+++ b/board/geekbuying/geekbox/geekbox.c
@@ -6,8 +6,6 @@
 
 #include <common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_init(void)
 {
 	return 0;
diff --git a/board/intel/edison/edison.c b/board/intel/edison/edison.c
index 4b1e6d0f471f6f7d7fdeb14cb24dd97cc989eee5..e3334f8438781cc0c92d48c33dff42fcba8a056b 100644
--- a/board/intel/edison/edison.c
+++ b/board/intel/edison/edison.c
@@ -17,8 +17,6 @@
 #include <asm/scu.h>
 #include <asm/u-boot-x86.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct dwc3_device dwc3_device_data = {
 	.maximum_speed = USB_SPEED_HIGH,
 	.base = CONFIG_SYS_USB_OTG_BASE,
diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
index d70b1d1393c3e2db20ab738372fedb8227f76210..bc229e872fa76f0ca6811daf37c00fd0c2652862 100644
--- a/board/keymile/kmp204x/kmp204x.c
+++ b/board/keymile/kmp204x/kmp204x.c
@@ -24,8 +24,6 @@
 #include "../common/common.h"
 #include "kmp204x.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static uchar ivm_content[CONFIG_SYS_IVM_EEPROM_MAX_LEN];
 
 int checkboard(void)
diff --git a/board/kosagi/novena/novena_spl.c b/board/kosagi/novena/novena_spl.c
index b4a68da88f239329ea642148823bdd60d50e583d..0dd0b6eec24b48f7bd24e06ef0606bee83d61aac 100644
--- a/board/kosagi/novena/novena_spl.c
+++ b/board/kosagi/novena/novena_spl.c
@@ -27,8 +27,6 @@
 
 #include "novena.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL						\
 	(PAD_CTL_PKE | PAD_CTL_PUE |				\
 	PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED |		\
diff --git a/board/liebherr/mccmon6/spl.c b/board/liebherr/mccmon6/spl.c
index 196da46df9a0d3652020f11751624fcebbcdda79..61d12ba239b46f2f25e3deac8cc7db9dda4c7fce 100644
--- a/board/liebherr/mccmon6/spl.c
+++ b/board/liebherr/mccmon6/spl.c
@@ -20,8 +20,6 @@
 #include <asm/arch/sys_proto.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_SPL_BUILD)
 #include <asm/arch/mx6-ddr.h>
 /*
diff --git a/board/mpc8308_p1m/mpc8308_p1m.c b/board/mpc8308_p1m/mpc8308_p1m.c
index e96645f82dc5dc718b48d14202c8af4c390ee892..a5a036f9cff4c27b569d1650d7d322ab798d9e6f 100644
--- a/board/mpc8308_p1m/mpc8308_p1m.c
+++ b/board/mpc8308_p1m/mpc8308_p1m.c
@@ -16,8 +16,6 @@
 #include <asm/fsl_serdes.h>
 #include <asm/fsl_mpc83xx_serdes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int checkboard(void)
 {
 	printf("Board: MPC8308 P1M\n");
diff --git a/board/nvidia/jetson-tk1/jetson-tk1.c b/board/nvidia/jetson-tk1/jetson-tk1.c
index c20da29a98adc6572d271634f6036fd9829a8b6e..31695d4a0fc41c0fccd4d0941cbf635fff3e93a0 100644
--- a/board/nvidia/jetson-tk1/jetson-tk1.c
+++ b/board/nvidia/jetson-tk1/jetson-tk1.c
@@ -15,8 +15,6 @@
 
 #include "pinmux-config-jetson-tk1.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Routine: pinmux_init
  * Description: Do individual peripheral pinmux configs
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 7b44a37103b3a8e016374b2af5c85c69f3442e8e..102f9805fa2b29c7c000cda6410f4cd3c656e5e2 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -32,8 +32,6 @@
 #include <asm/ehci-omap.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define TWL4030_I2C_BUS			0
 #define EXPANSION_EEPROM_I2C_BUS	2
 #define EXPANSION_EEPROM_I2C_ADDRESS	0x51
diff --git a/board/qca/ap121/ap121.c b/board/qca/ap121/ap121.c
index ac9be35dd9b9ba4926a1379d0d8bba2a03c45a6f..56ae8e1ea4d01d6e6631e48db022fad54607fb79 100644
--- a/board/qca/ap121/ap121.c
+++ b/board/qca/ap121/ap121.c
@@ -13,8 +13,6 @@
 #include <mach/ath79.h>
 #include <debug_uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_DEBUG_UART_BOARD_INIT
 void board_debug_uart_init(void)
 {
diff --git a/board/qca/ap143/ap143.c b/board/qca/ap143/ap143.c
index 19b55acbf2d0b90b5bcaee91de11dab35b53df29..1ebd362256594ae581b65ab975699ea4a91687b9 100644
--- a/board/qca/ap143/ap143.c
+++ b/board/qca/ap143/ap143.c
@@ -13,8 +13,6 @@
 #include <mach/ath79.h>
 #include <debug_uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_DEBUG_UART_BOARD_INIT
 void board_debug_uart_init(void)
 {
diff --git a/board/rockchip/evb_rk3036/evb_rk3036.c b/board/rockchip/evb_rk3036/evb_rk3036.c
index 288370a80b130d4e985ee651ee22af3661b954e6..86187e37c2d8645ea9c4525b2b95c64a73625806 100644
--- a/board/rockchip/evb_rk3036/evb_rk3036.c
+++ b/board/rockchip/evb_rk3036/evb_rk3036.c
@@ -10,8 +10,6 @@
 #include <asm/arch/uart.h>
 #include <asm/arch/sdram_rk3036.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void get_ddr_config(struct rk3036_ddr_config *config)
 {
 	/* K4B4G1646Q config */
diff --git a/board/rockchip/evb_rk3229/evb_rk3229.c b/board/rockchip/evb_rk3229/evb_rk3229.c
index a9a3a40ce820ccdbec11cef20688a334800d9098..5fe1868f61e4b2566f2367fa1f104723a98c9741 100644
--- a/board/rockchip/evb_rk3229/evb_rk3229.c
+++ b/board/rockchip/evb_rk3229/evb_rk3229.c
@@ -9,4 +9,3 @@
 #include <asm/io.h>
 #include <asm/arch/uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/rockchip/evb_rk3399/evb-rk3399.c
index 502dec325fc12d66a7e040e8cfd61b5e5b7c4e2d..0f9267b68e4153c47939f7929eb388cfdd4bfbf8 100644
--- a/board/rockchip/evb_rk3399/evb-rk3399.c
+++ b/board/rockchip/evb_rk3399/evb-rk3399.c
@@ -12,8 +12,6 @@
 #include <power/regulator.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_init(void)
 {
 	struct udevice *pinctrl, *regulator;
diff --git a/board/rockchip/kylin_rk3036/kylin_rk3036.c b/board/rockchip/kylin_rk3036/kylin_rk3036.c
index 91349948740bcbe01c5096dad653fa8faeffeddc..e1af124e32589edde7dc55b39f6ecb44dd242d8d 100644
--- a/board/rockchip/kylin_rk3036/kylin_rk3036.c
+++ b/board/rockchip/kylin_rk3036/kylin_rk3036.c
@@ -11,8 +11,6 @@
 #include <asm/arch/sdram_rk3036.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void get_ddr_config(struct rk3036_ddr_config *config)
 {
 	/* K4B4G1646Q config */
diff --git a/board/rockchip/sheep_rk3368/sheep_rk3368.c b/board/rockchip/sheep_rk3368/sheep_rk3368.c
index 17adb02469de0c4166b1281d9c3e33ca8a2f911c..348818cbf0f16dbd4466e42cc33aad954522377e 100644
--- a/board/rockchip/sheep_rk3368/sheep_rk3368.c
+++ b/board/rockchip/sheep_rk3368/sheep_rk3368.c
@@ -9,8 +9,6 @@
 #include <asm/arch/grf_rk3368.h>
 #include <syscon.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int mach_cpu_init(void)
 {
 	return 0;
diff --git a/board/samsung/espresso7420/espresso7420.c b/board/samsung/espresso7420/espresso7420.c
index 04a83bc07d79496bec86d3ee764448d1ead365ad..1ed868001008d15833ecd879cc36fb6f15a6c5f0 100644
--- a/board/samsung/espresso7420/espresso7420.c
+++ b/board/samsung/espresso7420/espresso7420.c
@@ -8,8 +8,6 @@
 
 #include <common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int exynos_init(void)
 {
 	return 0;
diff --git a/board/samsung/origen/origen.c b/board/samsung/origen/origen.c
index 99a2facd1ee71f00945c01d5774d7d00e955c832..3d27a9433bf0074c0520e9c88b9a5dc8854420a6 100644
--- a/board/samsung/origen/origen.c
+++ b/board/samsung/origen/origen.c
@@ -13,8 +13,6 @@
 #include <asm/arch/pinmux.h>
 #include <usb.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 u32 get_board_rev(void)
 {
 	return 0;
diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c
index f0913383b97b1d76d3171433d7518d76f474fc48..781b579967557f7e035f6bad118beca0c59c78d4 100644
--- a/board/samsung/trats/trats.c
+++ b/board/samsung/trats/trats.c
@@ -30,8 +30,6 @@
 
 #include "setup.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned int board_rev;
 
 #ifdef CONFIG_REVISION_TAG
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
index f9acbd3571216e31311a749f3b2e01c916888a56..6abafeb1b3ed8c207d5b0a2312fdda231bfdaf46 100644
--- a/board/samsung/trats2/trats2.c
+++ b/board/samsung/trats2/trats2.c
@@ -24,8 +24,6 @@
 #include <usb/dwc2_udc.h>
 #include <usb_mass_storage.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static unsigned int board_rev = -1;
 
 static inline u32 get_model_rev(void);
diff --git a/board/sbc8349/pci.c b/board/sbc8349/pci.c
index e792fe313d0845fd4f262094c76f4dc5177dae79..9b1560bd7777072f0e24d9f55bb15ccb96d50b5e 100644
--- a/board/sbc8349/pci.c
+++ b/board/sbc8349/pci.c
@@ -16,8 +16,6 @@
 #include <i2c.h>
 #include <asm/fsl_i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c
index 1a48a6c89f24f54a241a18f8b9fc03d467bf4268..566777cf7fb639a917a448aa4e8a1c89f0ee991c 100644
--- a/board/sbc8548/sbc8548.c
+++ b/board/sbc8548/sbc8548.c
@@ -24,8 +24,6 @@
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void local_bus_init(void);
 
 int board_early_init_f (void)
diff --git a/board/siemens/draco/board.c b/board/siemens/draco/board.c
index c705b5ab0f6f63ff9f9c9a0eb085a9335fc67f76..c7a6a7aaa385b02a47ce2fdb5966587187cbf3e3 100644
--- a/board/siemens/draco/board.c
+++ b/board/siemens/draco/board.c
@@ -36,8 +36,6 @@
 #include "../common/factoryset.h"
 #include <nand.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SPL_BUILD
 static struct draco_baseboard_id __attribute__((section(".data"))) settings;
 
diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c
index ab54e58861a43f33dc487ae6decdaef4f4a72f9d..7339135050fca7a1b54f675b422c33d5e6ee4c52 100644
--- a/board/siemens/pxm2/board.c
+++ b/board/siemens/pxm2/board.c
@@ -39,8 +39,6 @@
 #include <nand.h>
 #include <bmp_layout.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_SPL_BUILD
 static void board_init_ddr(void)
 {
diff --git a/board/siemens/rut/board.c b/board/siemens/rut/board.c
index 2a97414bafa508d4a59137d35ef04426676b3521..ed5cde3a0b7f10cbc86a46e50987e127037255c7 100644
--- a/board/siemens/rut/board.c
+++ b/board/siemens/rut/board.c
@@ -35,8 +35,6 @@
 #include "../common/factoryset.h"
 #include "../../../drivers/video/da8xx-fb.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Read header information from EEPROM into global structure.
  */
diff --git a/board/theobroma-systems/lion_rk3368/lion_rk3368.c b/board/theobroma-systems/lion_rk3368/lion_rk3368.c
index 73b14883c3178eb9f3ad2e2bf45d66f437e85b44..c8fe4d5678a1cfb049acfeaa35d121ebe58d6375 100644
--- a/board/theobroma-systems/lion_rk3368/lion_rk3368.c
+++ b/board/theobroma-systems/lion_rk3368/lion_rk3368.c
@@ -12,8 +12,6 @@
 #include <asm/arch/timer.h>
 #include <syscon.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int mach_cpu_init(void)
 {
 	return 0;
diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
index 1d8b605b693e7d508eedd53a74f4114e2983b4af..a5371fc0783ece93b776cedafb5df0e24cb45ef2 100644
--- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c
+++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c
@@ -24,8 +24,6 @@
 #include <power/regulator.h>
 #include <u-boot/sha256.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int board_init(void)
 {
 	int ret;
diff --git a/board/ti/ks2_evm/board_k2e.c b/board/ti/ks2_evm/board_k2e.c
index 6c77d915e5b977c1f3fac3b2dbeaf366fec89a2e..e96636b6ecb54e26873011bfe1252ebeaaecb252 100644
--- a/board/ti/ks2_evm/board_k2e.c
+++ b/board/ti/ks2_evm/board_k2e.c
@@ -12,8 +12,6 @@
 #include <asm/arch/hardware.h>
 #include <asm/ti-common/keystone_net.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned int get_external_clk(u32 clk)
 {
 	unsigned int clk_freq;
diff --git a/board/ti/ks2_evm/board_k2hk.c b/board/ti/ks2_evm/board_k2hk.c
index e99e6355b477610587698c673081efc7b41cb0bf..d61f72921ae4310b2fef1aaba5e4efa556ae8f95 100644
--- a/board/ti/ks2_evm/board_k2hk.c
+++ b/board/ti/ks2_evm/board_k2hk.c
@@ -12,8 +12,6 @@
 #include <asm/arch/hardware.h>
 #include <asm/ti-common/keystone_net.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned int external_clk[ext_clk_count] = {
 	[sys_clk]	=	122880000,
 	[alt_core_clk]	=	125000000,
diff --git a/board/ti/ks2_evm/board_k2l.c b/board/ti/ks2_evm/board_k2l.c
index c65f33131da0cf21f4a654fac81188004b7581fc..b114c246905a3af7603734f41b4ea08bdc67f022 100644
--- a/board/ti/ks2_evm/board_k2l.c
+++ b/board/ti/ks2_evm/board_k2l.c
@@ -12,8 +12,6 @@
 #include <asm/arch/hardware.h>
 #include <asm/ti-common/keystone_net.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned int get_external_clk(u32 clk)
 {
 	unsigned int clk_freq;
diff --git a/board/toradex/colibri_vf/dcu.c b/board/toradex/colibri_vf/dcu.c
index 3fa6a763d8194ca2efc5fade488560d2862a39b3..c0add005eb1b33ff8e157abb7954eac1f9c3e6be 100644
--- a/board/toradex/colibri_vf/dcu.c
+++ b/board/toradex/colibri_vf/dcu.c
@@ -11,8 +11,6 @@
 #include <fsl_dcu_fb.h>
 #include "div64.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 unsigned int dcu_set_pixel_clock(unsigned int pixclock)
 {
 	struct ccm_reg *ccm = (struct ccm_reg *)CCM_BASE_ADDR;
diff --git a/board/tplink/wdr4300/wdr4300.c b/board/tplink/wdr4300/wdr4300.c
index 0f59648b1fed192a2b1f70ead69df663f58d6556..ac265579e831772bc8ec828be6c6a9a8338a29f2 100644
--- a/board/tplink/wdr4300/wdr4300.c
+++ b/board/tplink/wdr4300/wdr4300.c
@@ -13,8 +13,6 @@
 #include <mach/ddr.h>
 #include <debug_uart.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_USB
 static void wdr4300_usb_start(void)
 {
diff --git a/board/tqc/tqm834x/pci.c b/board/tqc/tqm834x/pci.c
index 1acec849683d1f736295c796d63263aa627094e7..43ecdf1495410551448b2aa247d8cfb644fb6fe6 100644
--- a/board/tqc/tqm834x/pci.c
+++ b/board/tqc/tqm834x/pci.c
@@ -14,8 +14,6 @@
 #include <i2c.h>
 #include <asm/fsl_i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct pci_region pci1_regions[] = {
 	{
 		bus_start: CONFIG_SYS_PCI1_MEM_BASE,
diff --git a/board/tqc/tqma6/tqma6_mba6.c b/board/tqc/tqma6/tqma6_mba6.c
index be4c132fbe0dd09416791552cc8499448580768d..37ad916853d224eb4342fb950f11c7de874e6e72 100644
--- a/board/tqc/tqma6/tqma6_mba6.c
+++ b/board/tqc/tqma6/tqma6_mba6.c
@@ -30,8 +30,6 @@
 
 #include "tqma6_bb.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define UART_PAD_CTRL  (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
 	PAD_CTL_DSE_80ohm   | PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
 
diff --git a/board/udoo/udoo_spl.c b/board/udoo/udoo_spl.c
index 694055bd2e51aee22d9f8fafe43614a236ebd154..c862ed15d9f81dc429d1f21b62eba1041f1d706b 100644
--- a/board/udoo/udoo_spl.c
+++ b/board/udoo/udoo_spl.c
@@ -21,8 +21,6 @@
 #include <asm/arch/sys_proto.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_SPL_BUILD)
 #include <asm/arch/mx6-ddr.h>
 
diff --git a/board/varisys/cyrus/cyrus.c b/board/varisys/cyrus/cyrus.c
index f4586272b1f2b42d4d916cb86e1a6e99ac35a432..1daea066a324bae05c5dbb1f20800f209d7f0761 100644
--- a/board/varisys/cyrus/cyrus.c
+++ b/board/varisys/cyrus/cyrus.c
@@ -22,8 +22,6 @@
 #include "cyrus.h"
 #include "../common/eeprom.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define GPIO_OPENDRAIN 0x30000000
 #define GPIO_DIR       0x3c000004
 #define GPIO_INITIAL   0x30000000
diff --git a/board/wandboard/spl.c b/board/wandboard/spl.c
index 5b9622e75ec48d9ac7b1a17bb783d5719dac5a9c..d03ab4394227144f4b4883e0615a04581c9c04bc 100644
--- a/board/wandboard/spl.c
+++ b/board/wandboard/spl.c
@@ -20,8 +20,6 @@
 #include <asm/arch/sys_proto.h>
 #include <spl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_SPL_BUILD)
 #include <asm/arch/mx6-ddr.h>
 /*
diff --git a/board/xes/xpedite537x/xpedite537x.c b/board/xes/xpedite537x/xpedite537x.c
index ae606f5ba70816050c5724945b45c449a2642e83..785533d7f2c485e8105bf37ef4dc229e08720323 100644
--- a/board/xes/xpedite537x/xpedite537x.c
+++ b/board/xes/xpedite537x/xpedite537x.c
@@ -16,8 +16,6 @@
 #include <fdt_support.h>
 #include <pca953x.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 extern void ft_board_pci_setup(void *blob, bd_t *bd);
 
 static void flash_cs_fixup(void)
diff --git a/board/xes/xpedite550x/xpedite550x.c b/board/xes/xpedite550x/xpedite550x.c
index c90bb89dae0c70fb79c40070dfb13c59dc0714f3..080197c1c6d5deb896b3d9891dff295a7e31735e 100644
--- a/board/xes/xpedite550x/xpedite550x.c
+++ b/board/xes/xpedite550x/xpedite550x.c
@@ -16,8 +16,6 @@
 #include <fdt_support.h>
 #include <pca953x.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 extern void ft_board_pci_setup(void *blob, bd_t *bd);
 
 static void flash_cs_fixup(void)
diff --git a/cmd/aes.c b/cmd/aes.c
index 9d1a740beeadbb5b3861364bf0a8de7720d3edf6..23bc88038f58fa954e4a198cabd80d7be74273f1 100644
--- a/cmd/aes.c
+++ b/cmd/aes.c
@@ -14,8 +14,6 @@
 #include <asm/byteorder.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * do_aes() - Handle the "aes" command-line command
  * @cmdtp:	Command data struct pointer
diff --git a/cmd/blob.c b/cmd/blob.c
index bdd4cfda0b3071fdfa1d2af362c539c6e5018fbd..ae06ba70aed4abe7b0c7ed6f9559052d25189997 100644
--- a/cmd/blob.c
+++ b/cmd/blob.c
@@ -12,8 +12,6 @@
 #include <asm/byteorder.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * blob_decap() - Decapsulate the data as a blob
  * @key_mod:	- Pointer to key modifier/key
diff --git a/cmd/booti.c b/cmd/booti.c
index fff936976355e1f261eca5eb7ae9ce49d994691f..f1e607ae0ddf0820db50fa049b98c8d2de6d0958 100644
--- a/cmd/booti.c
+++ b/cmd/booti.c
@@ -14,8 +14,6 @@
 #include <linux/kernel.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Image booting support
  */
diff --git a/cmd/cros_ec.c b/cmd/cros_ec.c
index af0b4eee78388155e16be590a23ab8af5c10a83a..c1e28508875c838e8ee4caf9a32c2902882987bf 100644
--- a/cmd/cros_ec.c
+++ b/cmd/cros_ec.c
@@ -17,8 +17,6 @@
 /* Note: depends on enum ec_current_image */
 static const char * const ec_current_image_name[] = {"unknown", "RO", "RW"};
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * Decode a flash region parameter
  *
diff --git a/cmd/i2c.c b/cmd/i2c.c
index bfddf8be1b9849d5cb9f66262aaaf747896d7396..8eca6fffaad44fa3812917926ee243d93a7d43d7 100644
--- a/cmd/i2c.c
+++ b/cmd/i2c.c
@@ -79,8 +79,6 @@
 #include <asm/byteorder.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Display values from last command.
  * Memory modify remembered values are different from display memory.
  */
diff --git a/common/cros_ec.c b/common/cros_ec.c
index 7a4f785bc836f9b8fbeaea1c193cbe474ea89d52..1a0caf80dde09551133f882df5c34fb9608e5461 100644
--- a/common/cros_ec.c
+++ b/common/cros_ec.c
@@ -13,8 +13,6 @@
 #include <dm.h>
 #include <errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct cros_ec_dev *board_get_cros_ec_dev(void)
 {
 	struct udevice *dev;
diff --git a/common/lynxkdi.c b/common/lynxkdi.c
index f2b95ac8d37d869f024460659ee390b72bec61de..1c8e122c3290b095bf06a8a32edb315804e77131 100644
--- a/common/lynxkdi.c
+++ b/common/lynxkdi.c
@@ -20,6 +20,4 @@
 
 #include <lynxkdi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #error "Lynx KDI support not implemented for configured CPU"
diff --git a/common/main.c b/common/main.c
index 6a1159879edc4abb98a415bf369be8b02e621ca3..66a03a156eb67e3086460b5cd7a156f7dcda9499 100644
--- a/common/main.c
+++ b/common/main.c
@@ -13,8 +13,6 @@
 #include <console.h>
 #include <version.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 4aa0b2caf3901c37b69b4836f9e8d6b79fc99f6a..e780b82fd2bfa0bfc1dd95d797fe60886aaa32dd 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -16,8 +16,6 @@
 #include <mmc.h>
 #include <image.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int mmc_load_legacy(struct spl_image_info *spl_image, struct mmc *mmc,
 			   ulong sector, struct image_header *header)
 {
diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c
index 50d02478d519f942d4c5ec35e50501c66e8d2f75..33f3b74a970970e36b8d039985280aee2f1af117 100644
--- a/common/spl/spl_net.c
+++ b/common/spl/spl_net.c
@@ -13,8 +13,6 @@
 #include <net.h>
 #include <linux/libfdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USB_ETHER)
 static ulong spl_net_load_read(struct spl_load_info *load, ulong sector,
 			       ulong count, void *buf)
diff --git a/common/spl/spl_sata.c b/common/spl/spl_sata.c
index bac11f64f13c21e037470503c88798c2b3b3abc0..357f8e5bd960688a83e6f06aa78478736e8975ab 100644
--- a/common/spl/spl_sata.c
+++ b/common/spl/spl_sata.c
@@ -18,8 +18,6 @@
 #include <fat.h>
 #include <image.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int spl_sata_load_image(struct spl_image_info *spl_image,
 			       struct spl_boot_device *bootdev)
 {
diff --git a/common/spl/spl_sdp.c b/common/spl/spl_sdp.c
index 0c4603a3db3b881c37f56f908654fe64d840f985..69390edcbaebe3542e14542cbe90ba527649c11b 100644
--- a/common/spl/spl_sdp.c
+++ b/common/spl/spl_sdp.c
@@ -11,8 +11,6 @@
 #include <g_dnl.h>
 #include <sdp.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int spl_sdp_load_image(struct spl_image_info *spl_image,
 			      struct spl_boot_device *bootdev)
 {
diff --git a/common/spl/spl_usb.c b/common/spl/spl_usb.c
index 567a4505056a674343ff35d891f949a86c76988a..5aac10bd573c8cbd0361a286a816511192f134db 100644
--- a/common/spl/spl_usb.c
+++ b/common/spl/spl_usb.c
@@ -16,8 +16,6 @@
 #include <usb.h>
 #include <fat.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_USB_STORAGE
 static int usb_stor_curr_dev = -1; /* current device */
 #endif
diff --git a/common/usb_hub.c b/common/usb_hub.c
index b46dfa16ccf1285d5ff9f2f142461f6146dd06ab..0729a20df483c5605ba6b5b4c4e143e1322bb3ed 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -37,8 +37,6 @@
 #endif
 #include <asm/unaligned.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #include <usb.h>
 
 #define USB_BUFSIZ	512
diff --git a/disk/part.c b/disk/part.c
index 44ef14dc54f0761d1f439ea4b0e78b650e7990c2..e31aca4877fb6cd655d3c17035e8d5649e71ad17 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -24,8 +24,6 @@
 /* Check all partition types */
 #define PART_TYPE_ALL		-1
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct part_driver *part_driver_lookup_type(struct blk_desc *dev_desc)
 {
 	struct part_driver *drv =
diff --git a/drivers/adc/adc-uclass.c b/drivers/adc/adc-uclass.c
index a4c20f4d3520d3901a8d68e02c50492ec7d23b85..7e9ad85c3c09912ea87820eecdee2f2dbce1ea09 100644
--- a/drivers/adc/adc-uclass.c
+++ b/drivers/adc/adc-uclass.c
@@ -14,8 +14,6 @@
 #include <adc.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define ADC_UCLASS_PLATDATA_SIZE	sizeof(struct adc_uclass_platdata)
 #define CHECK_NUMBER			true
 #define CHECK_MASK			(!CHECK_NUMBER)
diff --git a/drivers/ata/dwc_ahci.c b/drivers/ata/dwc_ahci.c
index 6c7371e3eddde133a504e735cb6c81f2fc1fc935..bb45214fc243da9a2d53129dcbfa5e2c84cbcbf4 100644
--- a/drivers/ata/dwc_ahci.c
+++ b/drivers/ata/dwc_ahci.c
@@ -18,8 +18,6 @@
 #include <asm/io.h>
 #include <generic-phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct dwc_ahci_priv {
 	void *base;
 	void *wrapper_base;
diff --git a/drivers/clk/at91/clk-plladiv.c b/drivers/clk/at91/clk-plladiv.c
index 0599d2893b5ae9231833d18806ce268f620e6693..520fd13f63a4de41c661e9241c4b724a995ebb62 100644
--- a/drivers/clk/at91/clk-plladiv.c
+++ b/drivers/clk/at91/clk-plladiv.c
@@ -12,8 +12,6 @@
 #include <mach/at91_pmc.h>
 #include "pmc.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int at91_plladiv_clk_enable(struct clk *clk)
 {
 	return 0;
diff --git a/drivers/clk/at91/clk-utmi.c b/drivers/clk/at91/clk-utmi.c
index 875bf293f9cdd637ccf47955a3733a4592a0f8d0..54970b949fac05efe5776ae289c4744fcafbf12f 100644
--- a/drivers/clk/at91/clk-utmi.c
+++ b/drivers/clk/at91/clk-utmi.c
@@ -14,8 +14,6 @@
 #include <mach/sama5_sfr.h>
 #include "pmc.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The purpose of this clock is to generate a 480 MHz signal. A different
  * rate can't be configured.
diff --git a/drivers/clk/at91/sckc.c b/drivers/clk/at91/sckc.c
index 0c0881237cba81b9f432382797c7e0f139fa0b1c..de8013e40a0d6f9a973bb655064273047dad8a69 100644
--- a/drivers/clk/at91/sckc.c
+++ b/drivers/clk/at91/sckc.c
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <dm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct udevice_id at91_sckc_match[] = {
 	{ .compatible = "atmel,at91sam9x5-sckc" },
 	{}
diff --git a/drivers/clk/clk-hsdk-cgu.c b/drivers/clk/clk-hsdk-cgu.c
index 4362d583cb4f278374495187f1dc2a121794fd81..56ef08c032b99b500aa629b065b1df012bf09820 100644
--- a/drivers/clk/clk-hsdk-cgu.c
+++ b/drivers/clk/clk-hsdk-cgu.c
@@ -59,8 +59,6 @@
  *                     |---------------------------->
  */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define CGU_ARC_IDIV		0x080
 #define CGU_TUN_IDIV_TUN	0x380
 #define CGU_TUN_IDIV_ROM	0x390
diff --git a/drivers/clk/clk_stm32h7.c b/drivers/clk/clk_stm32h7.c
index 9ee2e2e999a295950c89f8ba89c193f8494fdd2c..5516b486003a6ddade6a68bd98b2179346717592 100644
--- a/drivers/clk/clk_stm32h7.c
+++ b/drivers/clk/clk_stm32h7.c
@@ -15,8 +15,6 @@
 
 #include <dt-bindings/clock/stm32h7-clks.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* RCC CR specific definitions */
 #define RCC_CR_HSION			BIT(0)
 #define RCC_CR_HSIRDY			BIT(2)
diff --git a/drivers/clk/clk_zynqmp.c b/drivers/clk/clk_zynqmp.c
index d0d6c898bc58c34a92a8ad569a18208e08c49df0..3f249752fb6b1ce37f9a9d27360973ed5635cac8 100644
--- a/drivers/clk/clk_zynqmp.c
+++ b/drivers/clk/clk_zynqmp.c
@@ -13,8 +13,6 @@
 #include <asm/arch/sys_proto.h>
 #include <dm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const resource_size_t zynqmp_crf_apb_clkc_base = 0xfd1a0020;
 static const resource_size_t zynqmp_crl_apb_clkc_base = 0xff5e0020;
 
diff --git a/drivers/clk/exynos/clk-exynos7420.c b/drivers/clk/exynos/clk-exynos7420.c
index e34945dbbcc0a74cfaa3ae1bc7b6c2cc0688e757..832b2d8765ebb24383906658d3ea07b4766a30e5 100644
--- a/drivers/clk/exynos/clk-exynos7420.c
+++ b/drivers/clk/exynos/clk-exynos7420.c
@@ -14,8 +14,6 @@
 #include <dt-bindings/clock/exynos7420-clk.h>
 #include "clk-pll.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DIVIDER(reg, shift, mask)	\
 	(((readl(reg) >> shift) & mask) + 1)
 
diff --git a/drivers/clk/rockchip/clk_rk3036.c b/drivers/clk/rockchip/clk_rk3036.c
index 5e11318042dc21fad837133e641b4bc3e603cf75..c8aab7bb7d9b8cecfcaf263f319be401421eff31 100644
--- a/drivers/clk/rockchip/clk_rk3036.c
+++ b/drivers/clk/rockchip/clk_rk3036.c
@@ -17,8 +17,6 @@
 #include <dt-bindings/clock/rk3036-cru.h>
 #include <linux/log2.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 2400U * 1000000,
 	VCO_MIN_HZ	= 600 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rk3128.c b/drivers/clk/rockchip/clk_rk3128.c
index 7b479e79bb4928e2143ce766caa35aaee068432e..b4dd8d261a488426baa815bef6cec9c3eae1add6 100644
--- a/drivers/clk/rockchip/clk_rk3128.c
+++ b/drivers/clk/rockchip/clk_rk3128.c
@@ -18,8 +18,6 @@
 #include <dt-bindings/clock/rk3128-cru.h>
 #include <linux/log2.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 2400U * 1000000,
 	VCO_MIN_HZ	= 600 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rk3188.c b/drivers/clk/rockchip/clk_rk3188.c
index cfe6abe470104a514fb5dd24acbb1a3aeebe3062..e6bf0442366359d8021c14174d05cc26dd59996b 100644
--- a/drivers/clk/rockchip/clk_rk3188.c
+++ b/drivers/clk/rockchip/clk_rk3188.c
@@ -23,8 +23,6 @@
 #include <dm/uclass-internal.h>
 #include <linux/log2.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum rk3188_clk_type {
 	RK3188_CRU,
 	RK3188A_CRU,
diff --git a/drivers/clk/rockchip/clk_rk322x.c b/drivers/clk/rockchip/clk_rk322x.c
index ebcab73002d8ca9fe021aa87c63af088124919b9..91f5208aa4f7152d034bf4d72151018fc7717227 100644
--- a/drivers/clk/rockchip/clk_rk322x.c
+++ b/drivers/clk/rockchip/clk_rk322x.c
@@ -17,8 +17,6 @@
 #include <dt-bindings/clock/rk3228-cru.h>
 #include <linux/log2.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 3200U * 1000000,
 	VCO_MIN_HZ	= 800 * 1000000,
diff --git a/drivers/clk/rockchip/clk_rk3328.c b/drivers/clk/rockchip/clk_rk3328.c
index 046b4e4c2ff636947d970a60c709800e876ae10e..f9a1e969a859e0856abc47905fe043f3ca882f2d 100644
--- a/drivers/clk/rockchip/clk_rk3328.c
+++ b/drivers/clk/rockchip/clk_rk3328.c
@@ -18,8 +18,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rk3328-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct pll_div {
 	u32 refdiv;
 	u32 fbdiv;
diff --git a/drivers/clk/rockchip/clk_rk3368.c b/drivers/clk/rockchip/clk_rk3368.c
index ea00f1fc9ccc0804238c1e03936ae291f3967741..e5a14ba47294305b46853ede75ae359aa9986a1e 100644
--- a/drivers/clk/rockchip/clk_rk3368.c
+++ b/drivers/clk/rockchip/clk_rk3368.c
@@ -20,8 +20,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rk3368-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
 struct rk3368_clk_plat {
 	struct dtd_rockchip_rk3368_cru dtd;
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
index fb74c441ff9f84f7b151f819c2e588f1661ec45e..86d8ca55bf9356c68ab78485371fb3d07dd4dae4 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -20,8 +20,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rk3399-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
 struct rk3399_clk_plat {
 	struct dtd_rockchip_rk3399_cru dtd;
diff --git a/drivers/clk/rockchip/clk_rv1108.c b/drivers/clk/rockchip/clk_rv1108.c
index 42341a856605841900e2c38f66661565d936eadb..1cd8ab5d58b03c2d43f9f9321352fd30913b4176 100644
--- a/drivers/clk/rockchip/clk_rv1108.c
+++ b/drivers/clk/rockchip/clk_rv1108.c
@@ -17,8 +17,6 @@
 #include <dm/lists.h>
 #include <dt-bindings/clock/rv1108-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	VCO_MAX_HZ	= 2400U * 1000000,
 	VCO_MIN_HZ	= 600 * 1000000,
diff --git a/drivers/cpu/cpu-uclass.c b/drivers/cpu/cpu-uclass.c
index 73e4853939e0a97ae0cb02ac39553f203c0ffd8e..e47377a0fe7ed938c57684bcedb8b6cfc1b13b14 100644
--- a/drivers/cpu/cpu-uclass.c
+++ b/drivers/cpu/cpu-uclass.c
@@ -12,8 +12,6 @@
 #include <dm/lists.h>
 #include <dm/root.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int cpu_get_desc(struct udevice *dev, char *buf, int size)
 {
 	struct cpu_ops *ops = cpu_get_ops(dev);
diff --git a/drivers/ddr/altera/sdram.c b/drivers/ddr/altera/sdram.c
index e74c5b039ece319ae4321d8ee6251b83cce911f3..0f688f9bcf7e3741811cfadf8a93500a1610deb0 100644
--- a/drivers/ddr/altera/sdram.c
+++ b/drivers/ddr/altera/sdram.c
@@ -12,8 +12,6 @@
 #include <asm/arch/system_manager.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sdram_prot_rule {
 	u32	sdram_start;	/* SDRAM start address */
 	u32	sdram_end;	/* SDRAM end address */
diff --git a/drivers/ddr/fsl/main.c b/drivers/ddr/fsl/main.c
index d0a7b3f107630e67b2bb0d2f4248b10774e7efaf..61bbce92d46f9f701b7abb741d19401f2df4441a 100644
--- a/drivers/ddr/fsl/main.c
+++ b/drivers/ddr/fsl/main.c
@@ -15,8 +15,6 @@
 #include <fsl_ddr_sdram.h>
 #include <fsl_ddr.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY is the physical address from the view
  * of DDR controllers. It is the same as CONFIG_SYS_DDR_SDRAM_BASE for
diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c
index 3d0ce22fbc2186c0caab158a00394081663b5a21..7f92d24bc1880dfda544f1a46106647145f9a0b9 100644
--- a/drivers/dma/dma-uclass.c
+++ b/drivers/dma/dma-uclass.c
@@ -16,8 +16,6 @@
 #include <dm/device-internal.h>
 #include <errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dma_get_device(u32 transfer_type, struct udevice **devp)
 {
 	struct udevice *dev;
diff --git a/drivers/fpga/socfpga.c b/drivers/fpga/socfpga.c
index 6e14ebd26d5bcbe6892d2c12aeccee4bff0cda3f..aef796c741caf72a7794d190aa340201d301e5f3 100644
--- a/drivers/fpga/socfpga.c
+++ b/drivers/fpga/socfpga.c
@@ -12,8 +12,6 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Timeout count */
 #define FPGA_TIMEOUT_CNT		0x1000000
 
diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c
index 685e8e271a0342d7c51f059c6e38685098b02b95..ee18675f7e5b8c96b6245f7af3006b30354268c9 100644
--- a/drivers/fpga/socfpga_arria10.c
+++ b/drivers/fpga/socfpga_arria10.c
@@ -23,8 +23,6 @@
 #define FPGA_TIMEOUT_MSEC	1000  /* timeout in ms */
 #define FPGA_TIMEOUT_CNT	0x1000000
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct socfpga_fpga_manager *fpga_manager_base =
 		(void *)SOCFPGA_FPGAMGRREGS_ADDRESS;
 
diff --git a/drivers/fpga/socfpga_gen5.c b/drivers/fpga/socfpga_gen5.c
index 3dfb0303d36dbbe81f3d8d796018c9f70457e173..88ae035e29d9beb2a9955600336d63b80f5413d4 100644
--- a/drivers/fpga/socfpga_gen5.c
+++ b/drivers/fpga/socfpga_gen5.c
@@ -12,8 +12,6 @@
 #include <asm/arch/reset_manager.h>
 #include <asm/arch/system_manager.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define FPGA_TIMEOUT_CNT	0x1000000
 
 static struct socfpga_fpga_manager *fpgamgr_regs =
diff --git a/drivers/gpio/hsdk-creg-gpio.c b/drivers/gpio/hsdk-creg-gpio.c
index 8ca807a18f47fc3b243d95e8756c3c5423f7a730..084a2da65224e898300fc74db993fbd0a9a88d24 100644
--- a/drivers/gpio/hsdk-creg-gpio.c
+++ b/drivers/gpio/hsdk-creg-gpio.c
@@ -16,8 +16,6 @@
 #include <errno.h>
 #include <linux/printk.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define HSDK_CREG_MAX_GPIO	8
 
 #define GPIO_ACTIVATE		0x2
diff --git a/drivers/gpio/imx_rgpio2p.c b/drivers/gpio/imx_rgpio2p.c
index 7825714e8003c0e92573c11673013de58034e909..0de74cb67d966093baaca8b37ad7b77671816ec8 100644
--- a/drivers/gpio/imx_rgpio2p.c
+++ b/drivers/gpio/imx_rgpio2p.c
@@ -14,8 +14,6 @@
 #include <asm/io.h>
 #include <malloc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum imx_rgpio2p_direction {
 	IMX_RGPIO2P_DIRECTION_IN,
 	IMX_RGPIO2P_DIRECTION_OUT,
diff --git a/drivers/gpio/mvebu_gpio.c b/drivers/gpio/mvebu_gpio.c
index 85dea14c519bf58894c943a776433860aee33b88..79942ff76a363d541a3aa63dba3c0c6d8664f3d4 100644
--- a/drivers/gpio/mvebu_gpio.c
+++ b/drivers/gpio/mvebu_gpio.c
@@ -10,8 +10,6 @@
 #include <asm/io.h>
 #include <errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MVEBU_GPIOS_PER_BANK	32
 
 struct mvebu_gpio_regs {
diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c
index d0e365a54b01dac6767a9e4269d1e7e29ef159b8..c6427d7252bfcd642ff315f5aad28182ff98655c 100644
--- a/drivers/gpio/mxc_gpio.c
+++ b/drivers/gpio/mxc_gpio.c
@@ -158,8 +158,6 @@ int gpio_direction_output(unsigned gpio, int value)
 
 #ifdef CONFIG_DM_GPIO
 #include <fdtdec.h>
-DECLARE_GLOBAL_DATA_PTR;
-
 static int mxc_gpio_is_output(struct gpio_regs *regs, int offset)
 {
 	u32 val;
diff --git a/drivers/gpio/pm8916_gpio.c b/drivers/gpio/pm8916_gpio.c
index 42f068ecb6516c8654db43d3536a9315d99e46a1..3b6de9d715243fd10e9ccc7900b2eb598f3ad04d 100644
--- a/drivers/gpio/pm8916_gpio.c
+++ b/drivers/gpio/pm8916_gpio.c
@@ -14,8 +14,6 @@
 #include <asm/gpio.h>
 #include <linux/bitops.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Register offset for each gpio */
 #define REG_OFFSET(x)          ((x) * 0x100)
 
diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c
index 2a18f328576a6e6cc521eefa45b756581268d149..02f2a245b8ea0807fa17493c9e83237629258279 100644
--- a/drivers/gpio/sandbox.c
+++ b/drivers/gpio/sandbox.c
@@ -11,8 +11,6 @@
 #include <dm/of.h>
 #include <dt-bindings/gpio/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Flags for each GPIO */
 #define GPIOF_OUTPUT	(1 << 0)	/* Currently set as an output */
 #define GPIOF_HIGH	(1 << 1)	/* Currently set high */
diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
index ea6f3593b9e08abe513d840140c52d00297afaba..706afce993b4023d1a61f49723cd39f4e1cf514f 100644
--- a/drivers/gpio/sunxi_gpio.c
+++ b/drivers/gpio/sunxi_gpio.c
@@ -21,8 +21,6 @@
 #include <dm/device-internal.h>
 #include <dt-bindings/gpio/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SUNXI_GPIOS_PER_BANK	SUNXI_GPIO_A_NR
 
 struct sunxi_gpio_platdata {
diff --git a/drivers/gpio/tegra186_gpio.c b/drivers/gpio/tegra186_gpio.c
index deb59e8b32024842fdb860ec40952766395f5b95..6d610ef118d6469bad58798a2f4891537935e552 100644
--- a/drivers/gpio/tegra186_gpio.c
+++ b/drivers/gpio/tegra186_gpio.c
@@ -17,8 +17,6 @@
 #include <dt-bindings/gpio/gpio.h>
 #include "tegra186_gpio_priv.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct tegra186_gpio_port_data {
 	const char *name;
 	uint32_t offset;
diff --git a/drivers/gpio/tegra_gpio.c b/drivers/gpio/tegra_gpio.c
index 49655831585689ec3f3d241d346dc5de1979c96e..faf950e2d3f2f393b7871100dae43816ef4870b8 100644
--- a/drivers/gpio/tegra_gpio.c
+++ b/drivers/gpio/tegra_gpio.c
@@ -23,8 +23,6 @@
 #include <dm/device-internal.h>
 #include <dt-bindings/gpio/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const int CONFIG_SFIO = 0;
 static const int CONFIG_GPIO = 1;
 static const int DIRECTION_INPUT = 0;
diff --git a/drivers/i2c/ast_i2c.c b/drivers/i2c/ast_i2c.c
index 7ed0c10f72ee7e342de3776668357bfc2db079a6..d6329715db71fc813a74629e3d6a8f1650b83e50 100644
--- a/drivers/i2c/ast_i2c.c
+++ b/drivers/i2c/ast_i2c.c
@@ -22,8 +22,6 @@
 
 #define HIGHSPEED_TTIMEOUT		3
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Device private data
  */
diff --git a/drivers/i2c/i2c-cdns.c b/drivers/i2c/i2c-cdns.c
index 8265ce32106bfdd0093857e0fe0066d9f92fb0c5..a977a7fcbd3769ebd75ad2aa9efbc7f2b1054453 100644
--- a/drivers/i2c/i2c-cdns.c
+++ b/drivers/i2c/i2c-cdns.c
@@ -19,8 +19,6 @@
 #include <mapmem.h>
 #include <wait_bit.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* i2c register set */
 struct cdns_i2c_regs {
 	u32 control;
diff --git a/drivers/i2c/imx_lpi2c.c b/drivers/i2c/imx_lpi2c.c
index 32d7809dba6500908ab4c2a060e24c6d7040eae6..937410fa2c2cd684e6b26732f0ea8ea070a5dbd8 100644
--- a/drivers/i2c/imx_lpi2c.c
+++ b/drivers/i2c/imx_lpi2c.c
@@ -15,7 +15,6 @@
 #include <fdtdec.h>
 #include <i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 #define LPI2C_FIFO_SIZE 4
 #define LPI2C_TIMEOUT_MS 100
 
diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index 5d33815146216910f66a6a4cf91cd5b2447a06dd..0759585c9e1a39322fab2cc25b8d2be8d0e7a7c6 100644
--- a/drivers/i2c/omap24xx_i2c.c
+++ b/drivers/i2c/omap24xx_i2c.c
@@ -47,8 +47,6 @@
 
 #include "omap24xx_i2c.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define I2C_TIMEOUT	1000
 
 /* Absolutely safe for status update at 100 kHz I2C: */
diff --git a/drivers/i2c/rk_i2c.c b/drivers/i2c/rk_i2c.c
index 332280c220e7dc90af7d27b5aa2c983a3521460b..a09adcdc15069d713b5e053ca11497139d04687e 100644
--- a/drivers/i2c/rk_i2c.c
+++ b/drivers/i2c/rk_i2c.c
@@ -19,8 +19,6 @@
 #include <dm/pinctrl.h>
 #include <linux/sizes.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* i2c timerout */
 #define I2C_TIMEOUT_MS		100
 #define I2C_RETRY_COUNT		3
diff --git a/drivers/i2c/sandbox_i2c.c b/drivers/i2c/sandbox_i2c.c
index f5978fda29b14fd26a5c1e5bfe3be9b53240e832..6e02dac2ec17cd981c7c9d25f69494d752fa4321 100644
--- a/drivers/i2c/sandbox_i2c.c
+++ b/drivers/i2c/sandbox_i2c.c
@@ -14,8 +14,6 @@
 #include <dm/lists.h>
 #include <dm/device-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_i2c_priv {
 	bool test_mode;
 };
diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c
index 81f061aecd8da97fa0e66a060ae99ed163edeade..5ca0b7d497104d94e3a2c164c0584429a72749a0 100644
--- a/drivers/i2c/stm32f7_i2c.c
+++ b/drivers/i2c/stm32f7_i2c.c
@@ -244,8 +244,6 @@ static struct stm32_i2c_setup stm32f7_setup = {
 	.analog_filter = STM32_I2C_ANALOG_FILTER_ENABLE,
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int stm32_i2c_check_device_busy(struct stm32_i2c_priv *i2c_priv)
 {
 	struct stm32_i2c_regs *regs = i2c_priv->regs;
diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c
index 7d23e51b69d2158ac7942cd936c045eb1a269060..2d6cd0286e1a9266770e6517ce787ca04d3042bf 100644
--- a/drivers/i2c/tegra_i2c.c
+++ b/drivers/i2c/tegra_i2c.c
@@ -20,8 +20,6 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch-tegra/tegra_i2c.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum i2c_type {
 	TYPE_114,
 	TYPE_STD,
diff --git a/drivers/input/cros_ec_keyb.c b/drivers/input/cros_ec_keyb.c
index 6fa35a63ddcf139a5c6d35af38203987c3e29f7f..f0bf139ae1902e2a93c3e0cc319f7f04a6bd5e6d 100644
--- a/drivers/input/cros_ec_keyb.c
+++ b/drivers/input/cros_ec_keyb.c
@@ -15,8 +15,6 @@
 #include <key_matrix.h>
 #include <stdio_dev.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	KBC_MAX_KEYS		= 8,	/* Maximum keys held down at once */
 	KBC_REPEAT_RATE_MS	= 30,
diff --git a/drivers/input/tegra-kbc.c b/drivers/input/tegra-kbc.c
index cb5695784e9035af4f7f17f54a7e3de0cba80bd5..1c2768345a828808bea6eeece42c06b736614c9c 100644
--- a/drivers/input/tegra-kbc.c
+++ b/drivers/input/tegra-kbc.c
@@ -19,8 +19,6 @@
 #include <asm/arch-tegra/timer.h>
 #include <linux/input.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	KBC_MAX_GPIO		= 24,
 	KBC_MAX_KPENT		= 8,	/* size of keypress entry queue */
diff --git a/drivers/led/led_gpio.c b/drivers/led/led_gpio.c
index 997663588718f0ea5795f30535ba06d6b8ef8a2b..5e0c524aecf7b08d2151c81d2d6d7b05b67ff228 100644
--- a/drivers/led/led_gpio.c
+++ b/drivers/led/led_gpio.c
@@ -12,8 +12,6 @@
 #include <asm/gpio.h>
 #include <dm/lists.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct led_gpio_priv {
 	struct gpio_desc gpio;
 };
diff --git a/drivers/mailbox/mailbox-uclass.c b/drivers/mailbox/mailbox-uclass.c
index 822ae5b45e55ebdc88765b5d6228386c435c7369..d053db031dd939c1db942008e33bac5f774d4337 100644
--- a/drivers/mailbox/mailbox-uclass.c
+++ b/drivers/mailbox/mailbox-uclass.c
@@ -9,8 +9,6 @@
 #include <mailbox.h>
 #include <mailbox-uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline struct mbox_ops *mbox_dev_ops(struct udevice *dev)
 {
 	return (struct mbox_ops *)dev->driver->ops;
diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c
index bd2ec411c7587da31ef0f4d82bfbaa13d6d01031..8d1df20bf9ce5e02afe4757254a7bc9fd8adaf0b 100644
--- a/drivers/mailbox/tegra-hsp.c
+++ b/drivers/mailbox/tegra-hsp.c
@@ -36,8 +36,6 @@ struct tegra_hsp {
 	uint32_t db_base;
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static uint32_t *tegra_hsp_reg(struct tegra_hsp *thsp, uint32_t db_id,
 			       uint32_t reg)
 {
diff --git a/drivers/misc/cros_ec.c b/drivers/misc/cros_ec.c
index eefaaa53ad41f5ba70f6be6c4e2031260cfeee34..bed80dc4554b5a3fee88d9c0b7da2b6bc6033fb4 100644
--- a/drivers/misc/cros_ec.c
+++ b/drivers/misc/cros_ec.c
@@ -42,8 +42,6 @@ enum {
 	CROS_EC_CMD_HASH_TIMEOUT_MS = 2000,
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void cros_ec_dump_data(const char *name, int cmd, const uint8_t *data, int len)
 {
 #ifdef DEBUG
diff --git a/drivers/misc/cros_ec_sandbox.c b/drivers/misc/cros_ec_sandbox.c
index 5924adee408551ba336fbef9594bb1d00c9f9bbf..1f1e23e6d1c51ca78027048a776f8ccacc7b0f42 100644
--- a/drivers/misc/cros_ec_sandbox.c
+++ b/drivers/misc/cros_ec_sandbox.c
@@ -51,8 +51,6 @@
  * the EC image in with U-Boot (Vic has demonstrated a prototype for this).
  */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define KEYBOARD_ROWS	8
 #define KEYBOARD_COLS	13
 
diff --git a/drivers/misc/cros_ec_spi.c b/drivers/misc/cros_ec_spi.c
index 253d91a5537d5df1c60e87cd50d3d38fc6d7b8c8..51714a471c84abfd81ae00879c3b078d70294c10 100644
--- a/drivers/misc/cros_ec_spi.c
+++ b/drivers/misc/cros_ec_spi.c
@@ -19,8 +19,6 @@
 #include <errno.h>
 #include <spi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int cros_ec_spi_packet(struct udevice *udev, int out_bytes, int in_bytes)
 {
 	struct cros_ec_dev *dev = dev_get_uclass_priv(udev);
diff --git a/drivers/misc/i2c_eeprom_emul.c b/drivers/misc/i2c_eeprom_emul.c
index 52aa7d69e96cacb80e0c3c0aac19e9b862c1b9f9..6f84e815e823b75259c49b90e00640405bf579b9 100644
--- a/drivers/misc/i2c_eeprom_emul.c
+++ b/drivers/misc/i2c_eeprom_emul.c
@@ -19,8 +19,6 @@
 #define debug_buffer(x, ...)
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_i2c_flash_plat_data {
 	enum sandbox_i2c_eeprom_test_mode test_mode;
 	const char *filename;
diff --git a/drivers/misc/spltest_sandbox.c b/drivers/misc/spltest_sandbox.c
index 1fef8252ab8370fa9b47d452f064195ae4cff06e..24aba78882ac66ab337922e9ead78242f46497bd 100644
--- a/drivers/misc/spltest_sandbox.c
+++ b/drivers/misc/spltest_sandbox.c
@@ -9,8 +9,6 @@
 #include <dm.h>
 #include <dt-structs.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int sandbox_spl_probe(struct udevice *dev)
 {
 	struct dtd_sandbox_spl_test *plat = dev_get_platdata(dev);
diff --git a/drivers/misc/syscon_sandbox.c b/drivers/misc/syscon_sandbox.c
index ccfab3ef987d1a569bf549505c182339da270de4..e78b6e476eb16d9a31731f40f68f22089df0acd3 100644
--- a/drivers/misc/syscon_sandbox.c
+++ b/drivers/misc/syscon_sandbox.c
@@ -12,8 +12,6 @@
 #include <asm/test.h>
 #include <dm/lists.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct udevice_id sandbox_syscon_ids[] = {
 	{ .compatible = "sandbox,syscon0", .data = SYSCON0 },
 	{ .compatible = "sandbox,syscon1", .data = SYSCON1 },
diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
index 89a7c1924244cc738e41ab11b56b487f5114496c..8664a373a10f46652f408c22ec75f79484ac588c 100644
--- a/drivers/mmc/arm_pl180_mmci.c
+++ b/drivers/mmc/arm_pl180_mmci.c
@@ -25,8 +25,6 @@
 
 #ifdef CONFIG_DM_MMC
 #include <dm.h>
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MMC_CLOCK_MAX	48000000
 #define MMC_CLOCK_MIN	400000
 
diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c
index bccd182e50c21820be54bef8c1462e3ed85288ba..752c660ea7333c850a4d6fdbd855bb98e533a0e4 100644
--- a/drivers/mmc/bcm2835_sdhost.c
+++ b/drivers/mmc/bcm2835_sdhost.c
@@ -44,8 +44,6 @@
 #include <mach/gpio.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define msleep(a) udelay(a * 1000)
 
 #define SDCMD  0x00 /* Command to SD card              - 16 R/W */
diff --git a/drivers/mmc/gen_atmel_mci.c b/drivers/mmc/gen_atmel_mci.c
index 1c108b5470dc8f0ed5159bef94e9db65192ffb89..186b3d7dbf1a71447c0734eab3a46ee576259230 100644
--- a/drivers/mmc/gen_atmel_mci.c
+++ b/drivers/mmc/gen_atmel_mci.c
@@ -22,8 +22,6 @@
 #include <asm/arch/hardware.h>
 #include "atmel_mci.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_SYS_MMC_CLK_OD
 # define CONFIG_SYS_MMC_CLK_OD	150000
 #endif
diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
index a3536b15ae677596c403b01e8a805d0f6df65061..0481e276c0f1ef598c9c4a1926ff2a9efeed17c6 100644
--- a/drivers/mmc/mmc-uclass.c
+++ b/drivers/mmc/mmc-uclass.c
@@ -12,8 +12,6 @@
 #include <dm/lists.h>
 #include "mmc_private.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int dm_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
 		    struct mmc_data *data)
 {
diff --git a/drivers/mmc/rockchip_dw_mmc.c b/drivers/mmc/rockchip_dw_mmc.c
index 807dc9e72f6683b338d575d3a7db2df39712e249..4ba1436159d8c6ce640d96fd89c45af2f4654eb1 100644
--- a/drivers/mmc/rockchip_dw_mmc.c
+++ b/drivers/mmc/rockchip_dw_mmc.c
@@ -18,8 +18,6 @@
 #include <asm/arch/periph.h>
 #include <linux/err.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rockchip_mmc_plat {
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
 	struct dtd_rockchip_rk3288_dw_mshc dtplat;
diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c
index ab89be47644e9dc3359255ce0a4be7a4d42b7ddb..8868f341f3375f0bb40e220b9b914030120fd153 100644
--- a/drivers/mmc/rockchip_sdhci.c
+++ b/drivers/mmc/rockchip_sdhci.c
@@ -15,7 +15,6 @@
 #include <sdhci.h>
 #include <clk.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 /* 400KHz is max freq for card ID etc. Use that as min */
 #define EMMC_MIN_FREQ	400000
 
diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c
index 8a5d256c11516e9fe474cf5f9ab6a7606857d538..0945beb368ae9c3682f4e7a41201fcadc4180632 100644
--- a/drivers/mmc/sandbox_mmc.c
+++ b/drivers/mmc/sandbox_mmc.c
@@ -12,8 +12,6 @@
 #include <mmc.h>
 #include <asm/test.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_mmc_plat {
 	struct mmc_config cfg;
 	struct mmc mmc;
diff --git a/drivers/mmc/stm32_sdmmc2.c b/drivers/mmc/stm32_sdmmc2.c
index f5b21dd097d6ed50ce3194903682d414abb9f13b..47afa263ea0290291c3e1faca71a93adeb63f391 100644
--- a/drivers/mmc/stm32_sdmmc2.c
+++ b/drivers/mmc/stm32_sdmmc2.c
@@ -189,8 +189,6 @@ struct stm32_sdmmc2_ctx {
 
 #define SDMMC_CMD_TIMEOUT		0xFFFFFFFF
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void stm32_sdmmc2_start_data(struct stm32_sdmmc2_priv *priv,
 				    struct mmc_data *data,
 				    struct stm32_sdmmc2_ctx *ctx)
diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c
index 74745296b47ed080df5bc09bbd68491fff82b807..ee63166e5535a46e021d170998ec2a6c23dd7f3f 100644
--- a/drivers/mmc/tegra_mmc.c
+++ b/drivers/mmc/tegra_mmc.c
@@ -16,8 +16,6 @@
 #include <asm/io.h>
 #include <asm/arch-tegra/tegra_mmc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct tegra_mmc_plat {
 	struct mmc_config cfg;
 	struct mmc mmc;
diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c
index 6aa909fdd9751b3b5a853d7b70c8d5e977fe28ea..e4225852bd1ea66ef4c6bbb93ba3fb21d06acaf3 100644
--- a/drivers/mtd/nand/nand.c
+++ b/drivers/mtd/nand/nand.c
@@ -15,8 +15,6 @@
 #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int nand_curr_device = -1;
 
 static struct mtd_info *nand_info[CONFIG_SYS_MAX_NAND_DEVICE];
diff --git a/drivers/mtd/spi/sandbox.c b/drivers/mtd/spi/sandbox.c
index 1ba68152322bea727478cd05edbf87e657f6d8ff..7893efee12aa519086670e95048ff4b44763738a 100644
--- a/drivers/mtd/spi/sandbox.c
+++ b/drivers/mtd/spi/sandbox.c
@@ -24,8 +24,6 @@
 #include <dm/lists.h>
 #include <dm/uclass-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * The different states that our SPI flash transitions between.
  * We need to keep track of this across multiple xfer calls since
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 5e5bd5d533688e059bf6206d755def448c37dd42..b78a869f58694e262cefd58ea5ea2ce52f58e3d9 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -21,8 +21,6 @@
 
 #include "sf_internal.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void spi_flash_addr(u32 addr, u8 *cmd)
 {
 	/* cmd[0] is actual command */
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 43670a7d0c91ac0f9f62eb163026285da0db5a70..765e356645044bd4611994cd5138e03ea10b8d39 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -23,8 +23,6 @@
 #include <power/regulator.h>
 #include "designware.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int dw_mdio_read(struct mii_dev *bus, int addr, int devad, int reg)
 {
 #ifdef CONFIG_DM_ETH
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index 00d905c299de4d6e3d451ec886067b88c7f9d523..ad7e051722dedbcec8dac8c3fa0527157c4808c4 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -38,8 +38,6 @@
 
 #include "MCD_dma.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct fec_info_dma fec_info[] = {
 #ifdef CONFIG_SYS_FEC0_IOBASE
 	{
diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c
index 683e820108f9a2a4ec60cc14ad1345520621b5bb..5ed3049fa682bdc04e20db3ad3ee2e792bb14c7b 100644
--- a/drivers/net/gmac_rockchip.c
+++ b/drivers/net/gmac_rockchip.c
@@ -25,8 +25,6 @@
 #include <dt-bindings/clock/rk3288-cru.h>
 #include "designware.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Platform data for the gmac
  *
diff --git a/drivers/net/lpc32xx_eth.c b/drivers/net/lpc32xx_eth.c
index cbef3359abe0c99eb7545d5df034b42674634721..1efe625c5fb1ed252271e210609ce8463f5af7ea 100644
--- a/drivers/net/lpc32xx_eth.c
+++ b/drivers/net/lpc32xx_eth.c
@@ -218,8 +218,6 @@ struct lpc32xx_eth_device {
 
 #define MII_MAX_PHY (MADR_PHY_MASK >> MADR_PHY_OFFSET)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if defined(CONFIG_PHYLIB) || defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
 /*
  * mii_reg_read - miiphy_read callback function.
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 505a2d1bee8e4cc5be80f9f9181283e2eccb83cc..82838c62f2485af8f20da4bdd31a25634c5db1a7 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -33,8 +33,6 @@
 #define BD_ENET_RX_W_E		(BD_ENET_RX_WRAP | BD_ENET_RX_EMPTY)
 #define BD_ENET_TX_RDY_LST	(BD_ENET_TX_READY | BD_ENET_TX_LAST)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct fec_info_s fec_info[] = {
 #ifdef CONFIG_SYS_FEC0_IOBASE
 	{
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 028fca966391c7d8b6839bdc653b0f40c7495522..11dbf5375b116e76843986b3b4d1e00a7664eb5f 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -10,8 +10,6 @@
 #include <stdio_dev.h>
 #include <net.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_NETCONSOLE_BUFFER_SIZE
 #define CONFIG_NETCONSOLE_BUFFER_SIZE 512
 #endif
diff --git a/drivers/net/phy/micrel_ksz8xxx.c b/drivers/net/phy/micrel_ksz8xxx.c
index ec628bb27ad5548b1271bde14214d371a8e36093..62a443117503918acd5399cc68e4871a8dfddee4 100644
--- a/drivers/net/phy/micrel_ksz8xxx.c
+++ b/drivers/net/phy/micrel_ksz8xxx.c
@@ -15,8 +15,6 @@
 #include <micrel.h>
 #include <phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct phy_driver KSZ804_driver = {
 	.name = "Micrel KSZ804",
 	.uid = 0x221510,
diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c
index b350a61aa64bb06bc30e175765d94f75adcdd06c..eb83cebbac0897e8d72aeb74a559f853a4f4ec24 100644
--- a/drivers/net/phy/micrel_ksz90x1.c
+++ b/drivers/net/phy/micrel_ksz90x1.c
@@ -17,8 +17,6 @@
 #include <micrel.h>
 #include <phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * KSZ9021 - KSZ9031 common
  */
diff --git a/drivers/pch/pch-uclass.c b/drivers/pch/pch-uclass.c
index af794eb5a128e845b84bd6fe996544b01feb43dd..0d3ce7f77c3cd180d753cae8bbb4cd34b7f5cd72 100644
--- a/drivers/pch/pch-uclass.c
+++ b/drivers/pch/pch-uclass.c
@@ -9,8 +9,6 @@
 #include <dm.h>
 #include <pch.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int pch_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
 	struct pch_ops *ops = pch_get_ops(dev);
diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c
index 69a4d81c2e5f05ef2d7799fcb46d7171f32a8440..864ac16f572be946705d1aa712aab612f3548767 100644
--- a/drivers/pci/pci-aardvark.c
+++ b/drivers/pci/pci-aardvark.c
@@ -131,8 +131,6 @@
 #define CFG_RD_UR_VAL			0xFFFFFFFF
 #define CFG_RD_CRS_VAL			0xFFFF0001
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct pcie_advk - Advk PCIe controller state
  *
diff --git a/drivers/pci/pci-emul-uclass.c b/drivers/pci/pci-emul-uclass.c
index dcea1924182db820d78fe4ad350f18683a62c6e7..f89acd41dcbe526938605685bcaa4db686cc87aa 100644
--- a/drivers/pci/pci-emul-uclass.c
+++ b/drivers/pci/pci-emul-uclass.c
@@ -12,8 +12,6 @@
 #include <pci.h>
 #include <dm/lists.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_pci_priv {
 	int dev_count;
 };
diff --git a/drivers/pci/pci_sandbox.c b/drivers/pci/pci_sandbox.c
index 6a84ee386d796e3422325824b02f357898bb0b44..cd7ed0069acc8429e739df221fb02e7372fedde0 100644
--- a/drivers/pci/pci_sandbox.c
+++ b/drivers/pci/pci_sandbox.c
@@ -11,8 +11,6 @@
 #include <inttypes.h>
 #include <pci.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int sandbox_pci_write_config(struct udevice *bus, pci_dev_t devfn,
 				    uint offset, ulong value,
 				    enum pci_size_t size)
diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c
index b5bd25ec563a0e36425ec5fba70bbc702f715423..2829b963b0e9777c7a9a8e6c442ca52469621ebc 100644
--- a/drivers/pci/pci_tegra.c
+++ b/drivers/pci/pci_tegra.c
@@ -43,8 +43,6 @@
  * use the new standard APIs, with no ifdefs.
  */
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define AFI_AXI_BAR0_SZ	0x00
 #define AFI_AXI_BAR1_SZ	0x04
 #define AFI_AXI_BAR2_SZ	0x08
diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c
index 15c9c89fd9e099ae77c8abb1b22351ab9ccd8841..de5a6ee82ab9132915017bd101d846aabac314c1 100644
--- a/drivers/phy/meson-gxl-usb2.c
+++ b/drivers/phy/meson-gxl-usb2.c
@@ -21,8 +21,6 @@
 #include <linux/bitops.h>
 #include <linux/compat.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* bits [31:27] are read-only */
 #define U2P_R0							0x0
 	#define U2P_R0_BYPASS_SEL				BIT(0)
diff --git a/drivers/phy/meson-gxl-usb3.c b/drivers/phy/meson-gxl-usb3.c
index a385fbdf126cae20fabe8471a711ff112df278d2..a85d747eed5b29fddf4f5cf5682987ba62d9f930 100644
--- a/drivers/phy/meson-gxl-usb3.c
+++ b/drivers/phy/meson-gxl-usb3.c
@@ -21,8 +21,6 @@
 #include <linux/compat.h>
 #include <linux/bitfield.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define USB_R0							0x00
 	#define USB_R0_P30_FSEL_MASK				GENMASK(5, 0)
 	#define USB_R0_P30_PHY_RESET				BIT(6)
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
index 68e518fc79008be1bbeff09cf71a6750447ee619..bdca4c0238ac037764e4228361a97b23ac1317f4 100644
--- a/drivers/phy/phy-uclass.c
+++ b/drivers/phy/phy-uclass.c
@@ -9,8 +9,6 @@
 #include <dm.h>
 #include <generic-phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline struct phy_ops *phy_dev_ops(struct udevice *dev)
 {
 	return (struct phy_ops *)dev->driver->ops;
diff --git a/drivers/phy/sandbox-phy.c b/drivers/phy/sandbox-phy.c
index 867c6fe7043bdd9466c671ed3dba44bc29f26de3..3ed6837e64a2c08b68b4ed96b44a5435d0041e94 100644
--- a/drivers/phy/sandbox-phy.c
+++ b/drivers/phy/sandbox-phy.c
@@ -9,8 +9,6 @@
 #include <dm.h>
 #include <generic-phy.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_phy_priv {
 	bool initialized;
 	bool on;
diff --git a/drivers/pinctrl/aspeed/pinctrl_ast2500.c b/drivers/pinctrl/aspeed/pinctrl_ast2500.c
index 01f97c1b48d1de64b2822043f22c021774ed9958..877f24b63fd7ee772b565e30704634d6f749fd42 100644
--- a/drivers/pinctrl/aspeed/pinctrl_ast2500.c
+++ b/drivers/pinctrl/aspeed/pinctrl_ast2500.c
@@ -12,8 +12,6 @@
 #include <asm/arch/scu_ast2500.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * This driver works with very simple configuration that has the same name
  * for group and function. This way it is compatible with the Linux Kernel
diff --git a/drivers/pinctrl/exynos/pinctrl-exynos7420.c b/drivers/pinctrl/exynos/pinctrl-exynos7420.c
index 8ae5ce776a4452d2de965e2f234a155ae835dcfc..bcbe1a0529e96973c703c2ded9fda43e90acb6f9 100644
--- a/drivers/pinctrl/exynos/pinctrl-exynos7420.c
+++ b/drivers/pinctrl/exynos/pinctrl-exynos7420.c
@@ -16,8 +16,6 @@
 #include <asm/arch/pinmux.h>
 #include "pinctrl-exynos.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define	GPD1_OFFSET	0xc0
 
 static struct exynos_pinctrl_config_data serial2_conf[] = {
diff --git a/drivers/pinctrl/renesas/pfc.c b/drivers/pinctrl/renesas/pfc.c
index 6194e6522e73668e9b3b0b03d7278f69a5dd33ca..7d2e3261488e5c03ba445933b6b81aeb74076d92 100644
--- a/drivers/pinctrl/renesas/pfc.c
+++ b/drivers/pinctrl/renesas/pfc.c
@@ -21,8 +21,6 @@
 
 #include "sh_pfc.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum sh_pfc_model {
 	SH_PFC_R8A7790 = 0,
 	SH_PFC_R8A7791,
diff --git a/drivers/pinctrl/rockchip/pinctrl_rk3036.c b/drivers/pinctrl/rockchip/pinctrl_rk3036.c
index 7e93d85dbb9d0673cced93cbc9ee9b5b4c49e61e..e66ee9902ad2af4b534f51b0d760705e4e1396f6 100644
--- a/drivers/pinctrl/rockchip/pinctrl_rk3036.c
+++ b/drivers/pinctrl/rockchip/pinctrl_rk3036.c
@@ -16,8 +16,6 @@
 #include <asm/arch/periph.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* GRF_GPIO0A_IOMUX */
 enum {
 	GPIO0A3_SHIFT		= 6,
diff --git a/drivers/pinctrl/rockchip/pinctrl_rk3328.c b/drivers/pinctrl/rockchip/pinctrl_rk3328.c
index fa2356a7a1aa5264b0574fa8d6c8f4a550115f78..0a478a8a99a02e399964de9cee1c74dec4aec1c9 100644
--- a/drivers/pinctrl/rockchip/pinctrl_rk3328.c
+++ b/drivers/pinctrl/rockchip/pinctrl_rk3328.c
@@ -15,8 +15,6 @@
 #include <asm/io.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	/* GPIO0A_IOMUX */
 	GPIO0A5_SEL_SHIFT	= 10,
diff --git a/drivers/pinctrl/rockchip/pinctrl_rk3368.c b/drivers/pinctrl/rockchip/pinctrl_rk3368.c
index 25249e377a6459ac58e4ebe7a582621322863e37..a03827af2c4b63e35d2294d9e7459dbba52d53cf 100644
--- a/drivers/pinctrl/rockchip/pinctrl_rk3368.c
+++ b/drivers/pinctrl/rockchip/pinctrl_rk3368.c
@@ -17,8 +17,6 @@
 #include <asm/arch/periph.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* PMUGRF_GPIO0B_IOMUX */
 enum {
 	GPIO0B5_SHIFT           = 10,
diff --git a/drivers/pinctrl/rockchip/pinctrl_rk3399.c b/drivers/pinctrl/rockchip/pinctrl_rk3399.c
index c7052257aa4abb3435cc746de8caa8418015862d..929035e6757ff6ea319ebecda4992f6a5a23a87b 100644
--- a/drivers/pinctrl/rockchip/pinctrl_rk3399.c
+++ b/drivers/pinctrl/rockchip/pinctrl_rk3399.c
@@ -15,8 +15,6 @@
 #include <asm/arch/clock.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rk3399_pinctrl_priv {
 	struct rk3399_grf_regs *grf;
 	struct rk3399_pmugrf_regs *pmugrf;
diff --git a/drivers/pinctrl/rockchip/pinctrl_rv1108.c b/drivers/pinctrl/rockchip/pinctrl_rv1108.c
index 035f01a61cf7bc2395b487353b99fd96aab5fb71..4c81bec15b855495f4032ddc751a3786728d6d44 100644
--- a/drivers/pinctrl/rockchip/pinctrl_rv1108.c
+++ b/drivers/pinctrl/rockchip/pinctrl_rv1108.c
@@ -14,8 +14,6 @@
 #include <asm/arch/periph.h>
 #include <dm/pinctrl.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rv1108_pinctrl_priv {
 	struct rv1108_grf *grf;
 };
diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c
index 1847a492a37a5b2c581548cc523561383687c5fd..36a374a1b63813ea964734d5a7e2e841162da744 100644
--- a/drivers/power/domain/power-domain-uclass.c
+++ b/drivers/power/domain/power-domain-uclass.c
@@ -9,8 +9,6 @@
 #include <power-domain.h>
 #include <power-domain-uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline struct power_domain_ops *power_domain_dev_ops(struct udevice *dev)
 {
 	return (struct power_domain_ops *)dev->driver->ops;
diff --git a/drivers/power/pmic/act8846.c b/drivers/power/pmic/act8846.c
index 7d107f4427e87e6f123a601c1086e3c5cc6f26c1..c233ac08b15457293828d0a616603c79a3818cb5 100644
--- a/drivers/power/pmic/act8846.c
+++ b/drivers/power/pmic/act8846.c
@@ -13,8 +13,6 @@
 #include <power/act8846_pmic.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "REG", .driver = "act8846_reg"},
 	{ },
diff --git a/drivers/power/pmic/i2c_pmic_emul.c b/drivers/power/pmic/i2c_pmic_emul.c
index 38a2a04f177660da2777b8604d8317b643db6f8c..c58ebb8825efe30090872d9c57b797ec6ed5b10b 100644
--- a/drivers/power/pmic/i2c_pmic_emul.c
+++ b/drivers/power/pmic/i2c_pmic_emul.c
@@ -12,8 +12,6 @@
 #include <power/pmic.h>
 #include <power/sandbox_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct sandbox_i2c_pmic_plat_data - platform data for the PMIC
  *
diff --git a/drivers/power/pmic/lp873x.c b/drivers/power/pmic/lp873x.c
index 95c2b7e8c74ce600685a51bf78fcd4a73c573615..ec7b9bf29fd90755b5983be95a029002bb1b6bc0 100644
--- a/drivers/power/pmic/lp873x.c
+++ b/drivers/power/pmic/lp873x.c
@@ -15,8 +15,6 @@
 #include <power/lp873x.h>
 #include <dm/device.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "ldo", .driver = LP873X_LDO_DRIVER },
 	{ .prefix = "buck", .driver = LP873X_BUCK_DRIVER },
diff --git a/drivers/power/pmic/lp87565.c b/drivers/power/pmic/lp87565.c
index 506769e362673608b27aee1358a76b544e8d14b5..7c02f38ed867ade8680565a8299cf380843b47c0 100644
--- a/drivers/power/pmic/lp87565.c
+++ b/drivers/power/pmic/lp87565.c
@@ -15,8 +15,6 @@
 #include <power/lp87565.h>
 #include <dm/device.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "buck", .driver = LP87565_BUCK_DRIVER },
 	{ },
diff --git a/drivers/power/pmic/max77686.c b/drivers/power/pmic/max77686.c
index b3ed84992ff8a21db37f6d656c5e12599f9919c4..f4e0f7034d915cb34d2c502a7fc898385c362117 100644
--- a/drivers/power/pmic/max77686.c
+++ b/drivers/power/pmic/max77686.c
@@ -14,8 +14,6 @@
 #include <power/regulator.h>
 #include <power/max77686_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "LDO", .driver = MAX77686_LDO_DRIVER },
 	{ .prefix = "BUCK", .driver = MAX77686_BUCK_DRIVER },
diff --git a/drivers/power/pmic/max8997.c b/drivers/power/pmic/max8997.c
index 5ebeb8a316be0f1ba1c8641aa58144f8c817f015..66c1c15a2d3d9323d98f38169a5d545c12b4bc33 100644
--- a/drivers/power/pmic/max8997.c
+++ b/drivers/power/pmic/max8997.c
@@ -12,8 +12,6 @@
 #include <power/max8997_pmic.h>
 #include <errno.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int max8997_reg_count(struct udevice *dev)
 {
 	return PMIC_NUM_OF_REGS;
diff --git a/drivers/power/pmic/max8998.c b/drivers/power/pmic/max8998.c
index a7e04699e8ba4212b0f4ebccf6655172af6b9790..8dd7e4886a6d8e9f8de635c007b1e7dca58ab9ef 100644
--- a/drivers/power/pmic/max8998.c
+++ b/drivers/power/pmic/max8998.c
@@ -12,8 +12,6 @@
 #include <power/pmic.h>
 #include <power/max8998_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int max8998_reg_count(struct udevice *dev)
 {
 	return PMIC_NUM_OF_REGS;
diff --git a/drivers/power/pmic/palmas.c b/drivers/power/pmic/palmas.c
index 1e1ecb382e3a9e87816ae009f510f2c9bff724c3..7e3b25d2c7fe323f9e8aa4b0a454668bfda59b24 100644
--- a/drivers/power/pmic/palmas.c
+++ b/drivers/power/pmic/palmas.c
@@ -15,8 +15,6 @@
 #include <power/palmas.h>
 #include <dm/device.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "ldo", .driver = PALMAS_LDO_DRIVER },
 	{ .prefix = "smps", .driver = PALMAS_SMPS_DRIVER },
diff --git a/drivers/power/pmic/pfuze100.c b/drivers/power/pmic/pfuze100.c
index a06cbc07d491884089f91dd6daf40a378ad59878..32b8f71c3e4ad551a111716dab1913ce19597f71 100644
--- a/drivers/power/pmic/pfuze100.c
+++ b/drivers/power/pmic/pfuze100.c
@@ -14,8 +14,6 @@
 #include <power/regulator.h>
 #include <power/pfuze100_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	/* sw[x], swbst */
 	{ .prefix = "s", .driver = PFUZE100_REGULATOR_DRIVER },
diff --git a/drivers/power/pmic/pm8916.c b/drivers/power/pmic/pm8916.c
index a048bbe7ce1dfb53bd22ffd0b9910dcc02a42add..cd7c90614815205a31391cbcd4852f720f51d0f4 100644
--- a/drivers/power/pmic/pm8916.c
+++ b/drivers/power/pmic/pm8916.c
@@ -10,8 +10,6 @@
 #include <power/pmic.h>
 #include <spmi/spmi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define PID_SHIFT 8
 #define PID_MASK (0xFF << PID_SHIFT)
 #define REG_MASK 0xFF
diff --git a/drivers/power/pmic/pmic-uclass.c b/drivers/power/pmic/pmic-uclass.c
index 9347b4068897e8fca645f8974dc70f7a1b39b7f2..5e8f6d619046818ee205f0b0a25e17c97c577a56 100644
--- a/drivers/power/pmic/pmic-uclass.c
+++ b/drivers/power/pmic/pmic-uclass.c
@@ -16,8 +16,6 @@
 #include <power/pmic.h>
 #include <linux/ctype.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #if CONFIG_IS_ENABLED(PMIC_CHILDREN)
 int pmic_bind_children(struct udevice *pmic, ofnode parent,
 		       const struct pmic_child_info *child_info)
diff --git a/drivers/power/pmic/pmic_tps65910_dm.c b/drivers/power/pmic/pmic_tps65910_dm.c
index c65f38f107f27a7b49d785914edf369b476e35b9..b0d0c5e94461d5d926017b60dfc5ee011c4bd4ba 100644
--- a/drivers/power/pmic/pmic_tps65910_dm.c
+++ b/drivers/power/pmic/pmic_tps65910_dm.c
@@ -11,8 +11,6 @@
 #include <power/regulator.h>
 #include <power/tps65910_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "ldo_", .driver = TPS65910_LDO_DRIVER },
 	{ .prefix = "buck_", .driver = TPS65910_BUCK_DRIVER },
diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
index 735046dc43d869d20f451eca19cb6ff9937605aa..c83c8cf7bb3859c093d32d33fb126b9956441ba4 100644
--- a/drivers/power/pmic/rk8xx.c
+++ b/drivers/power/pmic/rk8xx.c
@@ -11,8 +11,6 @@
 #include <power/rk8xx_pmic.h>
 #include <power/pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "DCDC_REG", .driver = "rk8xx_buck"},
 	{ .prefix = "LDO_REG", .driver = "rk8xx_ldo"},
diff --git a/drivers/power/pmic/s2mps11.c b/drivers/power/pmic/s2mps11.c
index 3f9525b67d6ba34063156442278b6de09369db3a..13b3f908a4974c2d9403afef38d39c6a15f55b42 100644
--- a/drivers/power/pmic/s2mps11.c
+++ b/drivers/power/pmic/s2mps11.c
@@ -13,8 +13,6 @@
 #include <power/pmic.h>
 #include <power/s2mps11.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = S2MPS11_OF_LDO_PREFIX, .driver = S2MPS11_LDO_DRIVER },
 	{ .prefix = S2MPS11_OF_BUCK_PREFIX, .driver = S2MPS11_BUCK_DRIVER },
diff --git a/drivers/power/pmic/s5m8767.c b/drivers/power/pmic/s5m8767.c
index 3812e240ab085340b2ee932132690dce6dbe3041..e3bf3a638fbf8fcaabc42b76c1638dedb8345fe9 100644
--- a/drivers/power/pmic/s5m8767.c
+++ b/drivers/power/pmic/s5m8767.c
@@ -13,8 +13,6 @@
 #include <power/regulator.h>
 #include <power/s5m8767.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "LDO", .driver = S5M8767_LDO_DRIVER },
 	{ .prefix = "BUCK", .driver = S5M8767_BUCK_DRIVER },
diff --git a/drivers/power/pmic/sandbox.c b/drivers/power/pmic/sandbox.c
index e8d6faca160caf27ae3aecc84c11b8d13f4b8ea6..80209d3d918fecc95776cc660a612c2144170181 100644
--- a/drivers/power/pmic/sandbox.c
+++ b/drivers/power/pmic/sandbox.c
@@ -14,8 +14,6 @@
 #include <power/regulator.h>
 #include <power/sandbox_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = SANDBOX_OF_LDO_PREFIX, .driver = SANDBOX_LDO_DRIVER },
 	{ .prefix = SANDBOX_OF_BUCK_PREFIX, .driver = SANDBOX_BUCK_DRIVER },
diff --git a/drivers/power/pmic/tps65090.c b/drivers/power/pmic/tps65090.c
index ee5358bcedc8f82da8f70204f723d363e3fce7f2..1b0fd991fad2175485bcd36d8914acfd33766874 100644
--- a/drivers/power/pmic/tps65090.c
+++ b/drivers/power/pmic/tps65090.c
@@ -13,8 +13,6 @@
 #include <power/pmic.h>
 #include <power/tps65090.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct pmic_child_info pmic_children_info[] = {
 	{ .prefix = "fet", .driver = TPS65090_FET_DRIVER },
 	{ },
diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c
index 97b4a98bf0b63799ede846e15bfc0817493fe6d2..eec1914c1da4946604100a90e87ad22332832c25 100644
--- a/drivers/power/regulator/fixed.c
+++ b/drivers/power/regulator/fixed.c
@@ -14,8 +14,6 @@
 #include <power/pmic.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct fixed_regulator_platdata {
 	struct gpio_desc gpio; /* GPIO for regulator enable control */
 	unsigned int startup_delay_us;
diff --git a/drivers/power/regulator/lp873x_regulator.c b/drivers/power/regulator/lp873x_regulator.c
index 11371a7b8baaa2891f3aabc85ca62cb54c85f6c1..ba2dbd71d18e86370140b1319ad6263ef04aba3e 100644
--- a/drivers/power/regulator/lp873x_regulator.c
+++ b/drivers/power/regulator/lp873x_regulator.c
@@ -16,8 +16,6 @@
 #include <power/regulator.h>
 #include <power/lp873x.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char lp873x_buck_ctrl[LP873X_BUCK_NUM] = {0x2, 0x4};
 static const char lp873x_buck_volt[LP873X_BUCK_NUM] = {0x6, 0x7};
 static const char lp873x_ldo_ctrl[LP873X_LDO_NUM] = {0x8, 0x9};
diff --git a/drivers/power/regulator/lp87565_regulator.c b/drivers/power/regulator/lp87565_regulator.c
index d908f6d1fb2c1e720237db153473dea49234a5ae..94f09f5994e82bd5cd8ca3608a758c41a3479f22 100644
--- a/drivers/power/regulator/lp87565_regulator.c
+++ b/drivers/power/regulator/lp87565_regulator.c
@@ -16,8 +16,6 @@
 #include <power/regulator.h>
 #include <power/lp87565.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char lp87565_buck_ctrl1[LP87565_BUCK_NUM] = {0x2, 0x4, 0x6, 0x8, 0x2, 0x6};
 static const char lp87565_buck_vout[LP87565_BUCK_NUM] = {0xA, 0xC, 0xE, 0x10, 0xA, 0xE };
 
diff --git a/drivers/power/regulator/max77686.c b/drivers/power/regulator/max77686.c
index 2212d36ed6a91a0324c93b29f9cc788c52717988..6e4ac02036e41573d0d64a6ca326755638976cdf 100644
--- a/drivers/power/regulator/max77686.c
+++ b/drivers/power/regulator/max77686.c
@@ -16,8 +16,6 @@
 #include <power/regulator.h>
 #include <power/max77686_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MODE(_id, _val, _name) { \
 	.id = _id, \
 	.register_value = _val, \
diff --git a/drivers/power/regulator/palmas_regulator.c b/drivers/power/regulator/palmas_regulator.c
index 24a797723632d81be5a468647b6746bc1b2704bb..45c006c5b7defc9a372a893008067c5c667a0c79 100644
--- a/drivers/power/regulator/palmas_regulator.c
+++ b/drivers/power/regulator/palmas_regulator.c
@@ -16,8 +16,6 @@
 #include <power/regulator.h>
 #include <power/palmas.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define	REGULATOR_ON		0x1
 #define	REGULATOR_OFF		0x0
 
diff --git a/drivers/power/regulator/pbias_regulator.c b/drivers/power/regulator/pbias_regulator.c
index adf589b224969443e2f172347b70dd54d16fbe67..1e042ad71241a903ee64c47e9539de496998bf2c 100644
--- a/drivers/power/regulator/pbias_regulator.c
+++ b/drivers/power/regulator/pbias_regulator.c
@@ -16,8 +16,6 @@
 #include <linux/ioport.h>
 #include <dm/read.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct pbias_reg_info {
 	u32 enable;
 	u32 enable_mask;
diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
index 426a933d66d688cd6402eb1b0a7b3d70e6cf47b0..b9e2d20e329247635084c9b1e2dc69b7c890fd27 100644
--- a/drivers/power/regulator/regulator-uclass.c
+++ b/drivers/power/regulator/regulator-uclass.c
@@ -12,8 +12,6 @@
 #include <power/pmic.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int regulator_mode(struct udevice *dev, struct dm_regulator_mode **modep)
 {
 	struct dm_regulator_uclass_platdata *uc_pdata;
diff --git a/drivers/power/regulator/s2mps11_regulator.c b/drivers/power/regulator/s2mps11_regulator.c
index 3af20e60dd0f7abb51d5e1cceee35f44cc63c5d1..477f0f6225ca7031aef2c6d1133708124726ce9e 100644
--- a/drivers/power/regulator/s2mps11_regulator.c
+++ b/drivers/power/regulator/s2mps11_regulator.c
@@ -14,8 +14,6 @@
 #include <power/regulator.h>
 #include <power/s2mps11.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MODE(_id, _val, _name) { \
 	.id = _id, \
 	.register_value = _val, \
diff --git a/drivers/power/regulator/s5m8767.c b/drivers/power/regulator/s5m8767.c
index 871da122b4485c4fbf90cdb948051fc2591bfbae..89ad587610bcc899a14efb380749efef1b6de0cd 100644
--- a/drivers/power/regulator/s5m8767.c
+++ b/drivers/power/regulator/s5m8767.c
@@ -13,8 +13,6 @@
 #include <power/regulator.h>
 #include <power/s5m8767.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct sec_voltage_desc buck_v1 = {
 	.max = 2225000,
 	.min =  650000,
diff --git a/drivers/power/regulator/sandbox.c b/drivers/power/regulator/sandbox.c
index f980a17389ebbec62be112cdd442e99cb0812697..ab30c50fcc522e45b11ebd31b101b6ee70177ba5 100644
--- a/drivers/power/regulator/sandbox.c
+++ b/drivers/power/regulator/sandbox.c
@@ -14,8 +14,6 @@
 #include <power/regulator.h>
 #include <power/sandbox_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MODE(_id, _val, _name) [_id] = {  \
 	.id = _id,                \
 	.register_value = _val,   \
diff --git a/drivers/pwm/exynos_pwm.c b/drivers/pwm/exynos_pwm.c
index 9520a14387d9e97e33a10795b8eac424c317a522..127575263ae9b51510d01ea5f25edc3533d357e6 100644
--- a/drivers/pwm/exynos_pwm.c
+++ b/drivers/pwm/exynos_pwm.c
@@ -12,8 +12,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/pwm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct exynos_pwm_priv {
 	struct s5p_timer *regs;
 };
diff --git a/drivers/pwm/rk_pwm.c b/drivers/pwm/rk_pwm.c
index 7d3e11d667412d5b4dc966232cf7d330600a975e..4c1ee6739e6dcaff937eee6c7e897787e357c2fe 100644
--- a/drivers/pwm/rk_pwm.c
+++ b/drivers/pwm/rk_pwm.c
@@ -16,8 +16,6 @@
 #include <asm/arch/pwm.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rk_pwm_priv {
 	struct rk3288_pwm *regs;
 	ulong freq;
diff --git a/drivers/pwm/sandbox_pwm.c b/drivers/pwm/sandbox_pwm.c
index fcb10845515650ba51f439325393d2188e87faa2..48f169842b3f4a2addda71d8384a380aed0cdbf0 100644
--- a/drivers/pwm/sandbox_pwm.c
+++ b/drivers/pwm/sandbox_pwm.c
@@ -11,8 +11,6 @@
 #include <pwm.h>
 #include <asm/test.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	NUM_CHANNELS	= 3,
 };
diff --git a/drivers/pwm/tegra_pwm.c b/drivers/pwm/tegra_pwm.c
index b8acc1583f9deb8d45acea8ba6f2b9868fb8b53b..2119e1d5689d81f6b798eff73cc0c71e4a8aea3f 100644
--- a/drivers/pwm/tegra_pwm.c
+++ b/drivers/pwm/tegra_pwm.c
@@ -11,8 +11,6 @@
 #include <asm/arch/clock.h>
 #include <asm/arch/pwm.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct tegra_pwm_priv {
 	struct pwm_ctlr *regs;
 };
diff --git a/drivers/ram/rockchip/dmc-rk3368.c b/drivers/ram/rockchip/dmc-rk3368.c
index bfcb1ddefe3d4916d287791fe9508e375f1560b2..6cd2f16cf2749aa860affbaac59c03d564dde2be 100644
--- a/drivers/ram/rockchip/dmc-rk3368.c
+++ b/drivers/ram/rockchip/dmc-rk3368.c
@@ -20,8 +20,6 @@
 #include <asm/arch/sdram.h>
 #include <asm/arch/sdram_common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct dram_info {
 	struct ram_info info;
 	struct clk ddr_clk;
diff --git a/drivers/ram/rockchip/sdram_rk3128.c b/drivers/ram/rockchip/sdram_rk3128.c
index a33127f4b0516899e16283e52645715b57f77c71..eec1ebaabe7f14ccfbe57e21da9288cc91d9bdce 100644
--- a/drivers/ram/rockchip/sdram_rk3128.c
+++ b/drivers/ram/rockchip/sdram_rk3128.c
@@ -12,7 +12,6 @@
 #include <asm/arch/grf_rk3128.h>
 #include <asm/arch/sdram_common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 struct dram_info {
 	struct ram_info info;
 	struct rk3128_grf *grf;
diff --git a/drivers/ram/rockchip/sdram_rk3188.c b/drivers/ram/rockchip/sdram_rk3188.c
index 365d00ef542440796f65b38bde0ab7360d37170e..0bc05ba9dce992499d77faf0dbaffda9bc42a351 100644
--- a/drivers/ram/rockchip/sdram_rk3188.c
+++ b/drivers/ram/rockchip/sdram_rk3188.c
@@ -25,8 +25,6 @@
 #include <asm/arch/sdram_common.h>
 #include <linux/err.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct chan_info {
 	struct rk3288_ddr_pctl *pctl;
 	struct rk3288_ddr_publ *publ;
diff --git a/drivers/ram/rockchip/sdram_rk3288.c b/drivers/ram/rockchip/sdram_rk3288.c
index 95efb117fc17c439327bdc485d3749b22e69f148..d99bf12476283827e0329ef3d4174cff455af54a 100644
--- a/drivers/ram/rockchip/sdram_rk3288.c
+++ b/drivers/ram/rockchip/sdram_rk3288.c
@@ -27,8 +27,6 @@
 #include <power/regulator.h>
 #include <power/rk8xx_pmic.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct chan_info {
 	struct rk3288_ddr_pctl *pctl;
 	struct rk3288_ddr_publ *publ;
diff --git a/drivers/ram/rockchip/sdram_rk3328.c b/drivers/ram/rockchip/sdram_rk3328.c
index 9637a35e2314fa664abeeb4fc9688cf1a232a0af..292903ae1f777ec01a0a623b673a56b2bdc988bb 100644
--- a/drivers/ram/rockchip/sdram_rk3328.c
+++ b/drivers/ram/rockchip/sdram_rk3328.c
@@ -12,7 +12,6 @@
 #include <asm/arch/grf_rk3328.h>
 #include <asm/arch/sdram_common.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 struct dram_info {
 	struct ram_info info;
 	struct rk3328_grf_regs *grf;
diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
index 5cb470c209f24a0bbc2ea490c6ec8319e4d9af1a..65191c69b86606b31508cc237edb034f1621731f 100644
--- a/drivers/ram/rockchip/sdram_rk3399.c
+++ b/drivers/ram/rockchip/sdram_rk3399.c
@@ -23,7 +23,6 @@
 #include <linux/err.h>
 #include <time.h>
 
-DECLARE_GLOBAL_DATA_PTR;
 struct chan_info {
 	struct rk3399_ddr_pctl_regs *pctl;
 	struct rk3399_ddr_pi_regs *pi;
diff --git a/drivers/ram/stm32_sdram.c b/drivers/ram/stm32_sdram.c
index ec2edd67dd19cf150d90bcff357c2a0332f78dd5..62282c613860e244fd8d7c88c8d015e139eb1bfe 100644
--- a/drivers/ram/stm32_sdram.c
+++ b/drivers/ram/stm32_sdram.c
@@ -14,8 +14,6 @@
 #define MEM_MODE_MASK	GENMASK(2, 0)
 #define NOT_FOUND	0xff
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct stm32_fmc_regs {
 	/* 0x0 */
 	u32 bcr1;	/* NOR/PSRAM Chip select control register 1 */
diff --git a/drivers/ram/stm32mp1/stm32mp1_ram.c b/drivers/ram/stm32mp1/stm32mp1_ram.c
index 9599444650afe6d98e62883d822ed646e1b40946..4dc84d0e29175132842396eac40f83664509ac8a 100644
--- a/drivers/ram/stm32mp1/stm32mp1_ram.c
+++ b/drivers/ram/stm32mp1/stm32mp1_ram.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include "stm32mp1_ddr.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const char *const clkname[] = {
 	"ddrc1",
 	"ddrc2",
diff --git a/drivers/reset/ast2500-reset.c b/drivers/reset/ast2500-reset.c
index b2c89e1f1e2992f4261cfc5f7a6203e34374351a..36d32469addb4de6b170d59511ab4874bb180078 100644
--- a/drivers/reset/ast2500-reset.c
+++ b/drivers/reset/ast2500-reset.c
@@ -14,8 +14,6 @@
 #include <asm/arch/scu_ast2500.h>
 #include <asm/arch/wdt.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct ast2500_reset_priv {
 	/* WDT used to perform resets. */
 	struct udevice *wdt;
diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c
index fa4f6538edd7fe6972839727f22e9787f775a0fa..05879c6ada6041d2e8bbb7572464011430698ff6 100644
--- a/drivers/reset/reset-uclass.c
+++ b/drivers/reset/reset-uclass.c
@@ -10,8 +10,6 @@
 #include <reset.h>
 #include <reset-uclass.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static inline struct reset_ops *reset_dev_ops(struct udevice *dev)
 {
 	return (struct reset_ops *)dev->driver->ops;
diff --git a/drivers/rtc/i2c_rtc_emul.c b/drivers/rtc/i2c_rtc_emul.c
index 0e06c97367a2e9cd88e82fd7b321da1c72279e97..2e69a5b9572e3cb5c42a8000be594cb2b3f815aa 100644
--- a/drivers/rtc/i2c_rtc_emul.c
+++ b/drivers/rtc/i2c_rtc_emul.c
@@ -28,8 +28,6 @@
 #define debug_buffer(x, ...)
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * struct sandbox_i2c_rtc_plat_data - platform data for the RTC
  *
diff --git a/drivers/serial/altera_jtag_uart.c b/drivers/serial/altera_jtag_uart.c
index 4a6e60f87efe81c3d474aa1b88c0bbdb1e1cce2a..b18300e61606bac65f9ca47897277eee8706d41e 100644
--- a/drivers/serial/altera_jtag_uart.c
+++ b/drivers/serial/altera_jtag_uart.c
@@ -11,8 +11,6 @@
 #include <serial.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* data register */
 #define ALTERA_JTAG_RVALID	BIT(15)	/* Read valid */
 
diff --git a/drivers/serial/lpc32xx_hsuart.c b/drivers/serial/lpc32xx_hsuart.c
index b42537529de85c10e44c522e2a5775523473e0cb..1d3e928bb1e9018294dce00b8de5d5c944393823 100644
--- a/drivers/serial/lpc32xx_hsuart.c
+++ b/drivers/serial/lpc32xx_hsuart.c
@@ -12,8 +12,6 @@
 #include <asm/arch/uart.h>
 #include <linux/compiler.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct lpc32xx_hsuart_priv {
 	struct hsuart_regs *hsuart;
 };
diff --git a/drivers/serial/serial_meson.c b/drivers/serial/serial_meson.c
index 6412ca6496366b3678eee8b4dac63e5288973078..a363cd9a1f48ba94ae876b3eecbee5406c34eaac 100644
--- a/drivers/serial/serial_meson.c
+++ b/drivers/serial/serial_meson.c
@@ -11,8 +11,6 @@
 #include <linux/compiler.h>
 #include <serial.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct meson_uart {
 	u32 wfifo;
 	u32 rfifo;
diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c
index 286b954fdd74cfb98a93d573a1de1fca374aa90b..dfef0d47e5f1f26c8dd8865370816df373214a6f 100644
--- a/drivers/serial/serial_stm32.c
+++ b/drivers/serial/serial_stm32.c
@@ -13,8 +13,6 @@
 #include <asm/arch/stm32.h>
 #include "serial_stm32.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int stm32_serial_setbrg(struct udevice *dev, int baudrate)
 {
 	struct stm32x7_serial_platdata *plat = dev_get_platdata(dev);
diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c
index fedd2a9df599874473362ce6d3449062f7a82b0b..ec828e6784de71ea9dfb549b6f2d36fe0d4a5035 100644
--- a/drivers/serial/serial_xuartlite.c
+++ b/drivers/serial/serial_xuartlite.c
@@ -15,8 +15,6 @@
 #include <linux/compiler.h>
 #include <serial.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define SR_TX_FIFO_FULL		BIT(3) /* transmit FIFO full */
 #define SR_TX_FIFO_EMPTY	BIT(2) /* transmit FIFO empty */
 #define SR_RX_FIFO_VALID_DATA	BIT(0) /* data in receive FIFO */
diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c
index 4e86e5c2a1abef1a0d449b67d5a5af27e0d3b301..68c5c8541d33b1b06f16b75d9915fe64953d9eaf 100644
--- a/drivers/serial/serial_zynq.c
+++ b/drivers/serial/serial_zynq.c
@@ -17,8 +17,6 @@
 #include <serial.h>
 #include <asm/arch/hardware.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define ZYNQ_UART_SR_TXEMPTY	(1 << 3) /* TX FIFO empty */
 #define ZYNQ_UART_SR_TXACTIVE	(1 << 11)  /* TX active */
 #define ZYNQ_UART_SR_RXEMPTY	0x00000002 /* RX FIFO empty */
diff --git a/drivers/spi/altera_spi.c b/drivers/spi/altera_spi.c
index c8dcb82150c135232cd4aec2beb34e628aa33764..f729347ee24a3104c520b842c4ca5e7d09ee0313 100644
--- a/drivers/spi/altera_spi.c
+++ b/drivers/spi/altera_spi.c
@@ -15,8 +15,6 @@
 #include <spi.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define ALTERA_SPI_STATUS_RRDY_MSK	BIT(7)
 #define ALTERA_SPI_CONTROL_SSO_MSK	BIT(10)
 
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index 3cdfd366ab8b84aed950de11b392b055a34375e1..445d8652f903ba40e756174f7868833da50f87b0 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -24,8 +24,6 @@
 
 #include "atmel_spi.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_DM_SPI
 
 static int spi_has_wdrbt(struct atmel_spi_slave *slave)
diff --git a/drivers/spi/rk_spi.c b/drivers/spi/rk_spi.c
index 03d3fa6763da0bd1c3a103512732fd3fa2ffa37a..71a665ecd415c6d208972a778d91d2ccc1eb6b05 100644
--- a/drivers/spi/rk_spi.c
+++ b/drivers/spi/rk_spi.c
@@ -22,8 +22,6 @@
 #include <dm/pinctrl.h>
 #include "rk_spi.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Change to 1 to output registers at the start of each transaction */
 #define DEBUG_RK_SPI	0
 
diff --git a/drivers/spi/sandbox_spi.c b/drivers/spi/sandbox_spi.c
index 092b13b00bf65e8153b7cc8394da2d757057cd69..75ba6a1ed7ef2000cf691dbd4c19ae7181798b50 100644
--- a/drivers/spi/sandbox_spi.c
+++ b/drivers/spi/sandbox_spi.c
@@ -20,8 +20,6 @@
 #include <asm/state.h>
 #include <dm/device-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_SPI_IDLE_VAL
 # define CONFIG_SPI_IDLE_VAL 0xFF
 #endif
diff --git a/drivers/spi/tegra114_spi.c b/drivers/spi/tegra114_spi.c
index 04b4fce0612bbd14221f595ae3e65d73beb22e0f..faf609bba5cb4794922e7f90ca7d33258dad191f 100644
--- a/drivers/spi/tegra114_spi.c
+++ b/drivers/spi/tegra114_spi.c
@@ -14,8 +14,6 @@
 #include <spi.h>
 #include "tegra_spi.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* COMMAND1 */
 #define SPI_CMD1_GO			BIT(31)
 #define SPI_CMD1_M_S			BIT(30)
diff --git a/drivers/spmi/spmi-sandbox.c b/drivers/spmi/spmi-sandbox.c
index 980aff2063a5308dc89647865caa7d0fd3dbbf4a..a938e50d226e152ee77665579d57046ed7b8ad02 100644
--- a/drivers/spmi/spmi-sandbox.c
+++ b/drivers/spmi/spmi-sandbox.c
@@ -15,8 +15,6 @@
 #include <asm/gpio.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define EMUL_GPIO_PID_START 0xC0
 #define EMUL_GPIO_PID_END   0xC3
 
diff --git a/drivers/spmi/spmi-uclass.c b/drivers/spmi/spmi-uclass.c
index 6edece23d82bf991d0cf0d484cbd60c2b2142475..e74cd79961a3ab3109559537864d4f9292c61a1a 100644
--- a/drivers/spmi/spmi-uclass.c
+++ b/drivers/spmi/spmi-uclass.c
@@ -12,8 +12,6 @@
 #include <spmi/spmi.h>
 #include <linux/ctype.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int spmi_reg_read(struct udevice *dev, int usid, int pid, int reg)
 {
 	const struct dm_spmi_ops *ops = dev_get_driver_ops(dev);
diff --git a/drivers/sysreset/sysreset_sandbox.c b/drivers/sysreset/sysreset_sandbox.c
index 12b3e5f86eb0fbc940d57f8200ae68360f819e50..207cc282f1559fd92809b853cc879518bf17eb98 100644
--- a/drivers/sysreset/sysreset_sandbox.c
+++ b/drivers/sysreset/sysreset_sandbox.c
@@ -12,8 +12,6 @@
 #include <asm/state.h>
 #include <asm/test.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int sandbox_warm_sysreset_request(struct udevice *dev,
 					 enum sysreset_t type)
 {
diff --git a/drivers/timer/ag101p_timer.c b/drivers/timer/ag101p_timer.c
index 8dc85c4183ccd166e797598a1a626a0e7441b0e0..f9ff5c15b41c94d767ad8b19488c009f39a33b67 100644
--- a/drivers/timer/ag101p_timer.c
+++ b/drivers/timer/ag101p_timer.c
@@ -12,8 +12,6 @@
 #include <timer.h>
 #include <linux/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Timer Control Register
  */
diff --git a/drivers/timer/altera_timer.c b/drivers/timer/altera_timer.c
index 1ba85c439965d571fa10bdae4739a6b1aa55d3f4..f80debb2d7f86648e7b4bd33196545f64b563e53 100644
--- a/drivers/timer/altera_timer.c
+++ b/drivers/timer/altera_timer.c
@@ -14,8 +14,6 @@
 #include <timer.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* control register */
 #define ALTERA_TIMER_CONT	BIT(1)	/* Continuous mode */
 #define ALTERA_TIMER_START	BIT(2)	/* Start timer */
diff --git a/drivers/timer/ast_timer.c b/drivers/timer/ast_timer.c
index e194c50f4a76fe23f0a20daf7731a1c15a14f275..ab1e4af79feb6f629cf1b4a36d86e73151698199 100644
--- a/drivers/timer/ast_timer.c
+++ b/drivers/timer/ast_timer.c
@@ -11,8 +11,6 @@
 #include <asm/io.h>
 #include <asm/arch/timer.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define AST_TICK_TIMER  1
 #define AST_TMC_RELOAD_VAL  0xffffffff
 
diff --git a/drivers/timer/atcpit100_timer.c b/drivers/timer/atcpit100_timer.c
index 963f978d206f94507bb95fa19799621e01a39782..4322921b71b4046a5ad0559e72901d6929ed1b8a 100644
--- a/drivers/timer/atcpit100_timer.c
+++ b/drivers/timer/atcpit100_timer.c
@@ -12,8 +12,6 @@
 #include <timer.h>
 #include <linux/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define REG32_TMR(x)	(*(u32 *)	((plat->regs) + (x>>2)))
 
 /*
diff --git a/drivers/timer/omap-timer.c b/drivers/timer/omap-timer.c
index 4cc6105505739365f3b7ba408165c3e9211ac2ac..051c69081e854908b0edc6dcc12e480935191e7e 100644
--- a/drivers/timer/omap-timer.c
+++ b/drivers/timer/omap-timer.c
@@ -13,8 +13,6 @@
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Timer register bits */
 #define TCLR_START			BIT(0)	/* Start=1 */
 #define TCLR_AUTO_RELOAD		BIT(1)	/* Auto reload */
diff --git a/drivers/tpm/tpm_tis_infineon.c b/drivers/tpm/tpm_tis_infineon.c
index 41b748e7a23e09fef253ae8179c56feaeb99dc09..f740c780525c3f0ac5b78eb53db5191cb8151d6a 100644
--- a/drivers/tpm/tpm_tis_infineon.c
+++ b/drivers/tpm/tpm_tis_infineon.c
@@ -33,8 +33,6 @@
 #include "tpm_tis.h"
 #include "tpm_internal.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum i2c_chip_type {
 	SLB9635,
 	SLB9645,
diff --git a/drivers/usb/emul/sandbox_flash.c b/drivers/usb/emul/sandbox_flash.c
index 2f84b360ec6b66320361215acebf1a5d70deec72..dbece6ecf297da524af1915da0bab3fe36064021 100644
--- a/drivers/usb/emul/sandbox_flash.c
+++ b/drivers/usb/emul/sandbox_flash.c
@@ -11,8 +11,6 @@
 #include <scsi.h>
 #include <usb.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * This driver emulates a flash stick using the UFI command specification and
  * the BBB (bulk/bulk/bulk) protocol. It supports only a single logical unit
diff --git a/drivers/usb/emul/sandbox_hub.c b/drivers/usb/emul/sandbox_hub.c
index 9a0f47b81c4d041b2d13b1329e3d2a0928e0a281..f5dda8123f2dcbe41490ae2754d485f139f08a28 100644
--- a/drivers/usb/emul/sandbox_hub.c
+++ b/drivers/usb/emul/sandbox_hub.c
@@ -10,8 +10,6 @@
 #include <usb.h>
 #include <dm/device-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* We only support up to 8 */
 #define SANDBOX_NUM_PORTS	4
 
diff --git a/drivers/usb/emul/sandbox_keyb.c b/drivers/usb/emul/sandbox_keyb.c
index cff017668f2d45bca6e79bf7f3869776b9deb1d5..2fb67e7611dbf3060358e779c7e48c13ae5ec427 100644
--- a/drivers/usb/emul/sandbox_keyb.c
+++ b/drivers/usb/emul/sandbox_keyb.c
@@ -11,8 +11,6 @@
 #include <scsi.h>
 #include <usb.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * This driver emulates a USB keyboard using the USB HID specification (boot
  * protocol)
diff --git a/drivers/usb/emul/usb-emul-uclass.c b/drivers/usb/emul/usb-emul-uclass.c
index fbe11f3135372ec259b33eb0ea26597a696a9507..01ae6dfce7852efaeab802b66873302a1c364e8b 100644
--- a/drivers/usb/emul/usb-emul-uclass.c
+++ b/drivers/usb/emul/usb-emul-uclass.c
@@ -10,8 +10,6 @@
 #include <usb.h>
 #include <dm/device-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int copy_to_unicode(char *buff, int length, const char *str)
 {
 	int ptr;
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index 4862ab0e7db541b2c1b90d972dfea0fcadd3f38d..b63a630d37c5ee3dcdb0c2d68295ab3e70cb0fef 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -19,8 +19,6 @@
 
 #include "dwc2.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Use only HC channel 0. */
 #define DWC2_HC_CHANNEL			0
 
diff --git a/drivers/usb/host/dwc3-of-simple.c b/drivers/usb/host/dwc3-of-simple.c
index 440dd1027d510a87473758bb07a3beb03987bdc3..9b122b18bc0e1b98cf82fed12411e87aebf6e70a 100644
--- a/drivers/usb/host/dwc3-of-simple.c
+++ b/drivers/usb/host/dwc3-of-simple.c
@@ -17,8 +17,6 @@
 #include <reset.h>
 #include <clk.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct dwc3_of_simple {
 	struct clk_bulk		clks;
 	struct reset_ctl_bulk	resets;
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index f6c6b019caa8c93a00e501a90db59486dd758ed5..f912510a21e5c9370188fb06ebd18b4f7b724722 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -15,8 +15,6 @@
 
 #include "ehci.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_DM_USB
 
 int ehci_hcd_init(int index, enum usb_init_type init,
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index f317cf00ea0a5a22b6d5be18c1ed072e5e9e5a70..f07a287dd4525044938c9546e34b10b6bf0069cc 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -20,8 +20,6 @@
 
 #include "ehci.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define USB1_ADDR_MASK	0xFFFF0000
 
 #define HOSTPC1_DEVLC	0x84
diff --git a/drivers/usb/host/usb-sandbox.c b/drivers/usb/host/usb-sandbox.c
index 15055b351a5a5a5b25724f3173422b2085991458..1a35a00bffba2a0bbe9b66537672158404d8ee39 100644
--- a/drivers/usb/host/usb-sandbox.c
+++ b/drivers/usb/host/usb-sandbox.c
@@ -10,8 +10,6 @@
 #include <usb.h>
 #include <dm/root.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct sandbox_usb_ctrl {
 	int rootdev;
 };
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
index 4e40f4bc3d2caf2d8803e1d0b4a2484fb3bec881..fa7a4397e4d694859acd6a9f2c94c50f5a433e45 100644
--- a/drivers/usb/host/usb-uclass.c
+++ b/drivers/usb/host/usb-uclass.c
@@ -16,8 +16,6 @@
 #include <dm/lists.h>
 #include <dm/uclass-internal.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 extern bool usb_started; /* flag for the started/stopped USB status */
 static bool asynch_allowed;
 
diff --git a/drivers/usb/host/xhci-dwc3.c b/drivers/usb/host/xhci-dwc3.c
index adfa4a75cd2cd8688df79872e99be7403dad7876..912190b8bc2c029e67c825022dfa512553c58c81 100644
--- a/drivers/usb/host/xhci-dwc3.c
+++ b/drivers/usb/host/xhci-dwc3.c
@@ -19,8 +19,6 @@
 #include <linux/usb/dwc3.h>
 #include <linux/usb/otg.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct xhci_dwc3_platdata {
 	struct phy *usb_phys;
 	int num_phys;
diff --git a/drivers/usb/host/xhci-fsl.c b/drivers/usb/host/xhci-fsl.c
index f77c78d4221215cf43763eef84d9a36063a46023..25b14a9a8db4fb7c734d7b9b43752168426017d9 100644
--- a/drivers/usb/host/xhci-fsl.c
+++ b/drivers/usb/host/xhci-fsl.c
@@ -20,8 +20,6 @@
 #include <dm.h>
 
 /* Declare global data pointer */
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_DM_USB
 static struct fsl_xhci fsl_xhci;
 unsigned long ctr_addr[] = FSL_USB_XHCI_ADDR;
diff --git a/drivers/usb/host/xhci-mvebu.c b/drivers/usb/host/xhci-mvebu.c
index dbdfce38da20793ccceed42a13eb96c020dea189..f51e6773864097a366f79999a896036795d46911 100644
--- a/drivers/usb/host/xhci-mvebu.c
+++ b/drivers/usb/host/xhci-mvebu.c
@@ -15,8 +15,6 @@
 
 #include "xhci.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct mvebu_xhci_platdata {
 	fdt_addr_t hcd_base;
 };
diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c
index b814500bdbb7642941c192cef87e1dd97f92b17d..d05b302807317d0b8f6217a77499a7455bba042e 100644
--- a/drivers/usb/host/xhci-omap.c
+++ b/drivers/usb/host/xhci-omap.c
@@ -23,8 +23,6 @@
 #include "xhci.h"
 
 /* Declare global data pointer */
-DECLARE_GLOBAL_DATA_PTR;
-
 static struct omap_xhci omap;
 
 static int omap_xhci_core_init(struct omap_xhci *omap)
diff --git a/drivers/usb/host/xhci-rockchip.c b/drivers/usb/host/xhci-rockchip.c
index b1f98842739735e08e086dae2d0f70752a0e7ba1..7f637d9237d3e2a7edf34108b00c08c3e98e8a62 100644
--- a/drivers/usb/host/xhci-rockchip.c
+++ b/drivers/usb/host/xhci-rockchip.c
@@ -16,8 +16,6 @@
 
 #include "xhci.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct rockchip_xhci_platdata {
 	fdt_addr_t hcd_base;
 	fdt_addr_t phy_base;
diff --git a/drivers/usb/host/xhci-zynqmp.c b/drivers/usb/host/xhci-zynqmp.c
index cec1bc46d0a8de7699ea90d93c02184e8a64651d..c57e9abbaf4e79a069572ed87230f2cab1091cc6 100644
--- a/drivers/usb/host/xhci-zynqmp.c
+++ b/drivers/usb/host/xhci-zynqmp.c
@@ -19,8 +19,6 @@
 #include "xhci.h"
 
 /* Declare global data pointer */
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Default to the ZYNQMP XHCI defines */
 #define USB3_PWRCTL_CLK_CMD_MASK	0x3FE000
 #define USB3_PWRCTL_CLK_FREQ_MASK	0xFFC
diff --git a/drivers/video/backlight_gpio.c b/drivers/video/backlight_gpio.c
index 772df5d3026d63af097d641578fcd3711dadbfa6..acb6f1c1b83f42401a2fa1a00d6e0ce01085213a 100644
--- a/drivers/video/backlight_gpio.c
+++ b/drivers/video/backlight_gpio.c
@@ -10,8 +10,6 @@
 #include <backlight.h>
 #include <asm/gpio.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct gpio_backlight_priv {
 	struct gpio_desc gpio;
 	bool def_value;
diff --git a/drivers/video/bridge/anx6345.c b/drivers/video/bridge/anx6345.c
index 0a94affb9f994a13f9c4f07559fec85ecffc341e..6f52d2f04165f7713d48021177a96d9b10158c6c 100644
--- a/drivers/video/bridge/anx6345.c
+++ b/drivers/video/bridge/anx6345.c
@@ -16,8 +16,6 @@
 #define DP_MAX_LANE_COUNT		0x002
 #define DP_MAX_LANE_COUNT_MASK		0x1f
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct anx6345_priv {
 	u8 edid[EDID_SIZE];
 };
diff --git a/drivers/video/exynos/exynos_dp_lowlevel.c b/drivers/video/exynos/exynos_dp_lowlevel.c
index f84dd7097f694384ce101654099c91fc96b42543..3f9a0e12fcd642cdb94fbb90749fb7481973b2d7 100644
--- a/drivers/video/exynos/exynos_dp_lowlevel.c
+++ b/drivers/video/exynos/exynos_dp_lowlevel.c
@@ -17,8 +17,6 @@
 #include "exynos_dp_lowlevel.h"
 
 /* Declare global data pointer */
-DECLARE_GLOBAL_DATA_PTR;
-
 static void exynos_dp_enable_video_input(struct exynos_dp *dp_regs,
 					 unsigned int enable)
 {
diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
index 78e595ea4a27460033200fb328dd8a55305a8718..fad027f0647a047f3f0dfda0480b594b8f32e6a1 100644
--- a/drivers/video/mx3fb.c
+++ b/drivers/video/mx3fb.c
@@ -344,8 +344,6 @@ union chan_param_mem {
 	struct chan_param_mem_interleaved	ip;
 };
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* graphics setup */
 static GraphicDevice panel;
 static struct ctfb_res_modes *mode;
diff --git a/drivers/video/pwm_backlight.c b/drivers/video/pwm_backlight.c
index f40e57bb8e6841aa9ec7718e31c69ea73b4bdc8e..28565a1e2c092729bd353f69e2b01c71df771254 100644
--- a/drivers/video/pwm_backlight.c
+++ b/drivers/video/pwm_backlight.c
@@ -12,8 +12,6 @@
 #include <asm/gpio.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct pwm_backlight_priv {
 	struct udevice *reg;
 	struct gpio_desc enable;
diff --git a/drivers/video/rockchip/rk3288_mipi.c b/drivers/video/rockchip/rk3288_mipi.c
index a7fa9c5110eb982e26cfa8eb5757518cec171f0c..0a6f7e6b6dbba6163c5003ead3b72037b7546dd5 100644
--- a/drivers/video/rockchip/rk3288_mipi.c
+++ b/drivers/video/rockchip/rk3288_mipi.c
@@ -24,8 +24,6 @@
 #include <asm/arch/grf_rk3288.h>
 #include <asm/arch/rockchip_mipi_dsi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MHz 1000000
 
 /* Select mipi dsi source, big or little vop */
diff --git a/drivers/video/rockchip/rk3399_mipi.c b/drivers/video/rockchip/rk3399_mipi.c
index b936fcec9ba882892735c83e66cea625beb3c336..c085d8b6a595d666bee0585f2ad7ddef681c5b12 100644
--- a/drivers/video/rockchip/rk3399_mipi.c
+++ b/drivers/video/rockchip/rk3399_mipi.c
@@ -24,8 +24,6 @@
 #include <asm/arch/grf_rk3399.h>
 #include <asm/arch/rockchip_mipi_dsi.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Select mipi dsi source, big or little vop */
 static int rk_mipi_dsi_source_select(struct udevice *dev)
 {
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index 1527f96eca228397547e20731ce74d25e9af523c..2ea7340e7f1e47c41733b44ce09fee37f124606e 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -20,8 +20,6 @@
 #include <asm/arch/grf_rk3288.h>
 #include <dt-bindings/clock/rk3288-cru.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define MAX_CR_LOOP 5
 #define MAX_EQ_LOOP 5
 #define DP_LINK_STATUS_SIZE 6
diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c
index c0ce199c6af069ad1f8cc26fc44d127d1bd4ef38..8824f47e2ea75a0d109a60f9dd0eea89d396046e 100644
--- a/drivers/video/simple_panel.c
+++ b/drivers/video/simple_panel.c
@@ -12,8 +12,6 @@
 #include <asm/gpio.h>
 #include <power/regulator.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct simple_panel_priv {
 	struct udevice *reg;
 	struct udevice *backlight;
diff --git a/drivers/video/tegra124/display.c b/drivers/video/tegra124/display.c
index 4164fa1bd96c5584b062476c17f4a6282821f90c..0c6882cc51bfa294045724f02789c3f8ddcbb413 100644
--- a/drivers/video/tegra124/display.c
+++ b/drivers/video/tegra124/display.c
@@ -22,8 +22,6 @@
 #include <dm/uclass-internal.h>
 #include "displayport.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* return in 1000ths of a Hertz */
 static int tegra_dc_calc_refresh(const struct display_timing *timing)
 {
diff --git a/drivers/video/tegra124/dp.c b/drivers/video/tegra124/dp.c
index 95d743d0f43f8adcbc3ab0d48d677db562d8b0a8..09e5aa75a27992cfcd3c6dd757d849b086f3e4a0 100644
--- a/drivers/video/tegra124/dp.c
+++ b/drivers/video/tegra124/dp.c
@@ -18,8 +18,6 @@
 #include "sor.h"
 #include "displayport.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DO_FAST_LINK_TRAINING		1
 
 struct tegra_dp_plat {
diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c
index 700ab25d4678ee3fee668f5424656478bca3dd42..a91643a21a03a8a1c647888e3ab74661b4a90c74 100644
--- a/drivers/video/tegra124/sor.c
+++ b/drivers/video/tegra124/sor.c
@@ -17,8 +17,6 @@
 #include "displayport.h"
 #include "sor.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DEBUG_SOR 0
 
 #define APBDEV_PMC_DPD_SAMPLE				0x20
diff --git a/drivers/watchdog/ast_wdt.c b/drivers/watchdog/ast_wdt.c
index aab077e3d1eb48de971a62c542431d27b5256bf5..353984484087ea6635bfe97a3c38b4f36299cb24 100644
--- a/drivers/watchdog/ast_wdt.c
+++ b/drivers/watchdog/ast_wdt.c
@@ -14,8 +14,6 @@
 #define WDT_AST2500	2500
 #define WDT_AST2400	2400
 
-DECLARE_GLOBAL_DATA_PTR;
-
 struct ast_wdt_priv {
 	struct ast_wdt *regs;
 };
diff --git a/drivers/watchdog/mpc8xx_wdt.c b/drivers/watchdog/mpc8xx_wdt.c
index ded80c4d6a995ef1806afa5baf825a919bff5b4e..5d2b624e00244885bfeaaf7938fa54fdec230240 100644
--- a/drivers/watchdog/mpc8xx_wdt.c
+++ b/drivers/watchdog/mpc8xx_wdt.c
@@ -9,8 +9,6 @@
 #include <asm/cpm_8xx.h>
 #include <asm/io.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void hw_watchdog_reset(void)
 {
 	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
diff --git a/drivers/watchdog/sandbox_wdt.c b/drivers/watchdog/sandbox_wdt.c
index 02b57f39865cda9e87e2d21d1c32987d4b08fb50..5ec32b25d61eca68a51c93ecd231ceec88916a85 100644
--- a/drivers/watchdog/sandbox_wdt.c
+++ b/drivers/watchdog/sandbox_wdt.c
@@ -9,8 +9,6 @@
 #include <wdt.h>
 #include <asm/state.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int sandbox_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
 {
 	struct sandbox_state *state = state_get_current();
diff --git a/drivers/watchdog/ulp_wdog.c b/drivers/watchdog/ulp_wdog.c
index 72ec694cdd46e7d1b801e90a757ba1f4ab7337de..17fe670ce4c94d2f2160ff0037e19c79c221e6a9 100644
--- a/drivers/watchdog/ulp_wdog.c
+++ b/drivers/watchdog/ulp_wdog.c
@@ -40,8 +40,6 @@ struct wdog_regs {
 #define WDG_32KHZ_CLK                    (0x2)
 #define WDG_EXT_CLK                      (0x3)
 
-DECLARE_GLOBAL_DATA_PTR;
-
 void hw_watchdog_set_timeout(u16 val)
 {
 	/* setting timeout value */
diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
index 8a30f024fdbf9511785ad206a28e9942953f37e9..1eb5721d1a606fe99593596b9aa91d87b4fdf125 100644
--- a/drivers/watchdog/wdt-uclass.c
+++ b/drivers/watchdog/wdt-uclass.c
@@ -11,8 +11,6 @@
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 int wdt_start(struct udevice *dev, u64 timeout_ms, ulong flags)
 {
 	const struct wdt_ops *ops = device_get_ops(dev);
diff --git a/env/ext4.c b/env/ext4.c
index a2d32b9c8dea0473283d01c98013153b11af5f15..f4cb28570c4750f47020bfea9bcc92eaa0b045dc 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -31,8 +31,6 @@
 #include <ext4fs.h>
 #include <mmc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CONFIG_CMD_SAVEENV
 static int env_ext4_save(void)
 {
diff --git a/env/fat.c b/env/fat.c
index 884eeb8c5fc1517db5547689999285cc788a4403..befbc1efdd31c33393775810e5daa21124465111 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -31,8 +31,6 @@
 # endif
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifdef CMD_SAVEENV
 static int env_fat_save(void)
 {
diff --git a/env/sata.c b/env/sata.c
index 4bfe0119df88255b0dae2b21479574f6c043a441..c3e530eb314f218eecc70e3cbed83db6c126d296 100644
--- a/env/sata.c
+++ b/env/sata.c
@@ -24,8 +24,6 @@
 #error CONFIG_ENV_OFFSET or CONFIG_ENV_SIZE not defined
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 __weak int sata_get_env_dev(void)
 {
 	return CONFIG_SYS_SATA_ENV_DEV;
diff --git a/lib/efi/efi.c b/lib/efi/efi.c
index 81af27caab12ba95dc5a6792cfdb10ed07d52046..b1c7360ddcd5bc4f48a95b6f206f4f877da14ef0 100644
--- a/lib/efi/efi.c
+++ b/lib/efi/efi.c
@@ -17,8 +17,6 @@
 #include <efi.h>
 #include <efi_api.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Unfortunately we cannot access any code outside what is built especially
  * for the stub. lib/string.c is already being built for the U-Boot payload
diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
index 205aa1994726d24e8119ce323c07975190df225f..acf60beb4e184a8b816344c38441da8e3f3bf0a8 100644
--- a/lib/efi/efi_stub.c
+++ b/lib/efi/efi_stub.c
@@ -21,8 +21,6 @@
 #include <linux/err.h>
 #include <linux/types.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #ifndef CONFIG_X86
 /*
  * Problem areas:
diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c
index d5fbba3138358e9827c5a3a58bcf650e268c21c5..2ccd476e57a2b3e00a7e83049e75f2efe836b97c 100644
--- a/lib/efi_loader/efi_image_loader.c
+++ b/lib/efi_loader/efi_image_loader.c
@@ -13,8 +13,6 @@
 #include <pe.h>
 #include <asm/global_data.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 const efi_guid_t efi_global_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
 const efi_guid_t efi_guid_device_path = DEVICE_PATH_GUID;
 const efi_guid_t efi_guid_loaded_image = LOADED_IMAGE_GUID;
diff --git a/lib/efi_loader/efi_net.c b/lib/efi_loader/efi_net.c
index 9afe76cdb31de77783e68338705f97b3f67a6686..e3132e6c172e526de5a5ebe46f5278e2f764294e 100644
--- a/lib/efi_loader/efi_net.c
+++ b/lib/efi_loader/efi_net.c
@@ -12,8 +12,6 @@
 #include <lcd.h>
 #include <malloc.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const efi_guid_t efi_net_guid = EFI_SIMPLE_NETWORK_GUID;
 static const efi_guid_t efi_pxe_guid = EFI_PXE_GUID;
 static struct efi_pxe_packet *dhcp_ack;
diff --git a/lib/of_live.c b/lib/of_live.c
index 148865c9678d75f1f2d76101e164bf8fd886b4a9..e574ae8a396c99a8b69895284c5f03496eb88fe8 100644
--- a/lib/of_live.c
+++ b/lib/of_live.c
@@ -16,8 +16,6 @@
 #include <dm/of_access.h>
 #include <linux/err.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static void *unflatten_dt_alloc(void **mem, unsigned long size,
 				unsigned long align)
 {
diff --git a/lib/smbios.c b/lib/smbios.c
index 8f19ad89c121ebbc2ae1a7842edc8a8e432e3b8b..00b521eca92b5ad51734d3cac22f09a6e3a036cf 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -16,8 +16,6 @@
 #include <dm/uclass-internal.h>
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /**
  * smbios_add_string() - add a string to the string area
  *
diff --git a/net/net.c b/net/net.c
index 8a9b69c6b0b098743609c6141040a1c1fb7a0850..d222c1f2bd42391b0a2f3eed3d7ae106fad1c527 100644
--- a/net/net.c
+++ b/net/net.c
@@ -108,8 +108,6 @@
 #include "sntp.h"
 #endif
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /** BOOTP EXTENTIONS **/
 
 /* Our subnet mask (0=unknown) */
diff --git a/post/lib_powerpc/cpu.c b/post/lib_powerpc/cpu.c
index 915eb0a7648b2728a028674348f1ce836a3e6d1b..529f2fa65a2a192915d89dec7c7f5582f48653b9 100644
--- a/post/lib_powerpc/cpu.c
+++ b/post/lib_powerpc/cpu.c
@@ -42,8 +42,6 @@ extern int cpu_post_test_multi (void);
 extern int cpu_post_test_string (void);
 extern int cpu_post_test_complex (void);
 
-DECLARE_GLOBAL_DATA_PTR;
-
 ulong cpu_post_makecr (long v)
 {
 	ulong cr = 0;
diff --git a/test/dm/adc.c b/test/dm/adc.c
index b0d4fe5b23c0cd3de98955a7318fc3b96c1da74a..85535d9eabc75fac3fe9daf2a1d1675168e38b71 100644
--- a/test/dm/adc.c
+++ b/test/dm/adc.c
@@ -20,8 +20,6 @@
 #include <sandbox-adc.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static int dm_test_adc_bind(struct unit_test_state *uts)
 {
 	struct udevice *dev;
diff --git a/test/dm/eth.c b/test/dm/eth.c
index 67fd660ee4f514ff2431e10a7cac1f362944c967..4915baf07c357cf1ba595ee3f8e5c7856ad86db7 100644
--- a/test/dm/eth.c
+++ b/test/dm/eth.c
@@ -18,8 +18,6 @@
 #include <asm/eth.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 #define DM_TEST_ETH_NUM		4
 
 static int dm_test_eth(struct unit_test_state *uts)
diff --git a/test/dm/gpio.c b/test/dm/gpio.c
index b99452340dfcb5135fc9b9ec6106a9ecdded55a3..6b01dbd73c393065c86581fa0cffbcf18e96d027 100644
--- a/test/dm/gpio.c
+++ b/test/dm/gpio.c
@@ -13,8 +13,6 @@
 #include <asm/gpio.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test that sandbox GPIOs work correctly */
 static int dm_test_gpio(struct unit_test_state *uts)
 {
diff --git a/test/dm/led.c b/test/dm/led.c
index fde700be3864fbbaa4618167f0aca431e3219460..e46b41674d90392f17ca56ed7e7f4a9ea919bb19 100644
--- a/test/dm/led.c
+++ b/test/dm/led.c
@@ -11,8 +11,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Base test of the led uclass */
 static int dm_test_led_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/mmc.c b/test/dm/mmc.c
index 5bca4b79d597b43fe2ea0ffde788d422e5b2fa93..c8c470c1b1f4649ccf7cf29558faf48c1dc0c234 100644
--- a/test/dm/mmc.c
+++ b/test/dm/mmc.c
@@ -10,8 +10,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Basic test of the mmc uclass. We could expand this by implementing an MMC
  * stack for sandbox, or at least implementing the basic operation.
diff --git a/test/dm/phy.c b/test/dm/phy.c
index 65b33fe68d1e5101a30187f354bd2643d8dbcb2e..b262531962b54ffa05db58af041d632bf98ebc4e 100644
--- a/test/dm/phy.c
+++ b/test/dm/phy.c
@@ -11,8 +11,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Base test of the phy uclass */
 static int dm_test_phy_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/pmic.c b/test/dm/pmic.c
index 422ea3e416850cbefa82f16704422d5f32944f72..0e5d6719248e3a06bb3c9e90fd7d436202f182c2 100644
--- a/test/dm/pmic.c
+++ b/test/dm/pmic.c
@@ -21,8 +21,6 @@
 #include <power/sandbox_pmic.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test PMIC get method */
 static int dm_test_power_pmic_get(struct unit_test_state *uts)
 {
diff --git a/test/dm/pwm.c b/test/dm/pwm.c
index 6b2dedf6ccd6ba3c18f632a57ed245bd37b43785..cccd1ad16204d5c991768dc7d5211aff6d914469 100644
--- a/test/dm/pwm.c
+++ b/test/dm/pwm.c
@@ -10,8 +10,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Basic test of the pwm uclass */
 static int dm_test_pwm_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/regmap.c b/test/dm/regmap.c
index 7f66058735e1b1aef05f339bb11b166314a405b9..50af22006c2d9ddd05af24c0891473cb357f2ef4 100644
--- a/test/dm/regmap.c
+++ b/test/dm/regmap.c
@@ -13,8 +13,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Base test of register maps */
 static int dm_test_regmap_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/regulator.c b/test/dm/regulator.c
index 395381d4bd2f2b0902766ac47c7fd425d13b6e35..abd65221371f3115c20e45c1a98141a4d1c47603 100644
--- a/test/dm/regulator.c
+++ b/test/dm/regulator.c
@@ -22,8 +22,6 @@
 #include <power/sandbox_pmic.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 enum {
 	BUCK1,
 	BUCK2,
diff --git a/test/dm/spmi.c b/test/dm/spmi.c
index d519a9015e69a675e1c01e541ebef34d36cfb289..0ecf70259b9c8adb7d3519e9a9275b6494e2aa86 100644
--- a/test/dm/spmi.c
+++ b/test/dm/spmi.c
@@ -16,8 +16,6 @@
 #include <asm/gpio.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test if bus childs got probed propperly*/
 static int dm_test_spmi_probe(struct unit_test_state *uts)
 {
diff --git a/test/dm/syscon.c b/test/dm/syscon.c
index c40f5fc09dd89b7bdc877fd50be9ad239dc0f7d7..99bff962a9aa94b9ceaf243fcec7c4a5a5342189 100644
--- a/test/dm/syscon.c
+++ b/test/dm/syscon.c
@@ -11,8 +11,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Base test of system controllers */
 static int dm_test_syscon_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/timer.c b/test/dm/timer.c
index bf964c443a054feda2e3220bc6b377126459b16b..ba9bdc10caeb50caf0b6c0af8b7d7ca9a47f238b 100644
--- a/test/dm/timer.c
+++ b/test/dm/timer.c
@@ -10,8 +10,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /*
  * Basic test of the timer uclass.
  */
diff --git a/test/dm/usb.c b/test/dm/usb.c
index 4fd249bf64e845f8f00de3278463367d93a89ac7..4e1c870408ac5a0c6893f1e0bf19b51cbb1ba7e3 100644
--- a/test/dm/usb.c
+++ b/test/dm/usb.c
@@ -16,8 +16,6 @@
 #include <dm/uclass-internal.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Test that sandbox USB works correctly */
 static int dm_test_usb_base(struct unit_test_state *uts)
 {
diff --git a/test/dm/video.c b/test/dm/video.c
index caca49690274fd122ea5f29ca502dbcdf4b274de..2f7df4e61150b1766261ced8c5313993d789366c 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
@@ -24,8 +24,6 @@
  * in sandbox_sdl_sync() would also need to change to handle the different
  * surface depth.
  */
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Basic test of the video uclass */
 static int dm_test_video_base(struct unit_test_state *uts)
 {