]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtd: maps: remove uclinux map driver
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 May 2026 10:32:05 +0000 (12:32 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 27 May 2026 09:19:57 +0000 (11:19 +0200)
Rather than using platform data or DT properties, the configuration
for this mtd map driver used to be passed through the global
uclinux_ram_map structure, but the last instance was removed in
commit 4ba66a976072 ("arch: remove blackfin port") in 2018.

After commit 251f26c9e828 ("mtd: maps: Make uclinux_ram_map static"),
it became impossible to configure it at all, even with out-of-tree
platform code.

Clearly nobody is using it, so remove it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/maps/Kconfig
drivers/mtd/maps/Makefile
drivers/mtd/maps/uclinux.c [deleted file]

index 784dba14e908eb8fd24358846d1a5bf84f49276c..1e8f2b518ddddf338f3662f8f169fff789e64842 100644 (file)
@@ -284,12 +284,6 @@ config MTD_PCMCIA_ANONYMOUS
 
          If unsure, say N.
 
-config MTD_UCLINUX
-       bool "Generic uClinux RAM/ROM filesystem support"
-       depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
-       help
-         Map driver to support image based filesystems for uClinux.
-
 config MTD_PLATRAM
        tristate "Map driver for platform device RAM (mtd-ram)"
        select MTD_RAM
index 157f911f86d8cc9de6cd954cc8de469ea367d125..eff28fc0b60e9935d4e371c14df454076da3e95b 100644 (file)
@@ -31,7 +31,6 @@ obj-$(CONFIG_MTD_SCx200_DOCFLASH)+= scx200_docflash.o
 obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
 obj-$(CONFIG_MTD_PCI)          += pci.o
 obj-$(CONFIG_MTD_IMPA7)                += impa7.o
-obj-$(CONFIG_MTD_UCLINUX)      += uclinux.o
 obj-$(CONFIG_MTD_SCB2_FLASH)   += scb2_flash.o
 obj-$(CONFIG_MTD_PLATRAM)      += plat-ram.o
 obj-$(CONFIG_MTD_VMU)          += vmu-flash.o
diff --git a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c
deleted file mode 100644 (file)
index de4c463..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************/
-
-/*
- *     uclinux.c -- generic memory mapped MTD driver for uclinux
- *
- *     (C) Copyright 2002, Greg Ungerer (gerg@snapgear.com)
- *
- *      License: GPL
- */
-
-/****************************************************************************/
-
-#include <linux/moduleparam.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/major.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/map.h>
-#include <linux/mtd/partitions.h>
-#include <asm/io.h>
-#include <asm/sections.h>
-
-/****************************************************************************/
-
-#ifdef CONFIG_MTD_ROM
-#define MAP_NAME "rom"
-#else
-#define MAP_NAME "ram"
-#endif
-
-static struct map_info uclinux_ram_map = {
-       .name = MAP_NAME,
-       .size = 0,
-};
-
-static unsigned long physaddr = -1;
-module_param(physaddr, ulong, S_IRUGO);
-
-static struct mtd_info *uclinux_ram_mtdinfo;
-
-/****************************************************************************/
-
-static const struct mtd_partition uclinux_romfs[] = {
-       { .name = "ROMfs" }
-};
-
-#define        NUM_PARTITIONS  ARRAY_SIZE(uclinux_romfs)
-
-/****************************************************************************/
-
-static int uclinux_point(struct mtd_info *mtd, loff_t from, size_t len,
-       size_t *retlen, void **virt, resource_size_t *phys)
-{
-       struct map_info *map = mtd->priv;
-       *virt = map->virt + from;
-       if (phys)
-               *phys = map->phys + from;
-       *retlen = len;
-       return(0);
-}
-
-/****************************************************************************/
-
-static int __init uclinux_mtd_init(void)
-{
-       struct mtd_info *mtd;
-       struct map_info *mapp;
-
-       mapp = &uclinux_ram_map;
-
-       if (physaddr == -1)
-               mapp->phys = (resource_size_t)__bss_stop;
-       else
-               mapp->phys = physaddr;
-
-       if (!mapp->size)
-               mapp->size = PAGE_ALIGN(ntohl(*((unsigned long *)(mapp->phys + 8))));
-       mapp->bankwidth = 4;
-
-       printk("uclinux[mtd]: probe address=0x%x size=0x%x\n",
-               (int) mapp->phys, (int) mapp->size);
-
-       /*
-        * The filesystem is guaranteed to be in direct mapped memory. It is
-        * directly following the kernels own bss region. Following the same
-        * mechanism used by architectures setting up traditional initrds we
-        * use phys_to_virt to get the virtual address of its start.
-        */
-       mapp->virt = phys_to_virt(mapp->phys);
-
-       if (mapp->virt == 0) {
-               printk("uclinux[mtd]: no virtual mapping?\n");
-               return(-EIO);
-       }
-
-       simple_map_init(mapp);
-
-       mtd = do_map_probe("map_" MAP_NAME, mapp);
-       if (!mtd) {
-               printk("uclinux[mtd]: failed to find a mapping?\n");
-               return(-ENXIO);
-       }
-
-       mtd->owner = THIS_MODULE;
-       mtd->_point = uclinux_point;
-       mtd->priv = mapp;
-
-       uclinux_ram_mtdinfo = mtd;
-       mtd_device_register(mtd, uclinux_romfs, NUM_PARTITIONS);
-
-       return(0);
-}
-device_initcall(uclinux_mtd_init);
-
-/****************************************************************************/