aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini2022-12-04 10:14:16 -0500
committerTom Rini2022-12-23 13:01:13 -0500
commit9ef3ba85bf38289a3e3b0dcb92fad9480a0b1834 (patch)
tree014fc49444254898309bf8735078ef7296920f29
parentbb9b9c1e207744fc2ea5163688e9379530a3057b (diff)
kbuild: Remove checking for adhoc CONFIG symbols
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>
-rw-r--r--Makefile8
-rwxr-xr-xscripts/build-whitelist.sh45
-rwxr-xr-xscripts/check-config.sh63
-rw-r--r--scripts/config_whitelist.txt245
-rwxr-xr-xtools/moveconfig.py32
5 files changed, 2 insertions, 391 deletions
diff --git a/Makefile b/Makefile
index 8cd873fd5f4..5610f7b4924 100644
--- 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
index 37630c0271c..00000000000
--- a/scripts/build-whitelist.sh
+++ /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
index cc1c9a54d95..00000000000
--- a/scripts/check-config.sh
+++ /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
index 9e346fbc448..00000000000
--- a/scripts/config_whitelist.txt
+++ /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
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 09617a07f91..8f084a6070a 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -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: