summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-05-29[MTD] NAND Consolidate oobinfo handlingThomas Gleixner7-28/+9
The info structure for out of band data was copied into the mtd structure. Make it a pointer and remove the ability to set it from userspace. The position of ecc bytes is defined by the hardware and should not be changed by software. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-29[MTD] NAND Fix platform structure and NDFC driverThomas Gleixner3-6/+7
The platform structure was lacking an oobinfo field. The NDFC driver had some remains from another tree. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-29[MTD] Fix debug printk format warning in m25p80 SPI chip driver, again.Andrew Morton1-1/+1
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-29[MTD] AMD Geode NAND support can depend on X86_32; we won't see it on x86_64David Woodhouse1-1/+1
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-29[JFFS2] Preallocate raw_node_refs in a couple of missing places in scanDavid Woodhouse1-2/+7
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-29[JFFS2] Fix oops when marking space dirty in scan, but no previous node exists.David Woodhouse1-1/+1
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-27[JFFS2] Fix wbuf recovery of f->metadata->raw node.David Woodhouse1-1/+5
A data node might not be in the fraglist; it could be f->metadata. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-27[MTD] NAND Consolidate references and add back default name settingThomas Gleixner1-7/+10
We have a type pointer. Make use of it instead of the error prone nand_ids[i] reference. The NAND driver used to set default name settings from the chip ID string for the device. The feature got lost during the rework. Add it back. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-27[MTD] NAND simplify nand_chip_selectThomas Gleixner1-2/+0
nCE setting can be done when the first command is issued to the device. We keep the deselect functionality as it makes sense to deassert nCE when the device becomes idle. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-27[MTD] Fix thinko in nand_write_page_hwecc()David Woodhouse1-1/+1
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-27[JFFS2] Switch to using an array of jffs2_raw_node_refs instead of a list.David Woodhouse9-225/+351
This allows us to drop another pointer from the struct jffs2_raw_node_ref, shrinking it to 8 bytes on 32-bit machines (if the TEST_TOTLEN) paranoia check is turned off, which will be committed soon). Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-26[MTD] NAND modularize write functionThomas Gleixner7-548/+308
Modularize the write function and reorganaize the internal buffer management. Remove obsolete chip options and fixup all affected users. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-26[MTD] Remove PCI dependency for Geode CS553[56] NAND controller.David Woodhouse2-4/+31
PCI is faked on these devices by SMM traps. Don't depend on that -- check for the chipset directly instead. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[JFFS2] Fix 64-bit size_t problems in XATTR code.David Woodhouse2-15/+15
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[MTD] Fix NAND_VERIFY_WRITE case to build with tglx's recent changesDavid Woodhouse1-4/+4
Bad tglx. No biscuit. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[MTD] Remove the only useless readv implementationThomas Gleixner2-33/+0
Removing readv from struct mtd_info broke block2mtd. Remove the reference and the useless default implementation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND Modularize read functionThomas Gleixner4-255/+275
Split the core of the read function out and implement seperate handling functions for software and hardware ECC. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND Add read/write function pointers to struct nand_ecc_ctrlThomas Gleixner1-0/+13
Add read/write function pointers to struct nand_ecc_ctrl to prepare the modulaization of nand_read/write functions. The current implementation handles every type of ecc mode software/hardware and all kinds of strange ecc placement schemes in one switch/if construct. Thats too complex to maintain and too inflexible to expand. Modularization will also shorten the code pathes of the read/write functions. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] Add ECC statistics to struct mtd_infoThomas Gleixner1-0/+14
FLASH - especially NAND FLASH - will become less reliable and bit flips more likely. Add an ECC statistics struct to struct mtd_info to keep track of this. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND Cleanup oob functionsThomas Gleixner1-75/+81
Cleanup the code in the oob related functions and make use of the new NO_READRDY flag. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND Introduce NAND_NO_READRDY optionThomas Gleixner2-77/+92
The nand driver has a superflous read ready / command delay in the read functions. This was added to handle chips which have an automatic read forward. Newer chips do not have this functionality anymore. Add this option to avoid the delay / I/O operation. Mark all large page chips with the new option flag. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND Initialize controller lock and wq only onceThomas Gleixner2-4/+9
The lock simplifying patch did not move the lock and waitqueue initialization into the controller allocation patch. This reinitializes waitqueue and spinlocks also for driver supplied controller stuctures. Move it into the allocation path. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[JFFS2] Fix and improve debugging output during scan.David Woodhouse2-5/+5
Print wasted_size in scanned eraseblocks, print range correctly for summary dirent and inode entries. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[JFFS2] Add 'jeb' argument to jffs2_prealloc_raw_node_refs()David Woodhouse7-14/+16
Preallocation of refs is shortly going to be a per-eraseblock thing, rather than per-filesystem. Add the required argument to the function. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[JFFS2] Correctly handle wasted space before summary node.David Woodhouse1-2/+2
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[JFFS2] jffs2_free_all_node_refs() doesn't free them all. Rename it.David Woodhouse4-5/+5
... to jffs2_free_jeb_node_refs() since that's what it does. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[JFFS2] Allocate node_ref for wasted space when skipping to page boundaryDavid Woodhouse1-5/+2
One more place where we were changing the accounting info without actually allocating a ref for the lost space... Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-25[MTD] NAND fix cmd_ctrl breakageThomas Gleixner1-5/+10
The cmd_ctrl rework lacks some state transition flags. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-25[MTD] NAND coding style and namespace cleanupThomas Gleixner1-534/+520
Cleanup the functions which are not going to change in the next steps. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-24[JFFS2] Revert Artem's Bunkage in debug messages.David Woodhouse1-2/+2
Random unthinking 'cleanup' caused debug messages like this: Obsoleting node at 0x0006daf4 of len 0x3a4: <7>Dirtying If messages are continuation of an existing line, they don't need to be prefixed with KERN_DEBUG. THINK. Or you will be replaced by a small shell script. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-24Merge branch 'master' of git://git.infradead.org/~gleixner/mtd-nand-2.6.gitDavid Woodhouse32-1515/+666
2006-05-24[JFFS2] Introduce ref_next() macro for finding next physical nodeDavid Woodhouse6-30/+31
Another part of the preparation for switching to an array... Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-24[JFFS2] Reduce visibility of raw_node_ref to upper layers of JFFS2 code.David Woodhouse12-349/+204
As the first step towards eliminating the ref->next_phys member and saving memory by using an _array_ of struct jffs2_raw_node_ref per eraseblock, stop the write functions from allocating their own refs; have them just _reserve_ the appropriate number instead. Then jffs2_link_node_ref() can just fill them in. Use a linked list of pre-allocated refs in the superblock, for now. Once we switch to an array, it'll just be a case of extending that array. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-24[MTD] NAND LED support cleanupThomas Gleixner1-2/+6
Move the define out of the middle of the code and add an appropriate comment. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-24[MTD] NAND remove write_byte/word function from nand_chipThomas Gleixner7-93/+14
The previous change of the command / hardware control allows to remove the write_byte/word functions completely, as their only user were nand_command and nand_command_lp. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-24[MTD] Refactor NAND hwcontrol to cmd_ctrlThomas Gleixner18-543/+430
The hwcontrol function enforced a step by step state machine for any kind of hardware chip access. Let the hardware driver know which control bits are set and inform it about a change of the control lines. Let the hardware driver write out the command and address bytes directly. This gives a peformance advantage for address bus controlled chips and simplifies the quirks in the hardware drivers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-24[MTD] Export nand_write_rawThomas Gleixner1-0/+1
The previous _ecc removal / cleanup broke (i)nftl module usage. Export the missing symbol. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-24[MTD] Mark NAND drivers TOTO and PPChameleon brokenThomas Gleixner1-2/+2
Both drivers can not be fixed and compiled due to missing header files. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] Remove read/write _ecc variantsThomas Gleixner15-404/+209
MTD clients are agnostic of FLASH which needs ECC suppport. Remove the functions and fixup the callers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] Remove readv/readv_eccThomas Gleixner4-37/+1
These functions were never implemented and added only bloat to partition and concat code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] Remove nand writev supportThomas Gleixner6-434/+3
NAND writev(_ecc) support is not longer necessary. Remove it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] ECC rework broke diskonchipThomas Gleixner1-1/+1
Fix the diskonchip ecc setup. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] NAND ECC hwctl function has no return valueThomas Gleixner1-1/+1
Fix the broken prototype Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23Merge branch 'master' of /home/tglx/work/kernel/git/mtd-2.6/Thomas Gleixner32-415/+357
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] NAND modularize ECCThomas Gleixner16-166/+131
First step of modularizing ECC support. - Move ECC related functionality into a seperate embedded data structure - Get rid of the hardware dependend constants to simplify new ECC models Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] NAND cleanup nand_scanThomas Gleixner1-174/+233
Seperate functionality out of nand_scan so the code is more readable. No functional change. First step of simplifying the nand driver. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] NAND consolidate data typesThomas Gleixner2-64/+64
The NAND driver used a mix of unsigned char, u_char amd uint8_t data types. Consolidate to uint8_t usage Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] NAND whitespace and formatting cleanupThomas Gleixner2-111/+96
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[JFFS2] Simplify writebuffer handlingThomas Gleixner1-170/+102
The writev based write buffer implementation was far to complex as in most use cases the write buffer had to be handled anyway. Simplify the write buffer handling and use mtd->write instead. From extensive testing no performance impact has been noted. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2006-05-23[MTD] Add support for NDFC NAND controllerThomas Gleixner4-0/+390
NDFC NAND Flash controller is embedded in PPC EP44x SoCs. Add platform driver based support. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>