Commit Graph

1349 Commits

Author SHA1 Message Date
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
fff7afd791 [JFFS2] Convert thread start semaphore to completion
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:21:14 +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
Artem B. Bityuckiy
a69dde91e8 [JFFS2] Kill GC thread before cleanup
First kill GC thread, then start clearing the internal structures

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:20:19 +02:00
Artem B. Bityuckiy
4132ace8d6 [JFFS2] Suppress annoying debug messages
Embrace uneeded messages in D1().

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:20:00 +02:00
Artem B. Bityuckiy
8cd7921667 [JFFS2] Fix NOR only compile
Fix the bug that caouses problems when compiling for NOR.
We read  a newly erased block so we don't need to check ECC.

Define jffs2_is_writebuffered as zero if there is no wbuf.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:19:07 +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
David Woodhouse
7d200960d4 [JFFS2] Fix inode allocation race
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:17:49 +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
Thomas Gleixner
65c6e0a657 [MTD] Fix broken user ABI
Move kernel data where it belongs. Previous change broke user abi.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:17:11 +02:00
Artem B. Bityuckiy
8557fd51c2 [JFFS2] Fix race in garbage collector
Fix the race problem described here:
http://lists.infradead.org/pipermail/linux-mtd/2005-April/012361.html

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:16:47 +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
Artem B. Bityuckiy
6f401a40b5 [JFFS2] Add KERN_DEBUG level to printks
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:09:44 +02:00
Artem B. Bityuckiy
894214d1a7 [JFFS2] Fix race problems with wbuf.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:09:29 +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
Thomas Gleixner
998cf6403c [MTD] NAND: Fix oob available calculation
Use oobfree to calculate the number of oob bytes available for fs usage

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:07:14 +02:00
Nicolas Pitre
963a6fb0a0 [MTD] Add reboot notifier to Intel NOR flash driver
to make sure the flash is in array mode whenever we're about to
reboot. This is especially useful to allow "soft" reboot to work
which consists of branching back into the bootloader.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:06:28 +02:00
Todd Poynor
8048d2fc38 [MTD] Avoid compile warnings for Intel CFI flash without OTP support.
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:06:01 +02:00
Todd Poynor
9a6e73ec49 [MTD] cfi_cmdset_0001: Skip delay if Instant Block Locking is set
Skip jiffy delay after each block lock/unlock for Intel CFI flash
with the "Instant Individual Block Locking" feature bit set.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:05:37 +02:00
Dan Brown
1a78ff6b41 [MTD] DiskOnChip: Scan the entire device for Media Headers.
Add a new module param, show_firmware_partition.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:04:36 +02:00
Artem B. Bityuckiy
15fc108606 [MTD] NAND: Use arrays of needed size instead of constant-sized.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:04:06 +02:00
Richard Purdie
8f5a4486c0 [MTD] sharpsl-flash: Correct error paths
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:03:41 +02:00
Richard Purdie
ba38069875 [MTD] Add support for more SharpSL machines and fix missing mapping init
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:03:24 +02:00
Artem B. Bityuckiy
3cceb9f6cf [JFFS2] Prevent deadlock when flushing write buffer
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:03:04 +02:00
Artem B. Bityuckiy
437316d9b5 [JFFS2] Forbid to free inode_cache objects if its nlink isn't zero.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:02:39 +02:00
Artem B. Bityuckiy
a42163d7c3 [JFFS2] Improve garbage collector block selection
Make sure the erase_pending_wbuf_list's blocks are taken into account
when picking the block to GC.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:01:25 +02:00
Thomas Gleixner
a921e28b4b [MTD] plat-ram: Make it usable on non ARM platforms
Use memset instead of ARM only memzero function

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:00:41 +02:00
Thomas Gleixner
cc71229ff3 [MTD] block2mtd: Fix incompatible pointer type
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:00:18 +02:00
Thomas Gleixner
50da7f6096 [MTD] cfi_cmdset_0001: Fix compiler warnings
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:59:55 +02:00
Artem B. Bityuckiy
515022870f [MTD] NAND nandsim: Use NAND_SKIP_BBT option
Use the new NAND_SKIP_BBT option instead of defining a fake scan_bbt
handler.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:59:33 +02:00
Lennert Buytenhek
167e1770e5 [MTD] ixp2000: Remove port setting code
Setting the slowport to 8-bit mode is something that ought to be
done in the IXP2000 generic code, not in the MTD map driver.  See
the description for ARM patch 2493/1 for an explanation.

http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=2493/1

Now that 2493/1 has been accepted and will be upstream soon, this
doesn't need to be done in the map driver anymore.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:58:49 +02:00
Domen Puncer
ff3bc4eb94 [MTD] Kernel Janitor fixes.
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:57:48 +02:00
Artem B. Bityuckiy
4d9527096e [JFFS2] Use function to manipulate superblock dirty flag
Use the corresponding function to mark Superblock dirty instead
of doing it directly.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:57:27 +02:00
Thomas Gleixner
3c45e00afc [MTD] Fix typo in Kconfig
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:56:24 +02:00
Ben Dooks
3e4ef3bb77 [MTD] NAND s3c2410: Simplify command handling
Updated with tglx's suggestion to simply the command invocation by
simply changing the address of the IO write area

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:55:50 +02:00
Nicolas Pitre
09c7933547 [MTD] cfi_cmdset_0001: Fix state after sync
oldstate has to be reset to FL_READY after sync completion.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:54:48 +02:00
Thomas Gleixner
3a70025047 [MTD] cfi_cmdset_0001: Fix the buggy status check.
The change makes the code endianess aware and replaces the bogus 
nested loop to or the status flags together.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:53:47 +02:00
Thomas Gleixner
c927cd3a22 [MTD] Add the reverse operation of cfi_build_cmd()
This is necessary to fix the broken status check in cfi_cmdset_0001

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:53:05 +02:00
Ben Dooks
fb6bb52ddd [MTD] plat-ram: removed extraneous debugging code
removed define of DEBUG
removed extraneous debugging code

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:52:23 +02:00
Ben Dooks
3b946e3f3d [MTD] NAND: Fixed unused loop variable
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:51:48 +02:00
Ben Dooks
0514cd9380 [MTD] Fixed signed 1bit bitfield
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:51:30 +02:00