Plus we should use "depends on" instead "select" right? :-)
-- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info On Fri, Feb 20, 2026 at 6:52 PM Alan C. Assis <[email protected]> wrote: > > Hi Maarten, > > Seems like someone added the select but forgot to create the config. > > And at least for the first symbol from your list, the issue is fallbacken > by the #ifndef ...#define: > > $ git grep ARCH_CHIP_AT32UC3A0 > arch/avr/src/at32uc3/Kconfig:config ARCH_CHIP_AT32UC3A0512 > arch/avr/src/at32uc3/Kconfig: select ARCH_CHIP_AT32UC3A0 > arch/avr/src/at32uc3/chip.h:#if defined (CONFIG_ARCH_CHIP_AT32UC3A0512) > arch/avr/src/at32uc3/chip.h:# define CONFIG_ARCH_CHIP_AT32UC3A0 1 > /* UC3 A0 (144-pin) series */ > boards/Kconfig: depends on ARCH_CHIP_AT32UC3A0512 > boards/avr/at32uc3/mizar32a/configs/nsh/defconfig:CONFIG_ARCH_CHIP_AT32UC3A0512=y > > Mateusz (raiden00pl) suggested removing this kind of fallback defines, > because the symbol should be defined in the Kconfig anyway. > > So, I think what you found is another reason to remove these #defines in > the code, that way the error should be clear. > > BR, > > Alan > > On Fri, Feb 20, 2026 at 2:42 PM Maarten Zanders <[email protected]> > wrote: > > > Hi, > > > > After submitting this PR (https://github.com/apache/nuttx/pull/18418), > > I wondered if there were more of these "ghost selects". > > > > So with these commands (thank you Claude) I created a list: > > > > # get all config, menuconfig and choice items > > find . -name 'Kconfig*' | xargs grep -hE > > '^\s*(config|menuconfig|choice)\s+\S' | awk '{print $2}' | sort -u > > > /tmp/kconfig_syms.txt > > # get all select items > > find . -name 'Kconfig*' | xargs grep -h '^\s*select ' | awk '{print > > $2}' | sort -u > /tmp/kconfig_select_syms.txt > > # compare files with some magic option > > comm -23 /tmp/kconfig_select_syms.txt /tmp/kconfig_syms.txt > > > > Results down below. > > > > Searching these items in the code repo confirms they (at least the > > ones I checked) are similar "ghost selects". Ie selected configuration > > items which result in nothing. > > Should we remove them to clear up the clutter? What test approach is > > advised? > > > > Cheers, > > Maarten > > > > > > ARCH_CHIP_AT32UC3A0 > > ARCH_CHIP_ESPRESSIF > > ARCH_FAMILY_HPM6300 > > ARCH_FAMILY_SAME53 > > ARCH_FAMILY_SAME54 > > ARCH_HAVE_DFPU > > ARCH_HAVE_DFSDM1 > > ARCH_HAVE_EXTSDRAM > > ARCH_HAVE_HASH > > ARCH_HAVE_LPUART1 > > ARCH_HAVE_TIMER0 > > ARCH_HAVE_TIMER1 > > ARCH_HAVE_TIMER2 > > ARCH_HAVE_TIMER3 > > ARCH_HAVE_UART0 > > ARCH_HAVE_UART1 > > ARCH_HAVE_UART2 > > ARCH_HAVE_UART3 > > ARCH_HAVE_UART4 > > ARM_HAVE_DPFPU > > ARMV8A_HAVE_GICv2 > > ARMV8A_HAVE_GICv3 > > AT32_HAVE_FLASH_DCACHE > > AT32_HAVE_FLASH_ICACHE > > AT32_HAVE_IOCOMPENSATION > > AT32_HAVE_SDIO > > AT32_HAVE_SDIO2 > > AT32_USART_TXDMA > > C906_UART > > EFM32_TIMER > > ESP_MAC_ADDR_UNIVERSE_BT > > ESP_MAC_ADDR_UNIVERSE_ETH > > ESP_MAC_ADDR_UNIVERSE_WIFI_AP > > ESP_MAC_ADDR_UNIVERSE_WIFI_STA > > ESP_SYSTEM_RTC_EXT_XTAL > > FB > > FE310_HAVE_GPIO > > FE310_UART > > full > > GD32F4_HAVE_ADC0_DMA > > GD32F4_HAVE_ADC1_DMA > > GD32F4_HAVE_ADC2_DMA > > GD32F4_HAVE_SDIO > > GD32F4_USART_TXDMA > > GD32_USART0 > > GD32_USART3 > > HPM6750_UART > > HPM_HAVE_UART > > K210_UART > > LITEX_SDIO_DMA > > LITEX_UART > > MAX326XX_HAVE_PTENGINE > > MTD_AM29LV > > NRF52_HAVE_BLELR > > NRF91_SERIAL1 > > PUART_SERIALDRIVER > > RV32M2_LPUART > > S32k3XX_HAVE_SDHC > > SAMA5D27_JUPITER_NANO_498MHZ > > SAMA5_SDMMC_DMA > > SAMV71XULT_SLOWCLOCK > > SENSORS_LIS3DSH > > STM32F7_FLASH_CONFIG_C > > STM32H5_HAVE_ICACHE_REMAP > > STM32H5_HAVE_SPI4 > > STM32H5_STM32H5X3XX > > STM32_HAVE_I2C1 > > STM32_HAVE_OTGHS > > STM32_HAVE_SPI1 > > STM32_HAVE_USART2 > > STM32L5_DFSDM > > STM32U5_DFSDM > > STM32WB_HAVE_HSI48 > > STM32WL5_STM32WL5XXX_CPU2 > > TMS570_SPI > > XTENSA_HAVE_INTERRUPTS > >
