[PATCH] allow use of mtd and jffs2 on uml
atom ota
atomota at sleepyhammer.com
Wed Oct 24 12:24:38 EDT 2007
I'm not sure how to follow the "push ... down" instructions. I used
your patch to build UML and jffs2 ran fine with block2mtd using a file
attached to /dev/ubdb. Too bad about nandsim though.
Tom
On 10/24/07, Jason Lunz <lunz at falooley.org> wrote:
>
> Push the "depends on HAS_IOMEM" in mtd down closer to the parts 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 falooley.org>
>
> ---
>
> On Wed, Oct 24, 2007 at 07:51:29AM +0100, David Woodhouse wrote:
> > Why build anything in chips/ or maps/ ?
>
> Did I mention it was crude? :) I followed your suggestion, and this
> version is much cleaner.
>
> > We should make sure mtdram, nandsim and onenandsim are all buildable
> > too.
>
> I wanted to keep this a pure kbuild change. Getting nand and onenand to
> build for uml would involve making them not use readb and friends, or
> getting uml to provide stub versions.
>
>
> arch/um/Kconfig | 4 +---
> drivers/mtd/Kconfig | 12 +++++++-----
> drivers/mtd/chips/Kconfig | 11 ++++++++---
> drivers/mtd/devices/Kconfig | 7 +++++++
> 4 files changed, 23 insertions(+), 11 deletions(-)
>
> Index: linux-2.6.23.1-uml/arch/um/Kconfig
> ===================================================================
> --- linux-2.6.23.1-uml.orig/arch/um/Kconfig
> +++ linux-2.6.23.1-uml/arch/um/Kconfig
> @@ -326,9 +326,7 @@
>
> source "drivers/md/Kconfig"
>
> -if BROKEN
> - source "drivers/mtd/Kconfig"
> -endif
> +source "drivers/mtd/Kconfig"
>
> #This is just to shut up some Kconfig warnings, so no prompt.
> config INPUT
> Index: linux-2.6.23.1-uml/drivers/mtd/devices/Kconfig
> ===================================================================
> --- linux-2.6.23.1-uml.orig/drivers/mtd/devices/Kconfig
> +++ linux-2.6.23.1-uml/drivers/mtd/devices/Kconfig
> @@ -78,6 +78,7 @@
>
> config MTD_SLRAM
> tristate "Uncached system RAM"
> + depends on HAS_IOMEM
> help
> If your CPU cannot cache all of the physical memory in your machine,
> you can still use it for storage or swap by using this driver to
> @@ -85,6 +86,7 @@
>
> config MTD_PHRAM
> tristate "Physical system RAM"
> + depends on HAS_IOMEM
> help
> This is a re-implementation of the slram driver above.
>
> @@ -151,10 +153,13 @@
> Testing MTD users (eg JFFS2) on large media and media that might
> be removed during a write (using the floppy drive).
>
> +if HAS_IOMEM
> comment "Disk-On-Chip Device Drivers"
> +endif
>
> config MTD_DOC2000
> tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)"
> + depends on HAS_IOMEM
> select MTD_DOCPROBE
> select MTD_NAND_IDS
> ---help---
> @@ -177,6 +182,7 @@
>
> config MTD_DOC2001
> tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)"
> + depends on HAS_IOMEM
> select MTD_DOCPROBE
> select MTD_NAND_IDS
> ---help---
> @@ -198,6 +204,7 @@
>
> config MTD_DOC2001PLUS
> tristate "M-Systems Disk-On-Chip Millennium Plus"
> + depends on HAS_IOMEM
> select MTD_DOCPROBE
> select MTD_NAND_IDS
> ---help---
> Index: linux-2.6.23.1-uml/drivers/mtd/Kconfig
> ===================================================================
> --- linux-2.6.23.1-uml.orig/drivers/mtd/Kconfig
> +++ linux-2.6.23.1-uml/drivers/mtd/Kconfig
> @@ -2,7 +2,6 @@
>
> menuconfig MTD
> tristate "Memory Technology Device (MTD) support"
> - depends on HAS_IOMEM
> help
> Memory Technology Devices are flash, RAM and similar chips, often
> used for solid state file systems on embedded devices. This option
> @@ -278,15 +277,18 @@
> This enables read only access to SmartMedia formatted NAND
> flash. You can mount it with FAT file system.
>
> -source "drivers/mtd/chips/Kconfig"
>
> -source "drivers/mtd/maps/Kconfig"
> +if HAS_IOMEM
> + source "drivers/mtd/chips/Kconfig"
> + source "drivers/mtd/maps/Kconfig"
> +endif
>
> source "drivers/mtd/devices/Kconfig"
>
> -source "drivers/mtd/nand/Kconfig"
> -
> -source "drivers/mtd/onenand/Kconfig"
> +if HAS_IOMEM
> + source "drivers/mtd/nand/Kconfig"
> + source "drivers/mtd/onenand/Kconfig"
> +endif
>
> source "drivers/mtd/ubi/Kconfig"
>
> Index: linux-2.6.23.1-uml/drivers/mtd/Makefile
> ===================================================================
> --- linux-2.6.23.1-uml.orig/drivers/mtd/Makefile
> +++ linux-2.6.23.1-uml/drivers/mtd/Makefile
> @@ -26,6 +26,9 @@
> nftl-objs := nftlcore.o nftlmount.o
> inftl-objs := inftlcore.o inftlmount.o
>
> -obj-y += chips/ maps/ devices/ nand/ onenand/
> +obj-y += devices/
> +ifdef CONFIG_HAS_IOMEM
> +obj-y += chips/ maps/ nand/ onenand/
> +endif
>
> obj-$(CONFIG_MTD_UBI) += ubi/
>
More information about the linux-mtd
mailing list