Возникла необходимость обрабатывать прерывание на GPIO по заднему фронту (Плата - SK-AT91SAM9260-SIM508 ).
Проблема в том, что функция request_irq заканчивается успехом только в том случае если указать в параметрах прерывания IRQF_TRIGGER_NONE.
Во всех других случаях (IRQF_TRIGGER_FALLING, IRQF_TRIGGER_RISING, IRQF_TRIGGER_HIGH, IRGQ_TRIGGER_LOW) прерывание не устанавливается - система пишет:
Привожу код своего драйвера:
Вопрос, возможно как-то заставить срабатывать прерывание только по заднему фронту? На крайний случай хотя бы по переднему.
Также хотелось бы, если кого нибудь не затруднить, увидеть пример использование аппаратного прерывания EXT2 или EXT3.
После того как переписал по предложенному варианту Strijar, драйвер стал нормально регистрироваться в системе, но обработчик в таком случае не хочет никак реагировать на внешнее событие.
Хотя только стоит убрать IRQF_SHARED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, как тут же он начинает срабатывать.
Есть какие либо предложения ?