mtd: spi-nor: Prepare core / manufacturer code split
authorBoris Brezillon <bbrezillon@kernel.org>
Fri, 13 Mar 2020 19:42:36 +0000 (19:42 +0000)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Mon, 16 Mar 2020 16:28:53 +0000 (18:28 +0200)
Move all SPI NOR controller drivers to a controllers/ sub-directory
so that we only have SPI NOR related source files under
drivers/mtd/spi-nor/.

Rename spi-nor.c into core.c, we are about to split this file in multiple
source files (one per manufacturer, plus one for the SFDP parsing logic).

Signed-off-by: Boris Brezillon <bbrezillon@kernel.org>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
13 files changed:
drivers/mtd/spi-nor/Kconfig
drivers/mtd/spi-nor/Makefile
drivers/mtd/spi-nor/controllers/Kconfig [new file with mode: 0644]
drivers/mtd/spi-nor/controllers/Makefile [new file with mode: 0644]
drivers/mtd/spi-nor/controllers/aspeed-smc.c [moved from drivers/mtd/spi-nor/aspeed-smc.c with 100% similarity]
drivers/mtd/spi-nor/controllers/cadence-quadspi.c [moved from drivers/mtd/spi-nor/cadence-quadspi.c with 100% similarity]
drivers/mtd/spi-nor/controllers/hisi-sfc.c [moved from drivers/mtd/spi-nor/hisi-sfc.c with 100% similarity]
drivers/mtd/spi-nor/controllers/intel-spi-pci.c [moved from drivers/mtd/spi-nor/intel-spi-pci.c with 100% similarity]
drivers/mtd/spi-nor/controllers/intel-spi-platform.c [moved from drivers/mtd/spi-nor/intel-spi-platform.c with 100% similarity]
drivers/mtd/spi-nor/controllers/intel-spi.c [moved from drivers/mtd/spi-nor/intel-spi.c with 100% similarity]
drivers/mtd/spi-nor/controllers/intel-spi.h [moved from drivers/mtd/spi-nor/intel-spi.h with 100% similarity]
drivers/mtd/spi-nor/controllers/nxp-spifi.c [moved from drivers/mtd/spi-nor/nxp-spifi.c with 100% similarity]
drivers/mtd/spi-nor/core.c [moved from drivers/mtd/spi-nor/spi-nor.c with 100% similarity]

index 267b900..6e816ea 100644 (file)
@@ -24,79 +24,6 @@ config MTD_SPI_NOR_USE_4K_SECTORS
          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
index 738dfd7..d6fc70a 100644 (file)
@@ -1,9 +1,4 @@
 # 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
diff --git a/drivers/mtd/spi-nor/controllers/Kconfig b/drivers/mtd/spi-nor/controllers/Kconfig
new file mode 100644 (file)
index 0000000..10b8666
--- /dev/null
@@ -0,0 +1,75 @@
+# 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.
diff --git a/drivers/mtd/spi-nor/controllers/Makefile b/drivers/mtd/spi-nor/controllers/Makefile
new file mode 100644 (file)
index 0000000..46e6fbe
--- /dev/null
@@ -0,0 +1,8 @@
+# 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