[U-Boot] [PATCH] fdt: Move fdt_fixup_ethernet to a common place

Tom Rini trini at konsulko.com
Fri Apr 28 12:51:44 UTC 2017


With 3f66149d9fb4 we no longer have a common call fdt_fixup_ethernet.
This was fine to do on PowerPC as they largely had calls already in
ft_cpu_fixup.  On ARM however we largely relied on this call.  Rather
than introduce a large number of changes to ft_cpu_fixup /
ft_board_fixup we recognize that this is a common enough call that we
should be doing it in a central location.  Do it early enough that we
can do any further updates in ft_cpu_fixup / ft_board_fixup.

Cc: Gerd Hoffmann <kraxel at redhat.com>
Cc: Chen-Yu Tsai <wens at csie.org>
Cc: Maxime Ripard <maxime.ripard at free-electrons.com>
Cc: Thomas Chou <thomas at wytron.com.tw> (maintainer:NIOS)
Cc: York Sun <york.sun at nxp.com> (maintainer:POWERPC MPC85XX)
Cc: Stefan Roese <sr at denx.de> (maintainer:POWERPC PPC4XX)
Cc: Simon Glass <sjg at chromium.org>
Cc: Joakim Tjernlund <Joakim.Tjernlund at infinera.com>
Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call")
Signed-off-by: Tom Rini <trini at konsulko.com>
---
This replaces my previous patch to fix just rpi.
---
 arch/arm/cpu/armv7/ls102xa/fdt.c |  2 --
 arch/nios2/cpu/Makefile          |  1 -
 arch/nios2/cpu/fdt.c             | 38 --------------------------------------
 arch/powerpc/cpu/mpc512x/cpu.c   |  3 ---
 arch/powerpc/cpu/mpc8260/cpu.c   |  5 -----
 arch/powerpc/cpu/mpc83xx/fdt.c   |  1 -
 arch/powerpc/cpu/mpc85xx/fdt.c   |  2 --
 arch/powerpc/cpu/mpc86xx/fdt.c   |  5 -----
 arch/powerpc/cpu/mpc8xx/fdt.c    |  3 ---
 arch/powerpc/cpu/ppc4xx/fdt.c    |  6 ------
 common/bootm_os.c                |  2 --
 common/image-fdt.c               |  2 ++
 configs/10m50_defconfig          |  1 -
 configs/3c120_defconfig          |  1 -
 14 files changed, 2 insertions(+), 70 deletions(-)
 delete mode 100644 arch/nios2/cpu/fdt.c

diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c
index ae5e794230cd..d21ad39f8adc 100644
--- a/arch/arm/cpu/armv7/ls102xa/fdt.c
+++ b/arch/arm/cpu/armv7/ls102xa/fdt.c
@@ -94,8 +94,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	}
 #endif
 
-	fdt_fixup_ethernet(blob);
-
 	off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4);
 	while (off != -FDT_ERR_NOTFOUND) {
 		val = gd->cpu_clk;
diff --git a/arch/nios2/cpu/Makefile b/arch/nios2/cpu/Makefile
index 185ca3cdb76e..c859b46bf830 100644
--- a/arch/nios2/cpu/Makefile
+++ b/arch/nios2/cpu/Makefile
@@ -8,4 +8,3 @@
 extra-y	= start.o
 obj-y	= exceptions.o
 obj-y	+= cpu.o interrupts.o traps.o
-obj-y	+= fdt.o
diff --git a/arch/nios2/cpu/fdt.c b/arch/nios2/cpu/fdt.c
deleted file mode 100644
index a44f51a7f2a8..000000000000
--- a/arch/nios2/cpu/fdt.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * (C) Copyright 2011, Missing Link Electronics
- *                     Joachim Foerster <joachim at missinglinkelectronics.com>
- *
- * Taken from arch/powerpc/cpu/ppc4xx/fdt.c:
- *
- * (C) Copyright 2007-2008
- * Stefan Roese, DENX Software Engineering, sr at denx.de.
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-
-#ifdef CONFIG_OF_BOARD_SETUP
-#include <libfdt.h>
-#include <fdt_support.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-int __ft_board_setup(void *blob, bd_t *bd)
-{
-	ft_cpu_setup(blob, bd);
-
-	return 0;
-}
-int ft_board_setup(void *blob, bd_t *bd)
-	__attribute__((weak, alias("__ft_board_setup")));
-
-void ft_cpu_setup(void *blob, bd_t *bd)
-{
-	/*
-	 * Fixup all ethernet nodes
-	 * Note: aliases in the dts are required for this
-	 */
-	fdt_fixup_ethernet(blob);
-}
-#endif /* CONFIG_OF_BOARD_SETUP */
diff --git a/arch/powerpc/cpu/mpc512x/cpu.c b/arch/powerpc/cpu/mpc512x/cpu.c
index 4ee91e16f9c6..ce524fcdc797 100644
--- a/arch/powerpc/cpu/mpc512x/cpu.c
+++ b/arch/powerpc/cpu/mpc512x/cpu.c
@@ -176,9 +176,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	old_ft_cpu_setup(blob, bd);
 #endif
 	ft_clock_setup(blob, bd);
-#ifdef CONFIG_HAS_ETH0
-	fdt_fixup_ethernet(blob);
-#endif
 	fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
 }
 #endif
diff --git a/arch/powerpc/cpu/mpc8260/cpu.c b/arch/powerpc/cpu/mpc8260/cpu.c
index 58d1c0261cba..7302b37f2095 100644
--- a/arch/powerpc/cpu/mpc8260/cpu.c
+++ b/arch/powerpc/cpu/mpc8260/cpu.c
@@ -294,11 +294,6 @@ void watchdog_reset (void)
 #ifdef CONFIG_OF_BOARD_SETUP
 void ft_cpu_setup (void *blob, bd_t *bd)
 {
-#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
-    defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
-	fdt_fixup_ethernet(blob);
-#endif
-
 	do_fixup_by_compat_u32(blob, "fsl,cpm2-brg",
 			       "clock-frequency", bd->bi_brgfreq, 1);
 
diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c
index f249a585edf1..3ac4eb1dd8f2 100644
--- a/arch/powerpc/cpu/mpc83xx/fdt.c
+++ b/arch/powerpc/cpu/mpc83xx/fdt.c
@@ -53,7 +53,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
     defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3) ||\
     defined(CONFIG_HAS_ETH4) || defined(CONFIG_HAS_ETH5)
-	fdt_fixup_ethernet(blob);
 #ifdef CONFIG_MPC8313
 	/*
 	* mpc8313e erratum IPIC1 swapped TSEC interrupt ID numbers on rev. 1
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 67140ba9ee18..a9ea947305ff 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -612,8 +612,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	}
 #endif
 
-	fdt_fixup_ethernet(blob);
-
 	fdt_add_enet_stashing(blob);
 
 #ifndef CONFIG_FSL_TBCLK_EXTRA_DIV
diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c
index 5f9ad6b0b6d4..30fbf14f1bdb 100644
--- a/arch/powerpc/cpu/mpc86xx/fdt.c
+++ b/arch/powerpc/cpu/mpc86xx/fdt.c
@@ -32,11 +32,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 
 	fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
 
-#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) \
-    || defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
-	fdt_fixup_ethernet(blob);
-#endif
-
 #ifdef CONFIG_SYS_NS16550
 	do_fixup_by_compat_u32(blob, "ns16550",
 			       "clock-frequency", CONFIG_SYS_NS16550_CLK, 1);
diff --git a/arch/powerpc/cpu/mpc8xx/fdt.c b/arch/powerpc/cpu/mpc8xx/fdt.c
index 97830e3c8bd4..34d36478d30a 100644
--- a/arch/powerpc/cpu/mpc8xx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xx/fdt.c
@@ -23,8 +23,5 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	do_fixup_by_compat_u32(blob, "fsl,cpm-brg", "clock-frequency",
 		gd->arch.brg_clk, 1);
 
-	/* Fixup ethernet MAC addresses */
-	fdt_fixup_ethernet(blob);
-
 	fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
 }
diff --git a/arch/powerpc/cpu/ppc4xx/fdt.c b/arch/powerpc/cpu/ppc4xx/fdt.c
index c73509b3ee35..28080583a792 100644
--- a/arch/powerpc/cpu/ppc4xx/fdt.c
+++ b/arch/powerpc/cpu/ppc4xx/fdt.c
@@ -150,12 +150,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 	}
 
 	/*
-	 * Fixup all ethernet nodes
-	 * Note: aliases in the dts are required for this
-	 */
-	fdt_fixup_ethernet(blob);
-
-	/*
 	 * Fixup all available PCIe nodes by setting the device_type property
 	 */
 	fdt_pcie_setup(blob);
diff --git a/common/bootm_os.c b/common/bootm_os.c
index 6e463c317e84..e1024069766a 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -288,8 +288,6 @@ void do_bootvx_fdt(bootm_headers_t *images)
 		if (ret)
 			return;
 
-		fdt_fixup_ethernet(*of_flat_tree);
-
 		ret = fdt_add_subnode(*of_flat_tree, 0, "chosen");
 		if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) {
 			bootline = getenv("bootargs");
diff --git a/common/image-fdt.c b/common/image-fdt.c
index 7468b902b8d4..c6e8832d6688 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -478,6 +478,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
 		printf("ERROR: arch-specific fdt fixup failed\n");
 		goto err;
 	}
+	/* Update ethernet nodes */
+	fdt_fixup_ethernet(blob);
 	if (IMAGE_OF_BOARD_SETUP) {
 		fdt_ret = ft_board_setup(blob, gd->bd);
 		if (fdt_ret) {
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index 68da5ff11088..ed9a867d7287 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -2,7 +2,6 @@ CONFIG_NIOS2=y
 CONFIG_SYS_CONFIG_NAME="10m50_devboard"
 CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard"
 CONFIG_FIT=y
-CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_HUSH_PARSER=y
diff --git a/configs/3c120_defconfig b/configs/3c120_defconfig
index 9adf97adb638..95e794afca86 100644
--- a/configs/3c120_defconfig
+++ b/configs/3c120_defconfig
@@ -2,7 +2,6 @@ CONFIG_NIOS2=y
 CONFIG_SYS_CONFIG_NAME="3c120_devboard"
 CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard"
 CONFIG_FIT=y
-CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_HUSH_PARSER=y
-- 
1.9.1



More information about the U-Boot mailing list