Re: [PATCH 00/10] ARM: pxa: use software nodes/properties for GPIOs

Dmitry Torokhov
2024-06-28T21:44:46Z

Hi Arnd,

On Fri, Jun 28, 2024 at 10:59:53PM +0200, Arnd Bergmann wrote:
> On Fri, Jun 28, 2024, at 20:08, Dmitry Torokhov wrote:
> > This series converts legacy pxa boards (spitz, gumstix) to use software
> > nodes/properties to describe various GPIOs instead of relying on GPIO
> > lookup tables. The benefit is that structure and behavior is closer to
> > DT-described GPIOs.
> >
> > The very first patch ("ARM: spitz: fix GPIO assignment for backlight")
> > is actually a fix that IMO should be applied sooner rather than later,
> > the rest of patches are enhancements. The reason it is sent with the
> > rest of the series is that later changes contextually depend on it.
> >
> > The last patch ("ARM: spitz: Use software nodes for the ADS7846
> > touchscreen") soft-depends on corresponding changes by Linus Walleij to
> > the ads7846 driver in input tree. It compiles without it, but the device
> > will not sync with display refreshes. I have created an immutable branch
> > (branched from v6.9) at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git ib/ads7846-hsync
> >
> > in case you wish to pull it in.
> >
> > Regretfully it was only compiled as I do not have access to the relevant
> > hardware.
>
> Hi Dmitry,
>
> I'm happy to pull these in directly, hopefully with some extra
> review or ack from the maintainers. If there are no negative
> comments, feel free to resend them to soc@kernel.org for me
> to pick up.
>
> Is your goal to of the series to eventually convert all
> gpio descriptors over to software nodes, or are you working
> towards converting all of mach-pxa to DT?
>
> In the latter case, note that the reason we kept these
> specific board files is that they have reasonable support in
> qemu and you can probably figure out how to test them if you
> try hard enough. I have not tried myself though, and there is
> a high chance that current kernels won't boot without extra
> fixes.
>
> If your goal is to change all board files to software nodes,
> I think we should take a step back, since most of those boards
> are likely to get removed anyway. Two years ago, I removed
> almost 90% of the board files remaining at the time after
> showing that they were pretty much all unused. I kept the
> ones that either had known users, or that someone wanted to
> keep for some reason and work on doing the DT conversion.
> For most of these (including PXA), there has been no work
> on this in the past two years, so I think we should ask the
> same question again and see which ones we can just remove
> this time.

I would like to eventually switch everything to the software
nodes/property entries. The GPIO lookup tables were introduced before we
had software nodes and were really convenient way to describe GPIOs on
non-ACPI non-DT boards. However now that we have software
nodes/properties we can move away from both custom platform data and
lookup tables in the board code and remove platform data support from
the drivers, unifying the driver behavior.

I am not in any rush with this, so if some boards are on a cutting block
I am happy to wait. I started poking at Spitz and the rest of mach-pxa
because Linus W sent out a patch to ads7846 ;) and I also remembered
that you already dropped bunch of PXA boards that were no longer
relevant so I assumed spitz and gumstix still have some use.

Could you tell me which ones are likely to stay vs ones that might go? I
think arch/arm/mach-s3c/mach-crag* is staying? jornada720?

Thanks.

--
Dmitry