如果你的设备节点既不能转换为platform_device,它也不是I2C设备,不是SPI设备,那么在驱动程序中可以自行调用of_irq_get函数去解析设备树,得到中断号。 3.4. 对于GPIO 参考: drivers/input/keyboard/gpio_keys.c 可以使用gpio_to_irq或gpiod_to_irq获得中断号。 举例,假设在设备树中有
devm_gpiod_get_index_op devm_gpiod_get_optional devm_gpiod_put devm_gpiod_put_array fwnode_get_named_gpiod gpio_to_desc gpiod_cansleep gpiod_count gpiod_direction_input gpiod_direction_output gpiod_direction_output_ gpiod_export gpiod_export_link gpiod_get gpiod_get_array gpiod_get_...
drivers/input/keyboard/gpio_keys.c 可以使用gpio_to_irq或gpiod_to_irq获得中断号。 举例,假设在设备树中有如下节点: gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; user { label = "User Button"; gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; gpio-key,wakeup; linux,code = <K...
canslee gpiod_is_active_low gpiod_put gpiod_put_array gpiod_set_array_value gpiod_set_array_value_c gpiod_set_debounce gpiod_set_raw_array_val gpiod_set_raw_array_val gpiod_set_raw_value gpiod_set_raw_value_can gpiod_set_value gpiod_set_value_canslee gpiod_to_irq gpiod_un...
gpiod_export() 函数 *//* [gpio][4] 设置/获取 值 *//* 使用 gpiod_set_value() 或 gpiod_get_value() 等等函数 *//* [gpio][5] 转中断,注册中断 *//* 使用 gpiod_set_value() 和 request_irq() 函数 *//* [gpio][6] 释放引脚 *//* 使用 gpiod_put() 或 gpiod_put() 函数 ...
任何IRQ使用者都可以从任何irqchip请求IRQ,即使它是一个组合的GPIO+IRQ驱动程序。基本前提是gpio_chip和irq_chip是正交的,它们独立地提供它们的服务。 gpiod_to_irq()只是一个方便的函数,用于找出特定GPIO线的IRQ,不应该依赖于在使用IRQ之前已经调用了它。
valuegpiod_get_value_cansleegpiod_is_active_lowgpiod_putgpiod_put_arraygpiod_set_array_valuegpiod_set_array_value_cgpiod_set_debouncegpiod_set_raw_array_valgpiod_set_raw_array_valgpiod_set_raw_valuegpiod_set_raw_value_cangpiod_set_valuegpiod_set_value_cansleegpiod_to_irqgpiod_un...
(dev,"led",0,GPIOD_OUT_LOW);green=gpiod_get_index(dev,"led",1,GPIOD_OUT_LOW);btn1=gpiod_get(dev,"btn1",GPIOD_IN);btn2=gpiod_get(dev,"btn2",GPIOD_IN);// 获得中断号irq=gpiod_to_irq(btn1);// 申请中断retval=request_threaded_irq(irq,NULL,btn1_pushed_irq_handler,IRQF_...
green = gpiod_get_index(dev, "led", 1, GPIOD_OUT_LOW); btn1 = gpiod_get(dev, "btn1", GPIOD_IN); btn2 = gpiod_get(dev, "btn2", GPIOD_IN); // 获得中断号 irq = gpiod_to_irq(btn1); // 申请中断 retval = request_threaded_irq(irq, NULL, btn1_pushed_irq_handler, IR...
如果你的设备节点既不能转换为platform_device,它也不是I2C设备,不是SPI设备,那么在驱动程序中可以自行调用of_irq_get函数去解析设备树,得到中断号。 3.4 对于GPIO 参考:drivers/input/keyboard/gpio_keys.c 可以使用gpio_to_irq或gpiod_to_irq获得中断号。