Re: [PATCH v5 2/2] s390/pci: Migrate s390 IRQ logic to IRQ domain API

Heiko Carstens
2025-11-21T13:18:49Z

On Fri, Nov 21, 2025 at 06:32:19AM +0100, Tobias Schumacher wrote:
> s390 is one of the last architectures using the legacy API for setup and
> teardown of PCI MSI IRQs. Migrate the s390 IRQ allocation and teardown
> to the MSI parent domain API. For details, see:
...
> Signed-off-by: Tobias Schumacher <ts@linux.ibm.com>
> ---
> arch/s390/Kconfig | 1 +
> arch/s390/include/asm/pci.h | 4 +
> arch/s390/pci/pci_bus.c | 21 ++-
> arch/s390/pci/pci_irq.c | 333 +++++++++++++++++++++++++++-----------------
> 4 files changed, 227 insertions(+), 132 deletions(-)
...
> static struct irq_chip zpci_irq_chip = {
> .name = "PCI-MSI",
> - .irq_unmask = pci_msi_unmask_irq,
> - .irq_mask = pci_msi_mask_irq,
> + .irq_compose_msi_msg = zpci_compose_msi_msg
> };

C99 initializers are supposed to end with a comma. If new initializers would be
added with subsequent patches, this makes the patches smaller (adding the
extra "," to the existing line is just noise).

> - if (msi_vecs < nvec) {
> - pr_info("%s requested %d irqs, allocate system limit of %d",
> + if (msi_vecs < nvec)
> + pr_info("%s requested %d IRQs, allocate system limit of %d\n",
> pci_name(pdev), nvec, zdev->max_msi);
> - }

Bodies of if-statements with more than one line are supposed to come with
brackets for readability reasons, like it used to be before your change.

Note that for new s390 code we mostly follow the coding style guideline as
described in Documentation/process/maintainer-tip.rst. Maybe it makes sense
to spend the effort to add an s390 specific variant of that document...

Anyway, I'll change your code accordingly when applying - no need for a
version.