c语言标准spi驱动软件,那位看过标准的spi驱动,spidev.c中有些问题系想不明白。急急急...

阅读: 评论:0

c语言标准spi驱动软件,那位看过标准的spi驱动,spidev.c中有些问题系想不明白。急急急...

c语言标准spi驱动软件,那位看过标准的spi驱动,spidev.c中有些问题系想不明白。急急急...

spidev.c中的spidev_init(),在完成register_chrdev(),class_register()后调用。

注册spidev_spi时,调用spi_register_driver();

spidev的注册过程大致为:spi_register_driver()-> driver_register() -> bus_add_driver() -> bus_add_driver() ->

driver_attach() -> bus_for_each_dev()

在bus_for_each_dev()中查找spi总线上的设备,既遍历bus->klist_devices上的设备,如果有设备则调用drv的probe函数。这里是spidev.c中的spidev_probe()探测函数。

但在我的系统上运行,发现有这么个问题:spi总线上的bus->klist_devices是空的,没有任何设备,所以spidev_probe()没有被调用,这样spidev的注册失败。

问题:bus->klist_devices上的设备时如何注册上的,在什么时间注册。由谁注册。

|

在开发板的/sys/bus/spi下的drivers和devices下看看没有设备驱动和相应的设备。开发板的模块应该有好几个我用的devkit8000有四个,只有spi1.0是可用于用户扩展的借口,如果注册设备需要修改文件目录在/arch/arm/match-你的板子的具体型号(你的板子的设置文件)添加类似代码

struct spi_board_info omap3devkit9100_spi_board_info[] = {

[0] = {

.modalias= "spidev",

.bus_num= 1,

.chip_select= 0,

.max_speed_hz= 1500000,

.controller_data= &****_config,

.irq= OMAP_GPIO_IRQ(OMAP3_BEAGLE_TS_GPIO),

估计是这个问题 ,我是新手 希望多交流

不知道对你有用不 也不知道是否是你面对的问题 如果不管用 就当帮顶了

|

帮 你 顶...

本文发布于:2024-02-01 01:01:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170672046632690.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:标准   那位   不明白   语言   软件
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23