RE: [PATCH V3 01/11] iommu/hyperv: Rename hyperv-iommu.c to hyperv-irq.c

From: Michael Kelley

Date: Tue May 12 2026 - 23:16:04 EST


From: Jacob Pan <jacob.pan@xxxxxxxxxxxxxxxxxxx> Sent: Tuesday, May 12, 2026 4:46 PM
>
> Hi Mukesh,
>
> On Mon, 11 May 2026 19:02:49 -0700
> Mukesh R <mrathor@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > This file actually implements irq remapping, so rename to more
> > appropriate hyperv-irq.c. A new file to implement hyperv iommu will
> > be introduced later. Also, it should not be tied to HYPERV_IOMMU,
> > but to CONFIG_HYPERV and IRQ_REMAP. The file already has #ifdef
> > CONFIG_IRQ_REMAP.
> >
> > Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@xxxxxxxxxxxxx>
> > Signed-off-by: Mukesh R <mrathor@xxxxxxxxxxxxxxxxxxx>
> > ---
> > MAINTAINERS | 2 +-
> > drivers/iommu/Makefile | 2 +-
> > drivers/iommu/{hyperv-iommu.c => hyperv-irq.c} | 6 +++---
>
> Given that we have multiple Hyper-V IOMMU-related files — this renamed
> hyperv-irq.c, the existing hyperv-iommu code, iommu-root (this
> series) and the recently posted guest pvIOMMU driver — should we create
> a drivers/iommu/hyperv/ directory to consolidate them?

Patch 1/4 in the guest pvIOMMU driver [1] that was recently posted by
Yu Zhang does as you suggest.

Michael

[1] https://lore.kernel.org/linux-hyperv/20260511162408.1180069-1-zhangyu1@xxxxxxxxxxxxxxxxxxx/

>
> > drivers/iommu/irq_remapping.c | 2 +-
> > 4 files changed, 6 insertions(+), 6 deletions(-)
> > rename drivers/iommu/{hyperv-iommu.c => hyperv-irq.c} (99%)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index d1cc0e12fe1f..f803a6a38fee 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -11914,7 +11914,7 @@ F: drivers/clocksource/hyperv_timer.c
> > F: drivers/hid/hid-hyperv.c
> > F: drivers/hv/
> > F: drivers/input/serio/hyperv-keyboard.c
> > -F: drivers/iommu/hyperv-iommu.c
> > +F: drivers/iommu/hyperv-irq.c
> > F: drivers/net/ethernet/microsoft/
> > F: drivers/net/hyperv/
> > F: drivers/pci/controller/pci-hyperv-intf.c
> > diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
> > index 0275821f4ef9..335ea77cced6 100644
> > --- a/drivers/iommu/Makefile
> > +++ b/drivers/iommu/Makefile
> > @@ -30,7 +30,7 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
> > obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
> > obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
> > obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
> > -obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o
> > +obj-$(CONFIG_HYPERV) += hyperv-irq.o
> > obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o
> > obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o
> > obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o
> > diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-irq.c
> > similarity index 99%
> > rename from drivers/iommu/hyperv-iommu.c
> > rename to drivers/iommu/hyperv-irq.c
> > index 479103261ae6..d11076f906fb 100644
> > --- a/drivers/iommu/hyperv-iommu.c
> > +++ b/drivers/iommu/hyperv-irq.c
> > @@ -8,6 +8,8 @@
> > * Author : Lan Tianyu <Tianyu.Lan@xxxxxxxxxxxxx>
> > */
> >
> > +#ifdef CONFIG_IRQ_REMAP
> > +
> > #include <linux/types.h>
> > #include <linux/interrupt.h>
> > #include <linux/irq.h>
> > @@ -24,8 +26,6 @@
> >
> > #include "irq_remapping.h"
> >
> > -#ifdef CONFIG_IRQ_REMAP
> > -
> > /*
> > * According 82093AA IO-APIC spec , IO APIC has a 24-entry Interrupt
> > * Redirection Table. Hyper-V exposes one single IO-APIC and so
> > define @@ -331,4 +331,4 @@ static const struct irq_domain_ops
> > hyperv_root_ir_domain_ops = { .free = hyperv_root_irq_remapping_free,
> > };
> >
> > -#endif
> > +#endif /* CONFIG_IRQ_REMAP */
> > diff --git a/drivers/iommu/irq_remapping.c
> > b/drivers/iommu/irq_remapping.c index c2443659812a..41bf65e4ea88
> > 100644 --- a/drivers/iommu/irq_remapping.c
> > +++ b/drivers/iommu/irq_remapping.c
> > @@ -108,7 +108,7 @@ int __init irq_remapping_prepare(void)
> > else if (IS_ENABLED(CONFIG_AMD_IOMMU) &&
> > amd_iommu_irq_ops.prepare() == 0)
> > remap_ops = &amd_iommu_irq_ops;
> > - else if (IS_ENABLED(CONFIG_HYPERV_IOMMU) &&
> > + else if (IS_ENABLED(CONFIG_HYPERV) &&
> > hyperv_irq_remap_ops.prepare() == 0)
> > remap_ops = &hyperv_irq_remap_ops;
> > else
>