Skip to content

Conversation

@zhaoxingyu12
Copy link
Contributor

@zhaoxingyu12 zhaoxingyu12 commented Jan 23, 2026

Note: Please adhere to Contributing Guidelines.

Summary

Modify the Kconfig name of the mtdconfig module 2
This pull request makes two main adjustments to align with recent changes in the NuttX mtd_config module Kconfig.

  1. it renames MTD_CONFIG_FAIL_SAFE to MTD_CONFIG_NVS.
  2. it updates dependencies that previously relied on MTD_CONFIG to now depend on MTD_CONFIG_NONE=n.

Impact

These changes ensure compatibility with the updated mtd_config Kconfig structure in NuttX. By standardizing the naming and clarifying dependency logic, the configuration becomes more robust and easier to maintain, reducing the risk of conflicts and making it simpler to integrate or extend mtd_config submodules in the future

Testing

test it by CICT together with apache/nuttx#18120

I have conducted tests with CFGDATA on QEMU, and the test results are in line with expectations.

enabled these configurations.
CONFIG_MTD_CONFIG_NVS=y
CONFIG_SYSTEM_CFGDATA=y
CONFIG_MTD_CONFIG_NAMED=y

register lomtdconfig
dd if=/dev/zero of=/data/nvs.img bs=8192 count=10
lomtd -c 2 /dev/config /data/nvs.img

test pass
goldfish-armv7a-ap> cfgdata print mykey
Error reading config entry 'mykey'
goldfish-armv7a-ap> cfgdata set mykey "myvalue"
goldfish-armv7a-ap>
goldfish-armv7a-ap> cfgdata print mykey
myvalue
goldfish-armv7a-ap> cfgdata all
Name Len Data
mykey 8 myvalue

Because the MTD_CONFIG configuration item in
drivers/mtd/Kconfig has changed

Signed-off-by: zhaoxingyu1 <zhaoxingyu1@xiaomi.com>
Because  MTD_CONFIG configuration item in drivers/mtd/Kconfig
has changed.

Signed-off-by: zhaoxingyu1 <zhaoxingyu1@xiaomi.com>
@zhaoxingyu12
Copy link
Contributor Author

Configuration/Tool: esp32c3-legacy-devkit/nvcfgdata
2026-01-23 03:26:54

Cleaning...
Configuring...
Building NuttX...
[1/1] Normalize esp32c3-legacy-devkit/nvcfgdata
49d48
< CONFIG_TESTING_MTD_CONFIG_FAIL_SAFE=y
Saving the new configuration file
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/configs/nvcfgdata/defconfig

no changes added to commit (use "git add" and/or "git commit -a")

report this error, because it needs CICT together with apache/nuttx#18120
it changes CONFIG_MTD_CONFIG_FAIL_SAFE to CONFIG_MTD_NVS
@xiaoxiang781216

@acassis
Copy link
Contributor

acassis commented Jan 23, 2026

@zhaoxingyu12 please include some testing results. Did you test CFGDATA too? Maybe we need to add CFGDATA to "SIM" or "QEMU" to make the test easy to do. Currently only two boards are using it

@acassis
Copy link
Contributor

acassis commented Jan 23, 2026

@zhaoxingyu12 I'm not sure that changing MTD_CONFIG to MTD_CONFIG_NONE is a good name change. I noticed your idea was to rename MTD_CONFIG_FAIL_SAFE to MTD_CONFIG_NVS, but it will be strange see CFGDATA depending on MTD_CONFIG_NONE.

Could you please add more details in the git commit message about this change? It seems very strange

@zhaoxingyu12
Copy link
Contributor Author

@zhaoxingyu12 I'm not sure that changing MTD_CONFIG to MTD_CONFIG_NONE is a good name change. I noticed your idea was to rename MTD_CONFIG_FAIL_SAFE to MTD_CONFIG_NVS, but it will be strange see CFGDATA depending on MTD_CONFIG_NONE.

Could you please add more details in the git commit message about this change? It seems very strange

now, CFGDATA depending on !MTD_CONFIG_NONE. (If either MTD_CONFIG or MTD_CONFIG_NVS is enabled, CFGDATA will be enabled.)

Currently, the mtd_config implementations use a choice structure, where all implementations (such as MTD_CONFIG, MTD_CONFIG_NVS (Original name: MTD_CONFIG_FAIL_SAFE), and any future submodules) are defined as mutually exclusive options—only one can be selected at a time.
MTD_CONFIG: mtd_config.c
MTD_CONFIG_NVS: mtd_config_nvs.c
MTD_CONFIG_NONE: Disables all MTD config solutions.

By introducing MTD_CONFIG_NONE as a "no implementation" option, other submodules only need to depend on MTD_CONFIG_NONE=n, ensuring that their features are enabled only when a specific implementation is chosen. This approach not only avoids multiple dependencies and configuration conflicts, but also provides a clearer and more unified way to integrate additional mtd_config submodules in the future.

it relates to this pr apache/nuttx#18120

choice
prompt "Select MTD config solution"
default MTD_CONFIG_NONE

config MTD_CONFIG
bool "Enable Dev Config (MTD based) device"
---help---
Provides a /dev/config device for saving / restoring application
configuration data to a standard MTD device or partition.

config MTD_CONFIG_NVS
bool "NVS"
---help---
NVS is a lightweight KV storage mechanism which supports classical
on-chip NorFlash, it implements basic KV write, read, and delete
functions, and supports power down protection.

config MTD_CONFIG_NONE
bool "None MTD config"

endchoice

@zhaoxingyu12
Copy link
Contributor Author

@zhaoxingyu12 please include some testing results. Did you test CFGDATA too? Maybe we need to add CFGDATA to "SIM" or "QEMU" to make the test easy to do. Currently only two boards are using it

I have conducted tests on QEMU, and the test results are in line with expectations.

  1. enabled these configurations.
    CONFIG_MTD_CONFIG_NVS=y
    CONFIG_SYSTEM_CFGDATA=y
    CONFIG_MTD_CONFIG_NAMED=y

  2. register lomtdconfig
    dd if=/dev/zero of=/data/nvs.img bs=8192 count=10
    lomtd -c 2 /dev/config /data/nvs.img

  3. test pass
    goldfish-armv7a-ap> cfgdata print mykey
    Error reading config entry 'mykey'
    goldfish-armv7a-ap> cfgdata set mykey "myvalue"
    goldfish-armv7a-ap>
    goldfish-armv7a-ap> cfgdata print mykey
    myvalue
    goldfish-armv7a-ap> cfgdata all
    Name Len Data
    mykey 8 myvalue

@cederom
Copy link
Contributor

cederom commented Jan 24, 2026

Thank you @zhaoxingyu12 :-) Ci failed.. probably needs a rebase?

I agree with @acassis that MTD_CONFIG_NONE sounds a bit awkward.. maybe it can be renamed to MTD_CONFIG_DISABLED or something like that? :-)

#ifndef CONFIG_DISABLE_MOUNTPOINT
# if defined(CONFIG_MTD_LOOP) && !defined(CONFIG_NSH_DISABLE_LOMTD)
# ifdef CONFIG_MTD_CONFIG
# ifndef CONFIG_MTD_CONFIG_NONE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's fix nvs test too

@xiaoxiang781216
Copy link
Contributor

Thank you @zhaoxingyu12 :-) Ci failed.. probably needs a rebase?

I agree with @acassis that MTD_CONFIG_NONE sounds a bit awkward.. maybe it can be renamed to MTD_CONFIG_DISABLED or something like that? :-)

_NONE suffix is used in many places, could we keep it:

fs/procfs/Kconfig:42:   depends on !SCHED_CPULOAD_NONE
mm/kasan/Kconfig:23:config MM_KASAN_NONE
arch/risc-v/src/esp32c3-legacy/Kconfig:819:     default EXAMPLE_POWER_SAVE_NONE
arch/risc-v/src/esp32c3-legacy/Kconfig:829:config EXAMPLE_POWER_SAVE_NONE
arch/risc-v/src/esp32c3-legacy/Kconfig:853:config WIFI_LOG_LEVEL_NONE
arch/risc-v/src/esp32c3-legacy/Kconfig:875:     default 0 if WIFI_LOG_LEVEL_NONE
arch/risc-v/src/common/espressif/Kconfig:1906:  default ESPRESSIF_POWER_SAVE_NONE
arch/risc-v/src/common/espressif/Kconfig:1924:          ESPRESSIF_POWER_SAVE_NONE disables Modem-sleep mode entirely. Disabling it increases power consumption, but
arch/risc-v/src/common/espressif/Kconfig:1927:          (maximum power-saving mode). Setting ESPRESSIF_POWER_SAVE_NONE is suitable when high throughput is required.
arch/risc-v/src/common/espressif/Kconfig:1929:config ESPRESSIF_POWER_SAVE_NONE
arch/sim/Kconfig:106:   depends on PROFILE_NONE
arch/avr/src/avrdx/Kconfig:184:config AVR_USART0_NONE
arch/avr/src/avrdx/Kconfig:217:config AVR_USART1_NONE
arch/avr/src/avrdx/Kconfig:250:config AVR_USART2_NONE
arch/avr/src/avrdx/Kconfig:283:config AVR_USART3_NONE
arch/avr/src/avrdx/Kconfig:316:config AVR_USART4_NONE
arch/avr/src/avrdx/Kconfig:349:config AVR_USART5_NONE
arch/xtensa/src/common/espressif/Kconfig:2148:  default ESPRESSIF_POWER_SAVE_NONE
arch/xtensa/src/common/espressif/Kconfig:2166:          ESPRESSIF_POWER_SAVE_NONE disables Modem-sleep mode entirely. Disabling it increases power consumption, but
arch/xtensa/src/common/espressif/Kconfig:2169:          (maximum power-saving mode). Setting ESPRESSIF_POWER_SAVE_NONE is suitable when high throughput is required.
arch/xtensa/src/common/espressif/Kconfig:2171:config ESPRESSIF_POWER_SAVE_NONE
arch/arm/src/xmc4/Kconfig:216:config XMC4_USIC0_CHAN0_NONE
arch/arm/src/xmc4/Kconfig:287:config XMC4_USIC0_CHAN1_NONE
arch/arm/src/xmc4/Kconfig:383:config XMC4_USIC1_CHAN0_NONE
arch/arm/src/xmc4/Kconfig:453:config XMC4_USIC1_CHAN1_NONE
arch/arm/src/xmc4/Kconfig:549:config XMC4_USIC2_CHAN0_NONE
arch/arm/src/xmc4/Kconfig:619:config XMC4_USIC2_CHAN1_NONE
arch/arm/src/nrf91/Kconfig:226: default NRF91_SPU_NONE
arch/arm/src/nrf91/Kconfig:237:config NRF91_SPU_NONE
arch/arm/src/tiva/Kconfig:696:  default TIVA_UART0_NONE
arch/arm/src/tiva/Kconfig:698:config TIVA_UART0_NONE
arch/arm/src/tiva/Kconfig:747:  default TIVA_UART1_NONE
arch/arm/src/tiva/Kconfig:749:config TIVA_UART1_NONE
arch/arm/src/tiva/Kconfig:793:  default TIVA_UART2_NONE
arch/arm/src/tiva/Kconfig:795:config TIVA_UART2_NONE
arch/arm/src/tiva/Kconfig:839:  default TIVA_UART3_NONE
arch/arm/src/tiva/Kconfig:841:config TIVA_UART3_NONE
arch/arm/src/tiva/Kconfig:885:  default TIVA_UART4_NONE
arch/arm/src/tiva/Kconfig:887:config TIVA_UART4_NONE
arch/arm/src/tiva/Kconfig:931:  default TIVA_UART5_NONE
arch/arm/src/tiva/Kconfig:933:config TIVA_UART5_NONE
arch/arm/src/tiva/Kconfig:977:  default TIVA_UART6_NONE
arch/arm/src/tiva/Kconfig:979:config TIVA_UART6_NONE
arch/arm/src/tiva/Kconfig:1023: default TIVA_UART7_NONE
arch/arm/src/tiva/Kconfig:1025:config TIVA_UART7_NONE
arch/arm/src/sama5/Kconfig:3645:        default SAMA5_SSC0_RX_RKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3647:config SAMA5_SSC0_RX_RKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3713:        default SAMA5_SSC0_TX_TKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3715:config SAMA5_SSC0_TX_TKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3817:        default SAMA5_SSC1_RX_RKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3819:config SAMA5_SSC1_RX_RKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3885:        default SAMA5_SSC1_TX_TKOUTPUT_NONE
arch/arm/src/sama5/Kconfig:3887:config SAMA5_SSC1_TX_TKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2497:        default SAMV7_SSC0_RX_RKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2499:config SAMV7_SSC0_RX_RKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2565:        default SAMV7_SSC0_TX_TKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2567:config SAMV7_SSC0_TX_TKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2669:        default SAMV7_SSC1_RX_RKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2671:config SAMV7_SSC1_RX_RKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2737:        default SAMV7_SSC1_TX_TKOUTPUT_NONE
arch/arm/src/samv7/Kconfig:2739:config SAMV7_SSC1_TX_TKOUTPUT_NONE
arch/arm/src/armv8-m/Kconfig:61:        default ARMV8M_STACKCHECK_NONE
arch/arm/src/armv8-m/Kconfig:63:config ARMV8M_STACKCHECK_NONE
arch/arm/src/c5471/Kconfig:88:config C5471_PHY_NONE
drivers/net/Kconfig:558:        default ETH0_PHY_NONE
drivers/net/Kconfig:563:config ETH0_PHY_NONE
drivers/net/Kconfig:640:        default ETH1_PHY_NONE
drivers/net/Kconfig:645:config ETH1_PHY_NONE
drivers/crypto/Kconfig:118:     default SE05X_LOG_NONE
drivers/crypto/Kconfig:122:config SE05X_LOG_NONE
drivers/syslog/Kconfig:31:config SYSLOG_NONE
drivers/misc/Kconfig:56:        default DEV_OPTEE_NONE
drivers/misc/Kconfig:83:config DEV_OPTEE_NONE
sched/Kconfig:408:      default INIT_NONE if BINFMT_DISABLE
sched/Kconfig:410:config INIT_NONE
sched/Kconfig:425:      depends on !INIT_NONE
sched/Kconfig:875:config PTHREAD_MUTEX_DEFAULT_PRIO_NONE
sched/Kconfig:876:      bool "PTHREAD_PRIO_NONE default"
sched/Kconfig:878:              By default, pthread mutexes utilize PTHREAD_PRIO_NONE protocol (standard).
sched/Kconfig:992:      default SCHED_CPULOAD_NONE
sched/Kconfig:1008:config SCHED_CPULOAD_NONE
sched/Kconfig:1142:     depends on !SCHED_CPULOAD_NONE
sched/Kconfig:1395:                     int ret = sem_setprotocol(&sem, SEM_PRIO_NONE);
sched/Kconfig:1403:                     int ret = pthread_mutexattr_setprotocol(&attr, PTHREAD_PRIO_NONE);
libs/libc/stdio/Kconfig:58:     depends on !LIBM_NONE
libs/libm/Kconfig:8:    default LIBM_NONE if DEFAULT_SMALL
libs/libm/Kconfig:58:config LIBM_NONE
libs/libbuiltin/Kconfig:35:     default COVERAGE_NONE
libs/libbuiltin/Kconfig:64:config COVERAGE_NONE
libs/libbuiltin/Kconfig:90:     default PROFILE_NONE
libs/libbuiltin/Kconfig:106:config PROFILE_NONE
libs/libbuiltin/Kconfig:113:    depends on !COVERAGE_NONE
libs/libbuiltin/Kconfig:127:    depends on FRAME_POINTER && !PROFILE_NONE
grep: .git/objects/pack/pack-952c2c3cfbeb2e89c6434b24f5cff558d17936f6.pack: binary file matches
grep: .git/objects/pack/pack-d3dbc48c3c5cc0e24e3a398afc2beb806e45415f.pack: binary file matches
grep: .git/objects/pack/pack-fc76888dbd04059057c6fad9586e401edc3ec825.pack: binary file matches
Kconfig:654:    default ARCH_NONE_DEBUG_H
Kconfig:656:config ARCH_NONE_DEBUG_H
Kconfig:2783:   default LTO_NONE
Kconfig:2788:           If unsure, select LTO_NONE. Note that LTO is very resource-intensive
Kconfig:2791:config LTO_NONE
boards/Kconfig:5059:    default BOARD_CRASHDUMP_NONE
boards/Kconfig:5098:config BOARD_CRASHDUMP_NONE
boards/Kconfig:5112:    depends on !BOARD_CRASHDUMP_NONE
boards/Kconfig:5119:    depends on LIBC_LZF && !BOARD_CRASHDUMP_NONE
boards/arm/tiva/tm4c1294-launchpad/Kconfig:15:  default TM4C1294_LAUNCHPAD_TIMER_NONE
boards/arm/tiva/tm4c1294-launchpad/Kconfig:17:config TM4C1294_LAUNCHPAD_TIMER_NONE
boards/arm/tiva/tm4c1294-launchpad/Kconfig:116: default BOOSTXL_SENSORS_NONE
boards/arm/tiva/tm4c1294-launchpad/Kconfig:118:config BOOSTXL_SENSORS_NONE
boards/arm/tiva/tm4c129e-launchpad/Kconfig:15:  default TM4C129E_LAUNCHPAD_TIMER_NONE
boards/arm/tiva/tm4c129e-launchpad/Kconfig:17:config TM4C129E_LAUNCHPAD_TIMER_NONE
boards/arm/tiva/dk-tm4c129x/Kconfig:15: default DK_TM4C129X_TIMER_NONE
boards/arm/tiva/dk-tm4c129x/Kconfig:17:config DK_TM4C129X_TIMER_NONE
boards/arm/gd32f4/gd32f450zk-eval/Kconfig:45:config GD32F450ZK_EVAL_CONSOLE_NONE
boards/arm/gd32f4/gd32f470zk-aiotbox/Kconfig:45:config GD32F470ZK_AIOTBOX_CONSOLE_NONE
boards/arm/gd32f4/gd32f450zk-aiotbox/Kconfig:45:config GD32F450ZK_AIOTBOX_CONSOLE_NONE
boards/arm/gd32f4/gd32f470zk-eval/Kconfig:45:config GD32F470ZK_EVAL_CONSOLE_NONE
boards/arm/gd32f4/gd32f470ik-eval/Kconfig:40:config GD32F470IK_EVAL_CONSOLE_NONE
boards/arm/stm32/nucleo-f429zi/Kconfig:45:config NUCLEO_F429ZI_CONSOLE_NONE
boards/arm/stm32/stm32f429i-disco/Kconfig:158:  default STM32F429I_DISCO_ILI9341_NONE if !LCD_ILI9341 && !STM32_LTDC
boards/arm/stm32/stm32f429i-disco/Kconfig:162:config STM32F429I_DISCO_ILI9341_NONE
boards/arm/samv7/same70-xplained/Kconfig:27:    default SAME70XPLAINED_MB1_NONE
boards/arm/samv7/same70-xplained/Kconfig:29:config SAME70XPLAINED_MB1_NONE
boards/arm/samv7/same70-xplained/Kconfig:47:    default SAME70XPLAINED_MB2_NONE
boards/arm/samv7/same70-xplained/Kconfig:49:config SAME70XPLAINED_MB2_NONE
boards/arm/stm32f7/nucleo-f722ze/Kconfig:78:config NUCLEO_F722ZE_CONSOLE_NONE
boards/arm/stm32f7/nucleo-f746zg/Kconfig:78:config NUCLEO_F746ZG_CONSOLE_NONE
boards/arm/stm32f7/nucleo-f767zi/Kconfig:78:config NUCLEO_F767ZI_CONSOLE_NONE
boards/arm/cxd56xx/spresense/Kconfig:53:config CXD56_AUDIO_ANALOG_NONE
boards/arm/cxd56xx/spresense/Kconfig:171:config CXD56_AUDIO_CIC_IN_SEL_NONE
boards/arm/cxd56xx/spresense/Kconfig:828:       default CXD56_EMMC_POWER_PIN_NONE
boards/arm/cxd56xx/spresense/Kconfig:830:config CXD56_EMMC_POWER_PIN_NONE
boards/arm/cxd56xx/spresense/Kconfig:843:       default CXD56_BLE1507_RESET_PIN_NONE
boards/arm/cxd56xx/spresense/Kconfig:845:config CXD56_BLE1507_RESET_PIN_NONE
graphics/Kconfig:254:   default NX_XYINPUT_NONE

@cederom
Copy link
Contributor

cederom commented Jan 26, 2026

Yup :-) Similar with DISABLE, we would have then CONFIG_MTD_CONFIG_DISABLE in place of CONFIG_MTD_CONFIG_NONE, but I am not insisting you are the authors :-)

% find . -name Kconfig -exec grep DISABLE {} \;
config BINFMT_DISABLE
if !BINFMT_DISABLE
	depends on !DISABLE_MOUNTPOINT
config MODEM_ALT1250_DISABLE_PV1
config MODEM_ALT1250_DISABLE_PV4
config SPIRIT_CRCDISABLE
config WL_GS2200M_DISABLE_DHCPC
config MXT_DISABLE_CONFIG_DEBUG_INFO
config STMPE811_TSC_DISABLE
	depends on !STMPE811_TSC_DISABLE
	depends on !STMPE811_TSC_DISABLE
	depends on !STMPE811_TSC_DISABLE
	depends on !STMPE811_TSC_DISABLE
	depends on !STMPE811_TSC_DISABLE
config STMPE811_ADC_DISABLE
config STMPE811_GPIO_DISABLE
config STMPE811_GPIOINT_DISABLE
	depends on !STMPE811_GPIO_DISABLE
config STMPE811_TEMP_DISABLE
	select SERIAL_RXDMA if !CDCACM_DISABLE_RXBUF
	select SERIAL_TXDMA if !CDCACM_DISABLE_TXBUF
config CDCACM_DISABLE_RXBUF
if !CDCACM_DISABLE_RXBUF
endif # !CDCACM_DISABLE_RXBUF
config CDCACM_DISABLE_TXBUF
if !CDCACM_DISABLE_TXBUF
endif # !CDCACM_DISABLE_TXBUF
config BME680_DISABLE_PRESS_MEAS
config BME680_DISABLE_HUM_MEAS
config BME680_DISABLE_GAS_MEAS
config BME688_DISABLE_TEMP_MEAS
config BME688_DISABLE_PRESS_MEAS
config BME688_DISABLE_HUM_MEAS
config BME688_DISABLE_GAS_MEAS
config USBHOST_BULK_DISABLE
config USBHOST_INT_DISABLE
config USBHOST_ISOC_DISABLE
	depends on USBHOST_HAVE_ASYNCH && !USBHOST_INT_DISABLE
	depends on !BULK_DISABLE
	depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
	default USBHOST_CDCACM_COMPLIANT if SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
	default USBHOST_CDCACM_REDUCED  if !SERIAL_OFLOWCONTROL || USBHOST_INT_DISABLE
	depends on SERIAL_OFLOWCONTROL && !USBHOST_INT_DISABLE
	depends on USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE && EXPERIMENTAL
	depends on !INT_DISABLE
	depends on !INT_DISABLE
	depends on !INT_DISABLE
	depends on !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
	depends on WIRELESS_BLUETOOTH && USBHOST_HAVE_ASYNCH && !USBHOST_BULK_DISABLE && !USBHOST_INT_DISABLE
	depends on !BINFMT_DISABLE
	default ARCH_TRUSTZONE_DISABLED
config ARCH_TRUSTZONE_DISABLED
config MPFS_MAC_AUTONEG_DISABLE_1000MBPS
	depends on !DISABLE_MQUEUE
config STM32U5_DISABLE_IDLE_SLEEP_DURING_DEBUG
config STM32U5_SERIAL_DISABLE_REORDERING
	depends on !DISABLE_MOUNTPOINT && FS_PROCFS && FS_PROCFS_REGISTER
config S32K1XX_WDT_DISABLE
	select CRYPTO_AES192_DISABLE if CRYPTO_ALGTEST
	select CRYPTO_AES256_DISABLE if CRYPTO_ALGTEST
config STM32F0L0G0_SERIAL_DISABLE_REORDERING
	select CRYPTO_AES192_DISABLE if CRYPTO_ALGTEST
	select CRYPTO_AES256_DISABLE if CRYPTO_ALGTEST
	default STM32_JTAG_DISABLE
config STM32_JTAG_DISABLE
config STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG
	depends on !DISABLE_MOUNTPOINT && FS_PROCFS && FS_PROCFS_REGISTER
config STM32_HRTIM_DISABLE_CHARDRV
config STM32_SERIAL_DISABLE_REORDERING
config OTG_ID_GPIO_DISABLE
config STM32_QENCODER_DISABLE_EXTEND16BTIMERS
config OTG_ID_GPIO_DISABLE
config STM32F7_SERIAL_DISABLE_REORDERING
config ARMV8R_DCACHE_DISABLE
config ARMV8R_ICACHE_DISABLE
config NRF52_I2C_MASTER_DISABLE_NOSTART
	depends on !NRF52_I2C_MASTER_DISABLE_NOSTART
	select STM32H7_HSEM if !STM32H7_CORTEXM4_DISABLED
config OTG_ID_GPIO_DISABLE
config STM32H7_SERIAL_DISABLE_REORDERING
config STM32L5_DISABLE_IDLE_SLEEP_DURING_DEBUG
config STM32L5_SERIAL_DISABLE_REORDERING
config ARM_DCACHE_DISABLE
config ARM_ICACHE_DISABLE
	default GD32F4_JTAG_DISABLE
config GD32F4_JTAG_DISABLE
config GD32F4_DISABLE_IDLE_SLEEP_DURING_DEBUG
	depends on !DISABLE_MOUNTPOINT && FS_PROCFS && FS_PROCFS_REGISTER
config GD32F4_SERIAL_DISABLE_REORDERING
config S32K3XX_SWT_DISABLE
config STR71X_DISABLE_PERIPHINIT
config STM32WB_DISABLE_IDLE_SLEEP_DURING_DEBUG
config STM32WB_SERIAL_DISABLE_REORDERING
config STM32H5_DISABLE_IDLE_SLEEP_DURING_DEBUG
config STM32H5_SERIAL_DISABLE_REORDERING
config WDT_DISABLE_ON_RESET
	depends on !WDT_DISABLE_ON_RESET
	depends on !WDT_DISABLE_ON_RESET
	depends on !WDT_DISABLE_ON_RESET
	select CRYPTO_AES192_DISABLE if CRYPTO_ALGTEST
	select CRYPTO_AES256_DISABLE if CRYPTO_ALGTEST
	default AT32_JTAG_DISABLE
config AT32_JTAG_DISABLE
config AT32_DISABLE_IDLE_SLEEP_DURING_DEBUG
config AT32_SERIAL_DISABLE_REORDERING
config OTG_ID_GPIO_DISABLE
config AT32_QENCODER_DISABLE_EXTEND16BTIMERS
	default !ARMV7A_DCACHE_DISABLE
config NRF91_I2C_MASTER_DISABLE_NOSTART
	depends on !NRF91_I2C_MASTER_DISABLE_NOSTART
config LPC17_40_PHY_CEMENT_DISABLE
config CXD56_SDIO_DISABLE_CD_WP
	default STM32L4_JTAG_DISABLE
config STM32L4_JTAG_DISABLE
config STM32L4_DISABLE_IDLE_SLEEP_DURING_DEBUG
config STM32L4_SERIAL_DISABLE_REORDERING
config ARMV7A_DCACHE_DISABLE
config ARMV7A_ICACHE_DISABLE
config NRF53_I2C_MASTER_DISABLE_NOSTART
	depends on !NRF53_I2C_MASTER_DISABLE_NOSTART
config SAMV7_JTAG_DISABLE
config SAMV7_ERASE_DISABLE
config ARMV7R_DCACHE_DISABLE
config ARMV7R_ICACHE_DISABLE
	select BLUETOOTH_CNTRL_HOST_FLOW_DISABLE if ARCH_CHIP_ESP32
config ARM64_DCACHE_DISABLE
config ARM64_ICACHE_DISABLE
config ARCH_INTEL64_DISABLE_INT_INIT
config ARCH_INTEL64_DISABLE_CET
config ARCH_INTEL64_DISABLE_VECTORIZE
	depends on !NX_LCDDRIVER && NX_DISABLE_1BPP && NX_DISABLE_2BPP && NX_DISABLE_4BPP && !BUILD_KERNEL
	depends on (!NX_DISABLE_16BPP || !NX_DISABLE_24BPP || !NX_DISABLE_32BPP) && !NX_LCDDRIVER
config NX_DISABLE_1BPP
	select NXFONTS_DISABLE_1BPP if NXFONTS
config NX_DISABLE_2BPP
	select NXFONTS_DISABLE_2BPP
config NX_DISABLE_4BPP
	select NXFONTS_DISABLE_4BPP if NXFONTS
config NX_DISABLE_8BPP
	select NXFONTS_DISABLE_8BPP if NXFONTS
config NX_DISABLE_16BPP
	select NXFONTS_DISABLE_16BPP if NXFONTS
config NX_DISABLE_24BPP
	select NXFONTS_DISABLE_24BPP if NXFONTS
config NX_DISABLE_32BPP
	select NXFONTS_DISABLE_32BPP if NXFONTS
	default 1 if !NX_DISABLE_1BPP
	default 2 if !NX_DISABLE_2BPP
	default 4 if !NX_DISABLE_4BPP
	default 8 if !NX_DISABLE_8BPP
	default 16 if !NX_DISABLE_16BPP
	default 24 if !NX_DISABLE_24BPP
	default 32 if !NX_DISABLE_32BPP
		Default: The smallest enabled pixel depth. (see NX_DISABLE_*BPP)
config MM_KASAN_DISABLE_NULL_POINTER_CHECK
config MM_KASAN_DISABLE_READS_CHECK
config MM_KASAN_DISABLE_WRITES_CHECK
config MM_KASAN_DISABLE_READ_PANIC
config MM_KASAN_DISABLE_WRITE_PANIC
config BLUETOOTH_CNTRL_HOST_FLOW_DISABLE
menuconfig DISABLE_OS_API
if DISABLE_OS_API
config DISABLE_POSIX_TIMERS
config DISABLE_PTHREAD
config DISABLE_MQUEUE
config DISABLE_MQUEUE_SYSV
	default DISABLE_MQUEUE
config DISABLE_ENVIRON
endif # DISABLE_OS_API
config DISABLE_IDLE_LOOP
	depends on !DISABLE_POSIX_TIMERS
	default INIT_FILE if !BINFMT_DISABLE
	default INIT_NONE if BINFMT_DISABLE
	depends on !BINFMT_DISABLE
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT && FS_ROMFS
	depends on !DISABLE_PTHREAD
config FDCLONE_DISABLE
config DISABLE_ALL_SIGNALS
	select DISABLE_MQUEUE_NOTIFICATION
	depends on !DISABLE_MQUEUE || !DISABLE_MQUEUE_SYSV
config DISABLE_MQUEUE_NOTIFICATION
	depends on !DISABLE_PTHREAD && SIG_SIGKILL_ACTION
config NXFONTS_DISABLE_1BPP
	default NX_DISABLE_1BPP
config NXFONTS_DISABLE_2BPP
	default NX_DISABLE_2BPP
config NXFONTS_DISABLE_4BPP
	default NX_DISABLE_4BPP
config NXFONTS_DISABLE_8BPP
	default NX_DISABLE_8BPP
config NXFONTS_DISABLE_16BPP
	default NX_DISABLE_8BPP
config NXFONTS_DISABLE_24BPP
	default NX_DISABLE_24BPP
config NXFONTS_DISABLE_32BPP
	default NX_DISABLE_32BPP
	depends on !DISABLE_ENVIRON
	depends on !DISABLE_ENVIRON
	depends on !DISABLE_PTHREAD
	depends on !DISABLE_ENVIRON
config LIBC_UNAME_DISABLE_TIMESTAMP
	depends on !DISABLE_ENVIRON
	depends on !DISABLE_PTHREAD
config LIBC_DISABLE_HEXSTR_TO_FLOAT
	depends on !BINFMT_DISABLE
config STDIO_DISABLE_BUFFERING
		CONFIG_STDIO_DISABLE_BUFFERING will reduce static code size.
		CONFIG_STDIO_DISABLE_BUFFERING is selected.
if !STDIO_DISABLE_BUFFERING
endif # !STDIO_DISABLE_BUFFERING
config CRYPTO_AES128_DISABLE
config CRYPTO_AES192_DISABLE
config CRYPTO_AES256_DISABLE
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT && ALLOW_BSD_COMPONENTS
	depends on !DISABLE_MOUNTPOINT
config DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
config DISABLE_PSEUDOFS_OPERATIONS
	depends on !DISABLE_PSEUDOFS_OPERATIONS
	depends on !DISABLE_PSEUDOFS_OPERATIONS
	depends on !DISABLE_PSEUDOFS_OPERATIONS
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT && ALLOW_BSD_COMPONENTS
if !DISABLE_MQUEUE
endif # !DISABLE_MQUEUE
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT && MTD_NAND
	depends on !DISABLE_MOUNTPOINT
if !DISABLE_MOUNTPOINT
	depends on !DISABLE_ALL_SIGNALS
config NETLINK_DISABLE_GETLINK
config NETLINK_DISABLE_GETNEIGH
config NETLINK_DISABLE_GETROUTE
config NETLINK_DISABLE_NEWADDR
config NETLINK_DISABLE_DELADDR
config NETLINK_DISABLE_GETADDR
config NETLINK_DISABLE_NEWPREFIX
	depends on NET && !DISABLE_PSEUDOFS_OPERATIONS
config OPENH743I_DISABLE_OTGFS_PWRON
	depends on !DISABLE_MOUNTPOINT && SAMV7_HSMCI0 && !SAMV7_HSMCI0_AUTOMOUNT
config STM3210E_AM240320_DISABLE
config STM3210E_SPFD5408B_DISABLE
config STM3210E_R61580_DISABLE
config STM32_ILI1505_DISABLE
config STM32_ILI9300_DISABLE
config STM32_ILI9320_DISABLE
config STM32_ILI9321_DISABLE
config STM32_ILI9325_DISABLE
config STM32_ILI9328_DISABLE
config STM32_ILI9331_DISABLE
config STM32_ILI9919_DISABLE
config STM32_ILI9320_DISABLE
config STM32_ILI9325_DISABLE
config STM3240G_ILI9320_DISABLE
config STM3240G_ILI9325_DISABLE
config BOARD_USB_DISABLE_IN_DEEP_SLEEPING
	default CXD56_AUDIO_I2S_BYPASS_MODE_1_DISABLE
config CXD56_AUDIO_I2S_BYPASS_MODE_1_DISABLE
	default CXD56_AUDIO_I2S_BYPASS_MODE_2_DISABLE
config CXD56_AUDIO_I2S_BYPASS_MODE_2_DISABLE
	depends on !DISABLE_MOUNTPOINT
comment "FLASH partitioning and mounting requires !DISABLE_MOUNTPOINT"
	depends on DISABLE_MOUNTPOINT
config SSD1680_GPIO_CS_DISABLED
config SSD1680_GPIO_DTA_CMD_DISABLED
config SSD1680_GPIO_RST_DISABLED
config SSD1680_GPIO_BUSY_DISABLED
	default SSD1680_GPIO_PWR_DISABLED if ARCH_BOARD_NUCLEO_WL55JC
config SSD1680_GPIO_PWR_DISABLED
	depends on !DISABLE_MOUNTPOINT
	depends on !DISABLE_MOUNTPOINT
config DISABLE_FLOAT
	depends on !BINFMT_DISABLE || LIBC_ELF

@cederom
Copy link
Contributor

cederom commented Jan 26, 2026

CI failed, PR needs a rebase? :-)

@xiaoxiang781216
Copy link
Contributor

CI failed, PR needs a rebase? :-)

@zhaoxingyu12 please fix the ci break.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants