Re: [PATCH] cramfs: fix MTD dependency

From: Nicolas Pitre
Date: Fri Nov 10 2017 - 11:35:52 EST


On Fri, 10 Nov 2017, Arnd Bergmann wrote:

> With CONFIG_MTD=m and CONFIG_CRAMFS=y, we now get a link failure:
>
> fs/cramfs/inode.o: In function `cramfs_mount':
> inode.c:(.text+0x220): undefined reference to `mount_mtd'
> fs/cramfs/inode.o: In function `cramfs_mtd_fill_super':
> inode.c:(.text+0x6d8): undefined reference to `mtd_point'
> inode.c:(.text+0xae4): undefined reference to `mtd_unpoint'
>
> This adds a more specific Kconfig dependency to avoid the
> broken configuration. Alternatively we could make CRAMFS
> itself depend on "MTD || !MTD" with a similar result.
>
> Fixes: 99c18ce580c6 ("cramfs: direct memory access support")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> fs/cramfs/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig
> index f937082f3244..58e2fe40b2a0 100644
> --- a/fs/cramfs/Kconfig
> +++ b/fs/cramfs/Kconfig
> @@ -34,6 +34,7 @@ config CRAMFS_BLOCKDEV
> config CRAMFS_MTD
> bool "Support CramFs image directly mapped in physical memory"
> depends on CRAMFS && MTD
> + depends on CRAMFS=m || MTD=y

I think the following is better:

diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig
index f937082f32..a00740c668 100644
--- a/fs/cramfs/Kconfig
+++ b/fs/cramfs/Kconfig
@@ -33,7 +33,7 @@ config CRAMFS_BLOCKDEV

config CRAMFS_MTD
bool "Support CramFs image directly mapped in physical memory"
- depends on CRAMFS && MTD
+ depends on CRAMFS && (CRAMFS <= MTD)
default y if !CRAMFS_BLOCKDEV
help
This option allows the CramFs driver to load data directly from

Nicolas