Re: PXA25x: GPIO driver fails probe due to resource conflict with pinctrl driver

From: Robert Jarzmik
Date: Fri Dec 09 2022 - 03:58:20 EST



"Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx> writes:
Does the GPIO driver talk to the pinctrl driver to switch GPIOs between
input and output mode? If it does, that's fine. If not, that can cause
regressions, as GPIOs may need to be switched between input and output
mode at runtime (e.g. for I2C gpio-based bitbang).

It does.
Basically it tries pinctrl first, and falls back to direct registers
access. Here is a small extract of the gpio direction manipulation in
gpio-pxa.c :
if (pxa_gpio_has_pinctrl()) {
ret = pinctrl_gpio_direction_output(chip->base + offset);
if (ret)
return ret;
}

spin_lock_irqsave(&gpio_lock, flags);

tmp = readl_relaxed(base + GPDR_OFFSET);
... blablabal we set the bit, and write back the register.

Cheers.

--
Robert