* [PATCH 2/2] Remove now-defunct ts7250 nand driver
@ 2009-10-06 22:26 H Hartley Sweeten
2009-10-11 11:31 ` Artem Bityutskiy
0 siblings, 1 reply; 12+ messages in thread
From: H Hartley Sweeten @ 2009-10-06 22:26 UTC (permalink / raw)
To: linux-arm-kernel
The ts72xx platform has been updated to use the generic platform nand
driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Matthieu Crapet <mcrapet@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: <linux-arm-kernel@lists.infradead.org>
Cc: <linux-mtd@lists.infradead.org>
---
diff --git a/arch/arm/mach-ep93xx/include/mach/ts72xx.h b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
index 3bd934e..61c0e13 100644
--- a/arch/arm/mach-ep93xx/include/mach/ts72xx.h
+++ b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
@@ -9,9 +9,6 @@
* febff000 22000000 4K model number register
* febfe000 22400000 4K options register
* febfd000 22800000 4K options register #2
- * febfc000 [67]0000000 4K NAND data register
- * febfb000 [67]0400000 4K NAND control register
- * febfa000 [67]0800000 4K NAND busy register
* febf9000 10800000 4K TS-5620 RTC index register
* febf8000 11700000 4K TS-5620 RTC data register
*/
@@ -41,22 +38,6 @@
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02
-#define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000
-#define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000
-#define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000
-#define TS72XX_NAND_DATA_SIZE 0x00001000
-
-#define TS72XX_NAND1_CONTROL_PHYS_BASE 0x60400000
-#define TS72XX_NAND2_CONTROL_PHYS_BASE 0x70400000
-#define TS72XX_NAND_CONTROL_VIRT_BASE 0xfebfb000
-#define TS72XX_NAND_CONTROL_SIZE 0x00001000
-
-#define TS72XX_NAND1_BUSY_PHYS_BASE 0x60800000
-#define TS72XX_NAND2_BUSY_PHYS_BASE 0x70800000
-#define TS72XX_NAND_BUSY_VIRT_BASE 0xfebfa000
-#define TS72XX_NAND_BUSY_SIZE 0x00001000
-
-
#define TS72XX_RTC_INDEX_VIRT_BASE 0xfebf9000
#define TS72XX_RTC_INDEX_PHYS_BASE 0x10800000
#define TS72XX_RTC_INDEX_SIZE 0x00001000
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 2fda0b6..fdee525 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -97,12 +97,6 @@ config MTD_NAND_OMAP_PREFETCH_DMA
or in DMA interrupt mode.
Say y for DMA mode or MPU mode will be used
-config MTD_NAND_TS7250
- tristate "NAND Flash device on TS-7250 board"
- depends on MACH_TS72XX
- help
- Support for NAND flash on Technologic Systems TS-7250 platform.
-
config MTD_NAND_IDS
tristate
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index 6950d3d..ecc404c 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
obj-$(CONFIG_MTD_NAND_H1900) += h1910.o
obj-$(CONFIG_MTD_NAND_RTC_FROM4) += rtc_from4.o
obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o
-obj-$(CONFIG_MTD_NAND_TS7250) += ts7250.o
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
diff --git a/drivers/mtd/nand/ts7250.c b/drivers/mtd/nand/ts7250.c
deleted file mode 100644
index 0f5562a..0000000
--- a/drivers/mtd/nand/ts7250.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * drivers/mtd/nand/ts7250.c
- *
- * Copyright (C) 2004 Technologic Systems (support at embeddedARM.com)
- *
- * Derived from drivers/mtd/nand/edb7312.c
- * Copyright (C) 2004 Marius Gr??ger (mag at sysgo.de)
- *
- * Derived from drivers/mtd/nand/autcpu12.c
- * Copyright (c) 2001 Thomas Gleixner (gleixner at autronix.de)
- *
- * 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.
- *
- * Overview:
- * This is a device driver for the NAND flash device found on the
- * TS-7250 board which utilizes a Samsung 32 Mbyte part.
- */
-
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-#include <linux/io.h>
-
-#include <mach/hardware.h>
-#include <mach/ts72xx.h>
-
-#include <asm/sizes.h>
-#include <asm/mach-types.h>
-
-/*
- * MTD structure for TS7250 board
- */
-static struct mtd_info *ts7250_mtd = NULL;
-
-#ifdef CONFIG_MTD_PARTITIONS
-static const char *part_probes[] = { "cmdlinepart", NULL };
-
-#define NUM_PARTITIONS 3
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info32[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x01d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x01d04000,
- .size = 0x002fc000,
- },
-};
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info128[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x07d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x07d04000,
- .size = 0x002fc000,
- },
-};
-#endif
-
-
-/*
- * hardware specific access to control-lines
- *
- * ctrl:
- * NAND_NCE: bit 0 -> bit 2
- * NAND_CLE: bit 1 -> bit 1
- * NAND_ALE: bit 2 -> bit 0
- */
-static void ts7250_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-{
- struct nand_chip *chip = mtd->priv;
-
- if (ctrl & NAND_CTRL_CHANGE) {
- unsigned long addr = TS72XX_NAND_CONTROL_VIRT_BASE;
- unsigned char bits;
-
- bits = (ctrl & NAND_NCE) << 2;
- bits |= ctrl & NAND_CLE;
- bits |= (ctrl & NAND_ALE) >> 2;
-
- __raw_writeb((__raw_readb(addr) & ~0x7) | bits, addr);
- }
-
- if (cmd != NAND_CMD_NONE)
- writeb(cmd, chip->IO_ADDR_W);
-}
-
-/*
- * read device ready pin
- */
-static int ts7250_device_ready(struct mtd_info *mtd)
-{
- return __raw_readb(TS72XX_NAND_BUSY_VIRT_BASE) & 0x20;
-}
-
-/*
- * Main initialization routine
- */
-static int __init ts7250_init(void)
-{
- struct nand_chip *this;
- const char *part_type = 0;
- int mtd_parts_nb = 0;
- struct mtd_partition *mtd_parts = 0;
-
- if (!machine_is_ts72xx() || board_is_ts7200())
- return -ENXIO;
-
- /* Allocate memory for MTD device structure and private data */
- ts7250_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip), GFP_KERNEL);
- if (!ts7250_mtd) {
- printk("Unable to allocate TS7250 NAND MTD device structure.\n");
- return -ENOMEM;
- }
-
- /* Get pointer to private data */
- this = (struct nand_chip *)(&ts7250_mtd[1]);
-
- /* Initialize structures */
- memset(ts7250_mtd, 0, sizeof(struct mtd_info));
- memset(this, 0, sizeof(struct nand_chip));
-
- /* Link the private data with the MTD structure */
- ts7250_mtd->priv = this;
- ts7250_mtd->owner = THIS_MODULE;
-
- /* insert callbacks */
- this->IO_ADDR_R = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->IO_ADDR_W = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->cmd_ctrl = ts7250_hwcontrol;
- this->dev_ready = ts7250_device_ready;
- this->chip_delay = 15;
- this->ecc.mode = NAND_ECC_SOFT;
-
- printk("Searching for NAND flash...\n");
- /* Scan to find existence of the device */
- if (nand_scan(ts7250_mtd, 1)) {
- kfree(ts7250_mtd);
- return -ENXIO;
- }
-#ifdef CONFIG_MTD_PARTITIONS
- ts7250_mtd->name = "ts7250-nand";
- mtd_parts_nb = parse_mtd_partitions(ts7250_mtd, part_probes, &mtd_parts, 0);
- if (mtd_parts_nb > 0)
- part_type = "command line";
- else
- mtd_parts_nb = 0;
-#endif
- if (mtd_parts_nb == 0) {
- mtd_parts = partition_info32;
- if (ts7250_mtd->size >= (128 * 0x100000))
- mtd_parts = partition_info128;
- mtd_parts_nb = NUM_PARTITIONS;
- part_type = "static";
- }
-
- /* Register the partitions */
- printk(KERN_NOTICE "Using %s partition definition\n", part_type);
- add_mtd_partitions(ts7250_mtd, mtd_parts, mtd_parts_nb);
-
- /* Return happy */
- return 0;
-}
-
-module_init(ts7250_init);
-
-/*
- * Clean up routine
- */
-static void __exit ts7250_cleanup(void)
-{
- /* Unregister the device */
- del_mtd_device(ts7250_mtd);
-
- /* Free the MTD device structure */
- kfree(ts7250_mtd);
-}
-
-module_exit(ts7250_cleanup);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Jesse Off <joff@embeddedARM.com>");
-MODULE_DESCRIPTION("MTD map driver for Technologic Systems TS-7250 board");
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2009-10-06 22:26 [PATCH 2/2] Remove now-defunct ts7250 nand driver H Hartley Sweeten
@ 2009-10-11 11:31 ` Artem Bityutskiy
2009-10-11 21:18 ` H Hartley Sweeten
2009-10-11 21:19 ` H Hartley Sweeten
0 siblings, 2 replies; 12+ messages in thread
From: Artem Bityutskiy @ 2009-10-11 11:31 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 2009-10-06 at 18:26 -0400, H Hartley Sweeten wrote:
> The ts72xx platform has been updated to use the generic platform nand
> driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
>
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Matthieu Crapet <mcrapet@gmail.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: <linux-arm-kernel@lists.infradead.org>
> Cc: <linux-mtd@lists.infradead.org>
>
> ---
Would be nice to make sure you have diffstat here, to show that you
actually remove files. I thing git-format-patch does this by default.
Anyway, the patch does not apply, please, refresh against current mtd
tree.
--
Best Regards,
Artem Bityutskiy (????? ????????)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2009-10-11 11:31 ` Artem Bityutskiy
@ 2009-10-11 21:18 ` H Hartley Sweeten
2009-10-11 21:19 ` H Hartley Sweeten
1 sibling, 0 replies; 12+ messages in thread
From: H Hartley Sweeten @ 2009-10-11 21:18 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday, October 11, 2009 4:31 AM, Artem Bityutskiy wrote:
> On Tue, 2009-10-06 at 18:26 -0400, H Hartley Sweeten wrote:
>> The ts72xx platform has been updated to use the generic platform nand
>> driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>> Cc: Matthieu Crapet <mcrapet@gmail.com>
>> Cc: David Woodhouse <dwmw2@infradead.org>
>> Cc: <linux-arm-kernel@lists.infradead.org>
>> Cc: <linux-mtd@lists.infradead.org>
>>
>> ---
>
> Would be nice to make sure you have diffstat here, to show that you
> actually remove files. I thing git-format-patch does this by default.
>
> Anyway, the patch does not apply, please, refresh against current mtd
> tree.
Same issue as the previous patch. These files match in the mtd tree
and 2.6.32-rc3.
I will rebase on the mtd tree and repost with a diffstat.
Regards,
Hartley
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2009-10-11 11:31 ` Artem Bityutskiy
2009-10-11 21:18 ` H Hartley Sweeten
@ 2009-10-11 21:19 ` H Hartley Sweeten
1 sibling, 0 replies; 12+ messages in thread
From: H Hartley Sweeten @ 2009-10-11 21:19 UTC (permalink / raw)
To: linux-arm-kernel
The ts72xx platform has been updated to use the generic platform nand
driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Matthieu Crapet <mcrapet@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Cc: <linux-mtd@lists.infradead.org>
---
V2 - rebased to current mtd tree (Artem Bityutskiy)
arch/arm/mach-ep93xx/include/mach/ts72xx.h | 19 ---
drivers/mtd/nand/Kconfig | 6 -
drivers/mtd/nand/Makefile | 1 -
drivers/mtd/nand/ts7250.c | 207 ----------------------------
4 files changed, 0 insertions(+), 233 deletions(-)
diff --git a/arch/arm/mach-ep93xx/include/mach/ts72xx.h b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
index 3bd934e..61c0e13 100644
--- a/arch/arm/mach-ep93xx/include/mach/ts72xx.h
+++ b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
@@ -9,9 +9,6 @@
* febff000 22000000 4K model number register
* febfe000 22400000 4K options register
* febfd000 22800000 4K options register #2
- * febfc000 [67]0000000 4K NAND data register
- * febfb000 [67]0400000 4K NAND control register
- * febfa000 [67]0800000 4K NAND busy register
* febf9000 10800000 4K TS-5620 RTC index register
* febf8000 11700000 4K TS-5620 RTC data register
*/
@@ -41,22 +38,6 @@
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02
-#define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000
-#define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000
-#define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000
-#define TS72XX_NAND_DATA_SIZE 0x00001000
-
-#define TS72XX_NAND1_CONTROL_PHYS_BASE 0x60400000
-#define TS72XX_NAND2_CONTROL_PHYS_BASE 0x70400000
-#define TS72XX_NAND_CONTROL_VIRT_BASE 0xfebfb000
-#define TS72XX_NAND_CONTROL_SIZE 0x00001000
-
-#define TS72XX_NAND1_BUSY_PHYS_BASE 0x60800000
-#define TS72XX_NAND2_BUSY_PHYS_BASE 0x70800000
-#define TS72XX_NAND_BUSY_VIRT_BASE 0xfebfa000
-#define TS72XX_NAND_BUSY_SIZE 0x00001000
-
-
#define TS72XX_RTC_INDEX_VIRT_BASE 0xfebf9000
#define TS72XX_RTC_INDEX_PHYS_BASE 0x10800000
#define TS72XX_RTC_INDEX_SIZE 0x00001000
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 2fda0b6..fdee525 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -97,12 +97,6 @@ config MTD_NAND_OMAP_PREFETCH_DMA
or in DMA interrupt mode.
Say y for DMA mode or MPU mode will be used
-config MTD_NAND_TS7250
- tristate "NAND Flash device on TS-7250 board"
- depends on MACH_TS72XX
- help
- Support for NAND flash on Technologic Systems TS-7250 platform.
-
config MTD_NAND_IDS
tristate
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index 6950d3d..ecc404c 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
obj-$(CONFIG_MTD_NAND_H1900) += h1910.o
obj-$(CONFIG_MTD_NAND_RTC_FROM4) += rtc_from4.o
obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o
-obj-$(CONFIG_MTD_NAND_TS7250) += ts7250.o
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
diff --git a/drivers/mtd/nand/ts7250.c b/drivers/mtd/nand/ts7250.c
deleted file mode 100644
index 0f5562a..0000000
--- a/drivers/mtd/nand/ts7250.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * drivers/mtd/nand/ts7250.c
- *
- * Copyright (C) 2004 Technologic Systems (support at embeddedARM.com)
- *
- * Derived from drivers/mtd/nand/edb7312.c
- * Copyright (C) 2004 Marius Gr??ger (mag at sysgo.de)
- *
- * Derived from drivers/mtd/nand/autcpu12.c
- * Copyright (c) 2001 Thomas Gleixner (gleixner at autronix.de)
- *
- * 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.
- *
- * Overview:
- * This is a device driver for the NAND flash device found on the
- * TS-7250 board which utilizes a Samsung 32 Mbyte part.
- */
-
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-#include <linux/io.h>
-
-#include <mach/hardware.h>
-#include <mach/ts72xx.h>
-
-#include <asm/sizes.h>
-#include <asm/mach-types.h>
-
-/*
- * MTD structure for TS7250 board
- */
-static struct mtd_info *ts7250_mtd = NULL;
-
-#ifdef CONFIG_MTD_PARTITIONS
-static const char *part_probes[] = { "cmdlinepart", NULL };
-
-#define NUM_PARTITIONS 3
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info32[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x01d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x01d04000,
- .size = 0x002fc000,
- },
-};
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info128[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x07d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x07d04000,
- .size = 0x002fc000,
- },
-};
-#endif
-
-
-/*
- * hardware specific access to control-lines
- *
- * ctrl:
- * NAND_NCE: bit 0 -> bit 2
- * NAND_CLE: bit 1 -> bit 1
- * NAND_ALE: bit 2 -> bit 0
- */
-static void ts7250_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-{
- struct nand_chip *chip = mtd->priv;
-
- if (ctrl & NAND_CTRL_CHANGE) {
- unsigned long addr = TS72XX_NAND_CONTROL_VIRT_BASE;
- unsigned char bits;
-
- bits = (ctrl & NAND_NCE) << 2;
- bits |= ctrl & NAND_CLE;
- bits |= (ctrl & NAND_ALE) >> 2;
-
- __raw_writeb((__raw_readb(addr) & ~0x7) | bits, addr);
- }
-
- if (cmd != NAND_CMD_NONE)
- writeb(cmd, chip->IO_ADDR_W);
-}
-
-/*
- * read device ready pin
- */
-static int ts7250_device_ready(struct mtd_info *mtd)
-{
- return __raw_readb(TS72XX_NAND_BUSY_VIRT_BASE) & 0x20;
-}
-
-/*
- * Main initialization routine
- */
-static int __init ts7250_init(void)
-{
- struct nand_chip *this;
- const char *part_type = 0;
- int mtd_parts_nb = 0;
- struct mtd_partition *mtd_parts = 0;
-
- if (!machine_is_ts72xx() || board_is_ts7200())
- return -ENXIO;
-
- /* Allocate memory for MTD device structure and private data */
- ts7250_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip), GFP_KERNEL);
- if (!ts7250_mtd) {
- printk("Unable to allocate TS7250 NAND MTD device structure.\n");
- return -ENOMEM;
- }
-
- /* Get pointer to private data */
- this = (struct nand_chip *)(&ts7250_mtd[1]);
-
- /* Initialize structures */
- memset(ts7250_mtd, 0, sizeof(struct mtd_info));
- memset(this, 0, sizeof(struct nand_chip));
-
- /* Link the private data with the MTD structure */
- ts7250_mtd->priv = this;
- ts7250_mtd->owner = THIS_MODULE;
-
- /* insert callbacks */
- this->IO_ADDR_R = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->IO_ADDR_W = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->cmd_ctrl = ts7250_hwcontrol;
- this->dev_ready = ts7250_device_ready;
- this->chip_delay = 15;
- this->ecc.mode = NAND_ECC_SOFT;
-
- printk("Searching for NAND flash...\n");
- /* Scan to find existence of the device */
- if (nand_scan(ts7250_mtd, 1)) {
- kfree(ts7250_mtd);
- return -ENXIO;
- }
-#ifdef CONFIG_MTD_PARTITIONS
- ts7250_mtd->name = "ts7250-nand";
- mtd_parts_nb = parse_mtd_partitions(ts7250_mtd, part_probes, &mtd_parts, 0);
- if (mtd_parts_nb > 0)
- part_type = "command line";
- else
- mtd_parts_nb = 0;
-#endif
- if (mtd_parts_nb == 0) {
- mtd_parts = partition_info32;
- if (ts7250_mtd->size >= (128 * 0x100000))
- mtd_parts = partition_info128;
- mtd_parts_nb = NUM_PARTITIONS;
- part_type = "static";
- }
-
- /* Register the partitions */
- printk(KERN_NOTICE "Using %s partition definition\n", part_type);
- add_mtd_partitions(ts7250_mtd, mtd_parts, mtd_parts_nb);
-
- /* Return happy */
- return 0;
-}
-
-module_init(ts7250_init);
-
-/*
- * Clean up routine
- */
-static void __exit ts7250_cleanup(void)
-{
- /* Unregister the device */
- del_mtd_device(ts7250_mtd);
-
- /* Free the MTD device structure */
- kfree(ts7250_mtd);
-}
-
-module_exit(ts7250_cleanup);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Jesse Off <joff@embeddedARM.com>");
-MODULE_DESCRIPTION("MTD map driver for Technologic Systems TS-7250 board");
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
@ 2010-01-05 21:59 H Hartley Sweeten
2010-01-06 13:31 ` David Woodhouse
0 siblings, 1 reply; 12+ messages in thread
From: H Hartley Sweeten @ 2010-01-05 21:59 UTC (permalink / raw)
To: linux-arm-kernel
The ts72xx platform has been updated to use the generic platform nand
driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Matthieu Crapet <mcrapet@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Jesse Off <joff@embeddedARM.com>
---
diff --git a/arch/arm/mach-ep93xx/include/mach/ts72xx.h b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
index 3bd934e..61c0e13 100644
--- a/arch/arm/mach-ep93xx/include/mach/ts72xx.h
+++ b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
@@ -9,9 +9,6 @@
* febff000 22000000 4K model number register
* febfe000 22400000 4K options register
* febfd000 22800000 4K options register #2
- * febfc000 [67]0000000 4K NAND data register
- * febfb000 [67]0400000 4K NAND control register
- * febfa000 [67]0800000 4K NAND busy register
* febf9000 10800000 4K TS-5620 RTC index register
* febf8000 11700000 4K TS-5620 RTC data register
*/
@@ -41,22 +38,6 @@
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02
-#define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000
-#define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000
-#define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000
-#define TS72XX_NAND_DATA_SIZE 0x00001000
-
-#define TS72XX_NAND1_CONTROL_PHYS_BASE 0x60400000
-#define TS72XX_NAND2_CONTROL_PHYS_BASE 0x70400000
-#define TS72XX_NAND_CONTROL_VIRT_BASE 0xfebfb000
-#define TS72XX_NAND_CONTROL_SIZE 0x00001000
-
-#define TS72XX_NAND1_BUSY_PHYS_BASE 0x60800000
-#define TS72XX_NAND2_BUSY_PHYS_BASE 0x70800000
-#define TS72XX_NAND_BUSY_VIRT_BASE 0xfebfa000
-#define TS72XX_NAND_BUSY_SIZE 0x00001000
-
-
#define TS72XX_RTC_INDEX_VIRT_BASE 0xfebf9000
#define TS72XX_RTC_INDEX_PHYS_BASE 0x10800000
#define TS72XX_RTC_INDEX_SIZE 0x00001000
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 677cd53..48c727f 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -95,12 +95,6 @@ config MTD_NAND_OMAP_PREFETCH_DMA
or in DMA interrupt mode.
Say y for DMA mode or MPU mode will be used
-config MTD_NAND_TS7250
- tristate "NAND Flash device on TS-7250 board"
- depends on MACH_TS72XX
- help
- Support for NAND flash on Technologic Systems TS-7250 platform.
-
config MTD_NAND_IDS
tristate
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index 1407bd1..fedf10d 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
obj-$(CONFIG_MTD_NAND_H1900) += h1910.o
obj-$(CONFIG_MTD_NAND_RTC_FROM4) += rtc_from4.o
obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o
-obj-$(CONFIG_MTD_NAND_TS7250) += ts7250.o
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
diff --git a/drivers/mtd/nand/ts7250.c b/drivers/mtd/nand/ts7250.c
deleted file mode 100644
index 0f5562a..0000000
--- a/drivers/mtd/nand/ts7250.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * drivers/mtd/nand/ts7250.c
- *
- * Copyright (C) 2004 Technologic Systems (support at embeddedARM.com)
- *
- * Derived from drivers/mtd/nand/edb7312.c
- * Copyright (C) 2004 Marius Gr?ger (mag at sysgo.de)
- *
- * Derived from drivers/mtd/nand/autcpu12.c
- * Copyright (c) 2001 Thomas Gleixner (gleixner at autronix.de)
- *
- * 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.
- *
- * Overview:
- * This is a device driver for the NAND flash device found on the
- * TS-7250 board which utilizes a Samsung 32 Mbyte part.
- */
-
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-#include <linux/io.h>
-
-#include <mach/hardware.h>
-#include <mach/ts72xx.h>
-
-#include <asm/sizes.h>
-#include <asm/mach-types.h>
-
-/*
- * MTD structure for TS7250 board
- */
-static struct mtd_info *ts7250_mtd = NULL;
-
-#ifdef CONFIG_MTD_PARTITIONS
-static const char *part_probes[] = { "cmdlinepart", NULL };
-
-#define NUM_PARTITIONS 3
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info32[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x01d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x01d04000,
- .size = 0x002fc000,
- },
-};
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info128[] = {
- {
- .name = "TS-BOOTROM",
- .offset = 0x00000000,
- .size = 0x00004000,
- }, {
- .name = "Linux",
- .offset = 0x00004000,
- .size = 0x07d00000,
- }, {
- .name = "RedBoot",
- .offset = 0x07d04000,
- .size = 0x002fc000,
- },
-};
-#endif
-
-
-/*
- * hardware specific access to control-lines
- *
- * ctrl:
- * NAND_NCE: bit 0 -> bit 2
- * NAND_CLE: bit 1 -> bit 1
- * NAND_ALE: bit 2 -> bit 0
- */
-static void ts7250_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-{
- struct nand_chip *chip = mtd->priv;
-
- if (ctrl & NAND_CTRL_CHANGE) {
- unsigned long addr = TS72XX_NAND_CONTROL_VIRT_BASE;
- unsigned char bits;
-
- bits = (ctrl & NAND_NCE) << 2;
- bits |= ctrl & NAND_CLE;
- bits |= (ctrl & NAND_ALE) >> 2;
-
- __raw_writeb((__raw_readb(addr) & ~0x7) | bits, addr);
- }
-
- if (cmd != NAND_CMD_NONE)
- writeb(cmd, chip->IO_ADDR_W);
-}
-
-/*
- * read device ready pin
- */
-static int ts7250_device_ready(struct mtd_info *mtd)
-{
- return __raw_readb(TS72XX_NAND_BUSY_VIRT_BASE) & 0x20;
-}
-
-/*
- * Main initialization routine
- */
-static int __init ts7250_init(void)
-{
- struct nand_chip *this;
- const char *part_type = 0;
- int mtd_parts_nb = 0;
- struct mtd_partition *mtd_parts = 0;
-
- if (!machine_is_ts72xx() || board_is_ts7200())
- return -ENXIO;
-
- /* Allocate memory for MTD device structure and private data */
- ts7250_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip), GFP_KERNEL);
- if (!ts7250_mtd) {
- printk("Unable to allocate TS7250 NAND MTD device structure.\n");
- return -ENOMEM;
- }
-
- /* Get pointer to private data */
- this = (struct nand_chip *)(&ts7250_mtd[1]);
-
- /* Initialize structures */
- memset(ts7250_mtd, 0, sizeof(struct mtd_info));
- memset(this, 0, sizeof(struct nand_chip));
-
- /* Link the private data with the MTD structure */
- ts7250_mtd->priv = this;
- ts7250_mtd->owner = THIS_MODULE;
-
- /* insert callbacks */
- this->IO_ADDR_R = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->IO_ADDR_W = (void *)TS72XX_NAND_DATA_VIRT_BASE;
- this->cmd_ctrl = ts7250_hwcontrol;
- this->dev_ready = ts7250_device_ready;
- this->chip_delay = 15;
- this->ecc.mode = NAND_ECC_SOFT;
-
- printk("Searching for NAND flash...\n");
- /* Scan to find existence of the device */
- if (nand_scan(ts7250_mtd, 1)) {
- kfree(ts7250_mtd);
- return -ENXIO;
- }
-#ifdef CONFIG_MTD_PARTITIONS
- ts7250_mtd->name = "ts7250-nand";
- mtd_parts_nb = parse_mtd_partitions(ts7250_mtd, part_probes, &mtd_parts, 0);
- if (mtd_parts_nb > 0)
- part_type = "command line";
- else
- mtd_parts_nb = 0;
-#endif
- if (mtd_parts_nb == 0) {
- mtd_parts = partition_info32;
- if (ts7250_mtd->size >= (128 * 0x100000))
- mtd_parts = partition_info128;
- mtd_parts_nb = NUM_PARTITIONS;
- part_type = "static";
- }
-
- /* Register the partitions */
- printk(KERN_NOTICE "Using %s partition definition\n", part_type);
- add_mtd_partitions(ts7250_mtd, mtd_parts, mtd_parts_nb);
-
- /* Return happy */
- return 0;
-}
-
-module_init(ts7250_init);
-
-/*
- * Clean up routine
- */
-static void __exit ts7250_cleanup(void)
-{
- /* Unregister the device */
- del_mtd_device(ts7250_mtd);
-
- /* Free the MTD device structure */
- kfree(ts7250_mtd);
-}
-
-module_exit(ts7250_cleanup);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Jesse Off <joff@embeddedARM.com>");
-MODULE_DESCRIPTION("MTD map driver for Technologic Systems TS-7250 board");
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-01-05 21:59 H Hartley Sweeten
@ 2010-01-06 13:31 ` David Woodhouse
2010-01-06 17:26 ` H Hartley Sweeten
0 siblings, 1 reply; 12+ messages in thread
From: David Woodhouse @ 2010-01-06 13:31 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 2010-01-05 at 14:59 -0700, H Hartley Sweeten wrote:
> The ts72xx platform has been updated to use the generic platform nand
> driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
>
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Matthieu Crapet <mcrapet@gmail.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Jesse Off <joff@embeddedARM.com>
Applying: mtd: Remove now-defunct ts7250 nand driver
error: patch failed: drivers/mtd/nand/ts7250.c:1
error: drivers/mtd/nand/ts7250.c: patch does not apply
Patch failed at 0001 mtd: Remove now-defunct ts7250 nand driver
It looks like your patch has legacy garbage in it:
> - * Copyright (C) 2004 Marius Gr<F6>ger (mag at sysgo.de)
It fails to apply because the ? (correctly represented as 0xc3 0xb6) has
been converted into a single byte 0xf6 in some legacy character set.
When applying patches, git-am does look at the Content-Type: header and
convert legacy crap into UTF-8 for the changelog, but it leaves the
patch itself alone.
Care to join us in the 21st century?
--
David Woodhouse Open Source Technology Centre
David.Woodhouse at intel.com Intel Corporation
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-01-06 13:31 ` David Woodhouse
@ 2010-01-06 17:26 ` H Hartley Sweeten
2010-01-06 17:42 ` David Woodhouse
0 siblings, 1 reply; 12+ messages in thread
From: H Hartley Sweeten @ 2010-01-06 17:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wednesday, January 06, 2010 6:32 AM, David Woodhouse wrote:
> On Tue, 2010-01-05 at 14:59 -0700, H Hartley Sweeten wrote:
>> The ts72xx platform has been updated to use the generic platform nand
>> driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>> Cc: Matthieu Crapet <mcrapet@gmail.com>
>> Cc: David Woodhouse <dwmw2@infradead.org>
>> Cc: Jesse Off <joff@embeddedARM.com>
>
> Applying: mtd: Remove now-defunct ts7250 nand driver
> error: patch failed: drivers/mtd/nand/ts7250.c:1
> error: drivers/mtd/nand/ts7250.c: patch does not apply
> Patch failed at 0001 mtd: Remove now-defunct ts7250 nand driver
>
> It looks like your patch has legacy garbage in it:
>
>> - * Copyright (C) 2004 Marius Gr<F6>ger (mag at sysgo.de)
>
> It fails to apply because the ? (correctly represented as 0xc3 0xb6) has
> been converted into a single byte 0xf6 in some legacy character set.
>
> When applying patches, git-am does look at the Content-Type: header and
> convert legacy crap into UTF-8 for the changelog, but it leaves the
> patch itself alone.
>
> Care to join us in the 21st century?
Hello David,
Ok, that's really strange. I just looked at the email I sent and that line
is:
- * ? Copyright (C) 2004 Marius Gr?ger (mag at sysgo.de)
The character must have been converted as the message left my outbox.
Hmmmm.. What should my default character set be? It looks like my mailer is
setup to use these (in this order):
us-ascii
iso-8859-1
utf-8 (locale)
utf-8
Sorry for the trouble.
Regards,
Hartley
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-01-06 17:26 ` H Hartley Sweeten
@ 2010-01-06 17:42 ` David Woodhouse
2010-01-06 17:47 ` H Hartley Sweeten
0 siblings, 1 reply; 12+ messages in thread
From: David Woodhouse @ 2010-01-06 17:42 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 2010-01-06 at 12:26 -0500, H Hartley Sweeten wrote:
> Ok, that's really strange. I just looked at the email I sent and that line
> is:
>
> - * Copyright (C) 2004 Marius Gr?ger (mag at sysgo.de)
Your previous email was in iso8859-1, a legacy charset that really has
no business being used this century. You can see the charset in its
Content-Type: header:
Content-type: text/plain; charset="iso-8859-1"
The ? was therefore encoded as a single byte 0xf6. When we save the mail
to disk and apply it as a patch, that 0xf6 doesn't actually match what's
in the file you were patching -- and thus the patch didn't apply.
> The character must have been converted as the message left my outbox.
Probably, yes.
> Hmmmm.. What should my default character set be? It looks like my mailer is
> setup to use these (in this order):
Did you change anything already? Although your older mail was iso8859-1,
the mail to which I'm replying now is different. It's:
Content-type: text/plain; charset="utf-8"
So this time the ? is encoded as two bytes (0xc3, 0xb6) and _does_ match
what's in the kernel source files. If you'd included the patch in _this_
mail, it would have applied.
> us-ascii
> iso-8859-1
> utf-8 (locale)
> utf-8
It's iso-8859-1 which is causing the problem. Because your mail only
used characters which can be represented in iso8859-1, it got converted
to that. Drop iso8859-1 and it should be fine. ASCII is fine because
it's a subset of UTF-8. Any ASCII text is also valid UTF-8.
--
dwmw2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-01-06 17:42 ` David Woodhouse
@ 2010-01-06 17:47 ` H Hartley Sweeten
2010-05-06 16:47 ` H Hartley Sweeten
0 siblings, 1 reply; 12+ messages in thread
From: H Hartley Sweeten @ 2010-01-06 17:47 UTC (permalink / raw)
To: linux-arm-kernel
The ts72xx platform has been updated to use the generic platform nand
driver (plat_nand.c). ?This removes the now-defunct ts7250.c nand driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Matthieu Crapet <mcrapet@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Jesse Off <joff@embeddedARM.com>
---
Repost due to iso8859-1 UTF-8 issues.
diff --git a/arch/arm/mach-ep93xx/include/mach/ts72xx.h b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
index 3bd934e..61c0e13 100644
--- a/arch/arm/mach-ep93xx/include/mach/ts72xx.h
+++ b/arch/arm/mach-ep93xx/include/mach/ts72xx.h
@@ -9,9 +9,6 @@
? * febff000????22000000????????4K??????model number register
? * febfe000????22400000????????4K??????options register
? * febfd000????22800000????????4K??????options register #2
- * febfc000????[67]0000000?????4K??????NAND data register
- * febfb000????[67]0400000?????4K??????NAND control register
- * febfa000????[67]0800000?????4K??????NAND busy register
? * febf9000????10800000????????4K??????TS-5620 RTC index register
? * febf8000????11700000????????4K??????TS-5620 RTC data register
? */
@@ -41,22 +38,6 @@
?#define TS72XX_OPTIONS2_TS9420_BOOT????0x02
?
?
-#define TS72XX_NAND1_DATA_PHYS_BASE????0x60000000
-#define TS72XX_NAND2_DATA_PHYS_BASE????0x70000000
-#define TS72XX_NAND_DATA_VIRT_BASE?????0xfebfc000
-#define TS72XX_NAND_DATA_SIZE??????????0x00001000
-
-#define TS72XX_NAND1_CONTROL_PHYS_BASE?0x60400000
-#define TS72XX_NAND2_CONTROL_PHYS_BASE?0x70400000
-#define TS72XX_NAND_CONTROL_VIRT_BASE??0xfebfb000
-#define TS72XX_NAND_CONTROL_SIZE???????0x00001000
-
-#define TS72XX_NAND1_BUSY_PHYS_BASE????0x60800000
-#define TS72XX_NAND2_BUSY_PHYS_BASE????0x70800000
-#define TS72XX_NAND_BUSY_VIRT_BASE?????0xfebfa000
-#define TS72XX_NAND_BUSY_SIZE??????????0x00001000
-
-
?#define TS72XX_RTC_INDEX_VIRT_BASE?????0xfebf9000
?#define TS72XX_RTC_INDEX_PHYS_BASE?????0x10800000
?#define TS72XX_RTC_INDEX_SIZE??????????0x00001000
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 677cd53..48c727f 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -95,12 +95,6 @@ config MTD_NAND_OMAP_PREFETCH_DMA
???????? or in DMA interrupt mode.
???????? Say y for DMA mode or MPU mode will be used
?
-config MTD_NAND_TS7250
-???????tristate "NAND Flash device on TS-7250 board"
-???????depends on MACH_TS72XX
-???????help
-??????? ?Support for NAND flash on Technologic Systems TS-7250 platform.
-
?config MTD_NAND_IDS
????????tristate
?
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index 1407bd1..fedf10d 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_MTD_NAND_DISKONCHIP)?????+= diskonchip.o
?obj-$(CONFIG_MTD_NAND_H1900)???????????+= h1910.o
?obj-$(CONFIG_MTD_NAND_RTC_FROM4)???????+= rtc_from4.o
?obj-$(CONFIG_MTD_NAND_SHARPSL)?????????+= sharpsl.o
-obj-$(CONFIG_MTD_NAND_TS7250)??????????+= ts7250.o
?obj-$(CONFIG_MTD_NAND_NANDSIM)?????????+= nandsim.o
?obj-$(CONFIG_MTD_NAND_CS553X)??????????+= cs553x_nand.o
?obj-$(CONFIG_MTD_NAND_NDFC)????????????+= ndfc.o
diff --git a/drivers/mtd/nand/ts7250.c b/drivers/mtd/nand/ts7250.c
deleted file mode 100644
index 0f5562a..0000000
--- a/drivers/mtd/nand/ts7250.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * drivers/mtd/nand/ts7250.c
- *
- * Copyright (C) 2004 Technologic Systems (support at embeddedARM.com)
- *
- * Derived from drivers/mtd/nand/edb7312.c
- * ? Copyright (C) 2004 Marius Gr?ger (mag at sysgo.de)
- *
- * Derived from drivers/mtd/nand/autcpu12.c
- * ? Copyright (c) 2001 Thomas Gleixner (gleixner at autronix.de)
- *
- * 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.
- *
- * Overview:
- * ? This is a device driver for the NAND flash device found on the
- * ? TS-7250 board which utilizes a Samsung 32 Mbyte part.
- */
-
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/nand.h>
-#include <linux/mtd/partitions.h>
-#include <linux/io.h>
-
-#include <mach/hardware.h>
-#include <mach/ts72xx.h>
-
-#include <asm/sizes.h>
-#include <asm/mach-types.h>
-
-/*
- * MTD structure for TS7250 board
- */
-static struct mtd_info *ts7250_mtd = NULL;
-
-#ifdef CONFIG_MTD_PARTITIONS
-static const char *part_probes[] = { "cmdlinepart", NULL };
-
-#define NUM_PARTITIONS 3
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info32[] = {
-???????{
-???????????????.name???????????= "TS-BOOTROM",
-???????????????.offset?????????= 0x00000000,
-???????????????.size???????????= 0x00004000,
-???????}, {
-???????????????.name???????????= "Linux",
-???????????????.offset?????????= 0x00004000,
-???????????????.size???????????= 0x01d00000,
-???????}, {
-???????????????.name???????????= "RedBoot",
-???????????????.offset?????????= 0x01d04000,
-???????????????.size???????????= 0x002fc000,
-???????},
-};
-
-/*
- * Define static partitions for flash device
- */
-static struct mtd_partition partition_info128[] = {
-???????{
-???????????????.name???????????= "TS-BOOTROM",
-???????????????.offset?????????= 0x00000000,
-???????????????.size???????????= 0x00004000,
-???????}, {
-???????????????.name???????????= "Linux",
-???????????????.offset?????????= 0x00004000,
-???????????????.size???????????= 0x07d00000,
-???????}, {
-???????????????.name???????????= "RedBoot",
-???????????????.offset?????????= 0x07d04000,
-???????????????.size???????????= 0x002fc000,
-???????},
-};
-#endif
-
-
-/*
- *?????hardware specific access to control-lines
- *
- *?????ctrl:
- *?????NAND_NCE: bit 0 -> bit 2
- *?????NAND_CLE: bit 1 -> bit 1
- *?????NAND_ALE: bit 2 -> bit 0
- */
-static void ts7250_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-{
-???????struct nand_chip *chip = mtd->priv;
-
-???????if (ctrl & NAND_CTRL_CHANGE) {
-???????????????unsigned long addr = TS72XX_NAND_CONTROL_VIRT_BASE;
-???????????????unsigned char bits;
-
-???????????????bits = (ctrl & NAND_NCE) << 2;
-???????????????bits |= ctrl & NAND_CLE;
-???????????????bits |= (ctrl & NAND_ALE) >> 2;
-
-???????????????__raw_writeb((__raw_readb(addr) & ~0x7) | bits, addr);
-???????}
-
-???????if (cmd != NAND_CMD_NONE)
-???????????????writeb(cmd, chip->IO_ADDR_W);
-}
-
-/*
- *?????read device ready pin
- */
-static int ts7250_device_ready(struct mtd_info *mtd)
-{
-???????return __raw_readb(TS72XX_NAND_BUSY_VIRT_BASE) & 0x20;
-}
-
-/*
- * Main initialization routine
- */
-static int __init ts7250_init(void)
-{
-???????struct nand_chip *this;
-???????const char *part_type = 0;
-???????int mtd_parts_nb = 0;
-???????struct mtd_partition *mtd_parts = 0;
-
-???????if (!machine_is_ts72xx() || board_is_ts7200())
-???????????????return -ENXIO;
-
-???????/* Allocate memory for MTD device structure and private data */
-???????ts7250_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip), GFP_KERNEL);
-???????if (!ts7250_mtd) {
-???????????????printk("Unable to allocate TS7250 NAND MTD device structure.\n");
-???????????????return -ENOMEM;
-???????}
-
-???????/* Get pointer to private data */
-???????this = (struct nand_chip *)(&ts7250_mtd[1]);
-
-???????/* Initialize structures */
-???????memset(ts7250_mtd, 0, sizeof(struct mtd_info));
-???????memset(this, 0, sizeof(struct nand_chip));
-
-???????/* Link the private data with the MTD structure */
-???????ts7250_mtd->priv = this;
-???????ts7250_mtd->owner = THIS_MODULE;
-
-???????/* insert callbacks */
-???????this->IO_ADDR_R = (void *)TS72XX_NAND_DATA_VIRT_BASE;
-???????this->IO_ADDR_W = (void *)TS72XX_NAND_DATA_VIRT_BASE;
-???????this->cmd_ctrl = ts7250_hwcontrol;
-???????this->dev_ready = ts7250_device_ready;
-???????this->chip_delay = 15;
-???????this->ecc.mode = NAND_ECC_SOFT;
-
-???????printk("Searching for NAND flash...\n");
-???????/* Scan to find existence of the device */
-???????if (nand_scan(ts7250_mtd, 1)) {
-???????????????kfree(ts7250_mtd);
-???????????????return -ENXIO;
-???????}
-#ifdef CONFIG_MTD_PARTITIONS
-???????ts7250_mtd->name = "ts7250-nand";
-???????mtd_parts_nb = parse_mtd_partitions(ts7250_mtd, part_probes, &mtd_parts, 0);
-???????if (mtd_parts_nb > 0)
-???????????????part_type = "command line";
-???????else
-???????????????mtd_parts_nb = 0;
-#endif
-???????if (mtd_parts_nb == 0) {
-???????????????mtd_parts = partition_info32;
-???????????????if (ts7250_mtd->size >= (128 * 0x100000))
-???????????????????????mtd_parts = partition_info128;
-???????????????mtd_parts_nb = NUM_PARTITIONS;
-???????????????part_type = "static";
-???????}
-
-???????/* Register the partitions */
-???????printk(KERN_NOTICE "Using %s partition definition\n", part_type);
-???????add_mtd_partitions(ts7250_mtd, mtd_parts, mtd_parts_nb);
-
-???????/* Return happy */
-???????return 0;
-}
-
-module_init(ts7250_init);
-
-/*
- * Clean up routine
- */
-static void __exit ts7250_cleanup(void)
-{
-???????/* Unregister the device */
-???????del_mtd_device(ts7250_mtd);
-
-???????/* Free the MTD device structure */
-???????kfree(ts7250_mtd);
-}
-
-module_exit(ts7250_cleanup);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Jesse Off <joff@embeddedARM.com>");
-MODULE_DESCRIPTION("MTD map driver for Technologic Systems TS-7250 board");
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-01-06 17:47 ` H Hartley Sweeten
@ 2010-05-06 16:47 ` H Hartley Sweeten
2010-05-07 6:01 ` Artem Bityutskiy
0 siblings, 1 reply; 12+ messages in thread
From: H Hartley Sweeten @ 2010-05-06 16:47 UTC (permalink / raw)
To: linux-arm-kernel
Hello David,
Do you know the status of these two patches in linux-next:
commit 7603757993e7ce3e63b2280ccf61d8058b7b2414
Author: H Hartley Sweeten <hartleys@visionengravers.com>
Date: Tue Jan 5 14:59:58 2010 -0700
mtd: Remove now-defunct ts7250 nand driver
The ts72xx platform has been updated to use the generic platform nand
driver (plat_nand.c). This removes the now-defunct ts7250.c nand driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Matthieu Crapet <mcrapet@gmail.com>
Cc: Jesse Off <joff@embeddedARM.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
commit 030d2dd450a628b7a8e31e980af3d05854f68edb
Author: H Hartley Sweeten <hartleys@visionengravers.com>
Date: Tue Jan 5 14:59:56 2010 -0700
mtd: Update ep93xx/ts72xx to use generic platform nand driver
Update the ts72xx platform's nand driver support.
This changes the ts72xx platform from using a custom nand driver
(ts7250.c) to the generic platform nand driver (plat_nand.c).
Tested on TS-7250 with 32MiB NAND.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Tested-by: Matthieu Crapet <mcrapet@gmail.com>
Cc: Jesse Off <joff@embeddedARM.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
I have some pending patches for arch/arm/mach-ep93xx/ts72xx.c that
depend on these.
Thanks,
Hartley
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-05-06 16:47 ` H Hartley Sweeten
@ 2010-05-07 6:01 ` Artem Bityutskiy
2010-05-07 16:37 ` H Hartley Sweeten
0 siblings, 1 reply; 12+ messages in thread
From: Artem Bityutskiy @ 2010-05-07 6:01 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 2010-05-06 at 11:47 -0500, H Hartley Sweeten wrote:
> Hello David,
>
> Do you know the status of these two patches in linux-next:
I'm not David, but I think I know the answer. Last merge window was
missed and the mtd tree was not merged, so the patches are waiting for
the next merge window and will be merged.
[snip]
> I have some pending patches for arch/arm/mach-ep93xx/ts72xx.c that
> depend on these.
Just send your depending patches.
--
Best Regards,
Artem Bityutskiy (????? ????????)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/2] Remove now-defunct ts7250 nand driver
2010-05-07 6:01 ` Artem Bityutskiy
@ 2010-05-07 16:37 ` H Hartley Sweeten
0 siblings, 0 replies; 12+ messages in thread
From: H Hartley Sweeten @ 2010-05-07 16:37 UTC (permalink / raw)
To: linux-arm-kernel
On Thursday, May 06, 2010 11:01 PM, Artem Bityutskiy wrote:
> On Thu, 2010-05-06 at 11:47 -0500, H Hartley Sweeten wrote:
>> Hello David,
>>
>> Do you know the status of these two patches in linux-next:
>
> I'm not David, but I think I know the answer. Last merge window was
> missed and the mtd tree was not merged, so the patches are waiting for
> the next merge window and will be merged.
Hello Artem,
Ah, thought that was the issue. It did appear that the mtd tree didn't
get merged.
> [snip]
>> I have some pending patches for arch/arm/mach-ep93xx/ts72xx.c that
>> depend on these.
>
> Just send your depending patches.
I'll hold until this gets merged (or dropped if that happens).
The patches are intended for the arm tree and I want to avoid any
merge issues.
Thanks for the update,
Hartley
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-05-07 16:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-06 22:26 [PATCH 2/2] Remove now-defunct ts7250 nand driver H Hartley Sweeten
2009-10-11 11:31 ` Artem Bityutskiy
2009-10-11 21:18 ` H Hartley Sweeten
2009-10-11 21:19 ` H Hartley Sweeten
-- strict thread matches above, loose matches on Subject: below --
2010-01-05 21:59 H Hartley Sweeten
2010-01-06 13:31 ` David Woodhouse
2010-01-06 17:26 ` H Hartley Sweeten
2010-01-06 17:42 ` David Woodhouse
2010-01-06 17:47 ` H Hartley Sweeten
2010-05-06 16:47 ` H Hartley Sweeten
2010-05-07 6:01 ` Artem Bityutskiy
2010-05-07 16:37 ` H Hartley Sweeten
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).