1STRUCT PLATFORM_NAND(9) Structures STRUCT PLATFORM_NAND(9)
2
3
4
6 struct_platform_nand_ctrl - controller level device structure
7
9 struct platform_nand_ctrl {
10 int (* probe) (struct platform_device *pdev);
11 void (* remove) (struct platform_device *pdev);
12 void (* hwcontrol) (struct mtd_info *mtd, int cmd);
13 int (* dev_ready) (struct mtd_info *mtd);
14 void (* select_chip) (struct mtd_info *mtd, int chip);
15 void (* cmd_ctrl) (struct mtd_info *mtd, int dat, unsigned int ctrl);
16 void (* write_buf) (struct mtd_info *mtd, const uint8_t *buf, int len);
17 void (* read_buf) (struct mtd_info *mtd, uint8_t *buf, int len);
18 unsigned char (* read_byte) (struct mtd_info *mtd);
19 void * priv;
20 };
21
23 probe
24 platform specific function to probe/setup hardware
25
26 remove
27 platform specific function to remove/teardown hardware
28
29 hwcontrol
30 platform specific hardware control structure
31
32 dev_ready
33 platform specific function to read ready/busy pin
34
35 select_chip
36 platform specific chip select function
37
38 cmd_ctrl
39 platform specific function for controlling ALE/CLE/nCE. Also used
40 to write command and address
41
42 write_buf
43 platform specific function for write buffer
44
45 read_buf
46 platform specific function for read buffer
47
48 read_byte
49 platform specific function to read one byte from chip
50
51 priv
52 private data to transport driver specific settings
53
55 All fields are optional and depend on the hardware driver requirements
56
58 Thomas Gleixner <tglx@linutronix.de>
59 Author.
60
62Kernel Hackers Manual 3.10 June 2019 STRUCT PLATFORM_NAND(9)