Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (120 commits) [MTD] Fix mtdoops.c compilation [MTD] [NOR] fix startup lock when using multiple nor flash chips [MTD] [DOC200x] eccbuf is statically defined and always evaluate to true [MTD] Fix maps/physmap.c compilation with CONFIG_PM [MTD] onenand: Add panic_write function to the onenand driver [MTD] mtdoops: Use the panic_write function when present [MTD] Add mtd panic_write function pointer [MTD] [NAND] Freescale enhanced Local Bus Controller FCM NAND support. [MTD] physmap.c: Add support for multiple resources [MTD] [NAND] Fix misparenthesization introduced by commit 78b65179... [MTD] [NAND] Fix Blackfin NFC ECC calculating bug with page size 512 bytes [MTD] [NAND] Remove wrong operation in PM function of the BF54x NFC driver [MTD] [NAND] Remove unused variable in plat_nand_remove [MTD] Unlocking all Intel flash that is locked on power up. [MTD] [NAND] at91_nand: Make mtdparts option can override board info [MTD] mtdoops: Various minor cleanups [MTD] mtdoops: Ensure sequential write to the buffer [MTD] mtdoops: Perform write operations in a workqueue [MTD] mtdoops: Add further error return code checking [MTD] [NOR] Test devtype, not definition in flash_probe(), drivers/mtd/devices/lart.c ...
This commit is contained in:
@@ -98,6 +98,18 @@ static inline int cfi_interleave_supported(int i)
|
||||
#define CFI_DEVICETYPE_X32 (32 / 8)
|
||||
#define CFI_DEVICETYPE_X64 (64 / 8)
|
||||
|
||||
|
||||
/* Device Interface Code Assignments from the "Common Flash Memory Interface
|
||||
* Publication 100" dated December 1, 2001.
|
||||
*/
|
||||
#define CFI_INTERFACE_X8_ASYNC 0x0000
|
||||
#define CFI_INTERFACE_X16_ASYNC 0x0001
|
||||
#define CFI_INTERFACE_X8_BY_X16_ASYNC 0x0002
|
||||
#define CFI_INTERFACE_X32_ASYNC 0x0003
|
||||
#define CFI_INTERFACE_X16_BY_X32_ASYNC 0x0005
|
||||
#define CFI_INTERFACE_NOT_ALLOWED 0xffff
|
||||
|
||||
|
||||
/* NB: We keep these structures in memory in HOST byteorder, except
|
||||
* where individually noted.
|
||||
*/
|
||||
|
||||
@@ -152,6 +152,15 @@ struct mtd_info {
|
||||
int (*read) (struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf);
|
||||
int (*write) (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf);
|
||||
|
||||
/* In blackbox flight recorder like scenarios we want to make successful
|
||||
writes in interrupt context. panic_write() is only intended to be
|
||||
called when its known the kernel is about to panic and we need the
|
||||
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). */
|
||||
|
||||
int (*panic_write) (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf);
|
||||
|
||||
int (*read_oob) (struct mtd_info *mtd, loff_t from,
|
||||
struct mtd_oob_ops *ops);
|
||||
int (*write_oob) (struct mtd_info *mtd, loff_t to,
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef __MTD_MTDRAM_H__
|
||||
#define __MTD_MTDRAM_H__
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
int mtdram_init_device(struct mtd_info *mtd, void *mapped_address,
|
||||
unsigned long size, char *name);
|
||||
|
||||
#endif /* __MTD_MTDRAM_H__ */
|
||||
@@ -67,6 +67,7 @@
|
||||
/*
|
||||
* Device ID Register F001h (R)
|
||||
*/
|
||||
#define ONENAND_DEVICE_DENSITY_MASK (0xf)
|
||||
#define ONENAND_DEVICE_DENSITY_SHIFT (4)
|
||||
#define ONENAND_DEVICE_IS_DDP (1 << 3)
|
||||
#define ONENAND_DEVICE_IS_DEMUX (1 << 2)
|
||||
|
||||
@@ -71,5 +71,12 @@ extern int parse_mtd_partitions(struct mtd_info *master, const char **types,
|
||||
|
||||
#define put_partition_parser(p) do { module_put((p)->owner); } while(0)
|
||||
|
||||
#endif
|
||||
struct device;
|
||||
struct device_node;
|
||||
|
||||
int __devinit of_mtd_parse_partitions(struct device *dev,
|
||||
struct mtd_info *mtd,
|
||||
struct device_node *node,
|
||||
struct mtd_partition **pparts);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-17
@@ -25,23 +25,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <mtd/ubi-user.h>
|
||||
|
||||
/*
|
||||
* UBI data type hint constants.
|
||||
*
|
||||
* UBI_LONGTERM: long-term data
|
||||
* UBI_SHORTTERM: short-term data
|
||||
* UBI_UNKNOWN: data persistence is unknown
|
||||
*
|
||||
* These constants are used when data is written to UBI volumes in order to
|
||||
* help the UBI wear-leveling unit to find more appropriate physical
|
||||
* eraseblocks.
|
||||
*/
|
||||
enum {
|
||||
UBI_LONGTERM = 1,
|
||||
UBI_SHORTTERM,
|
||||
UBI_UNKNOWN
|
||||
};
|
||||
|
||||
/*
|
||||
* enum ubi_open_mode - UBI volume open mode constants.
|
||||
*
|
||||
@@ -167,6 +150,7 @@ int ubi_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
|
||||
int len, int dtype);
|
||||
int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum);
|
||||
int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum);
|
||||
int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
|
||||
int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum);
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user