Linux moved the raw NAND drivers from drivers/mtd/nand/ to
drivers/mtd/nand/raw/ years ago. Follow suit and do the same
for barebox to be more consistent with Linux.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 commands/Kconfig                              |   6 +-
 drivers/mtd/Makefile                          |   2 +-
 drivers/mtd/nand/Kconfig                      | 165 +---------------
 drivers/mtd/nand/Makefile                     |  24 +--
 drivers/mtd/nand/raw/Kconfig                  | 177 ++++++++++++++++++
 drivers/mtd/nand/raw/Makefile                 |  24 +++
 drivers/mtd/nand/{ => raw}/atmel/Makefile     |   0
 .../mtd/nand/{ => raw}/atmel/atmel_nand_ecc.h |   0
 drivers/mtd/nand/{ => raw}/atmel/legacy.c     |   0
 .../nand/{ => raw}/atmel/nand-controller.c    |   0
 drivers/mtd/nand/{ => raw}/atmel/pmecc.c      |   0
 drivers/mtd/nand/{ => raw}/atmel/pmecc.h      |   0
 drivers/mtd/nand/{ => raw}/denali.h           |   0
 drivers/mtd/nand/{ => raw}/fsl_ifc.h          |   0
 drivers/mtd/nand/{ => raw}/internals.h        |   0
 drivers/mtd/nand/{ => raw}/nand_amd.c         |   0
 drivers/mtd/nand/{ => raw}/nand_base.c        |   0
 drivers/mtd/nand/{ => raw}/nand_bbt.c         |   0
 drivers/mtd/nand/{ => raw}/nand_bch.c         |   0
 drivers/mtd/nand/{ => raw}/nand_denali.c      |   0
 drivers/mtd/nand/{ => raw}/nand_denali_dt.c   |   0
 drivers/mtd/nand/{ => raw}/nand_ecc.c         |   0
 drivers/mtd/nand/{ => raw}/nand_esmt.c        |   0
 drivers/mtd/nand/{ => raw}/nand_fsl_ifc.c     |   0
 drivers/mtd/nand/{ => raw}/nand_hynix.c       |   0
 drivers/mtd/nand/{ => raw}/nand_ids.c         |   0
 drivers/mtd/nand/{ => raw}/nand_imx.c         |   0
 drivers/mtd/nand/{ => raw}/nand_jedec.c       |   0
 drivers/mtd/nand/{ => raw}/nand_legacy.c      |   0
 drivers/mtd/nand/{ => raw}/nand_macronix.c    |   0
 drivers/mtd/nand/{ => raw}/nand_micron.c      |   0
 drivers/mtd/nand/{ => raw}/nand_mrvl_nfc.c    |   0
 drivers/mtd/nand/{ => raw}/nand_mxs.c         |   0
 .../nand/{ => raw}/nand_omap_bch_decoder.c    |   0
 .../nand/{ => raw}/nand_omap_bch_decoder.h    |   0
 drivers/mtd/nand/{ => raw}/nand_omap_gpmc.c   |   0
 drivers/mtd/nand/{ => raw}/nand_onfi.c        |   0
 drivers/mtd/nand/{ => raw}/nand_orion.c       |   0
 drivers/mtd/nand/{ => raw}/nand_samsung.c     |   0
 drivers/mtd/nand/{ => raw}/nand_timings.c     |   0
 drivers/mtd/nand/{ => raw}/nand_toshiba.c     |   0
 drivers/mtd/nand/{ => raw}/nomadik_nand.c     |   0
 drivers/mtd/nand/{ => raw}/omap_elm.c         |   0
 drivers/mtd/nand/{ => raw}/stm32_fmc2_nand.c  |   0
 include/nand.h                                |   2 +-
 45 files changed, 213 insertions(+), 187 deletions(-)
 create mode 100644 drivers/mtd/nand/raw/Kconfig
 create mode 100644 drivers/mtd/nand/raw/Makefile
 rename drivers/mtd/nand/{ => raw}/atmel/Makefile (100%)
 rename drivers/mtd/nand/{ => raw}/atmel/atmel_nand_ecc.h (100%)
 rename drivers/mtd/nand/{ => raw}/atmel/legacy.c (100%)
 rename drivers/mtd/nand/{ => raw}/atmel/nand-controller.c (100%)
 rename drivers/mtd/nand/{ => raw}/atmel/pmecc.c (100%)
 rename drivers/mtd/nand/{ => raw}/atmel/pmecc.h (100%)
 rename drivers/mtd/nand/{ => raw}/denali.h (100%)
 rename drivers/mtd/nand/{ => raw}/fsl_ifc.h (100%)
 rename drivers/mtd/nand/{ => raw}/internals.h (100%)
 rename drivers/mtd/nand/{ => raw}/nand_amd.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_base.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_bbt.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_bch.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_denali.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_denali_dt.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_ecc.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_esmt.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_fsl_ifc.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_hynix.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_ids.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_imx.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_jedec.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_legacy.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_macronix.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_micron.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_mrvl_nfc.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_mxs.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_omap_bch_decoder.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_omap_bch_decoder.h (100%)
 rename drivers/mtd/nand/{ => raw}/nand_omap_gpmc.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_onfi.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_orion.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_samsung.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_timings.c (100%)
 rename drivers/mtd/nand/{ => raw}/nand_toshiba.c (100%)
 rename drivers/mtd/nand/{ => raw}/nomadik_nand.c (100%)
 rename drivers/mtd/nand/{ => raw}/omap_elm.c (100%)
 rename drivers/mtd/nand/{ => raw}/stm32_fmc2_nand.c (100%)

diff --git a/commands/Kconfig b/commands/Kconfig
index 8d0816c4d0..93e176c2d6 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -2011,7 +2011,7 @@ config CMD_LED
 config CMD_NAND
        tristate
        default y
-       depends on NAND
+       depends on MTD_RAW_NAND
        prompt "nand"
        help
          NAND flash handling
@@ -2027,7 +2027,7 @@ config CMD_NAND
 
 config CMD_NANDTEST
        tristate
-       depends on NAND
+       depends on MTD_RAW_NAND
        depends on PARTITION
        prompt "nandtest"
        help
@@ -2045,7 +2045,7 @@ config CMD_NANDTEST
 
 config CMD_NAND_BITFLIP
        tristate
-       depends on NAND
+       depends on MTD_RAW_NAND
        prompt "nand_bitflip"
        help
          nand_bitflip - Create bitflips on Nand pages. This command is useful 
for testing
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index dc05793ca1..5a0753edd0 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_NAND)                     += nand/
+obj-y                                  += nand/
 obj-$(CONFIG_DRIVER_CFI)               += nor/
 obj-$(CONFIG_MTD_SPI_NOR)              += spi-nor/
 obj-$(CONFIG_MTD_UBI)                  += ubi/
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 19f4322f65..4de2d86113 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -1,4 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+config MTD_NAND_CORE
+       bool
+
 menuconfig NAND
        bool "NAND support"
        help
@@ -8,165 +12,6 @@ menuconfig NAND
 
 if NAND
 
-config MTD_NAND_ECC_SOFT
-       bool
-       prompt "Support software ecc"
-
-config MTD_NAND_ECC_SW_BCH
-       select BCH
-       depends on MTD_NAND_ECC_SOFT
-       bool
-       prompt "Support software BCH ecc"
-
-config NAND_ECC_HW_SYNDROME
-       bool
-       prompt "Support syndrome hardware ecc controllers"
-
-config NAND_ALLOW_ERASE_BAD
-       bool
-       depends on MTD_WRITE
-       prompt "Add device parameter to allow erasing bad blocks"
-       help
-         This adds a 'erasebad' device parameter to nand devices. When set
-         to '1' it will be allowed to erase bad blocks. This is a potientially
-         dangerous operation, so if unsure say no to this option.
-
-config NAND_IMX
-       bool
-       prompt "i.MX21 to 53 NAND driver aka 'mxc', for NFC"
-       depends on ARCH_IMX
-       help
-         Support for NAND flash on Freescale/NXP i.MX devices.  This is for the
-         "MXC" series:  i.MX21/25/27/31/35/51/53.
-
-         This is not for the "MXS" series i.MX processors (23 & 28), or i.MX6
-         and later, which use the GPMI NAND controller from the MXS series.
-         See the i.MX 'mxs' driver for those chips.
-
-config NAND_FSL_IFC
-       bool
-       prompt "FSL IFC NAND driver"
-       depends on ARCH_LAYERSCAPE
-       help
-         Freescale IFC NAND driver for various chips.
-
-config NAND_MXS
-       bool
-       select STMP_DEVICE
-       prompt "i.MX23/28 & 6+ NAND driver aka 'mxs', for GPMI"
-       depends on MXS_APBH_DMA
-       help
-         Support for NAND flash on Freescale/NXP i.MX devices.  This is for the
-         "MXS" series:  i.MX23/28 and all i.MX6 and later SoCs.
-
-         This is not for the "MXC" series of i.MX processors in the i.MX21 to
-         i.MX53 range.  See the i.MX "mxc" driver for those chips.
-
-config NAND_OMAP_GPMC
-       tristate "NAND Flash Support for GPMC based OMAP platforms"
-       depends on OMAP_GPMC
-       depends on BUS_OMAP_GPMC
-       help
-         Support for NAND flash using GPMC. GPMC is a common memory
-         interface found on Texas Instrument's OMAP platforms
-
-config MTD_NAND_OMAP_ELM
-       bool "Support for ELM (Error Location Module) on OMAP platforms"
-       depends on NAND_OMAP_GPMC || COMPILE_TEST
-       help
-         This config enables the ELM hardware engine, which can be used to
-         locate and correct errors when using BCH ECC scheme. This offloads
-         the cpu from doing ECC error searching and correction. However some
-         legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine
-         so this is optional for them.
-
-config NAND_ORION
-       bool
-       prompt "Marvell Orion NAND driver"
-       depends on (ARM && !CPU_32v4T) && (ARCH_KIRKWOOD || COMPILE_TEST)
-       help
-         Support for the Orion NAND controller, present in Kirkwood SoCs.
-
-config NAND_MRVL_NFC
-       bool
-       prompt "Marvell PXA3xx NAND driver"
-       depends on ARCH_ARMADA_370 || ARCH_ARMADA_XP || ARCH_PXA3XX || 
COMPILE_TEST
-       help
-         Support for the PXA3xx NAND controller, present in Armada 370/XP and
-         PXA3xx SoCs.
-
-config NAND_STM32
-       bool "Support for NAND controller on STM32MP SoCs"
-       depends on ARCH_STM32MP || COMPILE_TEST
-       select STM32_FMC2_EBI if ARCH_STM32MP
-       select RESET_CONTROLLER if ARCH_STM32MP
-       select RESET_SIMPLE if ARCH_STM32MP
-       help
-         Enables support for NAND Flash chips on SoCs containing the FMC2
-         NAND controller. This controller is found on STM32MP SoCs.
-         The controller supports a maximum 8k page size and supports
-         a maximum 8-bit correction error per sector of 512 bytes.
-
-config NAND_ATMEL
-       bool
-       prompt "Atmel (AT91SAM9xxx) NAND driver"
-       select GENERIC_ALLOCATOR if OFDEVICE
-       depends on ARCH_AT91 || (OFDEVICE && COMPILE_TEST)
-
-config NAND_ATMEL_LEGACY
-       def_bool !AT91_MULTI_BOARDS || SOC_AT91SAM9
-       depends on NAND_ATMEL
-       help
-         Select legacy driver for non-DT-enabled platforms
-         and for the deprecated non-EBI binding.
-
-         The deprecated binding is currently the only one
-         support for AT91SAM9.
-
-config NAND_ATMEL_PMECC
-       bool
-       prompt "PMECC support"
-       depends on NAND_ATMEL_LEGACY
-       help
-         Support for PMECC present on the SoC sam9x5 and sam9n12
-
-config MTD_NAND_ECC_SW_HAMMING_SMC
-       bool "NAND ECC Smart Media byte order"
-       default n
-       help
-         Software ECC according to the Smart Media Specification.
-         The original Linux implementation had byte 0 and 1 swapped.
-
-config MTD_NAND_NOMADIK
-       tristate "ST Nomadik 8815 NAND support"
-       depends on ARCH_NOMADIK
-       help
-         Driver for the NAND flash controller on the Nomadik, with ECC.
-
-config MTD_NAND_DENALI
-        tristate "Support Denali NAND controller"
-        depends on HAS_DMA
-        help
-          Enable support for the Denali NAND controller.  This should be
-          combined with either the PCI or platform drivers to provide device
-          registration.
-
-config MTD_NAND_DENALI_DT
-        tristate "Support Denali NAND controller as a DT device"
-        depends on HAVE_CLK && MTD_NAND_DENALI
-        help
-          Enable the driver for NAND flash on platforms using a Denali NAND
-          controller as a DT device.
-
-if MTD_NAND_DENALI
-
-config MTD_NAND_DENALI_TIMING_MODE
-       int "Overrides default ONFI timing mode."
-       default -1
-       range -1 5
-       help
-          -1 indicates use default timings
-
-endif
+source "drivers/mtd/nand/raw/Kconfig"
 
 endif
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index a0207d328b..6e94575728 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -1,25 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-# Generic NAND options
-obj-$(CONFIG_NAND)                     += nand_ecc.o
-obj-$(CONFIG_MTD_NAND_ECC_SW_BCH)      += nand_bch.o
-obj-$(CONFIG_NAND)                     += nand_ids.o
-obj-$(CONFIG_NAND)                     += nand_base.o nand-bb.o nand_timings.o
-obj-$(CONFIG_NAND)                     += nand_legacy.o nand_onfi.o nand_amd.o
-obj-$(CONFIG_NAND)                     += nand_esmt.o nand_hynix.o 
nand_macronix.o
-obj-$(CONFIG_NAND)                     += nand_micron.o nand_samsung.o 
nand_toshiba.o
-obj-$(CONFIG_NAND)                     += nand_jedec.o core.o bbt.o
-obj-$(CONFIG_NAND)                     += nand_bbt.o
+obj-$(CONFIG_MTD_NAND_CORE) += core.o bbt.o nand-bb.o
 
-obj-$(CONFIG_MTD_NAND_NOMADIK)         += nomadik_nand.o
-obj-$(CONFIG_NAND_IMX)                 += nand_imx.o
-obj-$(CONFIG_NAND_OMAP_GPMC)           += nand_omap_gpmc.o 
nand_omap_bch_decoder.o
-obj-$(CONFIG_MTD_NAND_OMAP_ELM)                += omap_elm.o
-obj-$(CONFIG_NAND_ORION)               += nand_orion.o
-obj-$(CONFIG_NAND_STM32)               += stm32_fmc2_nand.o
-obj-$(CONFIG_NAND_MRVL_NFC)            += nand_mrvl_nfc.o
-obj-$(CONFIG_NAND_ATMEL)               += atmel/
-obj-$(CONFIG_NAND_MXS)                 += nand_mxs.o
-obj-$(CONFIG_MTD_NAND_DENALI)          += nand_denali.o
-obj-$(CONFIG_MTD_NAND_DENALI_DT)       += nand_denali_dt.o
-obj-$(CONFIG_NAND_FSL_IFC)             += nand_fsl_ifc.o
+obj-y += raw/
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
new file mode 100644
index 0000000000..b979bc5bd0
--- /dev/null
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -0,0 +1,177 @@
+# SPDX-License-Identifier: GPL-2.0-only
+menuconfig MTD_RAW_NAND
+       default y
+       bool "Raw/Parallel NAND Device Support"
+       select MTD_NAND_CORE
+       select MTD_NAND_ECC
+       help
+         This enables support for accessing all type of raw/parallel
+         NAND flash devices. For further information see
+         <http://www.linux-mtd.infradead.org/doc/nand.html>.
+
+if MTD_RAW_NAND
+
+config MTD_NAND_ECC_SOFT
+       bool
+       prompt "Support software ecc"
+
+config MTD_NAND_ECC_SW_BCH
+       select BCH
+       depends on MTD_NAND_ECC_SOFT
+       bool
+       prompt "Support software BCH ecc"
+
+config NAND_ECC_HW_SYNDROME
+       bool
+       prompt "Support syndrome hardware ecc controllers"
+
+config NAND_ALLOW_ERASE_BAD
+       bool
+       depends on MTD_WRITE
+       prompt "Add device parameter to allow erasing bad blocks"
+       help
+         This adds a 'erasebad' device parameter to nand devices. When set
+         to '1' it will be allowed to erase bad blocks. This is a potientially
+         dangerous operation, so if unsure say no to this option.
+
+comment "Raw/parallel NAND flash controllers"
+
+config NAND_IMX
+       bool
+       prompt "i.MX21 to 53 NAND driver aka 'mxc', for NFC"
+       depends on ARCH_IMX
+       help
+         Support for NAND flash on Freescale/NXP i.MX devices.  This is for the
+         "MXC" series:  i.MX21/25/27/31/35/51/53.
+
+         This is not for the "MXS" series i.MX processors (23 & 28), or i.MX6
+         and later, which use the GPMI NAND controller from the MXS series.
+         See the i.MX 'mxs' driver for those chips.
+
+config NAND_FSL_IFC
+       bool
+       prompt "FSL IFC NAND driver"
+       depends on ARCH_LAYERSCAPE
+       help
+         Freescale IFC NAND driver for various chips.
+
+config NAND_MXS
+       bool
+       select STMP_DEVICE
+       prompt "i.MX23/28 & 6+ NAND driver aka 'mxs', for GPMI"
+       depends on MXS_APBH_DMA
+       help
+         Support for NAND flash on Freescale/NXP i.MX devices.  This is for the
+         "MXS" series:  i.MX23/28 and all i.MX6 and later SoCs.
+
+         This is not for the "MXC" series of i.MX processors in the i.MX21 to
+         i.MX53 range.  See the i.MX "mxc" driver for those chips.
+
+config NAND_OMAP_GPMC
+       tristate "NAND Flash Support for GPMC based OMAP platforms"
+       depends on OMAP_GPMC
+       depends on BUS_OMAP_GPMC
+       help
+         Support for NAND flash using GPMC. GPMC is a common memory
+         interface found on Texas Instrument's OMAP platforms
+
+config MTD_NAND_OMAP_ELM
+       bool "Support for ELM (Error Location Module) on OMAP platforms"
+       depends on NAND_OMAP_GPMC || COMPILE_TEST
+       help
+         This config enables the ELM hardware engine, which can be used to
+         locate and correct errors when using BCH ECC scheme. This offloads
+         the cpu from doing ECC error searching and correction. However some
+         legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine
+         so this is optional for them.
+
+config NAND_ORION
+       bool
+       prompt "Marvell Orion NAND driver"
+       depends on (ARM && !CPU_32v4T) && (ARCH_KIRKWOOD || COMPILE_TEST)
+       help
+         Support for the Orion NAND controller, present in Kirkwood SoCs.
+
+config NAND_MRVL_NFC
+       bool
+       prompt "Marvell PXA3xx NAND driver"
+       depends on ARCH_ARMADA_370 || ARCH_ARMADA_XP || ARCH_PXA3XX || 
COMPILE_TEST
+       help
+         Support for the PXA3xx NAND controller, present in Armada 370/XP and
+         PXA3xx SoCs.
+
+config NAND_STM32
+       bool "Support for NAND controller on STM32MP SoCs"
+       depends on ARCH_STM32MP || COMPILE_TEST
+       select STM32_FMC2_EBI if ARCH_STM32MP
+       select RESET_CONTROLLER if ARCH_STM32MP
+       select RESET_SIMPLE if ARCH_STM32MP
+       help
+         Enables support for NAND Flash chips on SoCs containing the FMC2
+         NAND controller. This controller is found on STM32MP SoCs.
+         The controller supports a maximum 8k page size and supports
+         a maximum 8-bit correction error per sector of 512 bytes.
+
+config NAND_ATMEL
+       bool
+       prompt "Atmel (AT91SAM9xxx) NAND driver"
+       select GENERIC_ALLOCATOR if OFDEVICE
+       depends on ARCH_AT91 || (OFDEVICE && COMPILE_TEST)
+
+config NAND_ATMEL_LEGACY
+       def_bool !AT91_MULTI_BOARDS || SOC_AT91SAM9
+       depends on NAND_ATMEL
+       help
+         Select legacy driver for non-DT-enabled platforms
+         and for the deprecated non-EBI binding.
+
+         The deprecated binding is currently the only one
+         support for AT91SAM9.
+
+config NAND_ATMEL_PMECC
+       bool
+       prompt "PMECC support"
+       depends on NAND_ATMEL_LEGACY
+       help
+         Support for PMECC present on the SoC sam9x5 and sam9n12
+
+config MTD_NAND_ECC_SW_HAMMING_SMC
+       bool "NAND ECC Smart Media byte order"
+       default n
+       help
+         Software ECC according to the Smart Media Specification.
+         The original Linux implementation had byte 0 and 1 swapped.
+
+config MTD_NAND_NOMADIK
+       tristate "ST Nomadik 8815 NAND support"
+       depends on ARCH_NOMADIK
+       help
+         Driver for the NAND flash controller on the Nomadik, with ECC.
+
+config MTD_NAND_DENALI
+        tristate "Support Denali NAND controller"
+        depends on HAS_DMA
+        help
+          Enable support for the Denali NAND controller.  This should be
+          combined with either the PCI or platform drivers to provide device
+          registration.
+
+config MTD_NAND_DENALI_DT
+        tristate "Support Denali NAND controller as a DT device"
+        depends on HAVE_CLK && MTD_NAND_DENALI
+        help
+          Enable the driver for NAND flash on platforms using a Denali NAND
+          controller as a DT device.
+
+if MTD_NAND_DENALI
+
+config MTD_NAND_DENALI_TIMING_MODE
+       int "Overrides default ONFI timing mode."
+       default -1
+       range -1 5
+       help
+          -1 indicates use default timings
+
+endif
+
+endif
diff --git a/drivers/mtd/nand/raw/Makefile b/drivers/mtd/nand/raw/Makefile
new file mode 100644
index 0000000000..5f45cd91e6
--- /dev/null
+++ b/drivers/mtd/nand/raw/Makefile
@@ -0,0 +1,24 @@
+# Generic NAND options
+
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_ecc.o
+obj-$(CONFIG_MTD_NAND_ECC_SW_BCH)      += nand_bch.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_ids.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_base.o  nand_timings.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_legacy.o nand_onfi.o nand_amd.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_esmt.o nand_hynix.o 
nand_macronix.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_micron.o nand_samsung.o 
nand_toshiba.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_jedec.o
+obj-$(CONFIG_MTD_RAW_NAND)             += nand_bbt.o
+
+obj-$(CONFIG_MTD_NAND_NOMADIK)         += nomadik_nand.o
+obj-$(CONFIG_NAND_IMX)                 += nand_imx.o
+obj-$(CONFIG_NAND_OMAP_GPMC)           += nand_omap_gpmc.o 
nand_omap_bch_decoder.o
+obj-$(CONFIG_MTD_NAND_OMAP_ELM)                += omap_elm.o
+obj-$(CONFIG_NAND_ORION)               += nand_orion.o
+obj-$(CONFIG_NAND_STM32)               += stm32_fmc2_nand.o
+obj-$(CONFIG_NAND_MRVL_NFC)            += nand_mrvl_nfc.o
+obj-$(CONFIG_NAND_ATMEL)               += atmel/
+obj-$(CONFIG_NAND_MXS)                 += nand_mxs.o
+obj-$(CONFIG_MTD_NAND_DENALI)          += nand_denali.o
+obj-$(CONFIG_MTD_NAND_DENALI_DT)       += nand_denali_dt.o
+obj-$(CONFIG_NAND_FSL_IFC)             += nand_fsl_ifc.o
diff --git a/drivers/mtd/nand/atmel/Makefile 
b/drivers/mtd/nand/raw/atmel/Makefile
similarity index 100%
rename from drivers/mtd/nand/atmel/Makefile
rename to drivers/mtd/nand/raw/atmel/Makefile
diff --git a/drivers/mtd/nand/atmel/atmel_nand_ecc.h 
b/drivers/mtd/nand/raw/atmel/atmel_nand_ecc.h
similarity index 100%
rename from drivers/mtd/nand/atmel/atmel_nand_ecc.h
rename to drivers/mtd/nand/raw/atmel/atmel_nand_ecc.h
diff --git a/drivers/mtd/nand/atmel/legacy.c 
b/drivers/mtd/nand/raw/atmel/legacy.c
similarity index 100%
rename from drivers/mtd/nand/atmel/legacy.c
rename to drivers/mtd/nand/raw/atmel/legacy.c
diff --git a/drivers/mtd/nand/atmel/nand-controller.c 
b/drivers/mtd/nand/raw/atmel/nand-controller.c
similarity index 100%
rename from drivers/mtd/nand/atmel/nand-controller.c
rename to drivers/mtd/nand/raw/atmel/nand-controller.c
diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/raw/atmel/pmecc.c
similarity index 100%
rename from drivers/mtd/nand/atmel/pmecc.c
rename to drivers/mtd/nand/raw/atmel/pmecc.c
diff --git a/drivers/mtd/nand/atmel/pmecc.h b/drivers/mtd/nand/raw/atmel/pmecc.h
similarity index 100%
rename from drivers/mtd/nand/atmel/pmecc.h
rename to drivers/mtd/nand/raw/atmel/pmecc.h
diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/raw/denali.h
similarity index 100%
rename from drivers/mtd/nand/denali.h
rename to drivers/mtd/nand/raw/denali.h
diff --git a/drivers/mtd/nand/fsl_ifc.h b/drivers/mtd/nand/raw/fsl_ifc.h
similarity index 100%
rename from drivers/mtd/nand/fsl_ifc.h
rename to drivers/mtd/nand/raw/fsl_ifc.h
diff --git a/drivers/mtd/nand/internals.h b/drivers/mtd/nand/raw/internals.h
similarity index 100%
rename from drivers/mtd/nand/internals.h
rename to drivers/mtd/nand/raw/internals.h
diff --git a/drivers/mtd/nand/nand_amd.c b/drivers/mtd/nand/raw/nand_amd.c
similarity index 100%
rename from drivers/mtd/nand/nand_amd.c
rename to drivers/mtd/nand/raw/nand_amd.c
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
similarity index 100%
rename from drivers/mtd/nand/nand_base.c
rename to drivers/mtd/nand/raw/nand_base.c
diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/raw/nand_bbt.c
similarity index 100%
rename from drivers/mtd/nand/nand_bbt.c
rename to drivers/mtd/nand/raw/nand_bbt.c
diff --git a/drivers/mtd/nand/nand_bch.c b/drivers/mtd/nand/raw/nand_bch.c
similarity index 100%
rename from drivers/mtd/nand/nand_bch.c
rename to drivers/mtd/nand/raw/nand_bch.c
diff --git a/drivers/mtd/nand/nand_denali.c b/drivers/mtd/nand/raw/nand_denali.c
similarity index 100%
rename from drivers/mtd/nand/nand_denali.c
rename to drivers/mtd/nand/raw/nand_denali.c
diff --git a/drivers/mtd/nand/nand_denali_dt.c 
b/drivers/mtd/nand/raw/nand_denali_dt.c
similarity index 100%
rename from drivers/mtd/nand/nand_denali_dt.c
rename to drivers/mtd/nand/raw/nand_denali_dt.c
diff --git a/drivers/mtd/nand/nand_ecc.c b/drivers/mtd/nand/raw/nand_ecc.c
similarity index 100%
rename from drivers/mtd/nand/nand_ecc.c
rename to drivers/mtd/nand/raw/nand_ecc.c
diff --git a/drivers/mtd/nand/nand_esmt.c b/drivers/mtd/nand/raw/nand_esmt.c
similarity index 100%
rename from drivers/mtd/nand/nand_esmt.c
rename to drivers/mtd/nand/raw/nand_esmt.c
diff --git a/drivers/mtd/nand/nand_fsl_ifc.c 
b/drivers/mtd/nand/raw/nand_fsl_ifc.c
similarity index 100%
rename from drivers/mtd/nand/nand_fsl_ifc.c
rename to drivers/mtd/nand/raw/nand_fsl_ifc.c
diff --git a/drivers/mtd/nand/nand_hynix.c b/drivers/mtd/nand/raw/nand_hynix.c
similarity index 100%
rename from drivers/mtd/nand/nand_hynix.c
rename to drivers/mtd/nand/raw/nand_hynix.c
diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/raw/nand_ids.c
similarity index 100%
rename from drivers/mtd/nand/nand_ids.c
rename to drivers/mtd/nand/raw/nand_ids.c
diff --git a/drivers/mtd/nand/nand_imx.c b/drivers/mtd/nand/raw/nand_imx.c
similarity index 100%
rename from drivers/mtd/nand/nand_imx.c
rename to drivers/mtd/nand/raw/nand_imx.c
diff --git a/drivers/mtd/nand/nand_jedec.c b/drivers/mtd/nand/raw/nand_jedec.c
similarity index 100%
rename from drivers/mtd/nand/nand_jedec.c
rename to drivers/mtd/nand/raw/nand_jedec.c
diff --git a/drivers/mtd/nand/nand_legacy.c b/drivers/mtd/nand/raw/nand_legacy.c
similarity index 100%
rename from drivers/mtd/nand/nand_legacy.c
rename to drivers/mtd/nand/raw/nand_legacy.c
diff --git a/drivers/mtd/nand/nand_macronix.c 
b/drivers/mtd/nand/raw/nand_macronix.c
similarity index 100%
rename from drivers/mtd/nand/nand_macronix.c
rename to drivers/mtd/nand/raw/nand_macronix.c
diff --git a/drivers/mtd/nand/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c
similarity index 100%
rename from drivers/mtd/nand/nand_micron.c
rename to drivers/mtd/nand/raw/nand_micron.c
diff --git a/drivers/mtd/nand/nand_mrvl_nfc.c 
b/drivers/mtd/nand/raw/nand_mrvl_nfc.c
similarity index 100%
rename from drivers/mtd/nand/nand_mrvl_nfc.c
rename to drivers/mtd/nand/raw/nand_mrvl_nfc.c
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/raw/nand_mxs.c
similarity index 100%
rename from drivers/mtd/nand/nand_mxs.c
rename to drivers/mtd/nand/raw/nand_mxs.c
diff --git a/drivers/mtd/nand/nand_omap_bch_decoder.c 
b/drivers/mtd/nand/raw/nand_omap_bch_decoder.c
similarity index 100%
rename from drivers/mtd/nand/nand_omap_bch_decoder.c
rename to drivers/mtd/nand/raw/nand_omap_bch_decoder.c
diff --git a/drivers/mtd/nand/nand_omap_bch_decoder.h 
b/drivers/mtd/nand/raw/nand_omap_bch_decoder.h
similarity index 100%
rename from drivers/mtd/nand/nand_omap_bch_decoder.h
rename to drivers/mtd/nand/raw/nand_omap_bch_decoder.h
diff --git a/drivers/mtd/nand/nand_omap_gpmc.c 
b/drivers/mtd/nand/raw/nand_omap_gpmc.c
similarity index 100%
rename from drivers/mtd/nand/nand_omap_gpmc.c
rename to drivers/mtd/nand/raw/nand_omap_gpmc.c
diff --git a/drivers/mtd/nand/nand_onfi.c b/drivers/mtd/nand/raw/nand_onfi.c
similarity index 100%
rename from drivers/mtd/nand/nand_onfi.c
rename to drivers/mtd/nand/raw/nand_onfi.c
diff --git a/drivers/mtd/nand/nand_orion.c b/drivers/mtd/nand/raw/nand_orion.c
similarity index 100%
rename from drivers/mtd/nand/nand_orion.c
rename to drivers/mtd/nand/raw/nand_orion.c
diff --git a/drivers/mtd/nand/nand_samsung.c 
b/drivers/mtd/nand/raw/nand_samsung.c
similarity index 100%
rename from drivers/mtd/nand/nand_samsung.c
rename to drivers/mtd/nand/raw/nand_samsung.c
diff --git a/drivers/mtd/nand/nand_timings.c 
b/drivers/mtd/nand/raw/nand_timings.c
similarity index 100%
rename from drivers/mtd/nand/nand_timings.c
rename to drivers/mtd/nand/raw/nand_timings.c
diff --git a/drivers/mtd/nand/nand_toshiba.c 
b/drivers/mtd/nand/raw/nand_toshiba.c
similarity index 100%
rename from drivers/mtd/nand/nand_toshiba.c
rename to drivers/mtd/nand/raw/nand_toshiba.c
diff --git a/drivers/mtd/nand/nomadik_nand.c 
b/drivers/mtd/nand/raw/nomadik_nand.c
similarity index 100%
rename from drivers/mtd/nand/nomadik_nand.c
rename to drivers/mtd/nand/raw/nomadik_nand.c
diff --git a/drivers/mtd/nand/omap_elm.c b/drivers/mtd/nand/raw/omap_elm.c
similarity index 100%
rename from drivers/mtd/nand/omap_elm.c
rename to drivers/mtd/nand/raw/omap_elm.c
diff --git a/drivers/mtd/nand/stm32_fmc2_nand.c 
b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
similarity index 100%
rename from drivers/mtd/nand/stm32_fmc2_nand.c
rename to drivers/mtd/nand/raw/stm32_fmc2_nand.c
diff --git a/include/nand.h b/include/nand.h
index f0114a227d..84f5a96714 100644
--- a/include/nand.h
+++ b/include/nand.h
@@ -4,7 +4,7 @@
 
 struct nand_bb;
 
-#ifdef CONFIG_NAND
+#ifdef CONFIG_MTD_RAW_NAND
 int dev_add_bb_dev(const char *filename, const char *name);
 int dev_remove_bb_dev(const char *name);
 struct cdev *mtd_add_bb(struct mtd_info *mtd, const char *name);
-- 
2.39.2


Reply via email to