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