Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (21 commits) [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp) [MTD] Delete allegedly obsolete "bank_size" field of mtd_info. [MTD] Remove unnecessary user space check from mtd.h. [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver [MTD] [NAND] platform NAND driver: add driver [MTD] [NAND] platform NAND driver: update header [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more. [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree() [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree() [JFFS2] Remember to calculate overlap on nodes which replace older nodes [JFFS2] Don't advance c->wbuf_ofs to next eraseblock after wbuf flush [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support [MTD] [NAND] Tidy up handling of page number in nand_block_bad() [MTD] block2mtd_paramline[] mustn't be __initdata [MTD] [NAND] Support multiple chips in CAFÉ driver [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic [MTD] [NAND] Use rslib for CAFÉ ECC [RSLIB] Support non-canonical GF representations [JFFS2] Remove dead file histo_mips.h ...
This commit is contained in:
commit
ba7cc09c9c
27 changed files with 430 additions and 4752 deletions
|
@ -9,10 +9,6 @@
|
|||
#ifndef __MTD_MTD_H__
|
||||
#define __MTD_MTD_H__
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#error This is a kernel header. Perhaps include mtd-user.h instead?
|
||||
#endif
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/uio.h>
|
||||
|
@ -137,9 +133,6 @@ struct mtd_info {
|
|||
int numeraseregions;
|
||||
struct mtd_erase_region_info *eraseregions;
|
||||
|
||||
/* This really shouldn't be here. It can go away in 2.5 */
|
||||
u_int32_t bank_size;
|
||||
|
||||
int (*erase) (struct mtd_info *mtd, struct erase_info *instr);
|
||||
|
||||
/* This stuff for eXecute-In-Place */
|
||||
|
|
|
@ -560,6 +560,7 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len,
|
|||
* @chip_delay: R/B delay value in us
|
||||
* @options: Option flags, e.g. 16bit buswidth
|
||||
* @ecclayout: ecc layout info structure
|
||||
* @part_probe_types: NULL-terminated array of probe types
|
||||
* @priv: hardware controller specific settings
|
||||
*/
|
||||
struct platform_nand_chip {
|
||||
|
@ -570,6 +571,7 @@ struct platform_nand_chip {
|
|||
struct nand_ecclayout *ecclayout;
|
||||
int chip_delay;
|
||||
unsigned int options;
|
||||
const char **part_probe_types;
|
||||
void *priv;
|
||||
};
|
||||
|
||||
|
@ -578,6 +580,8 @@ struct platform_nand_chip {
|
|||
* @hwcontrol: platform specific hardware control structure
|
||||
* @dev_ready: platform specific function to read ready/busy pin
|
||||
* @select_chip: platform specific chip select function
|
||||
* @cmd_ctrl: platform specific function for controlling
|
||||
* ALE/CLE/nCE. Also used to write command and address
|
||||
* @priv: private data to transport driver specific settings
|
||||
*
|
||||
* All fields are optional and depend on the hardware driver requirements
|
||||
|
@ -586,9 +590,21 @@ struct platform_nand_ctrl {
|
|||
void (*hwcontrol)(struct mtd_info *mtd, int cmd);
|
||||
int (*dev_ready)(struct mtd_info *mtd);
|
||||
void (*select_chip)(struct mtd_info *mtd, int chip);
|
||||
void (*cmd_ctrl)(struct mtd_info *mtd, int dat,
|
||||
unsigned int ctrl);
|
||||
void *priv;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct platform_nand_data - container structure for platform-specific data
|
||||
* @chip: chip level chip structure
|
||||
* @ctrl: controller level device structure
|
||||
*/
|
||||
struct platform_nand_data {
|
||||
struct platform_nand_chip chip;
|
||||
struct platform_nand_ctrl ctrl;
|
||||
};
|
||||
|
||||
/* Some helpers to access the data structures */
|
||||
static inline
|
||||
struct platform_nand_chip *get_platform_nandchip(struct mtd_info *mtd)
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
* @prim: Primitive element, index form
|
||||
* @iprim: prim-th root of 1, index form
|
||||
* @gfpoly: The primitive generator polynominal
|
||||
* @gffunc: Function to generate the field, if non-canonical representation
|
||||
* @users: Users of this structure
|
||||
* @list: List entry for the rs control list
|
||||
*/
|
||||
|
@ -48,6 +49,7 @@ struct rs_control {
|
|||
int prim;
|
||||
int iprim;
|
||||
int gfpoly;
|
||||
int (*gffunc)(int);
|
||||
int users;
|
||||
struct list_head list;
|
||||
};
|
||||
|
@ -77,6 +79,8 @@ int decode_rs16(struct rs_control *rs, uint16_t *data, uint16_t *par, int len,
|
|||
/* Create or get a matching rs control structure */
|
||||
struct rs_control *init_rs(int symsize, int gfpoly, int fcr, int prim,
|
||||
int nroots);
|
||||
struct rs_control *init_rs_non_canonical(int symsize, int (*func)(int),
|
||||
int fcr, int prim, int nroots);
|
||||
|
||||
/* Release a rs control structure */
|
||||
void free_rs(struct rs_control *rs);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue