gpio: mockup: use devm_irq_alloc_descs()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Sat, 4 Mar 2017 16:23:29 +0000 (17:23 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 15 Mar 2017 10:16:32 +0000 (11:16 +0100)
Use the resource managed variant of irq_alloc_descs(). This allows us
to remove gpio_mockup_remove().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-mockup.c

index 06dac72..37c2d69 100644 (file)
@@ -169,7 +169,7 @@ static int gpio_mockup_irqchip_setup(struct device *dev,
        struct gpio_chip *gc = &chip->gc;
        int irq_base, i;
 
-       irq_base = irq_alloc_descs(-1, 0, gc->ngpio, 0);
+       irq_base = devm_irq_alloc_descs(dev, -1, 0, gc->ngpio, 0);
        if (irq_base < 0)
                return irq_base;
 
@@ -373,25 +373,11 @@ static int gpio_mockup_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int gpio_mockup_remove(struct platform_device *pdev)
-{
-       struct gpio_mockup_chip *chips;
-       int i;
-
-       chips = platform_get_drvdata(pdev);
-
-       for (i = 0; i < gpio_mockup_params_nr >> 1; i++)
-               irq_free_descs(chips[i].gc.irq_base, chips[i].gc.ngpio);
-
-       return 0;
-}
-
 static struct platform_driver gpio_mockup_driver = {
        .driver = {
                .name = GPIO_MOCKUP_NAME,
        },
        .probe = gpio_mockup_probe,
-       .remove = gpio_mockup_remove,
 };
 
 static struct platform_device *pdev;