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

From: Andrew Lunn
Date: Wed Dec 07 2022 - 10:28:35 EST


On Wed, Dec 07, 2022 at 12:25:53PM +0100, Jonathan Neuschäfer wrote:
> Hello,
>
> I am currently trying to bring up Linux 6.1-rcX on a PXA255 board, using a
> devicetree. One problem I encountered is that the PXA GPIO driver fails to
> probe because it uses the same MMIO register range as the pinctrl driver:
>
> [ 0.666169] pxa25x-pinctrl 40e00054.pinctrl: initialized pxa2xx pinctrl driver
> [ 0.694407] pxa-gpio 40e00000.gpio: can't request region for resource [mem 0x40e00000-0x40e0ffff]
> [ 0.695050] pxa-gpio: probe of 40e00000.gpio failed with error -16
>
> Before I try to fix this myself: Is GPIO on PXA25x currently expected to
> work and when has it last been seen working?
>
> What would be a good way to fix this?

How are the registers arranged? Is 0x40e00000-0x40e0ffff simply too
large, and making it smaller would fix the issue? Or are the registers
interleaved? It is possible to request a region in a non-exclusive
manor. Or is it more than interleaving, individual registers need to
be shared between the two drivers? If so, you have the locking issues
you mentioned.

Andrew