aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib.c5
-rw-r--r--drivers/gpio/xilinx_gpio.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 73fd328f6fe4..83cbc34e3a76 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -8,6 +8,7 @@
8#include <linux/debugfs.h> 8#include <linux/debugfs.h>
9#include <linux/seq_file.h> 9#include <linux/seq_file.h>
10#include <linux/gpio.h> 10#include <linux/gpio.h>
11#include <linux/of_gpio.h>
11#include <linux/idr.h> 12#include <linux/idr.h>
12#include <linux/slab.h> 13#include <linux/slab.h>
13 14
@@ -1099,6 +1100,8 @@ int gpiochip_add(struct gpio_chip *chip)
1099 } 1100 }
1100 } 1101 }
1101 1102
1103 of_gpiochip_add(chip);
1104
1102unlock: 1105unlock:
1103 spin_unlock_irqrestore(&gpio_lock, flags); 1106 spin_unlock_irqrestore(&gpio_lock, flags);
1104 1107
@@ -1133,6 +1136,8 @@ int gpiochip_remove(struct gpio_chip *chip)
1133 1136
1134 spin_lock_irqsave(&gpio_lock, flags); 1137 spin_lock_irqsave(&gpio_lock, flags);
1135 1138
1139 of_gpiochip_remove(chip);
1140
1136 for (id = chip->base; id < chip->base + chip->ngpio; id++) { 1141 for (id = chip->base; id < chip->base + chip->ngpio; id++) {
1137 if (test_bit(FLAG_REQUESTED, &gpio_desc[id].flags)) { 1142 if (test_bit(FLAG_REQUESTED, &gpio_desc[id].flags)) {
1138 status = -EBUSY; 1143 status = -EBUSY;
diff --git a/drivers/gpio/xilinx_gpio.c b/drivers/gpio/xilinx_gpio.c
index 2993c40b48e1..709690995d0d 100644
--- a/drivers/gpio/xilinx_gpio.c
+++ b/drivers/gpio/xilinx_gpio.c
@@ -190,7 +190,6 @@ static int __devinit xgpio_of_probe(struct device_node *np)
190 190
191 spin_lock_init(&chip->gpio_lock); 191 spin_lock_init(&chip->gpio_lock);
192 192
193 chip->mmchip.gc.of_gpio_n_cells = 2;
194 chip->mmchip.gc.direction_input = xgpio_dir_in; 193 chip->mmchip.gc.direction_input = xgpio_dir_in;
195 chip->mmchip.gc.direction_output = xgpio_dir_out; 194 chip->mmchip.gc.direction_output = xgpio_dir_out;
196 chip->mmchip.gc.get = xgpio_get; 195 chip->mmchip.gc.get = xgpio_get;