| Age | Commit message (Collapse) | Author |
|
Move the architecture dependend code into include/asm/mtd-xip.h
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
inftl was assigned new major number 96, 94 is in use by dasd. See:
http://www.ussg.iu.edu/hypermail/linux/kernel/0409.2/1220.html
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Author: Vitaly Wool <vwool@ru.mvista.com>
Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
Signed-off-by: Nicolas S. Dade <daden@symbol.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
tglx declares him self to be the idiot of the day.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
map_word_ff() was setting the mapword to ~0UL regardless of the
buswidth of the mapped flash chip. The read_map functions are
buswidth aware and therefor the map_word_equal function failed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Move kernel data where it belongs. Previous change broke user abi.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
This is necessary to fix the broken status check in cfi_cmdset_0001
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Nioclas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
add structure definition for OTP region info
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
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>
|
|
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>
|
|
Let the CVS idents catch up where changes have been made upstream.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
The patch below fixes a small but fatal bug in the code that handles
non-buswidth-aligned writes. The problem is that the code used the same
index in both map_word and buf, therefore putting the wrong words in the
map_word that partially contains old data and partially contains new
data. The result: corrupt data is being written.
Signed-off-by: Koen Martens <kmartens@sonologic.nl>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
into shinybook.infradead.org:/home/dwmw2/bk/mtd-2.6
|
|
some trivial iomem annotations were still missing
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
People insist on turning stuff on which doesn't make sense. Make it compile
in the case where the platform doesn't provide the necessary XIP primitives.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
- Support 2048-byte HW ECC (from Juha Yrjölä <juha.yrjola@nokia.com>)
- Allow board drivers to provide pattern for bad block scanning
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
This allows for MTD support to be used on flash memory which is also used
for XIP purposes, either XIP kernel or XIP userspace. The whole idea is
to relocate functions actually modifying the flash state away from array mode
to ram and run them with interrupt disabled. When the flash needs some time
to complete a certain operation, we poll the processor for pending (but still
masked) interrupts, and when they occur we suspend the flash operation in order
to unmask interrupts and let the system run again.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
The patch below makes the following cleanups for code under drivers/mtd/ :
- make some needlessly global code static
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
Determine it from the CFI query data instead of hard-coding it.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
- Use new RS library for ECC
- Add support for new NAND flash chips
- New board support:
- iPAQ H1910
- Renesas AG-AND devel board
- Simtec S3C210
- Support for shared controllers on multiple chips.
Signed-Off-By: Thomas Gleixner <tglx@linutronix.de>
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
Mostly from Eric Biederman for supporting BIOS flash.
- Move support firmware hub style lock and unlock into fhw_lock.h (from cfi_cmdset_0002)
- Move cfi_varsize_frob into cfi_util from cfi_cmdset_0001.c and cfi_cmdset_0002.c
- reduce gen_probe probe failuers to a debug level message
- Modify cfi_fixup to take a struct mtd_info instead of a struct map_info
So that the fixup routines can modify the mtd functions.
- Modify cfi_cmdset_0001() to allocate and initialize the mtd structure
before calling cfi_fixup.
- Modify cfi_cmdset_0002() to allocate and initialize the mtd structure
before calling cfi_fixup.
- Refactor the hard coded fixups in cfi_cmdset_0001 and cfi_cmdset_0002
so the improved cfi_fixup infrastructure.
- Rewrote amd76xrom and ichxrom.
They now report their starting physical address in their name.
They now both handle multiple bankwidth configurations
They both can create multipe mtd devices.
They both now assume the rom windows are properly opened by the BIOS
or whatever runs previous to them.
Their code is now synchromized so it is almost identical,
and could be a starting point for a x86_rom_probe.
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
Patch from Ben Dooks <ben-mtd@fluff.org>
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
Signed-Off-By: Thomas Gleixner <tglx@linutronix.de>
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
There's no reason to directly #include <asm/bitops.h> since it's
available on all architectures and also included by
#include <linux/bitops.h>.
This patch changes #include <asm/bitops.h> to #include <linux/bitops.h>.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
|
|
Patch from Jun Sun.
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
Define callback wrapper function mtd_erase_callback() to handle
partition offsets during the callback, rather than attempting to
fix them up in the freed erase_info structure after the callback
has already happened.
|
|
The patch below (applies against 2.6.8-rc2) removes some #ifdef's for
kernel 2.0 and 2.2 from the MTD code.
Signed-off-by: Adrian Bunk <bunk@fs.tum.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
- Handle cached access to flash chips on supporting platforms
- Handle arrangements of chips larger than a single bus width
- Clean up the AMD/Fujitsu chip driver
- Update board 'mapping' drivers to match
- New mapping drivers for new platforms.
|
|
- Move user-visible bits from headers to include/mtd/ directory.
- Update old DiskOnChip drivers for newer hardware.
- Switch NFTL and INFTL support to work with new DiskOnChip/NAND code.
- New phram driver, reimplenting the ugly slram driver.
- Bug fixes in partitioning code
|
|
Update the core NAND code:
- support multiple chips
- support bad block tables
- improved generic ECC support and 'spare area' usage.
- 16-bit NAND
- Large-block NAND devices
- Renesas AG-AND devices
- M-Systems DiskOnChip devices
- Other new board support wrappers
Most of the work was done by Thomas Gleixner.
Signed-Off-By: David Woodhouse <dwmw2@infradead.org>
|
|
- afs and rxrpc switched to kvec; definition of kvec moved to uio.h (duh).
- afs/mntpt.c got missing cast added.
at that point afs is sparse-clean and rxrpc has only one remaining warning
(setsockopt from local variable, protected by set_fs()).
|
|
mtd, jffs and jffs2 switched from iovec to kvec
|
|
- trivial annotation in several places in drivers/mtd
- a bunch of debugging printks switched from %x to %llx (they get 64bit
values)
- in doc200[01].c fixed type of (unused) last argument in their
doc_read_ecc().
|
|
... and also fix the embarrassing bug where NFTL and INFTL will
barf and exit if the add_mtd_blktrans_dev() function _exists_,
rather than actually calling it and barfing if it returns non-zero :)
|
|
- Fix AFS partitioning oops when no partitions are found
- Add missing spin_unlock, optimise buffer writes in Intel NOR driver
- Fix DiskOnChip Millennium Plus register OutputControl register definition
- Fix DiskOnChip drivers to indicate correct ECC type
- Fix map drivers to use ARRAY_SIZE instead of redefining it.
- Make uCLinux map driver depend on !MMU
- Fix NAND write verify problem on some chips
- Other trivia from Rusty.
|
|
|
|
- JFFS2 bugfixes and performance improvements
- Support for 64-bit flash arrangements
- Optimise for linear mappings of flash, without out-of-line access functions
- New map drivers
- Updated NAND flash support, new board drivers
- Support for DiskOnChip Millennium Plus and INFTL translation layer
- Clean up all translation layers with a single blkdev helper library.
- Fix races in MTD device registration/deregistration
- Add support for new flash chips
- Clean up partition parsing code
More detailed comments in per-file changelogs.
|
|
From: Rusty Russell <rusty@rustcorp.com.au>
I don't think it's misused anywhere, but it's better to be safe.
Pointed out by Joern Engel.
|
|
|