]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: ep93xx: refactor ep93xx_gpio_add_bank
authorNikita Shubin <nikita.shubin@maquefel.me>
Tue, 9 Feb 2021 13:31:09 +0000 (16:31 +0300)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 15 Feb 2021 10:43:34 +0000 (11:43 +0100)
- replace plain numbers with girq->num_parents in devm_kcalloc
- replace plain numbers with girq->num_parents for port F
- refactor i - 1 to i + 1 to make loop more readable
- combine getting IRQ's loop and setting handler's into single loop

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-ep93xx.c

index 9760df7d1172d588e5031cc764e2677881a0b238..56ddf6b9baba2480f5eefd5e1299acca1137cb73 100644 (file)
@@ -370,7 +370,7 @@ static int ep93xx_gpio_add_bank(struct ep93xx_gpio_chip *egc,
 
                girq->parent_handler = ep93xx_gpio_ab_irq_handler;
                girq->num_parents = 1;
-               girq->parents = devm_kcalloc(dev, 1,
+               girq->parents = devm_kcalloc(dev, girq->num_parents,
                                             sizeof(*girq->parents),
                                             GFP_KERNEL);
                if (!girq->parents)
@@ -392,15 +392,14 @@ static int ep93xx_gpio_add_bank(struct ep93xx_gpio_chip *egc,
                 */
                girq->parent_handler = ep93xx_gpio_f_irq_handler;
                girq->num_parents = 8;
-               girq->parents = devm_kcalloc(dev, 8,
+               girq->parents = devm_kcalloc(dev, girq->num_parents,
                                             sizeof(*girq->parents),
                                             GFP_KERNEL);
                if (!girq->parents)
                        return -ENOMEM;
                /* Pick resources 1..8 for these IRQs */
-               for (i = 1; i <= 8; i++)
-                       girq->parents[i - 1] = platform_get_irq(pdev, i);
-               for (i = 0; i < 8; i++) {
+               for (i = 0; i < girq->num_parents; i++) {
+                       girq->parents[i] = platform_get_irq(pdev, i + 1);
                        gpio_irq = EP93XX_GPIO_F_IRQ_BASE + i;
                        irq_set_chip_data(gpio_irq, &epg->gc[5]);
                        irq_set_chip_and_handler(gpio_irq,