aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd/nand.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-05-27 16:16:10 -0400
committerThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-05-29 09:06:50 -0400
commit5bd34c091a044d130601370c370f84b1c59f1627 (patch)
tree8b08012a9a30186a8805d506f8438e2944f5f31b /include/linux/mtd/nand.h
parentff268fb8791cf18df536113355d7184007c269d9 (diff)
[MTD] NAND Replace oobinfo by ecclayout
The nand_oobinfo structure is not fitting the newer error correction demands anymore. Replace it by struct nand_ecclayout and fixup the users all over the place. Keep the nand_oobinfo based ioctl for user space compability reasons. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/mtd/nand.h')
-rw-r--r--include/linux/mtd/nand.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index fd46bcf52281..dc2bf1bcf42b 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -244,6 +244,7 @@ struct nand_ecc_ctrl {
244 int total; 244 int total;
245 int prepad; 245 int prepad;
246 int postpad; 246 int postpad;
247 struct nand_ecclayout *layout;
247 void (*hwctl)(struct mtd_info *mtd, int mode); 248 void (*hwctl)(struct mtd_info *mtd, int mode);
248 int (*calculate)(struct mtd_info *mtd, 249 int (*calculate)(struct mtd_info *mtd,
249 const uint8_t *dat, 250 const uint8_t *dat,
@@ -318,7 +319,7 @@ struct nand_buffers {
318 * @chipsize: [INTERN] the size of one chip for multichip arrays 319 * @chipsize: [INTERN] the size of one chip for multichip arrays
319 * @pagemask: [INTERN] page number mask = number of (pages / chip) - 1 320 * @pagemask: [INTERN] page number mask = number of (pages / chip) - 1
320 * @pagebuf: [INTERN] holds the pagenumber which is currently in data_buf 321 * @pagebuf: [INTERN] holds the pagenumber which is currently in data_buf
321 * @autooob: [REPLACEABLE] the default (auto)placement scheme 322 * @ecclayout: [REPLACEABLE] the default ecc placement scheme
322 * @bbt: [INTERN] bad block table pointer 323 * @bbt: [INTERN] bad block table pointer
323 * @bbt_td: [REPLACEABLE] bad block table descriptor for flash lookup 324 * @bbt_td: [REPLACEABLE] bad block table descriptor for flash lookup
324 * @bbt_md: [REPLACEABLE] bad block table mirror descriptor 325 * @bbt_md: [REPLACEABLE] bad block table mirror descriptor
@@ -368,7 +369,7 @@ struct nand_chip {
368 369
369 uint8_t *oob_poi; 370 uint8_t *oob_poi;
370 struct nand_hw_control *controller; 371 struct nand_hw_control *controller;
371 struct nand_oobinfo *autooob; 372 struct nand_ecclayout *ecclayout;
372 373
373 struct nand_ecc_ctrl ecc; 374 struct nand_ecc_ctrl ecc;
374 struct nand_buffers buffers; 375 struct nand_buffers buffers;
@@ -522,7 +523,7 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len,
522 * @partitions: mtd partition list 523 * @partitions: mtd partition list
523 * @chip_delay: R/B delay value in us 524 * @chip_delay: R/B delay value in us
524 * @options: Option flags, e.g. 16bit buswidth 525 * @options: Option flags, e.g. 16bit buswidth
525 * @oobinfo: oob info structure (ecc placement) 526 * @ecclayout: ecc layout info structure
526 * @priv: hardware controller specific settings 527 * @priv: hardware controller specific settings
527 */ 528 */
528struct platform_nand_chip { 529struct platform_nand_chip {
@@ -530,7 +531,7 @@ struct platform_nand_chip {
530 int chip_offset; 531 int chip_offset;
531 int nr_partitions; 532 int nr_partitions;
532 struct mtd_partition *partitions; 533 struct mtd_partition *partitions;
533 struct nand_oobinfo *oobinfo; 534 struct nand_ecclayout *ecclayout;
534 int chip_delay; 535 int chip_delay;
535 unsigned int options; 536 unsigned int options;
536 void *priv; 537 void *priv;