[PATCH 0/9] configs: cleanup obsolete or incorrect assignments

Vincent Mailhol (Arm) mailhol at kernel.org
Tue Mar 17 20:13:36 AEDT 2026


The arm64 defconfig contains several inconsistencies, as shown by the
following merge_config warnings:

  $ ARCH=arm64 ./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig
  Using arch/arm64/configs/defconfig as base
  #
  # configuration written to .config
  #
  WARNING: Value requested for CONFIG_NETFILTER_XT_TARGET_CHECKSUM not in final .config
  Requested value: CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
  Actual value:
  WARNING: Value requested for CONFIG_IP_NF_FILTER not in final .config
  Requested value: CONFIG_IP_NF_FILTER=m
  Actual value:
  WARNING: Value requested for CONFIG_IP_NF_TARGET_REJECT not in final .config
  Requested value: CONFIG_IP_NF_TARGET_REJECT=m
  Actual value:
  WARNING: Value requested for CONFIG_IP_NF_NAT not in final .config
  Requested value: CONFIG_IP_NF_NAT=m
  Actual value:
  WARNING: Value requested for CONFIG_IP_NF_TARGET_MASQUERADE not in final .config
  Requested value: CONFIG_IP_NF_TARGET_MASQUERADE=m
  Actual value:
  WARNING: Value requested for CONFIG_IP_NF_MANGLE not in final .config
  Requested value: CONFIG_IP_NF_MANGLE=m
  Actual value:
  WARNING: Value requested for CONFIG_IP6_NF_FILTER not in final .config
  Requested value: CONFIG_IP6_NF_FILTER=m
  Actual value:
  WARNING: Value requested for CONFIG_IP6_NF_TARGET_REJECT not in final .config
  Requested value: CONFIG_IP6_NF_TARGET_REJECT=m
  Actual value:
  WARNING: Value requested for CONFIG_IP6_NF_MANGLE not in final .config
  Requested value: CONFIG_IP6_NF_MANGLE=m
  Actual value:
  WARNING: Value requested for CONFIG_IP6_NF_NAT not in final .config
  Requested value: CONFIG_IP6_NF_NAT=m
  Actual value:
  WARNING: Value requested for CONFIG_IP6_NF_TARGET_MASQUERADE not in final .config
  Requested value: CONFIG_IP6_NF_TARGET_MASQUERADE=m
  Actual value:
  WARNING: Value requested for CONFIG_SENSORS_SA67MCU not in final .config
  Requested value: CONFIG_SENSORS_SA67MCU=m
  Actual value:
  WARNING: Value requested for CONFIG_FB_MODE_HELPERS not in final .config
  Requested value: CONFIG_FB_MODE_HELPERS=y
  Actual value:
  WARNING: Value requested for CONFIG_SND_SOC_ROCKCHIP not in final .config
  Requested value: CONFIG_SND_SOC_ROCKCHIP=m
  Actual value:
  WARNING: Value requested for CONFIG_IPQ_APSS_5018 not in final .config
  Requested value: CONFIG_IPQ_APSS_5018=y
  Actual value:
  WARNING: Value requested for CONFIG_SLIM_QCOM_CTRL not in final .config
  Requested value: CONFIG_SLIM_QCOM_CTRL=m
  Actual value:
  WARNING: Value requested for CONFIG_NFS_V4_1 not in final .config
  Requested value: CONFIG_NFS_V4_1=y
  Actual value:
  WARNING: CONFIG_CRYPTO_SHA3 differs:
  Requested value: CONFIG_CRYPTO_SHA3=m
  Actual value:    CONFIG_CRYPTO_SHA3=y
  ./scripts/kconfig/merge_config.sh: 384: [: false: unexpected operator

The issues fall into several categories:

  - assignments to removed or renamed configuration symbols.

  - assignments to symbols that became hidden or internal.

  - assignments that are requested as module (=m) but which have a
    built-in parent dependency (=y).

This series cleans up all those issues. While the focus is the arm64
defconfig, fixes that apply more broadly are extended treewide.

After applying this series, merge_config.sh runs without warnings on
the arm64 defconfig. Below script was used to confirm that no symbols
got inadvertently removed:

  #!/bin/sh

  DIR=$(mktemp -d)

  # Generate conf before this series
  git checkout $(git merge-base HEAD @{upstream})
  for arch in arch/*/; do
      for conf in "$arch"configs/*defconfig; do
        ARCH=$(basename $arch) \
        KCONFIG_CONFIG="$DIR/$(basename $arch)_$(basename $conf)_before" \
            ./scripts/kconfig/merge_config.sh $conf
      done
  done

  # Generate conf after this series
  git checkout -
  for arch in arch/*/; do
      for conf in "$arch"configs/*defconfig; do
        ARCH=$(basename $arch) \
        KCONFIG_CONFIG="$DIR/$(basename $arch)_$(basename $conf)_after" \
            ./scripts/kconfig/merge_config.sh $conf
      done
  done

  # Compare
  for arch in arch/*/; do
      for conf in "$arch"configs/*defconfig; do
        if diff --unified \
                "$DIR/$(basename $arch)_$(basename $conf)_before" \
                "$DIR/$(basename $arch)_$(basename $conf)_after"; then
            echo "$conf: OK"
        else
            echo "$conf: configuration changed"
        fi
      done
  done

Signed-off-by: Vincent Mailhol (Arm) <mailhol at kernel.org>
---
Vincent Mailhol (Arm) (9):
      scripts: kconfig: merge_config.sh: use POSIX '=' in test
      configs: remove orphan dependencies of NETFILTER_XTABLES_LEGACY
      configs: remove obsolete assignments to CONFIG_NFS_V4_1
      configs: remove implicit assignments to FB_MODE_HELPERS
      arm: configs: remove obsolete assignments to SND_SOC_ROCKCHIP
      arm64: defconfig: remove implicit assignment to CRYPTO_SHA3
      arm64: defconfig: remove incorrect assignment to IPQ_APSS_5018
      arm64: defconfig: remove obsolete assignment to SENSORS_SA67MCU
      arm64: defconfig: remove obsolete assignment to SLIM_QCOM_CTRL

 arch/alpha/configs/defconfig                |  1 -
 arch/arm/configs/am200epdkit_defconfig      |  1 -
 arch/arm/configs/collie_defconfig           |  1 -
 arch/arm/configs/ep93xx_defconfig           |  1 -
 arch/arm/configs/exynos_defconfig           |  1 -
 arch/arm/configs/imx_v6_v7_defconfig        |  2 --
 arch/arm/configs/ixp4xx_defconfig           |  3 ---
 arch/arm/configs/keystone_defconfig         |  3 ---
 arch/arm/configs/lpc18xx_defconfig          |  1 -
 arch/arm/configs/lpc32xx_defconfig          |  2 --
 arch/arm/configs/mps2_defconfig             |  1 -
 arch/arm/configs/multi_v7_defconfig         |  2 --
 arch/arm/configs/mxs_defconfig              |  1 -
 arch/arm/configs/omap1_defconfig            |  1 -
 arch/arm/configs/omap2plus_defconfig        |  1 -
 arch/arm/configs/shmobile_defconfig         |  1 -
 arch/arm/configs/spitz_defconfig            |  4 ----
 arch/arm/configs/wpcm450_defconfig          |  1 -
 arch/arm64/configs/defconfig                | 18 ------------------
 arch/loongarch/configs/loongson32_defconfig |  1 -
 arch/loongarch/configs/loongson64_defconfig |  1 -
 arch/mips/configs/bmips_stb_defconfig       |  2 --
 arch/mips/configs/cavium_octeon_defconfig   |  1 -
 arch/mips/configs/db1xxx_defconfig          |  1 -
 arch/mips/configs/eyeq5_defconfig           |  1 -
 arch/mips/configs/eyeq6_defconfig           |  1 -
 arch/mips/configs/fuloong2e_defconfig       |  3 ---
 arch/mips/configs/generic_defconfig         |  1 -
 arch/mips/configs/gpr_defconfig             |  3 ---
 arch/mips/configs/ip22_defconfig            |  6 ------
 arch/mips/configs/lemote2f_defconfig        |  1 -
 arch/mips/configs/loongson2k_defconfig      |  3 ---
 arch/mips/configs/loongson3_defconfig       | 11 -----------
 arch/mips/configs/malta_defconfig           |  6 ------
 arch/mips/configs/malta_kvm_defconfig       |  6 ------
 arch/mips/configs/maltaup_xpa_defconfig     |  6 ------
 arch/mips/configs/mtx1_defconfig            |  6 ------
 arch/mips/configs/rb532_defconfig           |  3 ---
 arch/mips/configs/rm200_defconfig           |  6 ------
 arch/mips/configs/rt305x_defconfig          |  3 ---
 arch/mips/configs/xway_defconfig            |  3 ---
 arch/parisc/configs/generic-64bit_defconfig |  1 -
 arch/powerpc/configs/85xx/stx_gp3_defconfig |  1 -
 arch/powerpc/configs/cell_defconfig         |  3 ---
 arch/powerpc/configs/linkstation_defconfig  |  3 ---
 arch/powerpc/configs/mvme5100_defconfig     |  3 ---
 arch/powerpc/configs/pmac32_defconfig       |  3 ---
 arch/powerpc/configs/ppc6xx_defconfig       |  6 ------
 arch/riscv/configs/defconfig                |  9 ---------
 arch/sh/configs/titan_defconfig             |  6 ------
 arch/x86/configs/i386_defconfig             |  7 -------
 arch/x86/configs/x86_64_defconfig           |  7 -------
 arch/xtensa/configs/virt_defconfig          |  1 -
 scripts/kconfig/merge_config.sh             |  2 +-
 54 files changed, 1 insertion(+), 172 deletions(-)
---
base-commit: f338e77383789c0cae23ca3d48adcc5e9e137e3c
change-id: 20260312-arm_defconf_cleanup-cd17f4ba989d

Best regards,
-- 
Vincent Mailhol (Arm) <mailhol at kernel.org>



More information about the Linuxppc-dev mailing list