Please note that some tools/drivers/filesystems may not work with
          4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
 
-config SPI_ASPEED_SMC
-       tristate "Aspeed flash controllers in SPI mode"
-       depends on ARCH_ASPEED || COMPILE_TEST
-       depends on HAS_IOMEM && OF
-       help
-         This enables support for the Firmware Memory controller (FMC)
-         in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
-         and support for the SPI flash memory controller (SPI) for
-         the host firmware. The implementation only supports SPI NOR.
-
-config SPI_CADENCE_QUADSPI
-       tristate "Cadence Quad SPI controller"
-       depends on OF && (ARM || ARM64 || COMPILE_TEST)
-       help
-         Enable support for the Cadence Quad SPI Flash controller.
-
-         Cadence QSPI is a specialized controller for connecting an SPI
-         Flash over 1/2/4-bit wide bus. Enable this option if you have a
-         device with a Cadence QSPI controller and want to access the
-         Flash as an MTD device.
-
-config SPI_HISI_SFC
-       tristate "Hisilicon FMC SPI-NOR Flash Controller(SFC)"
-       depends on ARCH_HISI || COMPILE_TEST
-       depends on HAS_IOMEM
-       help
-         This enables support for HiSilicon FMC SPI-NOR flash controller.
-
-config SPI_NXP_SPIFI
-       tristate "NXP SPI Flash Interface (SPIFI)"
-       depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
-       depends on HAS_IOMEM
-       help
-         Enable support for the NXP LPC SPI Flash Interface controller.
-
-         SPIFI is a specialized controller for connecting serial SPI
-         Flash. Enable this option if you have a device with a SPIFI
-         controller and want to access the Flash as a mtd device.
-
-config SPI_INTEL_SPI
-       tristate
-
-config SPI_INTEL_SPI_PCI
-       tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
-       depends on X86 && PCI
-       select SPI_INTEL_SPI
-       help
-         This enables PCI support for the Intel PCH/PCU SPI controller in
-         master mode. This controller is present in modern Intel hardware
-         and is used to hold BIOS and other persistent settings. Using
-         this driver it is possible to upgrade BIOS directly from Linux.
-
-         Say N here unless you know what you are doing. Overwriting the
-         SPI flash may render the system unbootable.
-
-         To compile this driver as a module, choose M here: the module
-         will be called intel-spi-pci.
-
-config SPI_INTEL_SPI_PLATFORM
-       tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
-       depends on X86
-       select SPI_INTEL_SPI
-       help
-         This enables platform support for the Intel PCH/PCU SPI
-         controller in master mode. This controller is present in modern
-         Intel hardware and is used to hold BIOS and other persistent
-         settings. Using this driver it is possible to upgrade BIOS
-         directly from Linux.
-
-         Say N here unless you know what you are doing. Overwriting the
-         SPI flash may render the system unbootable.
-
-         To compile this driver as a module, choose M here: the module
-         will be called intel-spi-platform.
+source "drivers/mtd/spi-nor/controllers/Kconfig"
 
 endif # MTD_SPI_NOR
 
 # SPDX-License-Identifier: GPL-2.0
+
+spi-nor-objs                   := core.o
 obj-$(CONFIG_MTD_SPI_NOR)      += spi-nor.o
-obj-$(CONFIG_SPI_ASPEED_SMC)   += aspeed-smc.o
-obj-$(CONFIG_SPI_CADENCE_QUADSPI)      += cadence-quadspi.o
-obj-$(CONFIG_SPI_HISI_SFC)     += hisi-sfc.o
-obj-$(CONFIG_SPI_NXP_SPIFI)    += nxp-spifi.o
-obj-$(CONFIG_SPI_INTEL_SPI)    += intel-spi.o
-obj-$(CONFIG_SPI_INTEL_SPI_PCI)        += intel-spi-pci.o
-obj-$(CONFIG_SPI_INTEL_SPI_PLATFORM)   += intel-spi-platform.o
 
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0-only
+config SPI_ASPEED_SMC
+       tristate "Aspeed flash controllers in SPI mode"
+       depends on ARCH_ASPEED || COMPILE_TEST
+       depends on HAS_IOMEM && OF
+       help
+         This enables support for the Firmware Memory controller (FMC)
+         in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
+         and support for the SPI flash memory controller (SPI) for
+         the host firmware. The implementation only supports SPI NOR.
+
+config SPI_CADENCE_QUADSPI
+       tristate "Cadence Quad SPI controller"
+       depends on OF && (ARM || ARM64 || COMPILE_TEST)
+       help
+         Enable support for the Cadence Quad SPI Flash controller.
+
+         Cadence QSPI is a specialized controller for connecting an SPI
+         Flash over 1/2/4-bit wide bus. Enable this option if you have a
+         device with a Cadence QSPI controller and want to access the
+         Flash as an MTD device.
+
+config SPI_HISI_SFC
+       tristate "Hisilicon FMC SPI-NOR Flash Controller(SFC)"
+       depends on ARCH_HISI || COMPILE_TEST
+       depends on HAS_IOMEM
+       help
+         This enables support for HiSilicon FMC SPI-NOR flash controller.
+
+config SPI_NXP_SPIFI
+       tristate "NXP SPI Flash Interface (SPIFI)"
+       depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
+       depends on HAS_IOMEM
+       help
+         Enable support for the NXP LPC SPI Flash Interface controller.
+
+         SPIFI is a specialized controller for connecting serial SPI
+         Flash. Enable this option if you have a device with a SPIFI
+         controller and want to access the Flash as a mtd device.
+
+config SPI_INTEL_SPI
+       tristate
+
+config SPI_INTEL_SPI_PCI
+       tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
+       depends on X86 && PCI
+       select SPI_INTEL_SPI
+       help
+         This enables PCI support for the Intel PCH/PCU SPI controller in
+         master mode. This controller is present in modern Intel hardware
+         and is used to hold BIOS and other persistent settings. Using
+         this driver it is possible to upgrade BIOS directly from Linux.
+
+         Say N here unless you know what you are doing. Overwriting the
+         SPI flash may render the system unbootable.
+
+         To compile this driver as a module, choose M here: the module
+         will be called intel-spi-pci.
+
+config SPI_INTEL_SPI_PLATFORM
+       tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
+       depends on X86
+       select SPI_INTEL_SPI
+       help
+         This enables platform support for the Intel PCH/PCU SPI
+         controller in master mode. This controller is present in modern
+         Intel hardware and is used to hold BIOS and other persistent
+         settings. Using this driver it is possible to upgrade BIOS
+         directly from Linux.
+
+         Say N here unless you know what you are doing. Overwriting the
+         SPI flash may render the system unbootable.
+
+         To compile this driver as a module, choose M here: the module
+         will be called intel-spi-platform.
 
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_SPI_ASPEED_SMC)   += aspeed-smc.o
+obj-$(CONFIG_SPI_CADENCE_QUADSPI)      += cadence-quadspi.o
+obj-$(CONFIG_SPI_HISI_SFC)     += hisi-sfc.o
+obj-$(CONFIG_SPI_NXP_SPIFI)    += nxp-spifi.o
+obj-$(CONFIG_SPI_INTEL_SPI)    += intel-spi.o
+obj-$(CONFIG_SPI_INTEL_SPI_PCI)        += intel-spi-pci.o
+obj-$(CONFIG_SPI_INTEL_SPI_PLATFORM)   += intel-spi-platform.o