|
@@ -88,8 +88,8 @@ static int pxa_gpio_irq_type(unsigned int irq, unsigned int type)
|
|
|
|
|
|
if (type == IRQT_PROBE) {
|
|
if (type == IRQT_PROBE) {
|
|
/* Don't mess with enabled GPIOs using preconfigured edges or
|
|
/* Don't mess with enabled GPIOs using preconfigured edges or
|
|
- GPIOs set to alternate function during probe */
|
|
|
|
- if ((GPIO_IRQ_rising_edge[idx] | GPIO_IRQ_falling_edge[idx]) &
|
|
|
|
|
|
+ GPIOs set to alternate function or to output during probe */
|
|
|
|
+ if ((GPIO_IRQ_rising_edge[idx] | GPIO_IRQ_falling_edge[idx] | GPDR(gpio)) &
|
|
GPIO_bit(gpio))
|
|
GPIO_bit(gpio))
|
|
return 0;
|
|
return 0;
|
|
if (GAFR(gpio) & (0x3 << (((gpio) & 0xf)*2)))
|
|
if (GAFR(gpio) & (0x3 << (((gpio) & 0xf)*2)))
|