static int __init s3c2440_serial_init(void)
{ //初始化模块 ,注册平台驱动
return s3c24xx_serial_init(&s3c2440_serial_driver, &s3c2440_uart_inf);
}
这里内核源码中的串口驱动的模块初始化函数,这里只注册了平台驱动,为什么没有注册平台设备
arch/arm/palt-s3c24xx/devs.c静态注册uart,不知道是不是你想要的
2.6.30.9内核 在mach-smdk2440.c文件里面,所有的平台设备在这里注册。
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
&s3c_device_rtc,
&s3c_device_usbgadget,
&s3c_device_spi0,
};
static void __init smdk2440_machine_init(void)
{
s3c24xx_fb_set_platdata(&smdk2440_fb_info);
s3c_i2c0_set_platdata(NULL);
platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices));
smdk_machine_init();
s3c_device_spi0.dev.platform_data=&s3c2410_spi0_platdata;
spi_register_board_info(s3c2410_spi0_board,ARRAY_SIZE(s3c2410_spi0_board));