diff options
author | Thomas Gleixner <tglx@cruncher.tec.linutronix.de> | 2006-05-27 16:16:10 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@cruncher.tec.linutronix.de> | 2006-05-29 09:06:50 -0400 |
commit | 5bd34c091a044d130601370c370f84b1c59f1627 (patch) | |
tree | 8b08012a9a30186a8805d506f8438e2944f5f31b /include/linux/mtd/nand.h | |
parent | ff268fb8791cf18df536113355d7184007c269d9 (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.h | 9 |
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 | */ |
528 | struct platform_nand_chip { | 529 | struct 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; |