在移植SDcard驱动的是分析了一下执行的过程,理解了一下platform_device和paltform_driver
主要文件为:
\linux-2.6.36-android\arch\arm\mach-s3c64xx\mch-mini6410.c
\linux-2.6.36-android\drivers\mmc\host\sdhci-s3c.c
\linux-2.6.36-android\drivers\mmc\host\hdsci.c
\linux-2.6.36-android\arch\arm\plat-samsung\dev-hsmmc.c
1、sdcard platform_device注册
这个过程主要分析板级文件mach-mini6410.c文件
SD卡平台设备注册:
static void __init mini6410_machine_init(void)
{
s3c_sdhci0_set_platdata(&mini6410_hsmmc0_pdata);
platform_add_devices(mini6410_devices, ARRAY_SIZE(mini6410_devices));//将platform_device项一一注册进系统
}
static struct s3c_sdhci_platdata mini6410_hsmmc0_pdata = {
.max_width = 4,
.cd_type = S3C_SDHCI_CD_INTERNAL,
};
static struct platfo