aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>2015-01-18 06:39:31 -0500
committerLinus Walleij <linus.walleij@linaro.org>2015-01-20 05:18:56 -0500
commitff00be69fd95ea02b1274ea2ea1474727adeffd5 (patch)
tree408c454b2c9ec5160f37089ea68b2490fdd74426
parentda2382218c37fe7f8186c20b6b18aba477ec9b19 (diff)
gpio: zevio: Use of_mm_gpiochip_remove
Since d621e8bae5ac9c67 (Create of_mm_gpiochip_remove), there is a counterpart for of_mm_gpiochip_add. This patch implements the remove function of the driver making use of it. Cc: Alexandre Courbot <gnurou@gmail.com> Cc: Fabian Vogt <fabian@ritter-vogt.de> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpio-zevio.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-zevio.c b/drivers/gpio/gpio-zevio.c
index f769cd53f4e4..6f02d7c4cc57 100644
--- a/drivers/gpio/gpio-zevio.c
+++ b/drivers/gpio/gpio-zevio.c
@@ -181,6 +181,8 @@ static int zevio_gpio_probe(struct platform_device *pdev)
181 if (!controller) 181 if (!controller)
182 return -ENOMEM; 182 return -ENOMEM;
183 183
184 platform_set_drvdata(pdev, controller);
185
184 /* Copy our reference */ 186 /* Copy our reference */
185 controller->chip.gc = zevio_gpio_chip; 187 controller->chip.gc = zevio_gpio_chip;
186 controller->chip.gc.dev = &pdev->dev; 188 controller->chip.gc.dev = &pdev->dev;
@@ -202,6 +204,15 @@ static int zevio_gpio_probe(struct platform_device *pdev)
202 return 0; 204 return 0;
203} 205}
204 206
207static int zevio_gpio_remove(struct platform_device *pdev)
208{
209 struct zevio_gpio *controller = platform_get_drvdata(pdev);
210
211 of_mm_gpiochip_remove(&controller->chip);
212
213 return 0;
214}
215
205static const struct of_device_id zevio_gpio_of_match[] = { 216static const struct of_device_id zevio_gpio_of_match[] = {
206 { .compatible = "lsi,zevio-gpio", }, 217 { .compatible = "lsi,zevio-gpio", },
207 { }, 218 { },
@@ -215,6 +226,7 @@ static struct platform_driver zevio_gpio_driver = {
215 .of_match_table = zevio_gpio_of_match, 226 .of_match_table = zevio_gpio_of_match,
216 }, 227 },
217 .probe = zevio_gpio_probe, 228 .probe = zevio_gpio_probe,
229 .remove = zevio_gpio_remove,
218}; 230};
219module_platform_driver(zevio_gpio_driver); 231module_platform_driver(zevio_gpio_driver);
220 232