с таким описанием входов:
inputs: inputs {
compatible = "mycomp,inputsmod";
pinctrl-names = "default";
interrupt-parent = <&pio>;
input1 {
pinctrl-0 = <&input1_pin>;
label = "input1";
index = <0>;
interrupts = <7 0 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "input1";
};
input2 {
pinctrl-0 = <&input2_pin>;
label = "input2";
index = <0>;
interrupts = <7 1 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "input2";
};
};
Пытаюсь получить прерывание таким вот образом:
int irq = platform_get_irq_byname(pdev, "input1");
if ( irq < 0 ){
pr_err("platform get irq by name for input1 failed\n");
} else {
pr_err("Get irq by name success (%d).\n", irq);
}
Но выдает ошибку
error -ENXIO: IRQ input1 not found
Как в таком случае получать прерывания ?
Если просто описать одиночное устройство, то работает.
У вас сами то прерывания зарегались в системе?
Обсуждают сегодня