diff options
-rw-r--r-- | drivers/gpio/gpio-mvebu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 902af437eaf2..7a874129e5d8 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
@@ -381,11 +381,13 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
381 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); | 381 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); |
382 | u &= ~(1 << pin); | 382 | u &= ~(1 << pin); |
383 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 383 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
384 | break; | ||
384 | case IRQ_TYPE_EDGE_FALLING: | 385 | case IRQ_TYPE_EDGE_FALLING: |
385 | case IRQ_TYPE_LEVEL_LOW: | 386 | case IRQ_TYPE_LEVEL_LOW: |
386 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); | 387 | u = readl_relaxed(mvebu_gpioreg_in_pol(mvchip)); |
387 | u |= 1 << pin; | 388 | u |= 1 << pin; |
388 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 389 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
390 | break; | ||
389 | case IRQ_TYPE_EDGE_BOTH: { | 391 | case IRQ_TYPE_EDGE_BOTH: { |
390 | u32 v; | 392 | u32 v; |
391 | 393 | ||
@@ -401,6 +403,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
401 | else | 403 | else |
402 | u &= ~(1 << pin); /* rising */ | 404 | u &= ~(1 << pin); /* rising */ |
403 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); | 405 | writel_relaxed(u, mvebu_gpioreg_in_pol(mvchip)); |
406 | break; | ||
404 | } | 407 | } |
405 | } | 408 | } |
406 | return 0; | 409 | return 0; |