---
name: "struct_platform_nand_ctrl"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_platform_nand_ctrl"
---

# struct\_platform\_nand\_ctrl(9)

controller level device structure

## NAME

struct\_platform\_nand\_ctrl - controller level device structure

## SYNOPSIS

```
struct platform_nand_ctrl {
  int (* probe) (struct platform_device *pdev);
  void (* remove) (struct platform_device *pdev);
  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 (* write_buf) (struct mtd_info *mtd, const uint8_t *buf, int len);
  void (* read_buf) (struct mtd_info *mtd, uint8_t *buf, int len);
  unsigned char (* read_byte) (struct mtd_info *mtd);
  void * priv;
};
```

## MEMBERS

probe

platform specific function to probe/setup hardware

remove

platform specific function to remove/teardown hardware

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

write\_buf

platform specific function for write buffer

read\_buf

platform specific function for read buffer

read\_byte

platform specific function to read one byte from chip

priv

private data to transport driver specific settings

## DESCRIPTION

All fields are optional and depend on the hardware driver requirements

## AUTHOR

**Thomas Gleixner** \<tglx@linutronix.de\>

Author.

## COPYRIGHT
