Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e417fcfb authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by David Woodhouse
Browse files

[MTD] Remove iq80310 map driver



The iq80310 mtd map driver depends on ARCH_IQ80310, which isn't
defined anywhere in the tree (as we don't have 80310 support), and
furthermore, everything the driver does can be done with physmap
instead.

Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 6a545a0d
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -447,14 +447,6 @@ config MTD_DC21285
	  21285 bridge used with Intel's StrongARM processors. More info at
	  <http://www.intel.com/design/bridge/docs/21285_documentation.htm>.

config MTD_IQ80310
	tristate "CFI Flash device mapped on the XScale IQ80310 board"
	depends on MTD_CFI && ARCH_IQ80310
	help
	  This enables access routines for the flash chips on the Intel XScale
	  IQ80310 evaluation board. If you have one of these boards and would
	  like to use the flash chips on it, say 'Y'.

config MTD_IXP4XX
	tristate "CFI Flash device mapped on Intel IXP4xx based systems"
	depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ obj-$(CONFIG_MTD_CFI_FLAGADM) += cfi_flagadm.o
obj-$(CONFIG_MTD_CSTM_MIPS_IXX)	+= cstm_mips_ixx.o
obj-$(CONFIG_MTD_DC21285)	+= dc21285.o
obj-$(CONFIG_MTD_DILNETPC)	+= dilnetpc.o
obj-$(CONFIG_MTD_IQ80310)	+= iq80310.o
obj-$(CONFIG_MTD_L440GX)	+= l440gx.o
obj-$(CONFIG_MTD_AMD76XROM)	+= amd76xrom.o
obj-$(CONFIG_MTD_ICHXROM)	+= ichxrom.o

drivers/mtd/maps/iq80310.c

deleted100644 → 0
+0 −118
Original line number Diff line number Diff line
/*
 * $Id: iq80310.c,v 1.21 2005/11/07 11:14:27 gleixner Exp $
 *
 * Mapping for the Intel XScale IQ80310 evaluation board
 *
 * Author:	Nicolas Pitre
 * Copyright:	(C) 2001 MontaVista Software Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <asm/io.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/mtd/partitions.h>


#define WINDOW_ADDR 	0
#define WINDOW_SIZE 	8*1024*1024
#define BUSWIDTH 	1

static struct mtd_info *mymtd;

static struct map_info iq80310_map = {
	.name = "IQ80310 flash",
	.size = WINDOW_SIZE,
	.bankwidth = BUSWIDTH,
	.phys = WINDOW_ADDR
};

static struct mtd_partition iq80310_partitions[4] = {
	{
		.name =		"Firmware",
		.size =		0x00080000,
		.offset =	0,
		.mask_flags =	MTD_WRITEABLE  /* force read-only */
	},{
		.name =		"Kernel",
		.size =		0x000a0000,
		.offset =	0x00080000,
	},{
		.name =		"Filesystem",
		.size =		0x00600000,
		.offset =	0x00120000
	},{
		.name =		"RedBoot",
		.size =		0x000e0000,
		.offset =	0x00720000,
		.mask_flags =	MTD_WRITEABLE
	}
};

static struct mtd_info *mymtd;
static struct mtd_partition *parsed_parts;
static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };

static int __init init_iq80310(void)
{
	struct mtd_partition *parts;
	int nb_parts = 0;
	int parsed_nr_parts = 0;
	int ret;

	iq80310_map.virt = ioremap(WINDOW_ADDR, WINDOW_SIZE);
	if (!iq80310_map.virt) {
		printk("Failed to ioremap\n");
		return -EIO;
	}
	simple_map_init(&iq80310_map);

	mymtd = do_map_probe("cfi_probe", &iq80310_map);
	if (!mymtd) {
		iounmap((void *)iq80310_map.virt);
		return -ENXIO;
	}
	mymtd->owner = THIS_MODULE;

	ret = parse_mtd_partitions(mymtd, probes, &parsed_parts, 0);

	if (ret > 0)
		parsed_nr_parts = ret;

	if (parsed_nr_parts > 0) {
		parts = parsed_parts;
		nb_parts = parsed_nr_parts;
	} else {
		parts = iq80310_partitions;
		nb_parts = ARRAY_SIZE(iq80310_partitions);
	}
	add_mtd_partitions(mymtd, parts, nb_parts);
	return 0;
}

static void __exit cleanup_iq80310(void)
{
	if (mymtd) {
		del_mtd_partitions(mymtd);
		map_destroy(mymtd);
		kfree(parsed_parts);
	}
	if (iq80310_map.virt)
		iounmap((void *)iq80310_map.virt);
}

module_init(init_iq80310);
module_exit(cleanup_iq80310);


MODULE_LICENSE("GPL");
MODULE_AUTHOR("Nicolas Pitre <nico@cam.org>");
MODULE_DESCRIPTION("MTD map driver for Intel XScale IQ80310 evaluation board");