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; |
