pinctrl: intel: Make use of for_each_requested_gpio_in_range()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 10 Jun 2020 18:14:49 +0000 (21:14 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 22 Jun 2020 08:01:59 +0000 (11:01 +0300)
Make use of for_each_requested_gpio_in_range() instead of home grown analogue.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pinctrl/intel/pinctrl-intel.c

index 35c88fcb75a2469f8c134547531506a3fe903c30..b64997b303e0c18920d5e67655e70f0cc6c752e3 100644 (file)
@@ -1628,19 +1628,6 @@ static void intel_gpio_irq_init(struct intel_pinctrl *pctrl)
        }
 }
 
-static u32
-intel_gpio_is_requested(struct gpio_chip *chip, int base, unsigned int size)
-{
-       u32 requested = 0;
-       unsigned int i;
-
-       for (i = 0; i < size; i++)
-               if (gpiochip_is_requested(chip, base + i))
-                       requested |= BIT(i);
-
-       return requested;
-}
-
 static bool intel_gpio_update_reg(void __iomem *reg, u32 mask, u32 value)
 {
        u32 curr, updated;
@@ -1661,12 +1648,16 @@ static void intel_restore_hostown(struct intel_pinctrl *pctrl, unsigned int c,
        const struct intel_community *community = &pctrl->communities[c];
        const struct intel_padgroup *padgrp = &community->gpps[gpp];
        struct device *dev = pctrl->dev;
-       u32 requested;
+       const char *dummy;
+       u32 requested = 0;
+       unsigned int i;
 
        if (padgrp->gpio_base == INTEL_GPIO_BASE_NOMAP)
                return;
 
-       requested = intel_gpio_is_requested(&pctrl->chip, padgrp->gpio_base, padgrp->size);
+       for_each_requested_gpio_in_range(&pctrl->chip, i, padgrp->gpio_base, padgrp->size, dummy)
+               requested |= BIT(i);
+
        if (!intel_gpio_update_reg(base + gpp * 4, requested, saved))
                return;