]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD"
authorTom Rini <trini@konsulko.com>
Fri, 11 Oct 2024 18:23:25 +0000 (12:23 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 11 Oct 2024 18:23:25 +0000 (12:23 -0600)
Simon Glass <sjg@chromium.org> says:

When the SPL build-phase was first created it was designed to solve a
particular problem (the need to init SDRAM so that U-Boot proper could
be loaded). It has since expanded to become an important part of U-Boot,
with three phases now present: TPL, VPL and SPL

Due to this history, the term 'SPL' is used to mean both a particular
phase (the one before U-Boot proper) and all the non-proper phases.
This has become confusing.

For a similar reason CONFIG_SPL_BUILD is set to 'y' for all 'SPL'
phases, not just SPL. So code which can only be compiled for actual SPL,
for example, must use something like this:

   #if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD)

In Makefiles we have similar issues. SPL_ has been used as a variable
which expands to either SPL_ or nothing, to chose between options like
CONFIG_BLK and CONFIG_SPL_BLK. When TPL appeared, a new SPL_TPL variable
was created which expanded to 'SPL_', 'TPL_' or nothing. Later it was
updated to support 'VPL_' as well.

This series starts a change in terminology and usage to resolve the
above issues:

- The word 'xPL' is used instead of 'SPL' to mean a non-proper build
- A new CONFIG_XPL_BUILD define indicates that the current build is an
  'xPL' build
- The existing CONFIG_SPL_BUILD is changed to mean SPL; it is not now
  defined for TPL and VPL phases
- The existing SPL_ Makefile variable is renamed to SPL_
- The existing SPL_TPL Makefile variable is renamed to PHASE_

It should be noted that xpl_phase() can generally be used instead of
the above CONFIGs without a code-space or run-time penalty.

This series does not attempt to convert all of U-Boot to use this new
terminology but it makes a start. In particular, renaming spl.h and
common/spl seems like a bridge too far at this point.

The series is fully bisectable. It has also been checked to ensure there
are no code-size changes on any commit.

49 files changed:
1  2 
Makefile
README
arch/arm/lib/Makefile
arch/arm/lib/cache.c
arch/arm/mach-imx/imx8m/soc.c
arch/arm/mach-sc5xx/Makefile
arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
arch/arm/mach-tegra/board2.c
arch/riscv/lib/Makefile
board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c
board/atmel/at91sam9n12ek/at91sam9n12ek.c
board/atmel/at91sam9x5ek/at91sam9x5ek.c
board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c
board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c
board/atmel/sama5d2_icp/sama5d2_icp.c
board/atmel/sama5d2_xplained/sama5d2_xplained.c
board/atmel/sama5d3_xplained/sama5d3_xplained.c
board/atmel/sama5d3xek/sama5d3xek.c
board/atmel/sama5d4_xplained/sama5d4_xplained.c
board/atmel/sama5d4ek/sama5d4ek.c
board/conclusive/kstr-sama5d27/kstr-sama5d27.c
board/dhelectronics/dh_stm32mp1/board.c
board/google/veyron/veyron.c
board/siemens/corvus/board.c
board/siemens/smartweb/smartweb.c
board/siemens/taurus/taurus.c
boot/image-android.c
doc/develop/index.rst
drivers/core/ofnode.c
drivers/gpio/Makefile
drivers/misc/Makefile
drivers/mmc/mmc.c
drivers/mmc/rockchip_dw_mmc.c
drivers/mmc/rockchip_sdhci.c
drivers/mtd/spi/spi-nor-core.c
drivers/net/Kconfig
drivers/pinctrl/mediatek/pinctrl-mtk-common.c
drivers/power/regulator/rk8xx.c
drivers/serial/ns16550.c
drivers/spi/rockchip_sfc.c
drivers/spi/spi-uclass.c
drivers/usb/gadget/Makefile
drivers/watchdog/Makefile
env/mmc.c
fs/Makefile
include/env_callback.h
include/mmc.h
lib/fdtdec.c
net/net.c

diff --cc Makefile
Simple merge
diff --cc README
Simple merge
Simple merge
Simple merge
Simple merge
index cac768ba5652069f607216ad0aacd2ce6a84b982,598a13031b42330a2a5d6d467391bce796782842..47b28200a033aea17adaa5d3bec2612510a6cdbe
  obj-y += soc.o init/
  
  obj-$(CONFIG_SC57X) += sc57x.o
 +obj-$(CONFIG_SC57X) += sc57x-spl.o
  obj-$(CONFIG_SC58X) += sc58x.o
 +obj-$(CONFIG_SC58X) += sc58x-spl.o
  obj-$(CONFIG_SC59X) += sc59x.o
 +obj-$(CONFIG_SC59X) += sc59x-spl.o
  obj-$(CONFIG_SC59X_64) += sc59x_64.o
 +obj-$(CONFIG_SC59X_64) += sc59x_64-spl.o
  
- obj-$(CONFIG_SPL_BUILD) += spl.o
+ obj-$(CONFIG_XPL_BUILD) += spl.o
  obj-$(CONFIG_SYSCON) += rcu.o
Simple merge
index bcfdb516b764398c644a795b087d08cd4aa33a02,608118135d7a18c1cb0b597a3c2f6991ec7fae69..268116f37579c5ac9635857fae9985a949c3c832
@@@ -36,11 -36,15 +36,11 @@@ CFLAGS_REMOVE_$(EFI_CRT0) := $(CFLAGS_N
  CFLAGS_$(EFI_RELOC) := $(CFLAGS_EFI)
  CFLAGS_REMOVE_$(EFI_RELOC) := $(CFLAGS_NON_EFI)
  
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMSET) += memset.o
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMMOVE) += memmove.o
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMCPY) += memcpy.o
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_STRLEN) += strlen_zbb.o
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_STRCMP) += strcmp_zbb.o
- obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_STRNCMP) += strncmp_zbb.o
 -extra-$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)
 -extra-$(CONFIG_CMD_BOOTEFI_SELFTEST) += $(EFI_CRT0) $(EFI_RELOC)
 -extra-$(CONFIG_EFI) += $(EFI_CRT0) $(EFI_RELOC)
 -
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_MEMSET) += memset.o
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_MEMMOVE) += memmove.o
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_MEMCPY) += memcpy.o
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_STRLEN) += strlen_zbb.o
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_STRCMP) += strcmp_zbb.o
+ obj-$(CONFIG_$(PHASE_)USE_ARCH_STRNCMP) += strncmp_zbb.o
  
- obj-$(CONFIG_$(SPL_TPL_)SEMIHOSTING) += semihosting.o
+ obj-$(CONFIG_$(PHASE_)SEMIHOSTING) += semihosting.o
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index f7fd1d5caeeaf5116480075db2d9c5524c7cd168,79e54c4a1b5f202cd9f81c140fec2dee8891aefa..dac805e4cdd48a8127f37d68d9fb5ba0bd17ab15
@@@ -68,9 -68,9 +68,9 @@@ obj-$(CONFIG_QFW_MMIO) += qfw_mmio.
  obj-$(CONFIG_QFW_SMBIOS) += qfw_smbios.o
  obj-$(CONFIG_SANDBOX) += qfw_sandbox.o
  endif
- obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_EFUSE) += rockchip-efuse.o
- obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_OTP) += rockchip-otp.o
- obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_IODOMAIN) += rockchip-io-domain.o
 -obj-$(CONFIG_ROCKCHIP_EFUSE) += rockchip-efuse.o
 -obj-$(CONFIG_ROCKCHIP_OTP) += rockchip-otp.o
++obj-$(CONFIG_$(PHASE_)ROCKCHIP_EFUSE) += rockchip-efuse.o
++obj-$(CONFIG_$(PHASE_)ROCKCHIP_OTP) += rockchip-otp.o
+ obj-$(CONFIG_$(PHASE_)ROCKCHIP_IODOMAIN) += rockchip-io-domain.o
  obj-$(CONFIG_SANDBOX) += syscon_sandbox.o misc_sandbox.o
  obj-$(CONFIG_SIFIVE_OTP) += sifive-otp.o
  obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o
Simple merge
index 5ba99d68b7df0a48b1e1c5996d68b242c0dfe7ca,ca5752d24f125b0f1b0ad915f23863adebae0a15..422b8f7e4c80d37c35a5ffbce8d33aec212d3dee
@@@ -80,10 -80,10 +80,10 @@@ static int rockchip_dwmmc_of_to_plat(st
        priv->fifo_depth = dev_read_u32_default(dev, "fifo-depth", 0);
  
        if (priv->fifo_depth < 0)
 -              return -EINVAL;
 +              return log_msg_ret("rkp", -EINVAL);
        priv->fifo_mode = dev_read_bool(dev, "fifo-mode");
  
- #ifdef CONFIG_SPL_BUILD
+ #ifdef CONFIG_XPL_BUILD
        if (!priv->fifo_mode)
                priv->fifo_mode = dev_read_bool(dev, "u-boot,spl-fifo-mode");
  #endif
Simple merge
Simple merge
Simple merge
index a3662d46bde1709eecfd393364b223e73277bc5b,2c373c7c12e4d7700d5fc3c8e92f0bd2e36c9697..3760c4611cea45c3ff9518dcb40e728260212b1d
@@@ -791,16 -791,6 +791,16 @@@ bind
  }
  #endif
  
-     (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_GPIO))
 +int mtk_pinctrl_common_bind(struct udevice *dev)
 +{
 +#if CONFIG_IS_ENABLED(DM_GPIO) || \
++    (defined(CONFIG_XPL_BUILD) && defined(CONFIG_SPL_GPIO))
 +      return mtk_gpiochip_register(dev);
 +#else
 +      return 0;
 +#endif
 +}
 +
  int mtk_pinctrl_common_probe(struct udevice *dev,
                             const struct mtk_pinctrl_soc *soc)
  {
Simple merge
Simple merge
Simple merge
Simple merge
index da76b6524de4f6d10cf81e52890a77c97f308e8e,a44b2bfc1f2579e518dd042cc094aece5548f94a..4bda224ff1acefbb3c9fda5f232ed211688c5c5e
@@@ -21,8 -21,7 +21,8 @@@ obj-$(CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
  obj-$(CONFIG_USB_GADGET_DWC2_OTG) += dwc2_udc_otg.o
  obj-$(CONFIG_USB_GADGET_DWC2_OTG_PHY) += dwc2_udc_otg_phy.o
  obj-$(CONFIG_USB_GADGET_MAX3420) += max3420_udc.o
- ifndef CONFIG_SPL_BUILD
 +obj-$(CONFIG_USB_RENESAS_USBHS) += rcar/
+ ifndef CONFIG_XPL_BUILD
  obj-$(CONFIG_USB_GADGET_DOWNLOAD) += g_dnl.o
  obj-$(CONFIG_USB_FUNCTION_THOR) += f_thor.o
  obj-$(CONFIG_DFU_OVER_USB) += f_dfu.o
Simple merge
diff --cc env/mmc.c
Simple merge
diff --cc fs/Makefile
index a3ee0a361d3d54f6b0a47dc9952b3f7a0ad93b6c,ec3e31c7c75c124777ac55ddf71ebee9d252ab0d..1e54ac11ab717e5285f9ec9ed4afdd0b94a86036
@@@ -4,8 -4,8 +4,8 @@@
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  # Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
  
- ifdef CONFIG_SPL_BUILD
+ ifdef CONFIG_XPL_BUILD
 -obj-$(CONFIG_FS_LOADER) += fs.o
 +obj-$(CONFIG_SPL_FS_LOADER) += fs.o
  obj-$(CONFIG_SPL_FS_FAT) += fat/
  obj-$(CONFIG_SPL_FS_EXT4) += ext4/
  obj-$(CONFIG_SPL_FS_CBFS) += cbfs/
Simple merge
diff --cc include/mmc.h
Simple merge
diff --cc lib/fdtdec.c
index 106bb4063651cff46552b35984fc0a755499e9db,b2d38795a48cccd43ac869651e7978a644ce5f51..85f4426f9049ece8df806e2f7e4ada397089c63f
@@@ -1230,9 -1230,9 +1230,9 @@@ static void *fdt_find_separate(void
        if (IS_ENABLED(CONFIG_SANDBOX))
                return NULL;
  
- #ifdef CONFIG_SPL_BUILD
+ #ifdef CONFIG_XPL_BUILD
        /* FDT is at end of BSS unless it is in a different memory region */
 -      if (IS_ENABLED(CONFIG_SPL_SEPARATE_BSS))
 +      if (CONFIG_IS_ENABLED(SEPARATE_BSS))
                fdt_blob = (ulong *)_image_binary_end;
        else
                fdt_blob = (ulong *)__bss_end;
diff --cc net/net.c
Simple merge