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

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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@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@missinglinkelectronics.com - * - * Taken from arch/powerpc/cpu/ppc4xx/fdt.c: - * - * (C) Copyright 2007-2008 - * Stefan Roese, DENX Software Engineering, sr@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

On 28.04.2017 14:51, Tom Rini wrote:
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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@konsulko.com
Acked-by: Stefan Roese sr@denx.de
Thanks, Stefan

On 04/28/2017 05:50 AM, Tom Rini wrote:
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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@konsulko.com
This replaces my previous patch to fix just rpi.
This also replace my patch http://patchwork.ozlabs.org/patch/755167/
Acked-by: York Sun york.sun@nxp.com

On 28 April 2017 at 06:51, Tom Rini trini@konsulko.com wrote:
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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@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
Reviewed-by: Simon Glass sjg@chromium.org

On Fri, Apr 28, 2017 at 08:51:44AM -0400, Tom Rini wrote:
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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@konsulko.com Acked-by: Stefan Roese sr@denx.de Acked-by: York Sun york.sun@nxp.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!

On Mon, May 1, 2017 at 11:32 PM, Tom Rini trini@konsulko.com wrote:
On Fri, Apr 28, 2017 at 08:51:44AM -0400, Tom Rini wrote:
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@redhat.com Cc: Chen-Yu Tsai wens@csie.org Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: Thomas Chou thomas@wytron.com.tw (maintainer:NIOS) Cc: York Sun york.sun@nxp.com (maintainer:POWERPC MPC85XX) Cc: Stefan Roese sr@denx.de (maintainer:POWERPC PPC4XX) Cc: Simon Glass sjg@chromium.org Cc: Joakim Tjernlund Joakim.Tjernlund@infinera.com Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Tom Rini trini@konsulko.com Acked-by: Stefan Roese sr@denx.de Acked-by: York Sun york.sun@nxp.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
Late to the party. FWIW,
Tested-by: Chen-Yu Tsai wens@csie.org
Thanks Tom!
participants (5)
-
Chen-Yu Tsai
-
Simon Glass
-
Stefan Roese
-
Tom Rini
-
York Sun