[PATCH v2 000/169] Kconfig: More cleanup of CONFIG options

Simon Glass sjg at chromium.org
Mon Feb 6 01:56:06 CET 2023


Quite a few CONFIG options without an SPL equivalent are used as if they
have one. For example, we see CONFIG_IS_ENABLED(IOMMU) when there is no
SPL_IOMMU Kconfig option.

This series adds new features to moveconfig to detect and remove these
problems. It includes additions to the Kconfig for options which are
needed as well as dropping unwanted us of CONFIG_IS_ENABLED, etc.

This follows on from v3 the previous series[1]

It is available at u-boot-dm/splb-working

[1] https://patchwork.ozlabs.org/project/uboot/list/?series=339724

Changes in v2:
- Rebase to previous series
- Correct the tag
- Rebase to previous series
- Drop patch to add a Kconfig for SPL_EFI_LOADER et al
- Drop patch to add a Kconfig for SPL_GENERATE_ACPI_TABLE

Simon Glass (169):
  moveconfig: Update to detect / correct missing SPL Kconfigs
  x86: Correct Chrromebook typo
  boot: Add a Kconfig for SPL_FIT_CIPHER
  boot: Add a Kconfig for SPL_BOOTSTD_FULL
  boot: Add Kconfigs for BOOTMETH_VBE_REQUEST
  boot: Add a Kconfig for SPL_BOOTDEV_SPI_FLASH
  boot: Add a Kconfig for SPL_BOOTDEV_ETH
  dm: Add a Kconfig for SPL_DEVRES
  dm: Add a Kconfig for SPL_DM_HWSPINLOCK
  boot: Add a Kconfig for SPL_OF_LIVE
  cmd: Add a Kconfig for SPL_CRC32_VERIFY
  console: Add a Kconfig for SPL_CONSOLE_MUX et al
  button: Add a Kconfig for SPL_BUTTON
  lib: Add a Kconfig for SPL_ERRNO_STR
  iommu: Add a Kconfig for SPL_IOMMU
  pinctrl: Add a Kconfig for SPL_PINCTRL_ARMADA_38X
  virtio: Add a Kconfig for SPL_VIRTIO
  lib: Add a Kconfig for SPL_BZIP2
  acpi: Add a Kconfig for SPL_ACPIGEN
  rockchip: Add a Kconfig for SPL_RESET_ROCKCHIP
  mediatek: Add a Kconfig for SPL_RESET_MEDIATEK
  Correct SPL use of A003399_NOR_WORKAROUND
  Correct SPL use of AHCI
  Correct SPL uses of ALLEYCAT_5
  Correct SPL uses of ARCH_MVEBU
  Correct SPL use of ARCH_VERSAL
  Correct SPL use of ARCH_ZYNQ
  Correct SPL use of ARM64
  Correct SPL uses of ARMADA_3700
  Correct SPL uses of ARMADA_8K
  Correct SPL use of ATMEL_PIO4
  Correct SPL use of BNXT_ETH
  Correct SPL use of BOOTSTAGE_FDT
  Correct SPL uses of BOOTSTAGE_REPORT
  Correct SPL use of CMD_BCB
  Correct SPL uses of CMD_BOOTEFI_BOOTMGR
  Correct SPL use of CMD_BOOTI
  Correct SPL uses of CMD_BOOTM_PRE_LOAD
  Correct SPL use of CMD_BOOTZ
  Correct SPL uses of CMD_CLK
  Correct SPL uses of CMD_DHCP
  Correct SPL uses of CMD_EFICONFIG
  Correct SPL use of CMD_ERASEENV
  Correct SPL uses of CMD_FDT
  Correct SPL use of CMD_FRU
  Correct SPL use of CMD_HASH
  Correct SPL use of CMD_MBR
  Correct SPL uses of CMD_MMC
  Correct SPL use of CMD_NET
  Correct SPL use of CMD_NVEDIT_EFI
  Correct SPL uses of CMD_NVME
  Correct SPL use of CMD_PSTORE
  Correct SPL uses of CMD_PXE
  Correct SPL uses of CMD_SCSI
  Correct SPL uses of CMD_SF
  Correct SPL use of CMD_SHA1SUM
  Correct SPL use of CMD_STBOARD
  Correct SPL use of CMD_STM32PROG
  Correct SPL uses of CMD_TFTPPUT
  Correct SPL uses of CMD_USB
  Correct SPL use of CMD_VIRTIO
  Correct SPL uses of CPU_MICROBLAZE
  Correct SPL use of DEBUG_UART_ZYNQ
  Correct SPL uses of DFU_VIRT
  Correct SPL uses of DISPLAY_AER_BRIEF
  Correct SPL uses of DISPLAY_AER_FULL
  Correct SPL use of DISPLAY_CPUINFO
  Correct SPL use of DM_RNG
  Correct SPL uses of DTB_RESELECT
  Correct SPL uses of DWC_ETH_QOS
  Correct SPL use of EFI_APP
  Correct SPL use of EFI_DEVICE_PATH_UTIL
  Correct SPL uses of EFI_HAVE_CAPSULE_SUPPORT
  Correct SPL use of EFI_LOADER_HII
  Correct SPL use of EFI_MM_COMM_TEE
  Correct SPL use of EFI_SECURE_BOOT
  Correct SPL use of EFI_TCG2_PROTOCOL
  Correct SPL use of EFI_UNICODE_COLLATION_PROTOCOL2
  Correct SPL uses of ENV_IS_IN_UBI
  Correct SPL uses of ENV_VARS_UBOOT_RUNTIME_CONFIG
  Correct SPL use of ENV_WRITEABLE_LIST
  Correct SPL use of EXYNOS7420
  Correct SPL uses of FASTBOOT
  Correct SPL uses of FASTBOOT_FLASH
  Correct SPL uses of FASTBOOT_FLASH_MMC
  Correct SPL uses of FASTBOOT_FLASH_NAND
  Correct SPL use of FASTBOOT_MMC_USER_SUPPORT
  Correct SPL use of FDT_SIMPLEFB
  Correct SPL uses of FEC_MXC
  Correct SPL use of FSL_CAAM
  Correct SPL uses of FSL_ISBC_KEY_EXT
  Correct SPL use of FSL_MC_ENET
  Correct SPL use of FSP_VERSION2
  Correct SPL use of FS_EROFS
  Correct SPL use of GENERATE_SMBIOS_TABLE
  Correct SPL uses of GMAC_ROCKCHIP
  Correct SPL use of HUSH_PARSER
  Correct SPL uses of HW_WATCHDOG
  Correct SPL uses of I8259_PIC
  Correct SPL uses of IMX8M
  Correct SPL use of IMX8MN_BEACON_2GB_LPDDR
  Correct SPL uses of IMX_MODULE_FUSE
  Correct SPL uses of IMX_RDC
  Correct SPL uses of LMB
  Correct SPL uses of MICROBLAZE
  Correct SPL use of MIPS_CM
  Correct SPL use of MMC_QUIRKS
  Correct SPL uses of MTD
  Correct SPL uses of MULTIPLEXER
  Correct SPL uses of NEEDS_MANUAL_RELOC
  Correct SPL use of NETDEVICES
  Correct SPL uses of NXP_FSPI
  Correct SPL use of OCTEON_SERIAL_BOOTCMD
  Correct SPL use of OCTEON_SERIAL_PCIE_CONSOLE
  Correct SPL uses of OF_BOARD
  Correct SPL use of OF_EMBED
  Correct SPL use of PANEL
  Correct SPL use of PARTITION_TYPE_GUID
  Correct SPL use of PCI_PNP
  Correct SPL uses of PG_WCOM_UBOOT_BOOTPACKAGE
  Correct SPL uses of PG_WCOM_UBOOT_UPDATE
  Correct SPL use of PG_WCOM_UBOOT_UPDATE_SUPPORTED
  Correct SPL use of PHY_CADENCE_SIERRA
  Correct SPL use of PHY_CADENCE_TORRENT
  Correct SPL uses of PHY_FIXED
  Correct SPL uses of PMIC_STPMIC1
  Correct SPL use of QFW_PIO
  Correct SPL use of REGEX
  Correct SPL use of RENESAS_SDHI
  Correct SPL use of RESV_RAM
  Correct SPL uses of ROCKCHIP_EFUSE
  Correct SPL uses of ROCKCHIP_OTP
  Correct SPL use of SANDBOX
  Correct SPL uses of SANDBOX_CLK_CCF
  Correct SPL uses of SAVE_PREV_BL_FDT_ADDR
  Correct SPL uses of SAVE_PREV_BL_INITRAMFS_START_ADDR
  Correct SPL uses of SEC_FIRMWARE_ARMV8_PSCI
  Correct SPL uses of SIFIVE_OTP
  Correct SPL use of SL28CPLD
  Correct SPL use of SL28_SPL_LOADS_OPTEE_BL32
  Correct SPL use of SPI_FLASH_BAR
  Correct SPL uses of SPI_FLASH_MACRONIX
  Correct SPL use of SPLASH_SOURCE
  Correct SPL use of STM32MP15X_STM32IMAGE
  Correct SPL use of SUPPORT_EMMC_RPMB
  Correct SPL use of SYS_FSL_ERRATUM_A010539
  Correct SPL uses of SYS_LONGHELP
  Correct SPL use of SYS_MEM_RSVD_FOR_MMU
  Correct SPL uses of TARGET_LX2160ARDB
  Correct SPL use of TARGET_MX6UL_9X9_EVK
  Correct SPL use of TARGET_PG_WCOM_EXPU1
  Correct SPL use of TARGET_PG_WCOM_SELI8
  Correct SPL use of TEE
  Correct SPL uses of TEN64_CONTROLLER
  Correct SPL use of TPM_RNG
  Correct SPL use of UDP_FUNCTION_FASTBOOT
  Correct SPL use of USB_DWC3_MESON_G12A
  Correct SPL uses of USB_DWC3_MESON_GXL
  Correct SPL use of USB_FUNCTION_FASTBOOT
  Correct SPL uses of USB_GADGET_DWC2_OTG
  Correct SPL uses of USB_KEYBOARD
  Correct SPL uses of USB_MUSB_HOST
  Correct SPL uses of VIDEO
  Correct SPL use of VIDEO_ANSI
  Correct SPL use of VIDEO_BPP16
  Correct SPL use of VIDEO_BPP32
  Correct SPL use of WATCHDOG_AUTOSTART
  Correct SPL uses of XEN_SERIAL
  Correct SPL uses of ZYNQMP_FIRMWARE

 arch/arc/lib/bootm.c                          |   2 +-
 arch/arm/cpu/armv8/cpu-dt.c                   |   2 +-
 arch/arm/cpu/armv8/fsl-layerscape/cpu.c       |   2 +-
 arch/arm/include/asm/mach-imx/module_fuse.h   |   2 +-
 arch/arm/lib/bootm-fdt.c                      |   2 +-
 arch/arm/lib/bootm.c                          |   2 +-
 arch/arm/lib/save_prev_bl_data.c              |   4 +-
 arch/arm/mach-exynos/mmu-arm64.c              |   2 +-
 arch/arm/mach-imx/imx_bootaux.c               |   8 +-
 arch/arm/mach-imx/mx7/soc.c                   |   4 +-
 arch/arm/mach-meson/board-axg.c               |   4 +-
 arch/arm/mach-meson/board-g12a.c              |   4 +-
 arch/arm/mach-meson/board-gx.c                |   4 +-
 arch/arm/mach-mvebu/arm64-common.c            |  12 +-
 arch/arm/mach-rockchip/board.c                |   2 +-
 arch/arm/mach-rockchip/cpu-info.c             |   2 +-
 arch/arm/mach-rockchip/misc.c                 |   8 +-
 .../cmd_stm32prog/cmd_stm32prog.c             |   2 +-
 .../mach-stm32mp/cmd_stm32prog/stm32prog.c    |   6 +-
 arch/arm/mach-stm32mp/fdt.c                   |   2 +-
 arch/m68k/lib/bootm.c                         |   2 +-
 arch/microblaze/cpu/cpuinfo.c                 |   2 +-
 arch/microblaze/include/asm/cpuinfo.h         |   2 +-
 arch/microblaze/lib/bootm.c                   |   2 +-
 arch/mips/include/asm/cm.h                    |   2 +-
 arch/mips/lib/bootm.c                         |   4 +-
 arch/mips/mach-octeon/cpu.c                   |   4 +-
 arch/powerpc/lib/bootm.c                      |   2 +-
 arch/riscv/lib/bootm.c                        |   2 +-
 arch/sandbox/lib/bootm.c                      |   2 +-
 arch/x86/cpu/coreboot/coreboot.c              |   2 +-
 arch/x86/cpu/efi/payload.c                    |   2 +-
 arch/x86/cpu/qemu/qemu.c                      |   2 +-
 arch/x86/lib/bootm.c                          |   4 +-
 arch/x86/lib/fsp/fsp_dram.c                   |   4 +-
 arch/x86/lib/interrupts.c                     |   8 +-
 .../imx8mp_rsb3720a1/imx8mp_rsb3720a1.c       |   2 +-
 board/broadcom/bcmns3/ns3.c                   |   2 +-
 board/compulab/cm_fx6/cm_fx6.c                |   2 +-
 .../imx8mm-cl-iot-gate/imx8mm-cl-iot-gate.c   |   2 +-
 board/emulation/common/qemu_dfu.c             |   2 +-
 board/emulation/qemu-arm/qemu-arm.c           |   2 +-
 board/engicam/imx8mp/icore_mx8mp.c            |   4 +-
 board/engicam/stm32mp1/stm32mp1.c             |   2 +-
 board/freescale/common/fsl_validate.c         |  18 +-
 board/freescale/imx8mp_evk/imx8mp_evk.c       |   4 +-
 board/freescale/imx93_evk/imx93_evk.c         |   4 +-
 board/freescale/lx2160a/lx2160a.c             |   6 +-
 board/keymile/common/common.c                 |  10 +-
 .../keymile/pg-wcom-ls102xa/pg-wcom-ls102xa.c |   4 +-
 board/kontron/pitx_imx8m/pitx_imx8m.c         |   2 +-
 board/kontron/sl-mx8mm/sl-mx8mm.c             |   2 +-
 board/kontron/sl28/sl28.c                     |   8 +-
 board/rockchip/evb_rk3399/evb-rk3399.c        |   2 +-
 board/sandbox/sandbox.c                       |   2 +-
 board/sifive/unleashed/unleashed.c            |   4 +-
 board/socionext/developerbox/developerbox.c   |   2 +-
 board/st/common/stm32mp_dfu.c                 |   4 +-
 board/st/common/stm32mp_mtdparts.c            |   2 +-
 board/st/stm32mp1/stm32mp1.c                  |  10 +-
 board/ti/am57xx/board.c                       |   2 +-
 board/ti/dra7xx/evm.c                         |   2 +-
 board/traverse/ten64/ten64.c                  |  10 +-
 .../variscite/imx8mn_var_som/imx8mn_var_som.c |   2 +-
 board/xilinx/common/board.c                   |  14 +-
 board/xilinx/versal-net/board.c               |   4 +-
 board/xilinx/versal/board.c                   |   2 +-
 board/xilinx/zynq/board.c                     |   2 +-
 board/xilinx/zynqmp/zynqmp.c                  |   2 +-
 boot/Kconfig                                  |  21 +
 boot/Makefile                                 |   5 +-
 boot/bootm.c                                  |   8 +-
 boot/image-board.c                            |   2 +-
 boot/image-fdt.c                              |   4 +-
 boot/vbe_request.c                            |   2 +-
 cmd/Kconfig                                   |   4 +
 cmd/bootcount.c                               |   4 +-
 cmd/bootmenu.c                                |   4 +-
 cmd/cls.c                                     |   2 +-
 cmd/cpu.c                                     |   2 +-
 cmd/dm.c                                      |   2 +-
 cmd/eficonfig.c                               |   2 +-
 cmd/fastboot.c                                |   4 +-
 cmd/net.c                                     |   6 +-
 cmd/nvedit.c                                  |   2 +-
 cmd/ti/pd.c                                   |   2 +-
 common/Kconfig                                |   8 +
 common/board_r.c                              |   8 +-
 common/cli.c                                  |   2 +-
 common/event.c                                |   2 +-
 common/fdt_simplefb.c                         |   2 +-
 common/hash.c                                 |   4 +-
 common/splash.c                               |   2 +-
 disk/part_dos.c                               |   2 +-
 disk/part_efi.c                               |   2 +-
 drivers/Makefile                              |   2 +-
 drivers/button/Kconfig                        |   4 +
 drivers/clk/clk-divider.c                     |   4 +-
 drivers/clk/clk-gate.c                        |   6 +-
 drivers/clk/clk-mux.c                         |   8 +-
 drivers/clk/clk_k210.c                        |   6 +-
 drivers/clk/imx/clk-imx8.c                    |   2 +-
 drivers/clk/imx/clk-imx8.h                    |   2 +-
 drivers/clk/imx/clk-imx8mm.c                  |   4 +-
 drivers/clk/imx/clk-imx8qm.c                  |   2 +-
 drivers/clk/imx/clk-imx8qxp.c                 |   2 +-
 drivers/clk/rockchip/clk_rk3368.c             |   4 +-
 drivers/core/Kconfig                          |   7 +
 drivers/crypto/aspeed/aspeed_hace.c           |   2 +-
 drivers/crypto/hash/hash_sw.c                 |   2 +-
 drivers/dfu/Makefile                          |   2 +-
 drivers/fastboot/fb_command.c                 |   8 +-
 drivers/fastboot/fb_common.c                  |   2 +-
 drivers/fastboot/fb_getvar.c                  |  10 +-
 drivers/fastboot/fb_mmc.c                     |   2 +-
 drivers/hwspinlock/Kconfig                    |   4 +
 drivers/i2c/mxc_i2c.c                         |   4 +-
 drivers/iommu/Kconfig                         |   4 +
 drivers/misc/fsl_ifc.c                        |   2 +-
 drivers/mmc/Makefile                          |   2 +-
 drivers/mmc/mmc.c                             |   2 +-
 drivers/mmc/mv_sdhci.c                        |   4 +-
 drivers/mmc/tmio-common.h                     |   2 +-
 drivers/mtd/spi/Kconfig                       |   4 +
 drivers/mtd/spi/spi-nor-core.c                |   6 +-
 drivers/mux/Makefile                          |   2 +-
 drivers/net/fec_mxc.c                         |   2 +-
 drivers/net/mvneta.c                          |   4 +-
 drivers/pci/pci-uclass.c                      |   2 +-
 drivers/phy/cadence/Makefile                  |   4 +-
 drivers/phy/phy-ab8500-usb.c                  |   2 +-
 drivers/pinctrl/broadcom/pinctrl-bcm283x.c    |   2 +-
 drivers/pinctrl/mvebu/Kconfig                 |   4 +
 drivers/pinctrl/pinctrl-at91-pio4.c           |   2 +-
 drivers/pinctrl/pinctrl-single.c              |   2 +-
 drivers/reset/Kconfig                         |   8 +
 drivers/serial/serial_bcm283x_mu.c            |   2 +-
 drivers/serial/serial_bcm283x_pl011.c         |   2 +-
 drivers/serial/serial_zynq.c                  |   2 +-
 drivers/spi/cadence_ospi_versal.c             |   2 +-
 drivers/spi/cadence_qspi.c                    |   4 +-
 drivers/sysreset/sysreset_mpc83xx.c           |   8 +-
 drivers/tpm/tpm-uclass.c                      |   2 +-
 drivers/usb/host/ehci-mx6.c                   |   4 +-
 drivers/usb/musb-new/omap2430.c               |   2 +-
 drivers/video/imx/mxc_ipuv3_fb.c              |   2 +-
 drivers/video/video-uclass.c                  |   4 +-
 drivers/virtio/Kconfig                        |   4 +
 drivers/xen/events.c                          |   8 +-
 dts/Kconfig                                   |   4 +
 fs/erofs/Makefile                             |   2 +-
 include/asm-generic/global_data.h             |   2 +-
 include/bcb.h                                 |   2 +-
 include/configs/am335x_evm.h                  |   6 +-
 include/configs/am62ax_evm.h                  |   4 +-
 include/configs/apple.h                       |   4 +-
 include/configs/imx8mm-cl-iot-gate.h          |   8 +-
 include/configs/imx8mn_beacon.h               |   2 +-
 include/configs/imx8mp_rsb3720.h              |   6 +-
 include/configs/iot2050.h                     |   2 +-
 include/configs/j721e_evm.h                   |   4 +-
 include/configs/mx6ul_14x14_evk.h             |   2 +-
 include/configs/qemu-arm.h                    |  10 +-
 include/configs/rockchip-common.h             |  14 +-
 include/configs/rpi.h                         |   8 +-
 include/configs/tegra-common-post.h           |   2 +-
 include/dfu.h                                 |   2 +-
 include/env_internal.h                        |   2 +-
 include/environment/distro/sf.h               |   2 +-
 include/linux/clk-provider.h                  |   6 +-
 include/mux.h                                 |   2 +-
 include/tee.h                                 |   2 +-
 lib/Kconfig                                   |  10 +
 lib/efi_loader/efi_image_loader.c             |   2 +-
 lib/efi_loader/efi_root_node.c                |   6 +-
 lib/hashtable.c                               |   2 +-
 lib/vsprintf.c                                |   2 +-
 net/Kconfig                                   |   4 +
 net/bootp.c                                   |   2 +-
 net/fastboot.c                                |   2 +-
 net/mdio-uclass.c                             |   2 +-
 tools/moveconfig.py                           | 599 +++++++++++++-----
 182 files changed, 850 insertions(+), 446 deletions(-)

-- 
2.39.1.519.gcb327c4b5f-goog



More information about the U-Boot mailing list