diff options
Diffstat (limited to 'drivers/gpio/gpio-vf610.c')
-rw-r--r-- | drivers/gpio/gpio-vf610.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c index 1b79ebcfce3e..541fa6ac399d 100644 --- a/drivers/gpio/gpio-vf610.c +++ b/drivers/gpio/gpio-vf610.c | |||
@@ -253,6 +253,7 @@ static int vf610_gpio_probe(struct platform_device *pdev) | |||
253 | struct vf610_gpio_port *port; | 253 | struct vf610_gpio_port *port; |
254 | struct resource *iores; | 254 | struct resource *iores; |
255 | struct gpio_chip *gc; | 255 | struct gpio_chip *gc; |
256 | int i; | ||
256 | int ret; | 257 | int ret; |
257 | 258 | ||
258 | port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); | 259 | port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); |
@@ -319,6 +320,10 @@ static int vf610_gpio_probe(struct platform_device *pdev) | |||
319 | if (ret < 0) | 320 | if (ret < 0) |
320 | return ret; | 321 | return ret; |
321 | 322 | ||
323 | /* Mask all GPIO interrupts */ | ||
324 | for (i = 0; i < gc->ngpio; i++) | ||
325 | vf610_gpio_writel(0, port->base + PORT_PCR(i)); | ||
326 | |||
322 | /* Clear the interrupt status register for all GPIO's */ | 327 | /* Clear the interrupt status register for all GPIO's */ |
323 | vf610_gpio_writel(~0, port->base + PORT_ISFR); | 328 | vf610_gpio_writel(~0, port->base + PORT_ISFR); |
324 | 329 | ||