随笔分类 -  linux drivers

摘要:答: 新的device_property_match_string()可以用来替代此接口。 阅读全文
posted @ 2020-12-02 10:12 Jello 阅读(288) 评论(0) 推荐(0) 编辑
摘要:答: 分为两步: 1. 配置某个驱动为模块(如: CONFIG_RTC_XXX=m) 2. 指定路径并编译, 如编译drivers/rtc中的驱动 make SUBDIRS=drivers/rtc modules 阅读全文
posted @ 2019-12-19 16:32 Jello 阅读(2478) 评论(0) 推荐(0) 编辑
摘要:1. 关注unreg_slave接口 1.1 这个接口在哪里被调用呢? 在drivers/i2c/i2c-core-slave.c中 int i2c_slave_unregister(struct i2c_client *client) { int ret; 1.2 那么i2c_slave_unre 阅读全文
posted @ 2019-10-24 12:20 Jello 阅读(2039) 评论(0) 推荐(0) 编辑
摘要:1. No such device or address 这一句表明当前的板子上没有这样的外设,检查设备树和硬件连接情况 2. 笔者是这样解决的 由于设备树中为rtc所指定的总线与硬件上的连接rtc的总线存在出入,因此修改成一致即可解决此问题。 阅读全文
posted @ 2019-09-03 18:52 Jello 阅读(4662) 评论(0) 推荐(0) 编辑
摘要:调用过程如下: hwclock -w -> xioctl(RTC_SET_TIME); -> rtc_dev_ioctl() -> rtc_set_time() 阅读全文
posted @ 2019-08-13 19:00 Jello 阅读(583) 评论(0) 推荐(0) 编辑
摘要:1. 硬件要求 1.1 需要两台机器,一台作为i2c master(记为M),另一台作为i2c slave(记为S) 1.2 使用杜邦线连接两台机器的i2c信号线 2. 使能内核选项CONFIG_I2C_SLAVE和CONFIG_I2C_SLAVE_EEPROM 可以作为模块也可以编译进内核,随意选 阅读全文
posted @ 2019-08-06 18:33 Jello 阅读(3031) 评论(0) 推荐(0) 编辑
摘要:答:笔者通过重新编译内核和根文件系统解决了此问题 (笔者使用的是openwrt系统) 分析: 1. ’Failed to find the folder holding the modules‘这句log从哪里来? 要知道从哪里来,那么扒一扒insmod这个工具的源码吧 1.1 注意:在openwr 阅读全文
posted @ 2019-07-18 18:40 Jello 阅读(1046) 评论(0) 推荐(0) 编辑
摘要:1. 原型 #define wait_event_interruptible_timeout(wq_head, condition, timeout) \ ({ \ long __ret = timeout; \ might_sleep(); \ if (!___wait_cond_timeout( 阅读全文
posted @ 2019-07-18 12:08 Jello 阅读(3449) 评论(0) 推荐(0) 编辑
摘要:注意:使用的内核源码版本为5.1.3 1. subsys_initcall长什么样子? 它其实是个宏定义,定义如下: #define subsys_initcall(fn) __define_initcall(fn, 4) (注意,这是使用在内置模块中的) 或 #define subsys_init 阅读全文
posted @ 2019-06-09 23:34 Jello 阅读(8558) 评论(0) 推荐(0) 编辑
摘要:分析用的内核版本为5.1.3 1.MFD全称 Multi-function Device,多功能设备 2. 为何会出现MFD子系统 由于出现了一类具有多种功能的外围设备或cpu内部集成的硬件模块 3. 有哪些多功能设备呢? 3.1 PMIC,电源管理芯片 da9063: 调节器,led控制器,看门狗 阅读全文
posted @ 2019-06-08 22:18 Jello 阅读(3306) 评论(0) 推荐(1) 编辑
摘要:答:完成读写功能即可,不要涉及任何针对从设备的特殊操作,这样就可以避免与从设备的代码产生冗余,linux中的i2c控制器驱动就做的特别棒,做好最简单的读写,然后其它的从设备驱动就是直接调用这些最简单的api即可实现i2c控制器与从设备之间的通信。无论从设备的时序是怎样的,都可以调用最基础的i2c控制 阅读全文
posted @ 2019-05-22 10:42 Jello 阅读(758) 评论(0) 推荐(1) 编辑
摘要:一.背景 1.1 笔者的机器有两张声卡,使用aplay -l可以列举出来,一张是内置声卡,另一张是显卡自带的声卡,说明声卡驱动是ok的 1.2 笔者是在浏览器中播放视频无声音 二.尝试 2.1 尝试使用vlc播放器播放本地视频,发现在vlc的Audio->Audio Device中有两个设备,因此依 阅读全文
posted @ 2019-01-11 23:18 Jello 阅读(2171) 评论(0) 推荐(0) 编辑
摘要:答:drivers/rtc/rtc-pcf85263.c,内核配置选项为 CONFIG_RTC_DRV_PCF85263 Location: -> Device Drivers -> Real Time Clock 阅读全文
posted @ 2019-01-09 16:25 Jello 阅读(582) 评论(0) 推荐(0) 编辑
摘要:答:drivers/rtc/rtc-ds1307.c,内核配置项为CONFIG_RTC_DRV_DS1307 Location: -> Device Drivers -> Real Time Clock 阅读全文
posted @ 2019-01-09 16:20 Jello 阅读(564) 评论(0) 推荐(0) 编辑
摘要:答:drivers/misc/eeprom/at24.c,内核配置项为CONFIG_EEPROM_AT24 Location: -> Device Drivers -> Misc devices -> EEPROM support 阅读全文
posted @ 2019-01-09 15:38 Jello 阅读(1114) 评论(0) 推荐(0) 编辑
摘要:答:drivers/hwmon/lm90.c,这个文件中支持了好多芯片,内核配置项为CONFIG_SENSORS_LM90 Location: -> Device Drivers -> Hardware Monitoring support 阅读全文
posted @ 2019-01-09 15:32 Jello 阅读(637) 评论(0) 推荐(0) 编辑
摘要:答:在drivers/hwmon/ina2xx.c中,内核配置项为CONFIG_SENSORS_INA2XX Location: -> Device Drivers -> Hardware Monitoring support 阅读全文
posted @ 2019-01-09 14:28 Jello 阅读(587) 评论(0) 推荐(0) 编辑