@@ -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)
if (info->cmtd != info->mtd[0])
mtd_concat_destroy(info->cmtd);
#endif
@@ -155,7 +155,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)
info->cmtd = mtd_concat_create(info->mtd, devices_found, dev_name(&dev->dev));
if (info->cmtd == NULL)
err = -ENXIO;
@@ -103,7 +103,7 @@ static int of_flash_remove(struct of_device *dev)
return 0;
dev_set_drvdata(&dev->dev, NULL);
-#ifdef CONFIG_MTD_CONCAT
+#if defined(CONFIG_MTD_CONCAT) || defined(CONFIG_MTD_CONCAT_MODULE)
if (info->cmtd != info->list[0].mtd) {
del_mtd_device(info->cmtd);
mtd_concat_destroy(info->cmtd);
@@ -292,7 +292,7 @@ static int __devinit of_flash_probe(struct of_device *dev,
/*
* We detected multiple devices. Concatenate them together.
*/
-#ifdef CONFIG_MTD_CONCAT
+#if defined(CONFIG_MTD_CONCAT) || defined(CONFIG_MTD_CONCAT_MODULE)
info->cmtd = mtd_concat_create(mtd_list, info->list_size,
dev_name(&dev->dev));
if (info->cmtd == NULL)
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@gmail.com> Cc: Stefan Roese <sr@denx.de> --- drivers/mtd/maps/physmap.c | 4 ++-- drivers/mtd/maps/physmap_of.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)