mtd: rawnand: brcmnand: Add individual glue driver selection
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 11 Jul 2022 22:23:23 +0000 (15:23 -0700)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 21 Sep 2022 08:38:46 +0000 (10:38 +0200)
Allow each platform to define a dedicated Kconfig entry for its glue
driver such that we can decide on a per-platfomr basis whether to build
it or not. This allows for a finer grained control over the resulting
kernel image or set of modules.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220711222323.4048197-3-f.fainelli@gmail.com
drivers/mtd/nand/raw/brcmnand/Kconfig
drivers/mtd/nand/raw/brcmnand/Makefile

index d5a0265525ca2cb0c904125e73292b4dbd887c0b..4bc51bf60aca51351fbb9d9e7b2fdb1eff537ea7 100644 (file)
@@ -9,6 +9,13 @@ config MTD_NAND_BRCMNAND
 
 if MTD_NAND_BRCMNAND
 
+config MTD_NAND_BRCMNAND_BCM63XX
+       tristate "Broadcom BCM63xx NAND controller glue"
+       default BCM63XX
+       help
+         Enables the BRCMNAND glue driver to register the NAND controller
+         on Broadcom BCM63xx MIPS-based DSL platforms.
+
 config MTD_NAND_BRCMNAND_BCMA
        tristate "Broadcom BCMA NAND controller"
        depends on BCMA_NFLASH
@@ -18,4 +25,25 @@ config MTD_NAND_BRCMNAND_BCMA
          The glue driver will take care of performing the low-level I/O
          operations to interface the BRCMNAND controller over the BCMA bus.
 
+config MTD_NAND_BRCMNAND_BCMBCA
+       tristate "Broadcom BCMBCA NAND controller glue"
+       default ARCH_BCMBCA
+       help
+         Enables the BRCMNAND glue driver to register the NAND controller
+         on Broadcom BCA platforms.
+
+config MTD_NAND_BRCMNAND_BRCMSTB
+       tristate "Broadcom STB Nand controller glue"
+       default ARCH_BRCMSTB
+       help
+         Enables the BRCMNAND glue driver to register the NAND controller
+         on Broadcom STB platforms.
+
+config MTD_NAND_BRCMNAND_IPROC
+       tristate "Broadcom iProc NAND controller glue"
+       default ARCH_BCM_IPROC
+       help
+         Enables the BRCMNAND controller glue driver to register the NAND
+         controller on Broadcom iProc platforms.
+
 endif # MTD_NAND_BRCMNAND
index 16dc7254200edcf64e5a0fa1464c38beac3bc400..9907e3ec4bb2d8bc275e247354d39dd143ab8e84 100644 (file)
@@ -1,10 +1,10 @@
 # SPDX-License-Identifier: GPL-2.0
 # link order matters; don't link the more generic brcmstb_nand.o before the
 # more specific iproc_nand.o, for instance
-obj-$(CONFIG_MTD_NAND_BRCMNAND)                += iproc_nand.o
-obj-$(CONFIG_MTD_NAND_BRCMNAND)                += bcm63138_nand.o
-obj-$(CONFIG_MTD_NAND_BRCMNAND)                += bcm6368_nand.o
-obj-$(CONFIG_MTD_NAND_BRCMNAND)                += brcmstb_nand.o
+obj-$(CONFIG_MTD_NAND_BRCMNAND_IPROC)  += iproc_nand.o
+obj-$(CONFIG_MTD_NAND_BRCMNAND_BCMBCA) += bcm63138_nand.o
+obj-$(CONFIG_MTD_NAND_BRCMNAND_BCM63XX)        += bcm6368_nand.o
+obj-$(CONFIG_MTD_NAND_BRCMNAND_BRCMSTB)        += brcmstb_nand.o
 obj-$(CONFIG_MTD_NAND_BRCMNAND)                += brcmnand.o
 
 obj-$(CONFIG_MTD_NAND_BRCMNAND_BCMA)   += bcma_nand.o