主题 : 关于SPI驱动重复device_register注册的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 55215
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-09-14
最后登录: 2011-11-23
楼主  发表于: 2011-09-14 11:33

 关于SPI驱动重复device_register注册的问题

最近在学习基于2.6.18内核的SPI驱动,SPI外设驱动是直接使用内核自带的spidev.c这个驱动文件。ARM9上集成了一个SPI主机控制器。根据2.6内核的设备驱动模型,SPI主机控制器的设备注册是作为平台设备注册到内核中去的,SPI主机控制器的驱动注册过程中调用了自身驱动的probe函数,在这个probe函数里通过层层调用,最终在spi_new_device这个SPI核心层函数中使用device_register函数对扫描到的SPI外设进行设备注册,然而在SPI外设驱动注册的过程中,spidev.c里的probe函数对SPI外设又使用了device_register函数进行设备注册,请问这样先后注册两次怎么回事?按道理来说,注册一次就够了吧?注册两次不会出错吗?标准的做法应该是怎么样的?(从我的调试过程来看,如果没有spidev.c里的再次注册,LINUX启动后,在/DEV下是没有对应的设备节点的)
级别: 新手上路
UID: 147415
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2022-05-07
最后登录: 2022-05-09
1楼  发表于: 2022-05-08 13:15