前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志平台Tina系统I2C struct 缺少class定义导致的probe失败等问题解决方法

全志平台Tina系统I2C struct 缺少class定义导致的probe失败等问题解决方法

作者头像
阿志小管家
发布2024-02-02 14:46:23
1020
发布2024-02-02 14:46:23
举报

全志平台Tina系统I2C struct 缺少class定义导致的probe失败等问题

【适用范围】

全志Tina系统平台

【问题现象】

在移植、编写I2C及相关驱动时,在其它平台上已经验证过了的驱动移植到我们平台后经常无法正常detect到I2C设备。

【复现步骤】

编译后查看dmesg打印,无相应I2C 匹配成功信息,串口中也无法搜到生成的设备节点。

【原因分析】

在我们的I2C控制器代码中,i2c_detect函数中在最初始处有如下代码:

这就意味着在i2c检测和匹配过程中,如果class成员没有进行设置,缺省值将直接导致检测的失败而结束。

而在其它平台上并没有这个问题。

鉴于I2C驱动不由我们维护,不推荐修改i2c-core.c

【解决办法】

在I2C驱动中,通常定义的i2c_adapter 或 i2c_driver 结构体中,必须包含.class成员,实际定义如下即可,如ac108驱动:

 I2C_CLASS_HWMON,硬件监控类,如lm_sensors等; I2C_CLASS_DDC,DDC是数字显示通道(Digital Display Channel)的意思, 通常用于显示设备信息的获取; I2C_CLASS_SPD,存储类的模组;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档