Re: [PATCH 00/30] ARM: pxa: remove all unused boards&drivers

From: Arnd Bergmann
Date: Thu Oct 20 2022 - 03:30:53 EST


On Wed, Oct 19, 2022, at 23:13, Robert Jarzmik wrote:
> Arnd Bergmann <arnd@xxxxxxxxxx> writes:
>
>> From: Arnd Bergmann <arnd@xxxxxxxx>
> ...zip...
>
>> A good number of drivers become impossible to select after this, so
>> each of these also get dropped. I'm including the driver patches in the
>> series here and can either merge them through the soc tree, or they
>> can get picked up by the individual subsystem maintainers. Since both
>> the platform and the drivers get removed, the order should not matter.
> This part is a bit ... bothering.
> I at least identified these :
>> delete mode 100644 drivers/input/touchscreen/wm9705.c
>> delete mode 100644 drivers/input/touchscreen/wm9712.c
>> delete mode 100644 drivers/input/touchscreen/wm9713.c
>> delete mode 100644 drivers/input/touchscreen/wm97xx-core.c
>> delete mode 100644 drivers/mfd/wm97xx-core.c
>> delete mode 100644 sound/ac97/bus.c
>> delete mode 100644 sound/ac97/codec.c
>> delete mode 100644 sound/ac97/snd_ac97_compat.c
>
> For the existing platforms working with devicetree support (mioa701 for
> example), the wm9713 was properly used, providing both sound support and input
> touchscreen.
> So was the a97 part, providing a framework to make the wm9713 work.
>
> So I'm wondering how the choice to chop these drivers was done, and it is
> necessary to remove them. If so, maybe pxa support in the kernel should be
> removed all together, as people playing with it loose part of the working DT
> platforms they had.

If the files are used for DT based machines, then they should
definitely stay, the intention of my series was to only remove
known dead code.

What I did was to remove CONFIG_UNUSED_BOARD_FILES and then
recursively trim out all code that could be compiled in
before but not after this change, assuming that this would
be safe.

What I see here is that AC97_BUS_NEW and SND_PXA2XX_SOC_AC97
are selected by eight legacy board files (tosa, e740, e750,
e800, em_x270, palm27x, zylonite and mioa701), but no
DT based machine, so without CONFIG_UNUSED_BOARD_FILES, the
entire AC97_BUS_NEW infrastructure and all drivers depending
on this became dead code.

Unfortunately I ran into problems sending out the rest of the
series after sending the cover letter, so the explanations
I put in the individual patches were not here. See [1] for the
actual series.

Since it looks like I'll have to redo half of the PXA patches
after leaving AC97_BUS_NEW in, I won't post the full version
first.

Any idea where I went wrong here? Did I make a mistake in
following the Kconfig dependencies, or are some parts of this
incorrectly annotated?

Arnd

[1] https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git/log/?h=boardfile-remove&id=73c4b7cfbc2b2