OpenCloudOS-Kernel/include/linux/mtd
Richard Purdie 388bbb09b9 [MTD] Add mtd panic_write function pointer
MTDs are well suited for logging critical data and the mtdoops driver
allows kernel panics/oops to be written to flash in a blackbox flight
recorder fashion allowing better debugging and analysis of crashes.

Any kernel oops in user context can be easily handled since the kernel
continues as normal and any queued mtd writes are scheduled. Any kernel
oops in interrupt context results in a panic and the delayed writes will
not be scheduled however. The existing mtd->write function cannot be
called in interrupt context so these messages can never be written to
flash.

This patch adds a panic_write function pointer that drivers can
optionally implement which can be called in interrupt context. It is
only intended to be called when its known the kernel is about to panic
and we need to write to succeed. Since the kernel is not going to be
running for much longer, this function can break locks and delay to
ensure the write succeeds (but not sleep).

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-02-07 10:30:48 +00:00
..
bbm.h [MTD] OneNAND: Error message printing and bad block scan erros 2007-02-07 12:15:01 +09:00
blktrans.h [MTD] Allow variable block sizes in mtd_blkdevs 2006-11-28 22:27:47 +00:00
cfi.h [MTD] [NOR] Fix incorrect interface code for x16/x32 chips 2008-01-10 22:07:12 +00:00
cfi_endian.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compatmac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
concat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
doc2000.h [PATCH] sem2mutex: drivers/mtd/ 2006-03-31 12:18:48 -08:00
flashchip.h [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug 2007-10-13 14:36:18 +01:00
ftl.h [MTD] includes: Clean up trailing white spaces 2005-11-07 14:32:58 +01:00
gen_probe.h [MTD] includes: Clean up trailing white spaces 2005-11-07 14:32:58 +01:00
inftl.h [MTD] NAND Replace oobinfo by ecclayout 2006-05-29 15:06:50 +02:00
jedec.h [MTD] includes: Clean up trailing white spaces 2005-11-07 14:32:58 +01:00
map.h [MTD] Fix CFI build error when no map width or interleave supported 2007-09-06 09:40:21 +01:00
mtd.h [MTD] Add mtd panic_write function pointer 2008-02-07 10:30:48 +00:00
mtdram.h [MTD] Provide mtdram.h with mtdram_init_device() prototype 2007-11-06 08:40:24 +00:00
nand.h [MTD] [NAND] Add NAND manufacturer AMD. 2007-07-23 11:51:53 +01:00
nand_ecc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ndfc.h [MTD] NAND Fix platform structure and NDFC driver 2006-05-29 15:06:49 +02:00
nftl.h [MTD] NAND Replace oobinfo by ecclayout 2006-05-29 15:06:50 +02:00
onenand.h [MTD] [OneNAND] 2X program support 2007-06-30 08:24:57 +01:00
onenand_regs.h [MTD] [OneNAND] Get correct density from device ID 2008-01-29 17:11:38 +09:00
partitions.h [MTD] Factor out OF partition support from the NOR driver. 2008-02-03 18:06:48 +11:00
physmap.h [MTD] Don't include linux/mtd/map.h from linux/mtd/physmap.h 2007-02-09 14:40:12 +00:00
plat-ram.h fix file specification in comments 2006-10-03 23:01:26 +02:00
pmc551.h [MTD] includes: Clean up trailing white spaces 2005-11-07 14:32:58 +01:00
super.h [MTD] generalise the handling of MTD-specific superblocks 2007-05-11 12:14:15 +01:00
ubi.h UBI: introduce atomic LEB change ioctl 2008-01-25 16:41:25 +02:00
xip.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00