嵌入式爱好者

查看: 28153|回复: 1

[Linux] IMX6DL外部中断注册失败

[复制链接]

6

主题

24

帖子

69

积分

i.MX6UL通行证i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2017-8-16 15:09:54 | 显示全部楼层 |阅读模式
我用IMX6DL 要写一个外部中断驱动程序,用request_irq(SABRESD_POWER_OFF,  buttons_irq, IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING, "S2", NULL);注册中断失败,跟踪发现是在
request_threaded_irq函数中的
if (!irq_settings_can_request(desc))
                {
                return -EINVAL;
}

这里返回出错的,这问题是出在哪里呢?


这是因为这个IO口已经注册过了吗?      可是我已经这个io口原来的驱动注释了啊,
static struct gpio_keys_button imx6q_buttons[] = {
        GPIO_BUTTON(SABRESD_VOLUME_UP, KEY_VOLUMEUP, 1, "volume-up", 0, 1),
        GPIO_BUTTON(SABRESD_VOLUME_DN, KEY_VOLUMEDOWN, 1, "volume-down", 0, 1),
        //GPIO_BUTTON(SABRESD_POWER_OFF, KEY_POWER, 1, "power", 1, 1),
};
这样做对吗?


回复

使用道具 举报

153

主题

3910

帖子

4207

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX RT通行证i.MX6Q通行证XX18通行证TCU通行证FCU1401通行证FCU1301通行证FCU11xx通行证

发表于 2017-8-17 09:06:13 | 显示全部楼层
本帖最后由 飞凌-unix 于 2017-8-17 09:08 编辑

您好,因为软件代码比较多,具体的可能没法帮您看,因为这需要更多的时间来看代码,非常抱歉,您可以参考按键的那块,这个是使用的中断;还可以查看CPU手册和代码相结合一块去看,一个引脚只需要配置一个pinmux功能,如果这个有作为其他功能使用, 您需要去掉,非常抱歉,具体的问题需要您多辛苦一下。
技术支持电话:0312-3119192
技术支持邮箱:Linux@forlinx.com
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 16:17

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表