struct platform_nand_ctrl — controller level device structure


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;


int (*)(struct platform_device *pdev) probe

platform specific function to probe/setup hardware

void (*)(struct platform_device *pdev) remove

platform specific function to remove/teardown hardware

void (*)(struct mtd_info *mtd, int cmd) hwcontrol

platform specific hardware control structure

int (*)(struct mtd_info *mtd) dev_ready

platform specific function to read ready/busy pin

void (*)(struct mtd_info *mtd, int chip) select_chip

platform specific chip select function

void (*)(struct mtd_info *mtd, int dat, unsigned int ctrl) cmd_ctrl

platform specific function for controlling ALE/CLE/nCE. Also used to write command and address

void (*)(struct mtd_info *mtd, const uint8_t *buf, int len) write_buf

platform specific function for write buffer

void (*)(struct mtd_info *mtd, uint8_t *buf, int len) read_buf

platform specific function for read buffer

unsigned char (*)(struct mtd_info *mtd) read_byte

platform specific function to read one byte from chip

void * priv

private data to transport driver specific settings


All fields are optional and depend on the hardware driver requirements