1. 程式人生 > >WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()

WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()

問題 nbsp auto spa cut request 進入 代碼 o_direct

使用輸入子系統實現的按鍵程序,每次按鍵後進入中斷,就會報錯如下:

---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

WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x5c/0x118()