[PATCH] physmap: fix mtdconcat support if physmap/mtdconcat were compiled as modules

Artem Bityutskiy dedekind1 at gmail.com
Wed Jan 5 04:07:53 EST 2011


On Wed, 2011-01-05 at 05:00 +0300, Dmitry Eremin-Solenikov wrote:
> physmap/physmap_of contained compile-time check for mtd concatenation.
> However thos modules did not consider that mtd concatenation can be
> built as modules. Fix physmap/physmap_of to also support
> CONFIG_MTD_CONCAT=m
> 
> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
> Cc: Stefan Roese <sr at denx.de>
> ---
>  drivers/mtd/maps/physmap.c    |    4 ++--
>  drivers/mtd/maps/physmap_of.c |    4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
> index 4c18b98..a224afc 100644
> --- a/drivers/mtd/maps/physmap.c
> +++ b/drivers/mtd/maps/physmap.c
> @@ -59,7 +59,7 @@ static int physmap_flash_remove(struct platform_device *dev)
>  #else
>  		del_mtd_device(info->cmtd);
>  #endif
> -#ifdef CONFIG_MTD_CONCAT
> +#if defined(CONFIG_MTD_CONCAT) || (defined(CONFIG_MTD_CONCAT_MODULE) && defined(CONFIG_MTD_PHYSMAP_MODULE))
>  		if (info->cmtd != info->mtd[0])
>  			mtd_concat_destroy(info->cmtd);
>  #endif
> @@ -159,7 +159,7 @@ static int physmap_flash_probe(struct platform_device *dev)
>  		/*
>  		 * We detected multiple devices. Concatenate them together.
>  		 */
> -#ifdef CONFIG_MTD_CONCAT
> +#if defined(CONFIG_MTD_CONCAT) || (defined(CONFIG_MTD_CONCAT_MODULE) && defined(CONFIG_MTD_PHYSMAP_MODULE))

Can we do something else to avoid these complex ifdefs? I'd vote for
making mtdconcat integral part of mtd core and just always have it
built-in - remove the Kconfig option and all the ifdefs all over the
place. Indeed, this is tiny piece of code, I believe this micro-modules
make little sense nowadays.

The same for mtdparts - but this is a different story.

-- 
Best Regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list