Thread (38 messages) 38 messages, 5 authors, 2022-02-24

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

From: Marek Behún <kabel@kernel.org>
Date: 2022-01-10 15:20:57
Also in: linux-pci

On Mon, 10 Jan 2022 14:44:17 +0000
Marc Zyngier [off-list ref] wrote:
On Mon, 10 Jan 2022 10:53:24 +0000,
Pali Rohár [off-list ref] wrote:
quoted
On Monday 10 January 2022 09:28:39 Marc Zyngier wrote:  
quoted
On 2022-01-10 01:50, Marek Behún wrote:  
quoted
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.  
What I like or not is irrelevant here. What I ask for is that
userspace ABIs are not broken.
quoted
But please do not slowdown development for this platform.  
That's quite an accusation.
quoted
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.  
This patch doesn't fix anything. It has the potential to break
userspace, and I'm not having any of it. You may not care about
backward compatibility, but this is thankfully *not* your pet
playground.

You can claim that I am doing a bad job. In which case, feel free to
submit a patch removing me from the MAINTAINER file, and we can have
that discussion.

In the meantime, I will continue to oppose these kind of patches that
pretend to 'fix' things without adding any value.

	M.
Dear Marc,

that is why I put this patch as last patch of this series, so that it
could be potentially dropped.

I mostly agree with your points, Pali does not. Pali, let's not sabotage
ourselves with needless arguments. Marc, Pali means well, but sometimes
when he has different opinion, he can get quite argumentative. Let's
ignore this patch for now.

Marc, what do you think about the other patches? Did you have time to
look at them?

Thanks.

Marek

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help