[PATCH] mtd: allow mtd and jffs2 when ARCH=um

Jason Lunz lunz at acm.org
Tue Dec 7 13:20:12 EST 2010


On Tue, Dec 07, 2010 at 10:39:41AM +0100, richard -rw- weinberger wrote:
> On Tue, Dec 7, 2010 at 8:29 AM, Jason Lunz <lunz at acm.org> wrote:
> >
> > Allow parts of drivers/mtd to compile on uml by pushing the HAS_IOMEM
> > dependencies down closer to the parts of mtd that actually need it.
> > This allows enough of mtd to build to let jffs2 be used on uml.
> >
> > Signed-off-by: Jason Lunz <lunz at acm.org>
> > ---
> >  arch/um/Kconfig.rest        |    4 +---
> >  drivers/mtd/Kconfig         |    1 -
> >  drivers/mtd/Makefile        |    3 ++-
> >  drivers/mtd/chips/Kconfig   |    4 ++++
> >  drivers/mtd/devices/Kconfig |    8 ++++++++
> >  drivers/mtd/maps/Kconfig    |    4 ++++
> >  drivers/mtd/mtdchar.c       |    4 ++++
> >  drivers/mtd/nand/Kconfig    |    3 +++
> >  drivers/mtd/onenand/Kconfig |    3 +++
> >  include/linux/mtd/map.h     |    2 ++
> >  10 files changed, 31 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/um/Kconfig.rest b/arch/um/Kconfig.rest
> > index 0ccad0f..e34f399 100644
> > --- a/arch/um/Kconfig.rest
> > +++ b/arch/um/Kconfig.rest
> > @@ -28,9 +28,7 @@ source "drivers/scsi/Kconfig"
> >
> >  source "drivers/md/Kconfig"
> >
> > -if BROKEN
> > -       source "drivers/mtd/Kconfig"
> > -endif
> > +source "drivers/mtd/Kconfig"
> 
> drivers/mtd was already marked as broken when we moved over to git (2.6.12-rc2).
> 
> Do you exactly know why it was marked and fixes this patch all issues?

I don't know exactly why it was originally marked BROKEN. I imagine it
was because most of the low-level mtd drivers need readb/writeb and
friends, which don't exist on uml. But now that mtd has virtual ram- and
blockdev-backed drivers, that's no longer sufficient reason to omit the
whole subsystem.

I can't claim that this fixes all possible issues of course, but I've
privately been using this patch to run block2mtd under uml for years. My
original motivation was to allow the use of jffs2 in a uml-based test
environment and for that it's worked very well.

Jason



More information about the linux-mtd mailing list