码迷,mamicode.com
首页 > 其他好文 > 详细

驱动中断

时间:2021-04-30 12:16:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:static   int   col   hot   and   参数   lin   nes   驱动   

1.gpio引脚申请

1 ret = gpio_request(linux_gpio, "xxxx_gpio"); //一个参数是linux内部的gpio编号

2.gpio引脚转成中断io,并返回中断号

1 irq = gpio_to_irq(linux_gpio);

3.注册中断函数

request_irq(data->hpd_irq, NULL,irq_handle_fun,
                IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING
                | IRQF_ONESHOT, "lt8912-hpd-isr", data);

4.中断函数

static irqreturn_t irq_handle_fun(int irq, void *data)
{
    struct lt8912_private *pdata = data;

    if (gpio_is_valid(pdata->hpd_gpio)) {
        int hpd = gpio_get_value(pdata->hpd_gpio);
        /* Fixme: do something while hdmi plugin */
    }

    return IRQ_HANDLED;
}

 

驱动中断

标签:static   int   col   hot   and   参数   lin   nes   驱动   

原文地址:https://www.cnblogs.com/oncethings/p/14719010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!