i2c_probe()及I2C设备地址

I2C设备在Linux中的应用广泛,如sensor、rtc和audio等。针对设备地址的初始化和注册通常在arch中进行。i2c_client_address_data结构体用于描述探测过程,包括normal_i2c(对所有适配器的地址探测),probe(针对特定适配器的地址探测),ignore(忽略的地址)以及forces(强制使用的已连接设备地址)。这些字段帮助驱动正确识别和配置I2C设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I2C的设备驱动是通过i2c_add_driver(&my_driver)向i2c-core注册的,my_driver中的核心是detach和attach函数,在attach中通过probe探测到总线上的设备并把设备和驱动建立连接以完成设备的初始化。如何探测总线上的设备、Linux中i2c设备地址如何标识并引用?

I2C中, 典型的attach如下所示:
static int my_attach(struct i2c_adapter *adapter)
{
    return i2c_probe(adapter, & addr_data my_probe );
}

static int my_probe(struct i2c_adapter *adapter, int address, int kind)
{
    ..........
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值