Messages in this thread | | | Date | Fri, 10 Nov 2017 12:01:28 -0500 (EST) | From | Nicolas Pitre <> | Subject | Re: [PATCH] cramfs: fix MTD dependency |
| |
On Fri, 10 Nov 2017, Arnd Bergmann wrote:
> On Fri, Nov 10, 2017 at 5:35 PM, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: > > 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@arndb.de> > >> --- > >> 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 > > I've never seen that syntax, what does it mean?
In the Kconfig language: n < m < y. Therefore (m < y) is true and (y < m) is false.
Nicolas
| |