Thomas Gleixner [Fri, 20 May 2005 21:37:15 +0000 (22:37 +0100)]
[JFFS2] Fix cleanup in case of GC-Task not started
Do not call wait_for_completion, when the gc task is not there.
Prevent an oops when the gc thread was not started.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Eric W. Biedermann [Fri, 20 May 2005 03:28:26 +0000 (04:28 +0100)]
[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>
Nicolas Pitre [Thu, 19 May 2005 17:05:47 +0000 (18:05 +0100)]
[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>
Thomas Gleixner [Thu, 19 May 2005 16:18:11 +0000 (17:18 +0100)]
[JFFS2] Convert thread start semaphore to completion
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Thu, 19 May 2005 16:10:26 +0000 (17:10 +0100)]
[MTD] NAND: Honour autoplacement schemes supplied by the caller
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Wed, 18 May 2005 11:37:28 +0000 (12:37 +0100)]
[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>
Artem B. Bityuckiy [Fri, 6 May 2005 09:30:30 +0000 (10:30 +0100)]
[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>
Artem B. Bityuckiy [Tue, 3 May 2005 15:19:02 +0000 (16:19 +0100)]
[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>
Todd Poynor [Wed, 27 Apr 2005 20:01:52 +0000 (21:01 +0100)]
[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>
Joern Engel [Thu, 21 Apr 2005 03:42:15 +0000 (04:42 +0100)]
[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>
David Woodhouse [Wed, 13 Apr 2005 13:22:38 +0000 (14:22 +0100)]
[JFFS2] Fix inode allocation race
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Jarkko Lavinen [Mon, 11 Apr 2005 14:16:11 +0000 (15:16 +0100)]
[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>
Thomas Gleixner [Mon, 11 Apr 2005 10:19:05 +0000 (11:19 +0100)]
[MTD] Fix broken user ABI
Move kernel data where it belongs. Previous change broke user abi.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Sat, 9 Apr 2005 10:47:03 +0000 (11:47 +0100)]
[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>
Dan Brown [Thu, 7 Apr 2005 14:22:58 +0000 (15:22 +0100)]
[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>
Dan Brown [Thu, 7 Apr 2005 13:39:17 +0000 (14:39 +0100)]
[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>
Dan Brown [Wed, 6 Apr 2005 20:14:22 +0000 (21:14 +0100)]
[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>
Dan Brown [Wed, 6 Apr 2005 20:13:09 +0000 (21:13 +0100)]
[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>
Dan Brown [Wed, 6 Apr 2005 18:10:24 +0000 (19:10 +0100)]
[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>
Artem B. Bityuckiy [Wed, 6 Apr 2005 16:02:55 +0000 (17:02 +0100)]
[JFFS2] Add KERN_DEBUG level to printks
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Tue, 5 Apr 2005 12:51:58 +0000 (13:51 +0100)]
[JFFS2] Fix race problems with wbuf.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Mon, 4 Apr 2005 18:56:32 +0000 (19:56 +0100)]
[MTD] NAND: Move the NULL check into the calling function
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Dan Brown [Mon, 4 Apr 2005 18:02:26 +0000 (19:02 +0100)]
[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>
Nicolas Pitre [Fri, 1 Apr 2005 16:36:29 +0000 (17:36 +0100)]
[MTD] Fix OTP for top-parameter devices
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Fri, 1 Apr 2005 15:36:15 +0000 (16:36 +0100)]
[MTD] Reset file position when switching OTP mode
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Fri, 1 Apr 2005 07:21:48 +0000 (08:21 +0100)]
[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>
Nicolas Pitre [Fri, 1 Apr 2005 01:59:56 +0000 (02:59 +0100)]
[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>
Todd Poynor [Wed, 30 Mar 2005 23:57:33 +0000 (00:57 +0100)]
[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>
Todd Poynor [Tue, 29 Mar 2005 22:06:40 +0000 (23:06 +0100)]
[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>
Dan Brown [Tue, 29 Mar 2005 20:57:48 +0000 (21:57 +0100)]
[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>
Artem B. Bityuckiy [Thu, 24 Mar 2005 14:33:26 +0000 (14:33 +0000)]
[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>
Richard Purdie [Mon, 21 Mar 2005 08:42:14 +0000 (08:42 +0000)]
[MTD] sharpsl-flash: Correct error paths
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Richard Purdie [Mon, 21 Mar 2005 00:10:24 +0000 (00:10 +0000)]
[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>
Artem B. Bityuckiy [Sun, 20 Mar 2005 21:43:26 +0000 (21:43 +0000)]
[JFFS2] Prevent deadlock when flushing write buffer
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Sun, 20 Mar 2005 17:46:23 +0000 (17:46 +0000)]
[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>
Artem B. Bityuckiy [Sun, 20 Mar 2005 17:45:29 +0000 (17:45 +0000)]
[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>
Thomas Gleixner [Sat, 19 Mar 2005 22:41:30 +0000 (22:41 +0000)]
[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>
Thomas Gleixner [Sat, 19 Mar 2005 22:40:47 +0000 (22:40 +0000)]
[MTD] block2mtd: Fix incompatible pointer type
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Sat, 19 Mar 2005 22:39:52 +0000 (22:39 +0000)]
[MTD] cfi_cmdset_0001: Fix compiler warnings
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Sat, 19 Mar 2005 15:33:59 +0000 (15:33 +0000)]
[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>
Lennert Buytenhek [Fri, 18 Mar 2005 14:07:49 +0000 (14:07 +0000)]
[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>
Domen Puncer [Fri, 18 Mar 2005 14:04:38 +0000 (14:04 +0000)]
[MTD] Kernel Janitor fixes.
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Fri, 18 Mar 2005 09:58:09 +0000 (09:58 +0000)]
[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>
Thomas Gleixner [Fri, 18 Mar 2005 02:07:24 +0000 (02:07 +0000)]
[MTD] Fix typo in Kconfig
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Thu, 17 Mar 2005 11:31:30 +0000 (11:31 +0000)]
[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>
Nicolas Pitre [Wed, 16 Mar 2005 22:41:09 +0000 (22:41 +0000)]
[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>
Thomas Gleixner [Tue, 15 Mar 2005 19:07:21 +0000 (19:07 +0000)]
[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>
Thomas Gleixner [Tue, 15 Mar 2005 19:03:16 +0000 (19:03 +0000)]
[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>
Ben Dooks [Mon, 14 Mar 2005 20:33:22 +0000 (20:33 +0000)]
[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>
Ben Dooks [Mon, 14 Mar 2005 18:30:48 +0000 (18:30 +0000)]
[MTD] NAND: Fixed unused loop variable
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Mon, 14 Mar 2005 18:27:18 +0000 (18:27 +0000)]
[MTD] Fixed signed 1bit bitfield
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Joern Engel [Mon, 7 Mar 2005 21:43:42 +0000 (21:43 +0000)]
[MTD] phram: Allow short reads.
Jffs2 apparently needs this.
Accept newline at the end of input.
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Joern Engel [Mon, 7 Mar 2005 20:29:09 +0000 (20:29 +0000)]
[MTD] block2mtd: Remove copyright. Fix offset calculation
- Remove Gareth from the Copyrights (at his own request)
- Fix the "fscking embarrassment"
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David Vrabel [Wed, 2 Mar 2005 14:51:08 +0000 (14:51 +0000)]
[MTD] Remove Elan-104NC
Remove support for the Arcom Elan-104NC since it's no longer being maintained.
Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Tue, 1 Mar 2005 10:50:52 +0000 (10:50 +0000)]
[JFFS2] Add symlink caching support.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Tue, 1 Mar 2005 09:32:48 +0000 (09:32 +0000)]
[MTD] NAND: Use cond_resched instead of msleep
Replace msleep by cond_resched. On machines with HZ=100 (e.g. ARM)
msleep slows down the operation by factor 10
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Mon, 28 Feb 2005 08:21:09 +0000 (08:21 +0000)]
[JFFS2] Fix NOR specific scan BUG
Fix fairly sad NOR-specific bug - during FS building ic->scan_dents
isn't zero, but jffs2_mark_node_obsolete() migt be called it tries to
finde the ic corresponding to ref - this requires ic->scan_dents = 0.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David Woodhouse [Sun, 27 Feb 2005 23:01:36 +0000 (23:01 +0000)]
[JFFS2] Prevent ino cache removal for inodes in use
Don't remove inocache for inodes which are in read_inode() or
clear_inode() until they're done.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Pete Popov [Sun, 27 Feb 2005 21:50:25 +0000 (21:50 +0000)]
[MTD] Replace all the Au1x mapping drivers with a simplified single driver
This driver does not have as many options but it's easier to maintain.
And, it turns out AMD never shipped boards with different flash densities.
Signed-off-by: Pete Popov <ppopov@pacbell.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Joern Engel [Wed, 23 Feb 2005 19:37:11 +0000 (19:37 +0000)]
[MTD] Use after free, found by the Coverity tool
Signed-off-by: Alexander Nyberg <alexn@dsv.su.se>
Signed-off-by: Joern Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Tue, 22 Feb 2005 21:56:49 +0000 (21:56 +0000)]
[MTD] NAND: Check command timeout
Check timeout while we wait for the command to finish. No worry about a
false result. This prevents deadlocking when detecting an unknown number
of chips and is useful for removable media too.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Tue, 22 Feb 2005 21:48:25 +0000 (21:48 +0000)]
[MTD] DiskOnChip: Wait for the command to finish.
Do not use the ready function here, as it might hang for ever.
The result will show, whether the chip is there or not
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Fri, 18 Feb 2005 14:46:15 +0000 (14:46 +0000)]
[MTD] Sparse fixes
Fix sparse errors due to lack of address-space markers
Updated header comments
Small re-format of initialiser
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Fri, 18 Feb 2005 14:34:54 +0000 (14:34 +0000)]
[MTD] Fix unregister_mtd_user() public function documentation.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Fri, 18 Feb 2005 11:03:48 +0000 (11:03 +0000)]
[MTD] Update BAST driver configuration
update the BAST driver config (which already supports the vr1000) to
be selected only if the vr1000 has been configured
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Thu, 17 Feb 2005 20:35:04 +0000 (20:35 +0000)]
[MTD] Make OTP actually work.
The OTP code is rather broken without this.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Thu, 17 Feb 2005 17:51:17 +0000 (17:51 +0000)]
[JFFS2] Fix node lookup
Look the ref->next_phys field instead of ->next_in_ino to determine
if the block has more then one node.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Wed, 16 Feb 2005 17:09:39 +0000 (17:09 +0000)]
[MTD] NAND: Fix bad block table scan for small page devices
Scan 1st and 2nd pages of SP devices for BB marker by default.
Fix more then one page scanning in create_bbt.c.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Wed, 16 Feb 2005 15:55:03 +0000 (15:55 +0000)]
[MTD] Quiet unused variable warning
Signed-off-by: Nioclas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Kyungmin Park [Wed, 16 Feb 2005 09:39:39 +0000 (09:39 +0000)]
[MTD] NAND: Early Manufacturer ID lookup
Move manufacturer ID search to display correct ID in case of buswidth
mismatch.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Mon, 14 Feb 2005 16:30:35 +0000 (16:30 +0000)]
[MTD] Add SST 39VF1601 (MPF+) ID
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Mon, 14 Feb 2005 16:27:38 +0000 (16:27 +0000)]
[MTD] Fixup probing logic for single 16bit devices
The change to the generic probe to look for the
smallest width of chip first is causing some problems
on boards with a single 16bit device.
The problem seems to be the jedec_match() is truncating
the device-id read from the table to match against the
one read from the hardware, causing a match against the
partial id of some chips with 16bit IDs (such as the
SST39LF160)
This fixes things for my own board, but something may
need to be done if the same problem is exhibited for
chips with an 8bit ID
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Fri, 11 Feb 2005 10:14:15 +0000 (10:14 +0000)]
[MTD] NAND: Read only OOB bytes during bad block scan
When scanning NAND for bad blocks, don't read the whole page, read
only needed OOB bytes instead. Also check the return code of the
nand_read_raw() function. Correctly free the this->bbt array in
case of failure. Tested with Large page NAND.
Fix debugging message.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Artem B. Bityuckiy [Wed, 9 Feb 2005 14:50:00 +0000 (14:50 +0000)]
[MTD] NAND: Allow operation without bad block table
Small bugfix. Sometimes it may be handy not to have bbt.
So, this->bbt might be NULL.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Wed, 9 Feb 2005 12:20:00 +0000 (12:20 +0000)]
[MTD] NAND: Skip bad block table scan on request
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Andrew Victor [Wed, 9 Feb 2005 09:24:26 +0000 (09:24 +0000)]
[JFFS2] Use a single config option for write buffer support
This patch replaces the current CONFIG_JFFS2_FS_NAND, CONFIG_JFFS2_FS_NOR_ECC
and CONFIG_JFFS2_FS_DATAFLASH with a single configuration option -
CONFIG_JFFS2_FS_WRITEBUFFER.
The only functional change of this patch is that the slower div/mod
calculations for SECTOR_ADDR(), PAGE_DIV() and PAGE_MOD() are now always
used when CONFIG_JFFS2_FS_WRITEBUFFER is enabled.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Andrew Victor [Wed, 9 Feb 2005 09:17:45 +0000 (09:17 +0000)]
[JFFS2] Add support for JFFS2-on-Dataflash devices.
For Dataflash, can_mark_obsolete = false and the NAND write buffering
code (wbuf.c) is used.
Since the DataFlash chip will automatically erase pages when writing,
the cleanmarkers are not needed - so cleanmarker_oob = false and
cleanmarker_size = 0
DataFlash page-sizes are not a power of two (they're multiples of 528
bytes). The SECTOR_ADDR macro (added in the previous core patch) is
replaced with a (slower) div/mod version if CONFIG_JFFS2_FS_DATAFLASH is
selected.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Andrew Victor [Wed, 9 Feb 2005 09:09:05 +0000 (09:09 +0000)]
[JFFS2] Core changes required to support JFFS2-on-Dataflash devices.
DataFlash page-sizes are not a power of two (they're multiples of 528
bytes). There are a few places in JFFS2 code where sector_size is used
as a bitmask. A new macro (SECTOR_ADDR) was defined to calculate these
sector addresses. For non-DataFlash devices, the original (faster)
bitmask operation is still used.
In scan.c, the EMPTY_SCAN_SIZE was a constant of 1024.
Since this could be larger than the sector size of the DataFlash, this
is now basically set to MIN(sector_size, 1024).
Addition of a jffs2_is_writebuffered() macro.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Tue, 8 Feb 2005 19:12:53 +0000 (19:12 +0000)]
[MTD] Unabuse file-f_mode for OTP purpose
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Tue, 8 Feb 2005 17:45:55 +0000 (17:45 +0000)]
[MTD] User interface to Protection Registers
This is implemented using a ioctl to switch the MTD char device into
one of the different OTP "modes", at which point read/write/seek can
operate on the selected OTP area. Also some extra ioctls to query
for size and lock protection segments or groups. Some example user
space utilities are provided.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Tue, 8 Feb 2005 17:11:19 +0000 (17:11 +0000)]
[MTD] Support for protection register support on Intel FLASH chips
This enables support for reading, writing and locking so called
"Protection Registers" present on some flash chips.
A subset of them are pre-programmed at the factory with a
unique set of values. The rest is user-programmable.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Estelle Hammache [Sat, 5 Feb 2005 18:23:40 +0000 (18:23 +0000)]
[JFFS2] Prevent deadlock during write buffer recovery
Prevent deadlock when checking erased block for
space allocation during wbuf recovery.
Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Nicolas Pitre [Sat, 5 Feb 2005 02:06:19 +0000 (02:06 +0000)]
[MTD] Add OTP basisc
add structure definition for OTP region info
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Jonas Holmberg [Fri, 4 Feb 2005 07:43:13 +0000 (07:43 +0000)]
[MTD] amd_flash: Fix chip ID clash
* Removed table entry for AM29BDS643D, since device ID clashes with AM29DL640G
and both chips support CFI.
Signed-off-by: Jonas Holmberg <jonas.holmberg@axis.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David Woodhouse [Wed, 2 Feb 2005 22:12:08 +0000 (22:12 +0000)]
[JFFS2] Remove NAND dependencies for NOR FLASH
make NAND code work on NOR flash again
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Mon, 31 Jan 2005 22:22:24 +0000 (22:22 +0000)]
[MTD] DiskOnChip: big endian fix for NFTL devices
Make NFTL devices work on big endian machines.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Mon, 31 Jan 2005 22:21:18 +0000 (22:21 +0000)]
[MTD] DiskOnChip code cleanup
Remove commented ugliness
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Mon, 31 Jan 2005 20:36:46 +0000 (20:36 +0000)]
[MTD] DiskOnChip use CONFIG_ options instead of random symbols
Using the CONFIG_ options from KConfig seems to work better :8
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Estelle Hammache [Fri, 28 Jan 2005 18:53:05 +0000 (18:53 +0000)]
[JFFS2] Code cleanup
Code beautification and block filing correction for optimization.
Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Russell King [Mon, 24 Jan 2005 23:49:54 +0000 (23:49 +0000)]
[MTD] Fix MTD device probing
Try larger numbers of chips before smaller
numbers of chips across the bus width.
This means we'll avoid misdetecting a 2 x16 array as 1 x32 if the
high 16-bits happen to read as zeros in the QRY area.
Signed-off-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Estelle Hammache [Mon, 24 Jan 2005 21:30:25 +0000 (21:30 +0000)]
[JFFS2] Fix refile of blocks due to write failure.
avoid segfault when nextblock was refiled because of a write failure
- avoid filing blocks on the clean list when they have wasted
space
Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Estelle Hammache [Mon, 24 Jan 2005 21:24:18 +0000 (21:24 +0000)]
[JFFS2] Fix block refiling
- block refiling when writing directly to flash a buffer
which is bigger than wbuf
- retry cases for flushing wbuf
Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Estelle Hammache [Mon, 24 Jan 2005 21:13:42 +0000 (21:13 +0000)]
[JFFS2] Fix write buffer retry case
Correction of retry case to avoid silent failure of rmdir
when jffs2_wbuf_recover GCs the previous entry (+ corresponding
dnode case).
Signed-off-by: Estelle Hammache <estelle.hammache@st.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Mon, 24 Jan 2005 20:40:15 +0000 (20:40 +0000)]
[MTD] rtc_from4 error status check, disable virtual erase blocks
Added routine to perform extra error status checks on erase and write
failures to determine if errors are correctable.
Added option to prevent JFFS2 from using virtual erase blocks.
Performed minor cleanup on whitespace and comments.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Mon, 24 Jan 2005 03:07:46 +0000 (03:07 +0000)]
[MTD] NAND Add optional ECC status check callback
Add optional hardware specific callback routine to perform extra error
status checks on erase and write failures for devices with hardware ECC.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Ben Dooks [Mon, 24 Jan 2005 00:37:04 +0000 (00:37 +0000)]
[MTD] Platform RAM Driver
Driver for generic RAM blocks which are exported by an platform_device
from the device driver system.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Sun, 23 Jan 2005 18:30:53 +0000 (18:30 +0000)]
[MTD] NAND use symbols instead of literals
Replace some literals with defined symbols.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Richard Purdie [Sun, 23 Jan 2005 11:09:22 +0000 (11:09 +0000)]
[MTD] NAND SharpSL fix default partition size
Correct Poodle default partition size
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Todd Poynor [Wed, 19 Jan 2005 19:22:04 +0000 (19:22 +0000)]
[JFFS2] Avoid warning for empty filesystems
Avoid "Eep. No valid nodes for ino #1" message for just-created filesystem.
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Tue, 18 Jan 2005 16:15:00 +0000 (16:15 +0000)]
[MTD] NAND replace yield
Replace yield by msleep. M.Wilcox stared at it and frowned
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>