diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 16:10:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 16:10:11 -0400 |
commit | ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283 (patch) | |
tree | 7e2d39269803b53ba048f3bad11cd6a1a38b35b9 /include | |
parent | d84c4124c4b6611301b402e8611b7e36de3bd351 (diff) | |
parent | b7aa48be1e7a11e36448a7db58931bbf735d2718 (diff) |
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
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mtd/mtd.h | 7 | ||||
-rw-r--r-- | include/linux/mtd/nand.h | 16 | ||||
-rw-r--r-- | include/linux/rslib.h | 4 |
3 files changed, 20 insertions, 7 deletions
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 45d482ce8397..fd64ccfbce02 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
@@ -9,10 +9,6 @@ | |||
9 | #ifndef __MTD_MTD_H__ | 9 | #ifndef __MTD_MTD_H__ |
10 | #define __MTD_MTD_H__ | 10 | #define __MTD_MTD_H__ |
11 | 11 | ||
12 | #ifndef __KERNEL__ | ||
13 | #error This is a kernel header. Perhaps include mtd-user.h instead? | ||
14 | #endif | ||
15 | |||
16 | #include <linux/types.h> | 12 | #include <linux/types.h> |
17 | #include <linux/module.h> | 13 | #include <linux/module.h> |
18 | #include <linux/uio.h> | 14 | #include <linux/uio.h> |
@@ -137,9 +133,6 @@ struct mtd_info { | |||
137 | int numeraseregions; | 133 | int numeraseregions; |
138 | struct mtd_erase_region_info *eraseregions; | 134 | struct mtd_erase_region_info *eraseregions; |
139 | 135 | ||
140 | /* This really shouldn't be here. It can go away in 2.5 */ | ||
141 | u_int32_t bank_size; | ||
142 | |||
143 | int (*erase) (struct mtd_info *mtd, struct erase_info *instr); | 136 | int (*erase) (struct mtd_info *mtd, struct erase_info *instr); |
144 | 137 | ||
145 | /* This stuff for eXecute-In-Place */ | 138 | /* This stuff for eXecute-In-Place */ |
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index cf197ad62da6..d2365c8dcacc 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
@@ -560,6 +560,7 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, | |||
560 | * @chip_delay: R/B delay value in us | 560 | * @chip_delay: R/B delay value in us |
561 | * @options: Option flags, e.g. 16bit buswidth | 561 | * @options: Option flags, e.g. 16bit buswidth |
562 | * @ecclayout: ecc layout info structure | 562 | * @ecclayout: ecc layout info structure |
563 | * @part_probe_types: NULL-terminated array of probe types | ||
563 | * @priv: hardware controller specific settings | 564 | * @priv: hardware controller specific settings |
564 | */ | 565 | */ |
565 | struct platform_nand_chip { | 566 | struct platform_nand_chip { |
@@ -570,6 +571,7 @@ struct platform_nand_chip { | |||
570 | struct nand_ecclayout *ecclayout; | 571 | struct nand_ecclayout *ecclayout; |
571 | int chip_delay; | 572 | int chip_delay; |
572 | unsigned int options; | 573 | unsigned int options; |
574 | const char **part_probe_types; | ||
573 | void *priv; | 575 | void *priv; |
574 | }; | 576 | }; |
575 | 577 | ||
@@ -578,6 +580,8 @@ struct platform_nand_chip { | |||
578 | * @hwcontrol: platform specific hardware control structure | 580 | * @hwcontrol: platform specific hardware control structure |
579 | * @dev_ready: platform specific function to read ready/busy pin | 581 | * @dev_ready: platform specific function to read ready/busy pin |
580 | * @select_chip: platform specific chip select function | 582 | * @select_chip: platform specific chip select function |
583 | * @cmd_ctrl: platform specific function for controlling | ||
584 | * ALE/CLE/nCE. Also used to write command and address | ||
581 | * @priv: private data to transport driver specific settings | 585 | * @priv: private data to transport driver specific settings |
582 | * | 586 | * |
583 | * All fields are optional and depend on the hardware driver requirements | 587 | * All fields are optional and depend on the hardware driver requirements |
@@ -586,9 +590,21 @@ struct platform_nand_ctrl { | |||
586 | void (*hwcontrol)(struct mtd_info *mtd, int cmd); | 590 | void (*hwcontrol)(struct mtd_info *mtd, int cmd); |
587 | int (*dev_ready)(struct mtd_info *mtd); | 591 | int (*dev_ready)(struct mtd_info *mtd); |
588 | void (*select_chip)(struct mtd_info *mtd, int chip); | 592 | void (*select_chip)(struct mtd_info *mtd, int chip); |
593 | void (*cmd_ctrl)(struct mtd_info *mtd, int dat, | ||
594 | unsigned int ctrl); | ||
589 | void *priv; | 595 | void *priv; |
590 | }; | 596 | }; |
591 | 597 | ||
598 | /** | ||
599 | * struct platform_nand_data - container structure for platform-specific data | ||
600 | * @chip: chip level chip structure | ||
601 | * @ctrl: controller level device structure | ||
602 | */ | ||
603 | struct platform_nand_data { | ||
604 | struct platform_nand_chip chip; | ||
605 | struct platform_nand_ctrl ctrl; | ||
606 | }; | ||
607 | |||
592 | /* Some helpers to access the data structures */ | 608 | /* Some helpers to access the data structures */ |
593 | static inline | 609 | static inline |
594 | struct platform_nand_chip *get_platform_nandchip(struct mtd_info *mtd) | 610 | struct platform_nand_chip *get_platform_nandchip(struct mtd_info *mtd) |
diff --git a/include/linux/rslib.h b/include/linux/rslib.h index ace25acfdc97..746580c1939c 100644 --- a/include/linux/rslib.h +++ b/include/linux/rslib.h | |||
@@ -34,6 +34,7 @@ | |||
34 | * @prim: Primitive element, index form | 34 | * @prim: Primitive element, index form |
35 | * @iprim: prim-th root of 1, index form | 35 | * @iprim: prim-th root of 1, index form |
36 | * @gfpoly: The primitive generator polynominal | 36 | * @gfpoly: The primitive generator polynominal |
37 | * @gffunc: Function to generate the field, if non-canonical representation | ||
37 | * @users: Users of this structure | 38 | * @users: Users of this structure |
38 | * @list: List entry for the rs control list | 39 | * @list: List entry for the rs control list |
39 | */ | 40 | */ |
@@ -48,6 +49,7 @@ struct rs_control { | |||
48 | int prim; | 49 | int prim; |
49 | int iprim; | 50 | int iprim; |
50 | int gfpoly; | 51 | int gfpoly; |
52 | int (*gffunc)(int); | ||
51 | int users; | 53 | int users; |
52 | struct list_head list; | 54 | struct list_head list; |
53 | }; | 55 | }; |
@@ -77,6 +79,8 @@ int decode_rs16(struct rs_control *rs, uint16_t *data, uint16_t *par, int len, | |||
77 | /* Create or get a matching rs control structure */ | 79 | /* Create or get a matching rs control structure */ |
78 | struct rs_control *init_rs(int symsize, int gfpoly, int fcr, int prim, | 80 | struct rs_control *init_rs(int symsize, int gfpoly, int fcr, int prim, |
79 | int nroots); | 81 | int nroots); |
82 | struct rs_control *init_rs_non_canonical(int symsize, int (*func)(int), | ||
83 | int fcr, int prim, int nroots); | ||
80 | 84 | ||
81 | /* Release a rs control structure */ | 85 | /* Release a rs control structure */ |
82 | void free_rs(struct rs_control *rs); | 86 | void free_rs(struct rs_control *rs); |