WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()
使用输入子系统实现的按键程序,每次按键后进入中断,就会报错如下:
---input_key_handler---
------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()
autorequest GPIO-145
源代码如下:
irqreturn_t input_key_handler(int irqno, void *dev_id) { int value; printk("---%s---\n", __FUNCTION__); value = gpio_direction_input(EXYNOS4_GPX1(1)); printk("---<DRV>--- %d\n", value); input_report_key(input_key, KEY_HOME, !value); input_sync(input_key); return IRQ_HANDLED; }
出现此种问题的原因是在使用 gpio_direction_input 之前没有申请。
两种解决办法:
1、使用前用 gpio_request 来申请 gpio
2、将 gpio_direction_input 改为 gpio_get_value