专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
今天看啥  ›  专栏  ›  Linux爱好者

当我用几道题考了一遍做Linux驱动的同事......

Linux爱好者  · 公众号  · linux  · 2024-06-17 09:36
    

文章预览

出了几道题,考了一下做Linux驱动的同事! 说下新增驱动的一些基本操作 同事 :先在设备树里新建一个节点,填写compatible和reg属性,然后在驱动里映射寄存器基址,后续就可以操作寄存器。 我 :寄存器基址怎么映射? 同事 :先用platform_get_resource获取IORESOURCE_MEM资源,然后用devm_ioremap_resource将基址映射为虚拟地址。 我 :probe里还有哪些常规操作? 同事 :通常一个驱动都会有时钟,所以probe里映射完基址后,通常要进行时钟和复位的操作。调用devm_clk_get获取时钟源,然后调用devm_clk_prepare_enbale使能时钟,复位的话先调用devm_reset_control_get获取复位源,然后用reset_control_reset复位。 我 :驱动中通常会定义一个私有结构体,里面包含一些内核结构体,但注册的时候只注册了某个成员,怎么找到这个私有结构体。 同事 :可以通过container_of宏找到这个私有 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览