aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-vf610.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio/gpio-vf610.c')
-rw-r--r--drivers/gpio/gpio-vf610.c5
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