我为ADC模块编写了一个驱动程序,它是IIO子系统的一部分。它读取连接到特定通道的各种硬件外设的电压,这些电压只能从sysfs读取。
我的问题是,我的充电驱动程序也想从ADC读取数据,但是没有暴露这样的API,因此充电驱动程序可以与IIO子系统驱动程序通信(驱动程序 - 驱动程序通信)。
我的解决方案 - 编写一个本身可以计算特定通道的ADC电压的功能,将电压发送给充电驱动器是否可以。它获取设备细节(driver_find_device),可以调用处理函数进行读操作。
提前致谢。
答案 0 :(得分:3)
事实并非如此,内核用户有一个消费者API。它在linux/iio/consumer.h中定义。有关用法示例,请查看drivers/hwmon/ii_hwmon.c或drivers/power/axp288_fuel_gauge.c。您也可以搜索iio_read_channel_raw,但我建议您使用最终可移植的处理版本。