All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Randy Dunlap <rdunlap@infradead.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org
Subject: [PATCH 2/3] mtd: maps: remove uclinux map driver
Date: Tue, 26 May 2026 12:32:05 +0200	[thread overview]
Message-ID: <20260526103227.3152003-2-arnd@kernel.org> (raw)
In-Reply-To: <20260526103227.3152003-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

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>
---
 drivers/mtd/maps/Kconfig   |   6 --
 drivers/mtd/maps/Makefile  |   1 -
 drivers/mtd/maps/uclinux.c | 118 -------------------------------------
 3 files changed, 125 deletions(-)
 delete mode 100644 drivers/mtd/maps/uclinux.c

diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
index 784dba14e908..1e8f2b518ddd 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -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
diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
index 157f911f86d8..eff28fc0b60e 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -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
index de4c46318abb..000000000000
--- a/drivers/mtd/maps/uclinux.c
+++ /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);
-
-/****************************************************************************/
-- 
2.39.5


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Randy Dunlap <rdunlap@infradead.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org
Subject: [PATCH 2/3] mtd: maps: remove uclinux map driver
Date: Tue, 26 May 2026 12:32:05 +0200	[thread overview]
Message-ID: <20260526103227.3152003-2-arnd@kernel.org> (raw)
In-Reply-To: <20260526103227.3152003-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

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>
---
 drivers/mtd/maps/Kconfig   |   6 --
 drivers/mtd/maps/Makefile  |   1 -
 drivers/mtd/maps/uclinux.c | 118 -------------------------------------
 3 files changed, 125 deletions(-)
 delete mode 100644 drivers/mtd/maps/uclinux.c

diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
index 784dba14e908..1e8f2b518ddd 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -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
diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
index 157f911f86d8..eff28fc0b60e 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -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
index de4c46318abb..000000000000
--- a/drivers/mtd/maps/uclinux.c
+++ /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);
-
-/****************************************************************************/
-- 
2.39.5


  reply	other threads:[~2026-05-26 10:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-26 10:32 [PATCH 1/3] mtd: maps: remove AMD Élan specific drivers Arnd Bergmann
2026-05-26 10:32 ` Arnd Bergmann
2026-05-26 10:32 ` Arnd Bergmann [this message]
2026-05-26 10:32   ` [PATCH 2/3] mtd: maps: remove uclinux map driver Arnd Bergmann
2026-05-26 10:32 ` [PATCH 3/3] mtd: maps: remove obsolete impa7 " Arnd Bergmann
2026-05-26 10:32   ` Arnd Bergmann
2026-05-27  9:21 ` [PATCH 1/3] mtd: maps: remove AMD Élan specific drivers Miquel Raynal
2026-05-27  9:21   ` Miquel Raynal
2026-05-27  9:34   ` Arnd Bergmann
2026-05-27  9:34     ` Arnd Bergmann
2026-05-27 12:31     ` Miquel Raynal
2026-05-27 12:31       ` Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260526103227.3152003-2-arnd@kernel.org \
    --to=arnd@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=rdunlap@infradead.org \
    --cc=richard@nod.at \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.