[PATCH v2 23/23] PCI: aardvark: Make main irq_chip structure a static driver structure

Pali Rohár pali at kernel.org
Mon Jan 10 02:53:24 PST 2022


On Monday 10 January 2022 09:28:39 Marc Zyngier wrote:
> On 2022-01-10 01:50, Marek Behún wrote:
> > Marc Zyngier says [1] that we should use struct irq_chip as a global
> > static struct in the driver. Even though the structure currently
> > contains a dynamic member (parent_device), Marc says [2] that he plans
> > to kill it and make the structure completely static.
> > 
> > We have already converted others irq_chip structures in this driver in
> > this way, but we omitted this one because the .name member is
> > dynamically created from device's name, and the name is displayed in
> > sysfs, so changing it would break sysfs ABI.
> > 
> > The rationale for changing the name (to "advk-INT") in spite of sysfs
> > ABI, and thus allowing to convert to a static structure, is that after
> > the other changes we made in this series, the IRQ chip is basically
> > something different: it no logner generates ERR and PME interrupts (they
> > are generated by emulated bridge's rp_irq_chip).
> 
> There is no 'is spite of the ABI'. If you don't understand why
> we don't break the ABI, you have an even bigger problem.
> 
> So NAK to this patch, now and forever. Any change to the structure to
> make it read-only must allow the preservation of the existing names
> when they are generated by the driver.

Marc, you already presented that you do not like Armada 3720 platform
and that you do not care about it.

But please do not slowdown development for this platform.

Arguments about ABIs, breaking it and similar are not relevant here as
this current kernel implementation is broken. And has to be replaced by
a working one. We are doing on it for more than year.

It really does not make sense to try doing some backward compatibility
with something which is broken by design and does not work. It just take
lot of time without any value.

We really need to more forward and fix driver as in current state is
PCIe on Armada 3720 unusable.



More information about the linux-arm-kernel mailing list