Commit Graph

112 Commits

Author SHA1 Message Date
Todd Poynor
1da2c9a638 [MTD] Pre-CFI Sharp chip driver: Some speedups and cleanups
Remove useless udelay(100) after status value already read.  Poll
for status OK with reduced udelay if not immediate OK status return.

Fix read and compare of 32-bit status value using 16-bit variable.

Include slab.h since kmalloc/kfree are called.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-08-04 12:52:09 +02:00
Todd Poynor
65a8de36b4 [MTD] mtd_blkdevs.c: Fix names when many devices/partitions are created
mtdblock (and other mtd modules that use the mtd_blkdevs interface
between the mtd translation layers and the linux block layer) handles
incorrectly more than 10 devices or 26 partitions in the names passed to
the generic disk layer.  This causes the device file names and other
info kept by the generic disk/block layers to have names such as
"mtdblock<".  Use integer formatting for device numbers; use "aa-az"
for partitions 27-52, "ba-bz" for 53-78...

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-08-04 12:51:18 +02:00
Todd Poynor
7ad2b7f595 [MTD] mtd_blkdevs.c: Remove DEVFS leftovers
Remove mtd_blkdevs refs to the no longer functional DEVFS filesystem.

Verified mtdblock continues to work fine via udev with these calls
removed.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-08-04 12:50:48 +02:00
Todd Poynor
d88f977b85 [MTD] CHIPS: Recognize Spansion CFI 1.4 chips
Modify Amd/Fujitsu CFI NOR flash primary vendor extension table revision
check to recognize version 1.4.  Verified the existing driver can
handle version 1.4 chips without additional info from 1.4 extended table.

Move the primary vendor extension table revision check from common file
to the 3 CFI chip driver files, since the data structures and revisions
handled by those data structures are specific to the chip driver.

Modify the error message printed when the revision is unknown to be a
KERN_ERR instead of WARNING since this will cause mtd to ignore the chip.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-08-04 12:49:25 +02:00
Olaf Hering
44456d37b5 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string
turn many #if $undefined_string into #ifdef $undefined_string to fix some
warnings after -Wno-def was added to global CFLAGS

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:08 -07:00
Thomas Gleixner
19870da7ea [MTD] NAND: Fix broken bad block scan for 16 bit devices
The previous change to read a single byte from oob breaks the
bad block scan on 16 bit devices, when the byte is on an odd
address. Read the complete oob for now.
Remove the unused arguments from check_short_pattern()
Move the wait for ready function so it is only executed when
consecutive reads happen.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-16 09:27:52 +02:00
Joern Engel
6a8b4d319c [MTD] cfi_cmdset_0002: Plugged a mem leak.
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-13 19:04:04 +02:00
Todd Poynor
a98a5d04f4 Merge with rsync://fileserver/linux 2005-07-13 00:58:44 +02:00
Thomas Gleixner
1ca70351af [MTD] Make XIP support depend on CONFIG_ARM
ARM is the only known user of this at the moment.
Prevent allyes builds for other archs from failing

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-12 17:51:06 +02:00
Linus Torvalds
200d481f28 Merge master.kernel.org:/pub/scm/linux/kernel/git/tglx/mtd-2.6 2005-07-11 10:18:18 -07:00
Dominik Brodowski
44670d2b50 [PATCH] pcmcia: remove references to pcmcia/version.h
As a follow-up, remove the inclusion of pcmcia/version.h in many files.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-07 18:24:07 -07:00
Dominik Brodowski
1e212f3645 [PATCH] pcmcia: move event handler
Move the "event handler" to struct pcmcia_driver -- the unified event handler
will disappear really soon, but switching it to struct pcmcia_driver in the
meantime allows for better "step-by-step" patches.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-07 18:24:05 -07:00
Thomas Gleixner
97f927a4d7 [MTD] XIP cleanup
Move the architecture dependend code into include/asm/mtd-xip.h

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-07 16:50:16 +02:00
David Woodhouse
b9c86d595d [MTD] Remove MODULE_DEVICE_TABLE() for ICHx flash driver
This prevents it from automatically getting loaded by hotplug because
we happen to notice you have this chipset. Let's stick with having to
load the drivers which let you overwrite your BIOS _manually_

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-07 15:40:54 +02:00
Ben Dooks
fb8d82a865 [MTD] NAND s3c2410: Add missing NULL pointer check
Fix OOPs if there was no platform set information passed

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-06 22:26:05 +02:00
Artem B. Bityuckiy
b3539219c9 Merge with rsync://fileserver/linux
Update to 2.6.12-rc3
2005-07-06 19:40:38 +02:00
Todd Poynor
10c96f2ec3 [MTD] NOR flash map driver for TI OMAP boards.
From: David Brownell, Jian Zhang <jzhang@ti.com>, Tony Lindgren
<tony@atomide.com> and others.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-06 12:25:04 +02:00
Nico Pitre
cbec19aeb3 [MTD] Add mapping driver for Intel PXA27x Mainstone board flash.
From: Nicolas Pitre <nico@cam.org>
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-06 12:22:16 +02:00
Thomas Gleixner
ba9fb37ba0 [MTD] NAND: Remove unmaintained tx49xx board drivers
The drivers are unmaintained since long and reference include files
which are not available in the kernel. Original author is not longer
responsible and no new maintainer showed up within 3 month.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-06 11:40:12 +02:00
Thomas Gleixner
0c80336e5e [MTD] NAND: sharpsl.c set correct file permissions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-06 11:28:27 +02:00
Thomas Gleixner
f8eb321bee [MTD] cfi_cmdset_0002: Remove bogus include
Including asm/hardware.h has to be done in linux/mtd/xip.h. Otherwise
it breaks allyes compiles.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-05 01:03:06 +02:00
Coywolf Qi Hunt
3a7a882420 [MTD] mtdchar: Return the real error code when create_class() failed
Signed-off-by: Coywolf Qi Hunt <coywolf@sosdg.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-04 20:49:54 +02:00
Todd Poynor
9bc7b38731 [MTD] mtdchar.c: Replace DEVFS by udev
Switch from DEVFS to udev for dynamic creation of device nodes for mtd
char devices.

Creates a new LDM class "mtd" with writeable and read-only devices
registered for each mtdchar device.

From: Paolo Galtieri <pgaltieri@mvista.com>
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-07-01 11:05:46 +02:00
Catalin Marinas
747aead34d [PATCH] ARM: 2780/1: AFS partition length calculation fix
Patch from Catalin Marinas

This patch calculates the AFS partition length by expanding the image
length information to the nearest erase block boundary. This
eliminates the problems with JFFS2 erasing the footer.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-06-30 23:01:09 +01:00
Thomas Gleixner
bd7bcf52da [MTD] NAND: Add ST chip IDs.
From: Domenico DI TULLIO <domenico.di-tullio@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:36:53 +02:00
?
af2c80e926 [MTD] ms02-nv: Fix 64bit operation
Replace KSEG1ADDR() with CKSEG1ADDR() as the former does not work for
64-bit configurations anymore.

Signed-off-by: Maciej W. Rozycki <macro@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:34:01 +02:00
Ben Dooks
a4f957f16d [MTD] NAND: s3c24xx updates
Fix error in timing generation, Tacls is only in the range 0..3

Add proper support for the s3c2440 NAND controller, which has now
been tested on several s3c2440 implementations.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:30:47 +02:00
Thomas Gleixner
d7e78d4f21 [MTD] NAND: Change exports to _GPL
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:27:41 +02:00
Thomas Gleixner
c9e0536523 [MTD] NAND: Fix broken bad block table scan
Make the bad block table search functional again

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:24:41 +02:00
Joern Engel
be76c5fb40 [MTD] Fix commandline parser alignement
Add alignment to cmdline.

From: "Timofei V. Bondarenko" <tim@ipi.ac.ru>
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:20:23 +02:00
Todd Poynor
02b15e343a [MTD] XIP for AMD CFI flash.
Author: Vitaly Wool <vwool@ru.mvista.com>
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:18:40 +02:00
Thomas Gleixner
0dfc62465e [MTD] NAND: Reorganize chip locking
The code was wrong in several aspects. The locking order was
inconsistent, the device aquire code did not reset a variable
after a wakeup and the wakeup handling was not working for
applications where multiple chips are sharing a single
hardware controller.
When a hardware controller is available the locking is now
reduced to the hardware controller lock and the waitqueue is
moved to the hardware controller structure in order to avoid
a wake_up_all().

The problem was pointed out by Ben Dooks, who also found the
missing variable reset as main cause for his deadlock problem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:15:17 +02:00
Dominik Brodowski
11d28a3021 [PATCH] pcmcia: id_table for pcmciamtd.c
Add pcmcia_device_id table to pcmciamtd.  The binding of anonymus cards (i.e.
those who do neither report MANFID, CARDID, FUNCID nor product strings) is
protected by a new config option.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:13 -07:00
Nicolas S. Dade
f1f67a9874 [MTD] NAND: Add Hynix to manufacturer list
Signed-off-by: Nicolas S. Dade <daden@symbol.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-27 10:40:27 +02:00
Thomas Gleixner
22fd9a8750 [MTD] cfi_cmdset_0002: Fix broken status check
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-24 15:33:49 +02:00
Eric W. Biedermann
fb4a90bfcd [MTD] CFI-0002 - Improve error checking
Check for errors besides infinite loops when writing and erasing.

Signed-off-by: Eric W. Biederman <ebiederman@lnxi.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:22:11 +02:00
Nicolas Pitre
6da70124a1 [MTD] CFI flash locking reorg for XIP
This reworks the XIP locking to make sure no lock primitive is ever
called from XIP disabled paths even if in theory they should not
cause any reschedule.  Relying on the current spinlock implementation
is rather fragile and not especially clean from an abstraction pov.
The recent RT work makes it even more obvious.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:21:35 +02:00
Thomas Gleixner
90e260c84f [MTD] NAND: Honour autoplacement schemes supplied by the caller
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:20:45 +02:00
Todd Poynor
c25bb1f59c [MTD] CFI DEBUG_LOCK_BITS fixes for Intel NOR flash:
adjust chip-relative offsets to
block address, write to block address + 2 per recent datasheets.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:18:44 +02:00
Joern Engel
c13cbf3b50 [MTD] mtdram: Quick cleanup of the driver:
- Lindent
- Removal of slram/phram functionality
- Removal of most #ifdefs

Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:18:26 +02:00
Jarkko Lavinen
0a18cde60f [MTD] NAND: Fix the broken dynamic array allocations
Reverting the change from 1.136 to 1.137 (back to static allocation of ecc
arrays) due to stack corruption and ecc errors.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:17:30 +02:00
Dan Brown
abc37e6771 [MTD] DiskOnChip: Add some comments
Add helpful comment about oobfree so I can't claim two years from 
now that I don't remember what I was thinking.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:11:44 +02:00
Dan Brown
7e4a1d3e6a [MTD] DiskOnChip: Fix compile w/o CONFIG_MTD_PARTITIONS.
Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:11:16 +02:00
Dan Brown
dff5942198 [MTD] DiskOnChip: Prevent problems with existing filesystems
Try not to break existing jffs2 installs, instead break oobfree into 
two out-of-order pieces.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:57 +02:00
Dan Brown
82e1d19fc3 [MTD] NAND: Fix reading of autoplaced OOB when there are multiple free sections.
Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:30 +02:00
Dan Brown
e5a3e8ca94 [MTD] DiskOnChip: Fix (?) free OOB array info.
I really hope this doesn't break something.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:04 +02:00
Thomas Gleixner
22c60f5fb7 [MTD] NAND: Move the NULL check into the calling function
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:09:10 +02:00
Dan Brown
bb75ba4c44 [MTD] NAND: Fix missing NULL pointer check
Version 1.137 broke nand_read_ecc clients who pass NULL oobsel.  Fixed.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:08:47 +02:00
Nicolas Pitre
dce2b4da69 [MTD] Fix OTP for top-parameter devices
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:07:50 +02:00
Nicolas Pitre
81dba48879 [MTD] Reset file position when switching OTP mode
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:07:33 +02:00