[PATCH v2 3/4] mtd: rawnand: denali_dt: use UCLASS_MTD instead of UCLASS_MISC
Simon Goldschmidt
simon.k.r.goldschmidt at gmail.com
Wed Jan 29 18:08:10 CET 2020
Am 29.01.2020 um 16:55 schrieb Masahiro Yamada:
> 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.masahiro at 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
Does any socfpga actually enable the denali driver? Do we need to
default to this instead of enabling it in a defconfig?
If we need it, could you please change that to 'imply'? Not all configs
will need this.
Thanks,
Simon
> 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)
>
More information about the U-Boot
mailing list