On Thu, Jul 21, 2022 at 5:36 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 21/07/2022 17:33, Scott Branden wrote: > > Hi Arnd, > > > > On 2022-07-21 07:13, Arnd Bergmann wrote: > >> From: Arnd Bergmann <arnd@xxxxxxxx> > >> > >> A lot of Kconfig options have changed over the years, and we tend > >> to not do a blind 'make defconfig' to refresh the files, to ensure > >> we catch options that should not have gone away. > >> > >> I used some a bit of scripting to only rework the bits where an > >> option moved around in any of the defconfig files, without also > >> dropping any of the other lines, to make it clearer which options > >> we no longer have. > > Resync is fine. But, it would be great if the defconfig files were kept > > in sync. Almost every kernel version kconfig options change which affect > > these files. Could we put in place a defconfig refresh per kernel > > version to keep them all in sync going forward? > > > > Not entirely, because some Kconfig changes are causing symbols to > disappear. Also defconfig is expected to include user-visible options, > even if savedefconfig would drop them. > > This is why blind savedefconfig is not acceptable. Right. I mostly scripted the changes to move the options around, but had to do a few files manually so I can't fully automate this, and the removed options always need manual inspection. There are still around 400 lines in the defconfig files that go away after a savedefconfig, and it's a lot of work to go through those. I might do a few more of these, but if anyone wants to help, these are the most common lines that get dropped, sorted by frequency: 34 -# CONFIG_VGA_CONSOLE is not set 32 -CONFIG_NET_ETHERNET=y 26 -CONFIG_NFS_V3=y 22 -# CONFIG_CRYPTO_ANSI_CPRNG is not set 20 -CONFIG_PM=y 18 -CONFIG_FPE_NWFPE=y 18 -# CONFIG_INET_XFRM_MODE_TUNNEL is not set 18 -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 18 -# CONFIG_INET_XFRM_MODE_BEET is not set 15 -CONFIG_SYSFS_DEPRECATED_V2=y 15 -CONFIG_DEBUG_KERNEL=y 15 -# CONFIG_BLK_DEV_BSG is not set 14 -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 14 -# CONFIG_INPUT_MOUSEDEV is not set 12 -CONFIG_LEDS=y 12 -CONFIG_AEABI=y 11 -CONFIG_NET_PCMCIA=y 11 -CONFIG_GPIO_SYSFS=y 10 -# CONFIG_ENABLE_MUST_CHECK is not set 9 -CONFIG_LEDS_CPU=y 9 -# CONFIG_EXT3_FS_XATTR is not set 8 -CONFIG_CRYPTO_SHA512=m 8 -CONFIG_BINFMT_AOUT=y 8 -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 7 -CONFIG_SND_PCM_OSS=m 7 -CONFIG_SND_MIXER_OSS=m 7 -CONFIG_SMB_FS=m 7 -CONFIG_MTD_M25P80=y 6 -CONFIG_NET_PCI=y 6 -CONFIG_CRYPTO_ECB=m 5 -CONFIG_SECCOMP=y 5 -CONFIG_MEDIA_CAMERA_SUPPORT=y 5 -CONFIG_IPV6=y 5 -CONFIG_CRYPTO_TEA=m 5 -CONFIG_CRYPTO_SHA256=m 5 -CONFIG_CRYPTO_KHAZAD=m 5 -CONFIG_CRYPTO_ARC4=m 5 -CONFIG_BACKLIGHT_PWM=y 5 -# CONFIG_NET_CADENCE is not set The majority of these lines are options that no longer exist and are not needed, or things that dropped off because they get selected by something else. The interesting ones we need to catch are the ones that should be enabled but are either renamed to something else or gained a dependency that now also needs to be turned on. Arnd