UCLASS_MTD is a better fit for NAND drivers.

Make NAND_DENALI_DT depend on DM_MTD, which is needed to compile
drivers/mtd/mtd-uclass.c

Also, make ARCH_SOCFPGA and ARCH_UNIPHIER select DM_MTD because
they use this driver.

Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com>
---

Changes in v2:
 - new patch

 arch/arm/Kconfig                 | 2 ++
 drivers/mtd/nand/raw/Kconfig     | 2 +-
 drivers/mtd/nand/raw/denali_dt.c | 4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1236315168..d1c58667c7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -935,6 +935,7 @@ config ARCH_SOCFPGA
        select ARM64 if TARGET_SOCFPGA_STRATIX10 || TARGET_SOCFPGA_AGILEX
        select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select DM
+       select DM_MTD
        select DM_SERIAL
        select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || 
TARGET_SOCFPGA_ARRIA10
        select OF_CONTROL
@@ -1548,6 +1549,7 @@ config ARCH_UNIPHIER
        select DM_GPIO
        select DM_I2C
        select DM_MMC
+       select DM_MTD
        select DM_RESET
        select DM_SERIAL
        select DM_USB
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 7814d84ba0..23201ca720 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -116,7 +116,7 @@ config NAND_DENALI
 config NAND_DENALI_DT
        bool "Support Denali NAND controller as a DT device"
        select NAND_DENALI
-       depends on OF_CONTROL && DM
+       depends on OF_CONTROL && DM_MTD
        help
          Enable the driver for NAND flash on platforms using a Denali NAND
          controller as a DT device.
diff --git a/drivers/mtd/nand/raw/denali_dt.c b/drivers/mtd/nand/raw/denali_dt.c
index 587e480faa..759ad40e51 100644
--- a/drivers/mtd/nand/raw/denali_dt.c
+++ b/drivers/mtd/nand/raw/denali_dt.c
@@ -160,7 +160,7 @@ static int denali_dt_probe(struct udevice *dev)
 
 U_BOOT_DRIVER(denali_nand_dt) = {
        .name = "denali-nand-dt",
-       .id = UCLASS_MISC,
+       .id = UCLASS_MTD,
        .of_match = denali_nand_dt_ids,
        .probe = denali_dt_probe,
        .priv_auto_alloc_size = sizeof(struct denali_nand_info),
@@ -171,7 +171,7 @@ void board_nand_init(void)
        struct udevice *dev;
        int ret;
 
-       ret = uclass_get_device_by_driver(UCLASS_MISC,
+       ret = uclass_get_device_by_driver(UCLASS_MTD,
                                          DM_GET_DRIVER(denali_nand_dt),
                                          &dev);
        if (ret && ret != -ENODEV)
-- 
2.17.1

Reply via email to