修改文件:
// forch:
static struct spi_board_info s3c2410_spi1_board[] = {
{
.modalias = "spidev",
.bus_num = 0,
.chip_select = 0,
.irq = IRQ_EINT9,
.max_speed_hz = 500*1000,
},
{
.modalias = "spidev",
.bus_num = 0,
.chip_select = 1,
.irq = IRQ_EINT9,
.max_speed_hz = 500*1000,
},
};
// forch:
static struct s3c2410_spi_info s3c2410_spi1_platdata[] = {
[0] ={
.pin_cs = S3C2410_GPA1,
.num_cs = 2, // 1正常
},
[1] ={
.pin_cs = S3C2440_GPJ12,
.num_cs = 2, // 1正常
},
};
// forch
static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_usb,
// &qt2410_spi,// tianyl2011-0927
&s3c_device_spi1,// forch
//&s3c_device_lcd,
//&s3c_device_wdt,
//&s3c_device_i2c,
//&s3c_device_iis,
};
static void __init smdk2410_init(void)
{
platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));
// 本来要添加到 smdk_machine_init(); 直接放这里了
s3c_device_spi1.dev.platform_data = s3c2410_spi1_platdata;// forch 片选
spi_register_board_info(s3c2410_spi1_board,ARRAY_SIZE(s3c2410_spi1_board));// forch 设备名称编号
smdk_machine_init();
}
驱动下生成了两个节点
[root@forch app]# ls /dev/ |grep spi
spidev0.0
spidev0.1
[root@forch app]#