- 论坛徽章:
- 0
|
回复 #1 againyuan 的帖子
我用的是EBD的9260的板子,驱动中有adc_init()函数中:
adc_hw_init(adc);
platform_driver_register(&adc_driver);
printk(KERN_INFO "Analog-to-Digital Converter (irq %d)\n", adc->irq);
adc_add_channel_device();
在platform_driver_register已经加入了cdev_add,然后用class_device_create创建了设备文件.
但是后面的adc_add_channel_device函数实现:
for (i=0; i<ADC_MAX_CHANNEL; i++){
adc_channel_device.name = DRV_NAME;
adc_channel_device.id = i;
platform_device_register(&adc_channel_device);
}
return 0;
相当于又加入了platform_device_register,这样设计是不是这个程序本身有问题呀?
[ 本帖最后由 againyuan 于 2008-11-3 14:01 编辑 ] |
|