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>
Ben Dooks [Tue, 18 Jan 2005 11:13:50 +0000 (11:13 +0000)]
[MTD] bast-flash partitions fixup
Ensure the whole device is added if there are no partitions found on the
device, so that at least the flash can be read/written.
Replace some of the constants with their SZ_xxx counterparts
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Mon, 17 Jan 2005 19:44:39 +0000 (19:44 +0000)]
[MTD] Renesas AG-AND device recovery
Add routine to perform device recovery (deplete) procedure.
Clean up some compiler warnings.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Mon, 17 Jan 2005 18:35:25 +0000 (18:35 +0000)]
[MTD] NAND workaround for AG-AND disturb issue. AG-AND recovery
Added workaround for Renesas AG-AND chips "disturb" issue
for Bad Block Table.
Added support for the device recovery command sequence
for Renesas AG-AND chips.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
David A. Marlin [Mon, 17 Jan 2005 18:29:21 +0000 (18:29 +0000)]
[MTD] NAND extended commands, badb block table autorefresh
Added extended commands for AG-AND device and added
option for BBT_AUTO_REFRESH.
Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Herbert Valerio Riedel [Mon, 17 Jan 2005 13:47:24 +0000 (13:47 +0000)]
[MTD] FTL Fix missing pointer assignment
For the case that mtd partitions are enabled it would cause a 0-pointer
dereferencing in mtdpart.c:mtd_erase_callback()
Signed-off-by: Herbert Valerio Riedel <hvr@inso.tuwien.ac.at>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Josh Boyer [Thu, 6 Jan 2005 21:16:45 +0000 (21:16 +0000)]
[MTD] slram driver cleanup
Add error checks to read/write functions and add an eraseblock size.
Makes slram a suitable device for JFFS2.
Signed-off-by: Josh Boyer <jdub@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Linus Torvalds [Wed, 18 May 2005 22:39:33 +0000 (15:39 -0700)]
[PATCH] prevent NULL mmap in topdown model
Prevent the topdown allocator from allocating mmap areas all the way
down to address zero.
We still allow a MAP_FIXED mapping of page 0 (needed for various things,
ranging from Wine and DOSEMU to people who want to allow speculative
loads off a NULL pointer).
Tested by Chris Wright.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Wed, 18 May 2005 23:37:46 +0000 (16:37 -0700)]
Merge ... /linux/kernel/git/gregkh/driver-2.6.git/
Stephen Tweedie [Wed, 18 May 2005 15:47:17 +0000 (11:47 -0400)]
[PATCH] Avoid console spam with ext3 aborted journal.
Avoid console spam with ext3 aborted journal.
ext3 usually reports error conditions that it detects in its environment.
But when its journal gets aborted due to such errors, it can sometimes
continue to report that condition forever, spamming the console to such
an extent that the initial first cause of the journal abort can be lost.
When the journal aborts, we put the filesystem into readonly mode. Most
subsequent filesystem operations will get rejected immediately by checks
for MS_RDONLY either in the filesystem or in the VFS. But some paths do
not have such checks --- for example, if we continue to write to a file
handle that was opened before the fs went readonly. (We only check for
the ROFS condition when the file is first opened.) In these cases, we
can continue to generate log errors similar to
EXT3-fs error (device $DEV) in start_transaction: Journal has aborted
for each subsequent write.
There is really no point in generating these errors after the initial
error has been fully reported. Specifically, if we're starting a
completely new filesystem operation, and the filesystem is *already*
readonly (ie. the ext3 layer has already detected and handled the
underlying jbd abort), and we see an EROFS error, then there is simply
no point in reporting it again.
Signed-off-by: Stephen Tweedie <sct@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Tweedie [Wed, 18 May 2005 15:22:31 +0000 (11:22 -0400)]
[PATCH] Fix filp being passed through raw ioctl handler
Don't pass meaningless file handles to block device ioctls.
The recent raw IO ioctl-passthrough fix started passing the raw file
handle into the block device ioctl handler. That's unlikely to be
useful, as the file handle is actually open on a character-mode raw
device, not a block device, so dereferencing it is not going to yield
useful results to a block device ioctl handler.
Previously we just passed NULL; also not a value that can usefully
be dereferenced, but at least if it does happen, we'll oops instead of
silently pretending that the file is a block device, so NULL is the more
defensive option here. This patch reverts to that behaviour.
Noticed by Al Viro.
Signed-off-by: Stephen Tweedie <sct@redhat.com>
Acked-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Brownell [Thu, 12 May 2005 19:06:27 +0000 (12:06 -0700)]
[PATCH] Driver Core: remove driver model detach_state
The driver model has a "detach_state" mechanism that:
- Has never been used by any in-kernel drive;
- Is superfluous, since driver remove() methods can do the same thing;
- Became buggy when the suspend() parameter changed semantics and type;
- Could self-deadlock when called from certain suspend contexts;
- Is effectively wasted documentation, object code, and headspace.
This removes that "detach_state" mechanism; net code shrink, as well
as a per-device saving in the driver model and sysfs.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Brownell [Mon, 9 May 2005 15:07:00 +0000 (08:07 -0700)]
[PATCH] Driver Core: pm diagnostics update, check for errors
This patch includes various tweaks in the messaging that appears during
system pm state transitions:
* Warn about certain illegal calls in the device tree, like resuming
child before parent or suspending parent before child. This could
happen easily enough through sysfs, or in some cases when drivers
use device_pm_set_parent().
* Be more consistent about dev_dbg() tracing ... do it for resume() and
shutdown() too, and never if the driver doesn't have that method.
* Say which type of system sleep state is being entered.
Except for the warnings, these only affect debug messaging.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg KH [Thu, 5 May 2005 18:57:25 +0000 (11:57 -0700)]
[PATCH] PCI: add MODALIAS to hotplug event for pci devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>