From: Bjorn Helgaas <helgaas@kernel.org>
To: Nam Cao <namcao@linutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Thomas Gleixner <tglx@linutronix.de>,
Marc Zyngier <maz@kernel.org>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PCI/MSI: Delete pci_msi_create_irq_domain()
Date: Wed, 8 Oct 2025 15:20:33 -0500 [thread overview]
Message-ID: <20251008202033.GA639047@bhelgaas> (raw)
In-Reply-To: <20250721063626.3026756-1-namcao@linutronix.de>
On Mon, Jul 21, 2025 at 08:36:26AM +0200, Nam Cao wrote:
> pci_msi_create_irq_domain() is unused. Delete it.
>
> Signed-off-by: Nam Cao <namcao@linutronix.de>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
I verified that pci_msi_create_irq_domain() no longer referenced in
current upstream: cd5a0afbdf80 ("Merge tag 'mailbox-v6.18' of
git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox")
Thomas, you've merged most irqdomain.c changes; let me know if you
want me to do anything.
> ---
> This is the final step in converting to the new MSI interrupt domain setup:
> deleting the old setup.
>
> This patch depends on the driver conversion patches listed below. Most
> patches have been applied somewhere, except for the first one.
>
> https://lore.kernel.org/lkml/cover.1752868165.git.namcao@linutronix.de/
> -> has not been applied anywhere
>
> https://lore.kernel.org/lkml/cover.1750861319.git.namcao@linutronix.de/
> -> applied to powerpc/next-test
>
> https://lore.kernel.org/linux-um/cover.1751266049.git.namcao@linutronix.de/
> -> applied to uml/next
>
> https://lore.kernel.org/lkml/cover.1750858083.git.namcao@linutronix.de/
> -> applied to pci/next
>
> https://lore.kernel.org/lkml/cover.1751875853.git.namcao@linutronix.de/
> -> applied to netdev/net-next
>
> https://lore.kernel.org/lkml/cover.1750860131.git.namcao@linutronix.de/
> -> applied to tip/irq/drivers
> ---
> drivers/pci/msi/irqdomain.c | 90 -------------------------------------
> include/linux/msi.h | 3 --
> 2 files changed, 93 deletions(-)
>
> diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c
> index c05152733993..926a16e80192 100644
> --- a/drivers/pci/msi/irqdomain.c
> +++ b/drivers/pci/msi/irqdomain.c
> @@ -49,96 +49,6 @@ static void pci_msi_domain_write_msg(struct irq_data *irq_data, struct msi_msg *
> __pci_write_msi_msg(desc, msg);
> }
>
> -/**
> - * pci_msi_domain_calc_hwirq - Generate a unique ID for an MSI source
> - * @desc: Pointer to the MSI descriptor
> - *
> - * The ID number is only used within the irqdomain.
> - */
> -static irq_hw_number_t pci_msi_domain_calc_hwirq(struct msi_desc *desc)
> -{
> - struct pci_dev *dev = msi_desc_to_pci_dev(desc);
> -
> - return (irq_hw_number_t)desc->msi_index |
> - pci_dev_id(dev) << 11 |
> - ((irq_hw_number_t)(pci_domain_nr(dev->bus) & 0xFFFFFFFF)) << 27;
> -}
> -
> -static void pci_msi_domain_set_desc(msi_alloc_info_t *arg,
> - struct msi_desc *desc)
> -{
> - arg->desc = desc;
> - arg->hwirq = pci_msi_domain_calc_hwirq(desc);
> -}
> -
> -static struct msi_domain_ops pci_msi_domain_ops_default = {
> - .set_desc = pci_msi_domain_set_desc,
> -};
> -
> -static void pci_msi_domain_update_dom_ops(struct msi_domain_info *info)
> -{
> - struct msi_domain_ops *ops = info->ops;
> -
> - if (ops == NULL) {
> - info->ops = &pci_msi_domain_ops_default;
> - } else {
> - if (ops->set_desc == NULL)
> - ops->set_desc = pci_msi_domain_set_desc;
> - }
> -}
> -
> -static void pci_msi_domain_update_chip_ops(struct msi_domain_info *info)
> -{
> - struct irq_chip *chip = info->chip;
> -
> - BUG_ON(!chip);
> - if (!chip->irq_write_msi_msg)
> - chip->irq_write_msi_msg = pci_msi_domain_write_msg;
> - if (!chip->irq_mask)
> - chip->irq_mask = pci_msi_mask_irq;
> - if (!chip->irq_unmask)
> - chip->irq_unmask = pci_msi_unmask_irq;
> -}
> -
> -/**
> - * pci_msi_create_irq_domain - Create a MSI interrupt domain
> - * @fwnode: Optional fwnode of the interrupt controller
> - * @info: MSI domain info
> - * @parent: Parent irq domain
> - *
> - * Updates the domain and chip ops and creates a MSI interrupt domain.
> - *
> - * Returns:
> - * A domain pointer or NULL in case of failure.
> - */
> -struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode,
> - struct msi_domain_info *info,
> - struct irq_domain *parent)
> -{
> - if (WARN_ON(info->flags & MSI_FLAG_LEVEL_CAPABLE))
> - info->flags &= ~MSI_FLAG_LEVEL_CAPABLE;
> -
> - if (info->flags & MSI_FLAG_USE_DEF_DOM_OPS)
> - pci_msi_domain_update_dom_ops(info);
> - if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS)
> - pci_msi_domain_update_chip_ops(info);
> -
> - /* Let the core code free MSI descriptors when freeing interrupts */
> - info->flags |= MSI_FLAG_FREE_MSI_DESCS;
> -
> - info->flags |= MSI_FLAG_ACTIVATE_EARLY | MSI_FLAG_DEV_SYSFS;
> - if (IS_ENABLED(CONFIG_GENERIC_IRQ_RESERVATION_MODE))
> - info->flags |= MSI_FLAG_MUST_REACTIVATE;
> -
> - /* PCI-MSI is oneshot-safe */
> - info->chip->flags |= IRQCHIP_ONESHOT_SAFE;
> - /* Let the core update the bus token */
> - info->bus_token = DOMAIN_BUS_PCI_MSI;
> -
> - return msi_create_irq_domain(fwnode, info, parent);
> -}
> -EXPORT_SYMBOL_GPL(pci_msi_create_irq_domain);
> -
> /*
> * Per device MSI[-X] domain functionality
> */
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index 77227d23ea84..0c0e59af043c 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -703,9 +703,6 @@ void __pci_read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void pci_msi_mask_irq(struct irq_data *data);
> void pci_msi_unmask_irq(struct irq_data *data);
> -struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode,
> - struct msi_domain_info *info,
> - struct irq_domain *parent);
> u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev);
> struct irq_domain *pci_msi_get_device_domain(struct pci_dev *pdev);
> #else /* CONFIG_PCI_MSI */
> --
> 2.39.5
>
next prev parent reply other threads:[~2025-10-08 20:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-21 6:36 [PATCH] PCI/MSI: Delete pci_msi_create_irq_domain() Nam Cao
2025-10-08 10:24 ` Nam Cao
2025-10-08 20:20 ` Bjorn Helgaas [this message]
2025-10-16 19:13 ` [tip: irq/msi] " tip-bot2 for Nam Cao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251008202033.GA639047@bhelgaas \
--to=helgaas@kernel.org \
--cc=bhelgaas@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=maz@kernel.org \
--cc=namcao@linutronix.de \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.