]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
kbuild: Remove checking for adhoc CONFIG symbols
authorTom Rini <trini@konsulko.com>
Sun, 4 Dec 2022 15:14:16 +0000 (10:14 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 23 Dec 2022 18:01:13 +0000 (13:01 -0500)
At this point all listed adhoc CONFIG symbols have been migrated to
Kconfig or removed from the tree or renamed to CFG (or similar). We also
now have CI tests that will error on any new introductions, and
checkpatch.pl also looks. We can now remove these hooks and related
scripts.

Signed-off-by: Tom Rini <trini@konsulko.com>
Makefile
scripts/build-whitelist.sh [deleted file]
scripts/check-config.sh [deleted file]
scripts/config_whitelist.txt [deleted file]
tools/moveconfig.py

index 8cd873fd5f4c5c75fabf38a67799c5bd63cc04fb..5610f7b4924780d1474f17bd12292119ac382801 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1075,10 +1075,6 @@ cmd_lzma = lzma -c -z -k -9 $< > $@
 
 cfg: u-boot.cfg
 
-quiet_cmd_cfgcheck = CFGCHK  $2
-cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
-               $(srctree)/scripts/config_whitelist.txt $(srctree)
-
 quiet_cmd_ofcheck = OFCHK   $2
 cmd_ofcheck = $(srctree)/scripts/check-of.sh $2 \
                $(srctree)/scripts/of_allowlist.txt
@@ -1146,10 +1142,6 @@ endif
        $(call deprecated,CONFIG_TIMER,Timer drivers,v2023.01,$(if $(strip $(CFG_SYS_TIMER_RATE)$(CFG_SYS_TIMER_COUNTER)),x))
        $(call deprecated,CONFIG_DM_SERIAL,Serial drivers,v2023.04,$(CONFIG_SERIAL))
        $(call deprecated,CONFIG_DM_SCSI,SCSI drivers,v2023.04,$(CONFIG_SCSI))
-       @# Check that this build does not use CONFIG options that we do not
-       @# know about unless they are in Kconfig. All the existing CONFIG
-       @# options are whitelisted, so new ones should not be added.
-       $(call cmd,cfgcheck,u-boot.cfg)
        @# Check that this build does not override OF_HAS_PRIOR_STAGE by
        @# disabling OF_BOARD.
        $(call cmd,ofcheck,$(KCONFIG_CONFIG))
diff --git a/scripts/build-whitelist.sh b/scripts/build-whitelist.sh
deleted file mode 100755 (executable)
index 37630c0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2016 Google, Inc
-# Written by Simon Glass <sjg@chromium.org>
-#
-
-# This script creates the configuration whitelist file. This file contains
-# all the config options which are allowed to be used outside Kconfig.
-# Please do not add things to the whitelist. Instead, add your new option
-# to Kconfig.
-#
-export LC_ALL=C LC_COLLATE=C
-
-# Looks for the rest of the CONFIG options, but exclude those in Kconfig and
-# defconfig files.
-#
-git grep CONFIG_ | \
-       egrep -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \
-       | tr ' \t' '\n\n' \
-       | sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' \
-       |sort |uniq >scripts/config_whitelist.txt.tmp1;
-
-# Finally, we need a list of the valid Kconfig options to exclude these from
-# the whitelist.
-cat `find . -name "Kconfig*"` |sed -n \
-       -e 's/^\s*config *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
-       -e 's/^\s*menuconfig *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
-       |sort |uniq >scripts/config_whitelist.txt.tmp2
-
-# Use only the options that are present in the first file but not the second.
-comm -23 scripts/config_whitelist.txt.tmp1 scripts/config_whitelist.txt.tmp2 \
-       |sort |uniq >scripts/config_whitelist.txt.tmp3
-
-# If scripts/config_whitelist.txt already exists, take the intersection of the
-# current list and the new one.  We do not want to increase whitelist options.
-if [ -r scripts/config_whitelist.txt ]; then
-       comm -12 scripts/config_whitelist.txt.tmp3 scripts/config_whitelist.txt \
-               > scripts/config_whitelist.txt.tmp4
-       mv scripts/config_whitelist.txt.tmp4 scripts/config_whitelist.txt
-else
-       mv scripts/config_whitelist.txt.tmp3 scripts/config_whitelist.txt
-fi
-
-rm scripts/config_whitelist.txt.tmp*
-
-unset LC_ALL LC_COLLATE
diff --git a/scripts/check-config.sh b/scripts/check-config.sh
deleted file mode 100755 (executable)
index cc1c9a5..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2016 Google, Inc
-# Written by Simon Glass <sjg@chromium.org>
-#
-# Check that the u-boot.cfg file provided does not introduce any new
-# ad-hoc CONFIG options
-#
-# Use scripts/build-whitelist.sh to generate the list of current ad-hoc
-# CONFIG options (those which are not in Kconfig).
-
-# Usage
-#    check-config.sh <path to u-boot.cfg> <path to whitelist file> <source dir>
-#
-# For example:
-#   scripts/check-config.sh b/chromebook_link/u-boot.cfg kconfig_whitelist.txt .
-
-set -e
-set -u
-
-PROG_NAME="${0##*/}"
-
-usage() {
-       echo "$PROG_NAME <path to u-boot.cfg> <path to whitelist file> <source dir>"
-       exit 1
-}
-
-[ $# -ge 3 ] || usage
-
-path="$1"
-whitelist="$2"
-srctree="$3"
-
-# Temporary files
-configs="${path}.configs"
-suspects="${path}.suspects"
-ok="${path}.ok"
-new_adhoc="${path}.adhoc"
-
-export LC_ALL=C
-export LC_COLLATE=C
-
-cat ${path} |sed -nr 's/^#define (CONFIG_[A-Za-z0-9_]*).*/\1/p' |sort |uniq \
-       >${configs}
-
-comm -23 ${configs} ${whitelist} > ${suspects}
-
-cat `find ${srctree} -name "Kconfig*"` |sed -nr \
-       -e 's/^[[:blank:]]*config *([A-Za-z0-9_]*).*$/CONFIG_\1/p' \
-       -e 's/^[[:blank:]]*menuconfig ([A-Za-z0-9_]*).*$/CONFIG_\1/p' \
-       |sort |uniq > ${ok}
-comm -23 ${suspects} ${ok} >${new_adhoc}
-if [ -s ${new_adhoc} ]; then
-       echo >&2 "Error: You must add new CONFIG options using Kconfig"
-       echo >&2 "The following new ad-hoc CONFIG options were detected:"
-       cat >&2 ${new_adhoc}
-       echo >&2
-       echo >&2 "Please add these via Kconfig instead. Find a suitable Kconfig"
-       echo >&2 "file and add a 'config' or 'menuconfig' option."
-       # Don't delete the temporary files in case they are useful
-       exit 1
-else
-       rm ${suspects} ${ok} ${new_adhoc}
-fi
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
deleted file mode 100644 (file)
index 9e346fb..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-CONFIG_ARM_GIC_BASE_ADDRESS
-CONFIG_BOARDDIR
-CONFIG_DFU_ALT
-CONFIG_DFU_ALT_BOOT_EMMC
-CONFIG_DFU_ALT_BOOT_SD
-CONFIG_DFU_ALT_SYSTEM
-CONFIG_DFU_ENV_SETTINGS
-CONFIG_DM9000_BASE
-CONFIG_DM9000_BYTE_SWAPPED
-CONFIG_DM9000_NO_SROM
-CONFIG_DM9000_USE_16BIT
-CONFIG_DW_WDT_CLOCK_KHZ
-CONFIG_ENV_FLAGS_LIST_STATIC
-CONFIG_ENV_IS_EMBEDDED
-CONFIG_ENV_SETTINGS_BUTTONS_AND_LEDS
-CONFIG_ENV_SETTINGS_NAND_V1
-CONFIG_ENV_SETTINGS_NAND_V2
-CONFIG_ENV_SETTINGS_V1
-CONFIG_ENV_SETTINGS_V2
-CONFIG_ENV_SROM_BANK
-CONFIG_ENV_TOTAL_SIZE
-CONFIG_ET1100_BASE
-CONFIG_ETHBASE
-CONFIG_EXTRA_ENV_SETTINGS
-CONFIG_FB_ADDR
-CONFIG_FDTADDR
-CONFIG_FDTFILE
-CONFIG_FEC_ENET_DEV
-CONFIG_FEC_FIXED_SPEED
-CONFIG_FEC_MXC_PHYADDR
-CONFIG_FLASH_BR_PRELIM
-CONFIG_FLASH_OR_PRELIM
-CONFIG_FLASH_SECTOR_SIZE
-CONFIG_FLASH_SHOW_PROGRESS
-CONFIG_FLASH_SPANSION_S29WS_N
-CONFIG_FLASH_VERIFY
-CONFIG_FM_PLAT_CLK_DIV
-CONFIG_FSL_CPLD
-CONFIG_FSL_ESDHC_PIN_MUX
-CONFIG_FSL_FM_10GEC_REGULAR_NOTATION
-CONFIG_FSL_ISBC_KEY_EXT
-CONFIG_FSL_PMIC_BITLEN
-CONFIG_FSL_PMIC_BUS
-CONFIG_FSL_PMIC_CLK
-CONFIG_FSL_PMIC_CS
-CONFIG_FSL_PMIC_MODE
-CONFIG_FSL_SDHC_V2_3
-CONFIG_FSL_SERDES1
-CONFIG_FSL_SERDES2
-CONFIG_GATEWAYIP
-CONFIG_GMII
-CONFIG_G_DNL_THOR_PRODUCT_NUM
-CONFIG_G_DNL_THOR_VENDOR_NUM
-CONFIG_G_DNL_UMS_PRODUCT_NUM
-CONFIG_G_DNL_UMS_VENDOR_NUM
-CONFIG_HDMI_ENCODER_I2C_ADDR
-CONFIG_HOSTNAME
-CONFIG_HSMMC2_8BIT
-CONFIG_HW_ENV_SETTINGS
-CONFIG_I2C_ENV_EEPROM_BUS
-CONFIG_I2C_MULTI_BUS
-CONFIG_I2C_MVTWSI
-CONFIG_I2C_MVTWSI_BASE0
-CONFIG_I2C_MVTWSI_BASE1
-CONFIG_I2C_RTC_ADDR
-CONFIG_ICS307_REFCLK_HZ
-CONFIG_IMX6_PWM_PER_CLK
-CONFIG_IPADDR
-CONFIG_IRAM_BASE
-CONFIG_IRAM_END
-CONFIG_IRAM_SIZE
-CONFIG_IRAM_TOP
-CONFIG_KSNET_CPSW_NUM_PORTS
-CONFIG_KSNET_MAC_ID_BASE
-CONFIG_KSNET_MDIO_PHY_CONFIG_ENABLE
-CONFIG_KSNET_NETCP_BASE
-CONFIG_KSNET_NETCP_V1_0
-CONFIG_KSNET_NETCP_V1_5
-CONFIG_KSNET_SERDES_LANES_PER_SGMII
-CONFIG_KSNET_SERDES_SGMII2_BASE
-CONFIG_KSNET_SERDES_SGMII_BASE
-CONFIG_L1_INIT_RAM
-CONFIG_L2_CACHE
-CONFIG_LEGACY_BOOTCMD_ENV
-CONFIG_LOWPOWER_ADDR
-CONFIG_LOWPOWER_FLAG
-CONFIG_LPC32XX_NAND_MLC_BUSY_DELAY
-CONFIG_LPC32XX_NAND_MLC_NAND_TA
-CONFIG_LPC32XX_NAND_MLC_RD_HIGH
-CONFIG_LPC32XX_NAND_MLC_RD_LOW
-CONFIG_LPC32XX_NAND_MLC_TCEA_DELAY
-CONFIG_LPC32XX_NAND_MLC_WR_HIGH
-CONFIG_LPC32XX_NAND_MLC_WR_LOW
-CONFIG_LPC32XX_NAND_SLC_RDR_CLKS
-CONFIG_LPC32XX_NAND_SLC_RHOLD
-CONFIG_LPC32XX_NAND_SLC_RSETUP
-CONFIG_LPC32XX_NAND_SLC_RWIDTH
-CONFIG_LPC32XX_NAND_SLC_WDR_CLKS
-CONFIG_LPC32XX_NAND_SLC_WHOLD
-CONFIG_LPC32XX_NAND_SLC_WSETUP
-CONFIG_LPC32XX_NAND_SLC_WWIDTH
-CONFIG_MACB_SEARCH_PHY
-CONFIG_MALLOC_F_ADDR
-CONFIG_MALTA
-CONFIG_MAX_DSP_CPUS
-CONFIG_MAX_MEM_MAPPED
-CONFIG_MAX_RAM_BANK_SIZE
-CONFIG_MEMSIZE_IN_BYTES
-CONFIG_MEM_INIT_VALUE
-CONFIG_MFG_ENV_SETTINGS
-CONFIG_MII_DEFAULT_TSEC
-CONFIG_MIU_2BIT_21_7_INTERLEAVED
-CONFIG_MIU_2BIT_INTERLEAVED
-CONFIG_MMC_DEFAULT_DEV
-CONFIG_MONITOR_IS_IN_RAM
-CONFIG_MTD_NAND_VERIFY_WRITE
-CONFIG_MVGBE_PORTS
-CONFIG_MXC_GPT_HCLK
-CONFIG_MXC_NAND_HWECC
-CONFIG_MXC_NAND_IP_REGS_BASE
-CONFIG_MXC_NAND_REGS_BASE
-CONFIG_MXC_UART_BASE
-CONFIG_MXC_USB_FLAGS
-CONFIG_MXC_USB_PORT
-CONFIG_MXC_USB_PORTSC
-CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC
-CONFIG_NAND_CS_INIT
-CONFIG_NETDEV
-CONFIG_NETMASK
-CONFIG_NORBOOT
-CONFIG_NUM_DSP_CPUS
-CONFIG_ODROID_REV_AIN
-CONFIG_OTHBOOTARGS
-CONFIG_OVERWRITE_ETHADDR_ONCE
-CONFIG_PCIE_IMX_PERST_GPIO
-CONFIG_PCIE_IMX_POWER_GPIO
-CONFIG_PEN_ADDR_BIG_ENDIAN
-CONFIG_PHY_BASE_ADR
-CONFIG_PHY_ET1011C_TX_CLK_FIX
-CONFIG_PHY_ID
-CONFIG_PHY_INTERFACE_MODE
-CONFIG_PHY_IRAM_BASE
-CONFIG_PL011_CLOCK
-CONFIG_PL01x_PORTS
-CONFIG_PME_PLAT_CLK_DIV
-CONFIG_POST
-CONFIG_POSTBOOTMENU
-CONFIG_POST_EXTERNAL_WORD_FUNCS
-CONFIG_POWER_LTC3676_I2C_ADDR
-CONFIG_POWER_PFUZE100_I2C_ADDR
-CONFIG_POWER_PFUZE3000_I2C_ADDR
-CONFIG_PPC_SPINTABLE_COMPATIBLE
-CONFIG_PRAM
-CONFIG_PSRAM_SCFG
-CONFIG_QBMAN_CLK_DIV
-CONFIG_RAMBOOT_SPIFLASH
-CONFIG_RAMBOOT_TEXT_BASE
-CONFIG_RAMDISK_ADDR
-CONFIG_RD_LVL
-CONFIG_RESET_VECTOR_ADDRESS
-CONFIG_ROCKCHIP_SDHCI_MAX_FREQ
-CONFIG_ROOTPATH
-CONFIG_SANDBOX_ARCH
-CONFIG_SANDBOX_SDL
-CONFIG_SANDBOX_SPI_MAX_BUS
-CONFIG_SANDBOX_SPI_MAX_CS
-CONFIG_SAR2_REG
-CONFIG_SAR_REG
-CONFIG_SCIF_A
-CONFIG_SCSI_DEV_LIST
-CONFIG_SC_TIMER_CLK
-CONFIG_SERIAL_BOOT
-CONFIG_SERVERIP
-CONFIG_SETUP_INITRD_TAG
-CONFIG_SET_DFU_ALT_BUF_LEN
-CONFIG_SH_ETHER_ALIGNE_SIZE
-CONFIG_SH_ETHER_CACHE_INVALIDATE
-CONFIG_SH_ETHER_CACHE_WRITEBACK
-CONFIG_SH_ETHER_PHY_ADDR
-CONFIG_SH_ETHER_PHY_MODE
-CONFIG_SH_ETHER_USE_PORT
-CONFIG_SH_QSPI_BASE
-CONFIG_SLIC
-CONFIG_SMDK5420
-CONFIG_SMP_PEN_ADDR
-CONFIG_SOCRATES
-CONFIG_SPI_ADDR
-CONFIG_SPI_BOOTING
-CONFIG_SPI_FLASH_QUAD
-CONFIG_SPI_FLASH_SIZE
-CONFIG_SPI_HALF_DUPLEX
-CONFIG_SPI_N25Q256A_RESET
-CONFIG_STACKBASE
-CONFIG_STANDALONE_LOAD_ADDR
-CONFIG_STD_DEVICES_SETTINGS
-CONFIG_SYS_BAUDRATE_TABLE
-CONFIG_TEGRA_BOARD_STRING
-CONFIG_TEGRA_ENABLE_UARTA
-CONFIG_TEGRA_ENABLE_UARTD
-CONFIG_TEGRA_SLINK_CTRLS
-CONFIG_TEGRA_SPI
-CONFIG_TEGRA_UARTA_GPU
-CONFIG_TEGRA_UARTA_SDIO1
-CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3
-CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1
-CONFIG_TESTPIN_MASK
-CONFIG_TESTPIN_REG
-CONFIG_THOR_RESET_OFF
-CONFIG_TPM_TIS_BASE_ADDRESS
-CONFIG_TSEC1
-CONFIG_TSEC1_NAME
-CONFIG_TSEC2
-CONFIG_TSEC2_NAME
-CONFIG_TSEC3
-CONFIG_TSEC3_NAME
-CONFIG_TSEC4
-CONFIG_TSEC4_NAME
-CONFIG_TSECV2
-CONFIG_TSECV2_1
-CONFIG_TSEC_TBICR_SETTINGS
-CONFIG_UBIFS_VOLUME
-CONFIG_UBI_PART
-CONFIG_UBOOTPATH
-CONFIG_UBOOT_SECTOR_COUNT
-CONFIG_UBOOT_SECTOR_START
-CONFIG_UEC_ETH
-CONFIG_USART_BASE
-CONFIG_USART_ID
-CONFIG_USBD_HS
-CONFIG_USB_BOOTING
-CONFIG_USB_EXT2_BOOT
-CONFIG_USB_FAT_BOOT
-CONFIG_USB_ISP1301_I2C_ADDR
-CONFIG_U_BOOT_HDR_SIZE
-CONFIG_VAR_SIZE_SPL
-CONFIG_VERY_BIG_RAM
-CONFIG_VSC7385_IMAGE
-CONFIG_VSC7385_IMAGE_SIZE
-CONFIG_WATCHDOG_PRESC
-CONFIG_WATCHDOG_RC
-CONFIG_WATCHDOG_TIMEOUT
-CONFIG_X86EMU_RAW_IO
-CONFIG_X86_MRC_ADDR
-CONFIG_X86_REFCODE_ADDR
-CONFIG_X86_REFCODE_RUN_ADDR
index 09617a07f91bc4e8bcec7b6d99e5601cf8104f30..8f084a6070aca895b43c71a572b3c3b3e5af587a 100755 (executable)
@@ -443,22 +443,6 @@ def cleanup_headers(configs, args):
                     cleanup_one_header(header_path, patterns, args)
                     cleanup_empty_blocks(header_path, args)
 
-def cleanup_whitelist(configs, args):
-    """Delete config whitelist entries
-
-    Args:
-      configs: A list of CONFIGs to remove.
-      args (Namespace): program arguments
-    """
-    if not confirm(args, 'Clean up whitelist entries?'):
-        return
-
-    lines = read_file(os.path.join('scripts', 'config_whitelist.txt'))
-
-    lines = [x for x in lines if x.strip() not in configs]
-
-    write_file(os.path.join('scripts', 'config_whitelist.txt'), lines)
-
 def find_matching(patterns, line):
     for pat in patterns:
         if pat.search(line):
@@ -1558,14 +1542,10 @@ def do_find_config(config_list):
     """
     all_configs, all_defconfigs, config_db, defconfig_db = read_database()
 
-    # Get the whitelist
-    adhoc_configs = set(read_file('scripts/config_whitelist.txt'))
-
     # Start with all defconfigs
     out = all_defconfigs
 
     # Work through each config in turn
-    adhoc = []
     for item in config_list:
         # Get the real config name and whether we want this config or not
         cfg = item
@@ -1574,10 +1554,6 @@ def do_find_config(config_list):
             want = False
             cfg = cfg[1:]
 
-        if cfg in adhoc_configs:
-            adhoc.append(cfg)
-            continue
-
         # Search everything that is still in the running. If it has a config
         # that we want, or doesn't have one that we don't, add it into the
         # running for the next stage
@@ -1588,11 +1564,8 @@ def do_find_config(config_list):
             has_cfg = defconfig_matches(config_db[defc], re_match)
             if has_cfg == want:
                 out.add(defc)
-    if adhoc:
-        print(f"Error: Not in Kconfig: %s" % ' '.join(adhoc))
-    else:
-        print(f'{len(out)} matches')
-        print(' '.join(item.split('_defconfig')[0] for item in out))
+    print(f'{len(out)} matches')
+    print(' '.join(item.split('_defconfig')[0] for item in out))
 
 
 def prefix_config(cfg):
@@ -1739,7 +1712,6 @@ doc/develop/moveconfig.rst for documentation.'''
 
     if configs:
         cleanup_headers(configs, args)
-        cleanup_whitelist(configs, args)
         cleanup_readme(configs, args)
 
     if args.commit: