[ARM] 3582/1: AT91RM9200 IRQ trigger types
Patch from Andrew Victor The AIC interrupt controller's set_irq_type() can also be used for internal interrupts. IRQT_LOW and IRQT_FALLING are the only options not supported for the internal interrupts. [Original patch from Karl Olsen] Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
10e8e1fb75
Коммит
37f2e4bc12
|
@ -92,10 +92,6 @@ static int at91rm9200_irq_type(unsigned irq, unsigned type)
|
|||
{
|
||||
unsigned int smr, srctype;
|
||||
|
||||
/* change triggering only for FIQ and external IRQ0..IRQ6 */
|
||||
if ((irq < AT91_ID_IRQ0) && (irq != AT91_ID_FIQ))
|
||||
return -EINVAL;
|
||||
|
||||
switch (type) {
|
||||
case IRQT_HIGH:
|
||||
srctype = AT91_AIC_SRCTYPE_HIGH;
|
||||
|
@ -104,9 +100,13 @@ static int at91rm9200_irq_type(unsigned irq, unsigned type)
|
|||
srctype = AT91_AIC_SRCTYPE_RISING;
|
||||
break;
|
||||
case IRQT_LOW:
|
||||
if ((irq > AT91_ID_FIQ) && (irq < AT91_ID_IRQ0)) /* only supported on external interrupts */
|
||||
return -EINVAL;
|
||||
srctype = AT91_AIC_SRCTYPE_LOW;
|
||||
break;
|
||||
case IRQT_FALLING:
|
||||
if ((irq > AT91_ID_FIQ) && (irq < AT91_ID_IRQ0)) /* only supported on external interrupts */
|
||||
return -EINVAL;
|
||||
srctype = AT91_AIC_SRCTYPE_FALLING;
|
||||
break;
|
||||
default:
|
||||
|
|
Загрузка…
Ссылка в новой задаче