首页 > 解决方案 > 标志不匹配 irq 32 驱动程序 A 与驱动程序 A

问题描述

通常标志不匹配是针对驱动程序 A 与驱动程序 B 的。您能否提供一些解决方法。我们正在使用 imx6ul 板。调试这个的方法是什么。我也检查了其他驱动程序,他们都没有注册 irq 32。看起来我们注册了两次相同的驱动程序。

错误:

[ 7.315153] input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[ 7.332058] genirq: Flags mismatch irq 32. 00000004 (20cc000.snvs:snvs-powerkey) vs. 00000004 (20cc000.snvs:snvs-powerkey)
[ 7.343879] snvs_pwrkey 20cc000.snvs:snvs-powerkey: interrupt not available.
[ 7.366705] snvs_pwrkey: probe of 20cc000.snvs:snvs-powerkey failed with error -16
[ 7.394971] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0

DTS

snvs: snvs@020cc000 {
    compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
    reg = <0x020cc000 0x4000>;
    
snvs_rtc: snvs-rtc-lp {
    compatible = "fsl,sec-v4.0-mon-rtc-lp";
    regmap = <&snvs>;
    offset = <0x34>;
    interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
    <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
    };

snvs_poweroff: snvs-poweroff {
    compatible = "syscon-poweroff";
    regmap = <&snvs>;
    offset = <0x38>;
    value = <0x61>;
    mask = <0x61>;
    status = "disabled";
    };
    
snvs_pwrkey: snvs-powerkey {
    compatible = "fsl,sec-v4.0-pwrkey";
    regmap = <&snvs>;
    interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
    linux,keycode = <KEY_POWER>;
    wakeup-source;
    };
    };

标签: linuxlinux-kernellinux-device-driverinterruptimx6

解决方案


推荐阅读