在线时间2 小时
UID3865122
注册时间2022-8-8
NXP金币0
该用户从未签到
新手上路

- 积分
- 19
- 最后登录
- 2022-11-5
|
目前我遇到的问题是这样的:
我想要通过申请一个gpio口来控制一个buzzer,然后我在内核中添加了一个驱动,并且修改了dts。
当我将buzzer.c直接编译到内核中时,我发现buzzer中的probe函数无法成功执行,原因是通过dts中的配置获取gpio_desc时出错,在遍历gpio_devices时失败。
然后我发现buzzer.c申请gpio时gpio_devices此时是empty。
接下来我在gpio中的probe函数中添加了一行日志信息,发现出错的地方是
port->clk = devm_clk_get_optional(&pdev->dev, NULL);
IS_ERR(port->clk)=true
接着我又在clk 的probe函数中添加了一行日志信息
通过内核启动时的日志信息可以看到,执行gpio probe()的时刻为0.1s,执行clk probe()的时刻为0.2s,执行buzzer probe()的时刻为2s。
所以我想请问大家是否有办法提前执行clk probe(),或者能否提供其他解决思路,谢谢大家。
|
|