pinctrl: intel: Make use of for_each_requested_gpio_in_range()
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>
This commit is contained in:
Родитель
e64fbfa51e
Коммит
d1bfd0229e
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче