Skip to content

Commit 874a201

Browse files
committed
x86/irq: Make most MSI ops XEN private
Nothing except XEN uses the setup/teardown ops. Hide them there. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20200826112334.198633344@linutronix.de
1 parent 7ca435c commit 874a201

2 files changed

Lines changed: 14 additions & 9 deletions

File tree

arch/x86/include/asm/x86_init.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,6 @@ struct x86_platform_ops {
276276
struct pci_dev;
277277

278278
struct x86_msi_ops {
279-
int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type);
280-
void (*teardown_msi_irqs)(struct pci_dev *dev);
281279
void (*restore_msi_irqs)(struct pci_dev *dev);
282280
};
283281

arch/x86/pci/xen.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,13 @@ static int acpi_register_gsi_xen(struct device *dev, u32 gsi,
157157
struct xen_pci_frontend_ops *xen_pci_frontend;
158158
EXPORT_SYMBOL_GPL(xen_pci_frontend);
159159

160+
struct xen_msi_ops {
161+
int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type);
162+
void (*teardown_msi_irqs)(struct pci_dev *dev);
163+
};
164+
165+
static struct xen_msi_ops xen_msi_ops __ro_after_init;
166+
160167
static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
161168
{
162169
int irq, ret, i;
@@ -415,7 +422,7 @@ static int xen_msi_domain_alloc_irqs(struct irq_domain *domain,
415422
else
416423
type = PCI_CAP_ID_MSI;
417424

418-
return x86_msi.setup_msi_irqs(to_pci_dev(dev), nvec, type);
425+
return xen_msi_ops.setup_msi_irqs(to_pci_dev(dev), nvec, type);
419426
}
420427

421428
static void xen_msi_domain_free_irqs(struct irq_domain *domain,
@@ -424,7 +431,7 @@ static void xen_msi_domain_free_irqs(struct irq_domain *domain,
424431
if (WARN_ON_ONCE(!dev_is_pci(dev)))
425432
return;
426433

427-
x86_msi.teardown_msi_irqs(to_pci_dev(dev));
434+
xen_msi_ops.teardown_msi_irqs(to_pci_dev(dev));
428435
}
429436

430437
static struct msi_domain_ops xen_pci_msi_domain_ops = {
@@ -463,16 +470,16 @@ static __init void xen_setup_pci_msi(void)
463470
{
464471
if (xen_pv_domain()) {
465472
if (xen_initial_domain()) {
466-
x86_msi.setup_msi_irqs = xen_initdom_setup_msi_irqs;
473+
xen_msi_ops.setup_msi_irqs = xen_initdom_setup_msi_irqs;
467474
x86_msi.restore_msi_irqs = xen_initdom_restore_msi_irqs;
468475
} else {
469-
x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
476+
xen_msi_ops.setup_msi_irqs = xen_setup_msi_irqs;
470477
}
471-
x86_msi.teardown_msi_irqs = xen_pv_teardown_msi_irqs;
478+
xen_msi_ops.teardown_msi_irqs = xen_pv_teardown_msi_irqs;
472479
pci_msi_ignore_mask = 1;
473480
} else if (xen_hvm_domain()) {
474-
x86_msi.setup_msi_irqs = xen_hvm_setup_msi_irqs;
475-
x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
481+
xen_msi_ops.setup_msi_irqs = xen_hvm_setup_msi_irqs;
482+
xen_msi_ops.teardown_msi_irqs = xen_teardown_msi_irqs;
476483
} else {
477484
WARN_ON_ONCE(1);
478485
return;

0 commit comments

Comments
 (0)