|
@@ -755,12 +755,6 @@ static int gpio_irq_type(struct irq_data *d, unsigned type)
|
|
|
bank = irq_data_get_irq_chip_data(d);
|
|
|
spin_lock_irqsave(&bank->lock, flags);
|
|
|
retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type);
|
|
|
- if (retval == 0) {
|
|
|
- struct irq_desc *desc = irq_to_desc(d->irq);
|
|
|
-
|
|
|
- desc->status &= ~IRQ_TYPE_SENSE_MASK;
|
|
|
- desc->status |= type;
|
|
|
- }
|
|
|
spin_unlock_irqrestore(&bank->lock, flags);
|
|
|
|
|
|
if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
|
|
@@ -1270,8 +1264,7 @@ static void gpio_unmask_irq(struct irq_data *d)
|
|
|
unsigned int gpio = d->irq - IH_GPIO_BASE;
|
|
|
struct gpio_bank *bank = irq_data_get_irq_chip_data(d);
|
|
|
unsigned int irq_mask = 1 << get_gpio_index(gpio);
|
|
|
- struct irq_desc *desc = irq_to_desc(d->irq);
|
|
|
- u32 trigger = desc->status & IRQ_TYPE_SENSE_MASK;
|
|
|
+ u32 trigger = irqd_get_trigger_type(d);
|
|
|
|
|
|
if (trigger)
|
|
|
_set_gpio_triggering(bank, get_gpio_index(gpio), trigger);
|