我正在为主要通过 i2c 通信但也使用 GPIO 引脚发送信号的芯片编写驱动程序。相关的设备树节点如下所示:
&i2c1 {
status = "okay";
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
my_dev: my_dev@0c {
compatible = "my_dev,my_dev";
reg = <0x0c>;
irq_gpio = <&gpio0 14 0>;
};
};
我希望能够从我的驱动程序中读取 irq_gpio 值,因此我可以请求一个 irq(通过 gpio_to(irq()) 并进行设置。我发现我需要访问 struct i2c_board_info 的 of_node 成员。但是,驱动的probe函数只获取i2c_client和i2c_device_id structs.如何从i2c_client或设备id开始到达期望的of_node?