aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-gumstix-2.6.15/flash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-gumstix-2.6.15/flash.patch')
-rw-r--r--recipes/linux/linux-gumstix-2.6.15/flash.patch171
1 files changed, 0 insertions, 171 deletions
diff --git a/recipes/linux/linux-gumstix-2.6.15/flash.patch b/recipes/linux/linux-gumstix-2.6.15/flash.patch
deleted file mode 100644
index b0ec106770..0000000000
--- a/recipes/linux/linux-gumstix-2.6.15/flash.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-Index: linux-2.6.15gum/drivers/mtd/maps/gumstix-flash.c
-===================================================================
---- /dev/null
-+++ linux-2.6.15gum/drivers/mtd/maps/gumstix-flash.c
-@@ -0,0 +1,136 @@
-+/*
-+ * Map driver for the Gumstix platform
-+ *
-+ * Author: Craig Hughes
-+ *
-+ * 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/mtd/mtd.h>
-+#include <linux/mtd/map.h>
-+#include <linux/mtd/partitions.h>
-+#include <asm/io.h>
-+#include <asm/hardware.h>
-+#include <asm/arch/gumstix.h>
-+
-+
-+#define ROM_ADDR 0x00000000
-+#define FLASH_ADDR 0x00000000
-+
-+#define WINDOW_SIZE 64*1024*1024
-+
-+static struct map_info gumstix_flash_maps[1] = { {
-+ .name = "Gumstix Flash ROM",
-+ .size = WINDOW_SIZE,
-+ .phys = FLASH_ADDR,
-+ .bankwidth = 2,
-+} };
-+
-+static struct mtd_partition gumstix_flash_partitions[] = {
-+ {
-+ .name = "Bootloader",
-+ .size = 0x00040000,
-+ .offset = FLASH_ADDR
-+ },{
-+ .name = "RootFS",
-+ .size = MTDPART_SIZ_FULL,
-+ .offset = MTDPART_OFS_APPEND
-+ }
-+};
-+
-+static struct mtd_info *mymtds[1];
-+static struct mtd_partition *parsed_parts[1];
-+static int nr_parsed_parts[1];
-+
-+static const char *probes[] = { NULL };
-+
-+static int __init gumstix_flashmap_init(void)
-+{
-+ int ret = 0, i;
-+
-+ for (i = 0; i < 1; i++) {
-+ gumstix_flash_maps[i].virt = ioremap(gumstix_flash_maps[i].phys, WINDOW_SIZE);
-+ if (!gumstix_flash_maps[i].virt) {
-+ printk(KERN_WARNING "Failed to ioremap %s\n", gumstix_flash_maps[i].name);
-+ if (!ret)
-+ ret = -ENOMEM;
-+ continue;
-+ }
-+ simple_map_init(&gumstix_flash_maps[i]);
-+
-+ printk(KERN_NOTICE "Probing %s at physical address 0x%08lx (%d-bit bankwidth)\n",
-+ gumstix_flash_maps[i].name, gumstix_flash_maps[i].phys,
-+ gumstix_flash_maps[i].bankwidth * 8);
-+
-+ mymtds[i] = do_map_probe("cfi_probe", &gumstix_flash_maps[i]);
-+
-+ if (!mymtds[i]) {
-+ iounmap((void *)gumstix_flash_maps[i].virt);
-+ if (gumstix_flash_maps[i].cached)
-+ iounmap(gumstix_flash_maps[i].cached);
-+ if (!ret)
-+ ret = -EIO;
-+ continue;
-+ }
-+ mymtds[i]->owner = THIS_MODULE;
-+
-+ ret = parse_mtd_partitions(mymtds[i], probes,
-+ &parsed_parts[i], 0);
-+
-+ if (ret > 0)
-+ nr_parsed_parts[i] = ret;
-+ }
-+
-+ if (!mymtds[0])
-+ return ret;
-+
-+ for (i = 0; i < 1; i++) {
-+ if (!mymtds[i]) {
-+ printk(KERN_WARNING "%s is absent. Skipping\n", gumstix_flash_maps[i].name);
-+ } else if (nr_parsed_parts[i]) {
-+ add_mtd_partitions(mymtds[i], parsed_parts[i], nr_parsed_parts[i]);
-+ } else if (!i) {
-+ printk("Using static partitions on %s\n", gumstix_flash_maps[i].name);
-+ add_mtd_partitions(mymtds[i], gumstix_flash_partitions, ARRAY_SIZE(gumstix_flash_partitions));
-+ } else {
-+ printk("Registering %s as whole device\n", gumstix_flash_maps[i].name);
-+ add_mtd_device(mymtds[i]);
-+ }
-+ }
-+ return 0;
-+}
-+
-+static void __exit gumstix_flashmap_cleanup(void)
-+{
-+ int i;
-+ for (i = 0; i < 1; i++) {
-+ if (!mymtds[i])
-+ continue;
-+
-+ if (nr_parsed_parts[i] || !i)
-+ del_mtd_partitions(mymtds[i]);
-+ else
-+ del_mtd_device(mymtds[i]);
-+
-+ map_destroy(mymtds[i]);
-+ iounmap((void *)gumstix_flash_maps[i].virt);
-+ if (gumstix_flash_maps[i].cached)
-+ iounmap(gumstix_flash_maps[i].cached);
-+
-+ if (parsed_parts[i])
-+ kfree(parsed_parts[i]);
-+ }
-+}
-+
-+module_init(gumstix_flashmap_init);
-+module_exit(gumstix_flashmap_cleanup);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Gumstix, Inc. <gumstix-users@lists.sf.net>");
-+MODULE_DESCRIPTION("MTD map driver for the Gumstix Platform");
-Index: linux-2.6.15gum/drivers/mtd/maps/Kconfig
-===================================================================
---- linux-2.6.15gum.orig/drivers/mtd/maps/Kconfig
-+++ linux-2.6.15gum/drivers/mtd/maps/Kconfig
-@@ -208,6 +208,13 @@ config MTD_SBC_GXX
- More info at
- <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
-
-+config MTD_GUMSTIX
-+ tristate "CFI Flash device mapped on Gumstix"
-+ depends on ARCH_GUMSTIX && MTD_CFI_INTELEXT && MTD_PARTITIONS
-+ help
-+ This provides a driver for the on-board flash of the Gumstix
-+ single board computers.
-+
- config MTD_PXA2XX
- tristate "CFI Flash device mapped on Intel XScale PXA2xx eval board"
- depends on (ARCH_LUBBOCK || MACH_MAINSTONE) && MTD_CFI_INTELEXT
-Index: linux-2.6.15gum/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.6.15gum.orig/drivers/mtd/maps/Makefile
-+++ linux-2.6.15gum/drivers/mtd/maps/Makefile
-@@ -22,6 +22,7 @@ obj-$(CONFIG_MTD_AMD76XROM) += amd76xrom
- obj-$(CONFIG_MTD_ICHXROM) += ichxrom.o
- obj-$(CONFIG_MTD_TSUNAMI) += tsunami_flash.o
- obj-$(CONFIG_MTD_PXA2XX) += pxa2xx-flash.o
-+obj-$(CONFIG_MTD_GUMSTIX) += gumstix-flash.o
- obj-$(CONFIG_MTD_MBX860) += mbx860.o
- obj-$(CONFIG_MTD_CEIVA) += ceiva.o
- obj-$(CONFIG_MTD_OCTAGON) += octagon-5066.o