Re: [PATCH 10/15] mtd: Add some fallbacks for add/del_mtd_device

Dario Binacchi
2023-11-02T10:45:25Z

Sean, All

On Sun, Oct 29, 2023 at 4:49 AM Sean Anderson <seanga2@gmail.com> wrote:
>
> This allows using these functions without ifdefs. OneNAND depends on MTD,
> so this ifdef was redundant in the first place.
>
> Signed-off-by: Sean Anderson <seanga2@gmail.com>
> ---
>
> drivers/mtd/nand/raw/nand.c | 2 --
> drivers/mtd/onenand/onenand_uboot.c | 2 --
> include/linux/mtd/mtd.h | 12 ++++++++++++
> 3 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/nand/raw/nand.c b/drivers/mtd/nand/raw/nand.c
> index 4da41438790..3abd82068fb 100644
> --- a/drivers/mtd/nand/raw/nand.c
> +++ b/drivers/mtd/nand/raw/nand.c
> @@ -60,13 +60,11 @@ int nand_register(int devnum, struct mtd_info *mtd)
> sprintf(dev_name[devnum], "nand%d", devnum);
> mtd->name = dev_name[devnum];
>
> -#ifdef CONFIG_MTD
> /*
> * Add MTD device so that we can reference it later
> * via the mtdcore infrastructure (e.g. ubi).
> */
> add_mtd_device(mtd);
> -#endif
>
> total_nand_size += mtd->size / 1024;
>
> diff --git a/drivers/mtd/onenand/onenand_uboot.c b/drivers/mtd/onenand/onenand_uboot.c
> index 04791df69bb..ecacabefadc 100644
> --- a/drivers/mtd/onenand/onenand_uboot.c
> +++ b/drivers/mtd/onenand/onenand_uboot.c
> @@ -44,14 +44,12 @@ void onenand_init(void)
> puts("Flex-");
> puts("OneNAND: ");
>
> -#ifdef CONFIG_MTD
> /*
> * Add MTD device so that we can reference it later
> * via the mtdcore infrastructure (e.g. ubi).
> */
> onenand_mtd.name = dev_name;
> add_mtd_device(&onenand_mtd);
> -#endif
> }
> print_size(onenand_chip.chipsize, "\n");
> }
> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
> index 09f52698877..7a66c7af749 100644
> --- a/include/linux/mtd/mtd.h
> +++ b/include/linux/mtd/mtd.h
> @@ -552,8 +552,20 @@ unsigned mtd_mmap_capabilities(struct mtd_info *mtd);
>
> #ifdef __UBOOT__
> /* drivers/mtd/mtdcore.h */
> +#if CONFIG_IS_ENABLED(MTD)
> int add_mtd_device(struct mtd_info *mtd);
> int del_mtd_device(struct mtd_info *mtd);
> +#else
> +static inline int add_mtd_device(struct mtd_info *mtd)
> +{
> + return -ENOSYS;
> +}
> +
> +static inline int del_mtd_device(struct mtd_info *mtd)
> +{
> + return -ENOSYS;
> +}
> +#endif
>
> #ifdef CONFIG_MTD_PARTITIONS
> int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
> --
> 2.37.1
>

Reviewed-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

Thanks and regards,
Dario
--

Dario Binacchi

Senior Embedded Linux Developer

dario.binacchi@amarulasolutions.com

__________________________________

Amarula Solutions SRL

Via Le Canevare 30, 31100 Treviso, Veneto, IT

T. +39 042 243 5310
info@amarulasolutions.com