Under Linux Nand Flash call relationship

Nand Flash When you add a device containing the data structure relationship

struct mtd_partition        partition_info[]

--> struct s3c2410_nand_set     nandset

--> struct s3c2410_platform_nand superlpplatfrom

--> struct platform_device      s3c_device_nand

"S3c2410-nand", must be the same initialization value of the name field of the data structure and Nand Flash device driver registration name field struct device_driver structure, because platfrom bus is to rely on the name to match.

--> struct platform_device      *smdk2410_devices[]

 

 Nand Flash device registration data structure that contains relationship

struct device_driver s3c2410_nand_driver

-> struct device * dev the data structure allocated by the system.

-->struct platform_device *pdev

-->struct s3c2410_platform_nand *plat

-->struct s3c2410_nand_set nset

-->struct mtd_partition

 

When the event of a system-call data structure call relations

struct mtd_info

 

It's * priv pointing chip

-> struct nand_chip it * priv point nmtd

-->struct s3c2410_nand_mtd

It is a field of s3c2410_nand_info

-->s3c2410_nand_info

It is set to private data structure Nand Flash device drivers, and allocate space in the Nand Flash device driver registration.

-->struct device

Guess you like

Origin www.cnblogs.com/fanweisheng/p/11106193.html