Commit 51b146c5 authored by Baoquan He's avatar Baoquan He Committed by Ingo Molnar
Browse files

x86/apic: Rename variables and functions related to x86_io_apic_ops



The names of x86_io_apic_ops and its two member variables are
misleading:

The ->read() member is to read IO_APIC reg, while ->disable()
which is called by native_disable_io_apic()/irq_remapping_disable_io_apic()
is actually used to restore boot IRQ mode, not to disable the IO-APIC.

So rename x86_io_apic_ops to 'x86_apic_ops' since it doesn't only
handle the IO-APIC, but also the local APIC.

Also rename its member variables and the related callbacks.

Signed-off-by: default avatarBaoquan He <bhe@redhat.com>
Reviewed-by: default avatarEric W. Biederman <ebiederm@xmission.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: douly.fnst@cn.fujitsu.com
Cc: joro@8bytes.org
Cc: prarit@redhat.com
Cc: uobergfe@redhat.com
Link: http://lkml.kernel.org/r/20180214054656.3780-6-bhe@redhat.com


[ Rewrote the changelog. ]
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 50374b96
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -183,11 +183,11 @@ extern void disable_ioapic_support(void);

extern void __init io_apic_init_mappings(void);
extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
extern void native_disable_io_apic(void);
extern void native_restore_boot_irq_mode(void);

static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
{
	return x86_io_apic_ops.read(apic, reg);
	return x86_apic_ops.io_apic_read(apic, reg);
}

extern void setup_IO_APIC(void);
@@ -229,7 +229,7 @@ static inline void mp_save_irq(struct mpc_intsrc *m) { }
static inline void disable_ioapic_support(void) { }
static inline void io_apic_init_mappings(void) { }
#define native_io_apic_read		NULL
#define native_disable_io_apic		NULL
#define native_restore_boot_irq_mode	NULL

static inline void setup_IO_APIC(void) { }
static inline void enable_IO_APIC(void) { }
+4 −4
Original line number Diff line number Diff line
@@ -274,16 +274,16 @@ struct x86_msi_ops {
	void (*restore_msi_irqs)(struct pci_dev *dev);
};

struct x86_io_apic_ops {
	unsigned int	(*read)   (unsigned int apic, unsigned int reg);
	void		(*disable)(void);
struct x86_apic_ops {
	unsigned int	(*io_apic_read)   (unsigned int apic, unsigned int reg);
	void		(*restore)(void);
};

extern struct x86_init_ops x86_init;
extern struct x86_cpuinit_ops x86_cpuinit;
extern struct x86_platform_ops x86_platform;
extern struct x86_msi_ops x86_msi;
extern struct x86_io_apic_ops x86_io_apic_ops;
extern struct x86_apic_ops x86_apic_ops;

extern void x86_early_init_platform_quirks(void);
extern void x86_init_noop(void);
+2 −2
Original line number Diff line number Diff line
@@ -1410,7 +1410,7 @@ void __init enable_IO_APIC(void)
	clear_IO_APIC();
}

void native_disable_io_apic(void)
void native_restore_boot_irq_mode(void)
{
	/*
	 * If the i8259 is routed through an IOAPIC
@@ -1443,7 +1443,7 @@ void restore_boot_irq_mode(void)
	if (!nr_legacy_irqs())
		return;

	x86_io_apic_ops.disable();
	x86_apic_ops.restore();
}

#ifdef CONFIG_X86_32
+3 −3
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ void arch_restore_msi_irqs(struct pci_dev *dev)
}
#endif

struct x86_io_apic_ops x86_io_apic_ops __ro_after_init = {
	.read			= native_io_apic_read,
	.disable		= native_disable_io_apic,
struct x86_apic_ops x86_apic_ops __ro_after_init = {
	.io_apic_read	= native_io_apic_read,
	.restore	= native_restore_boot_irq_mode,
};
+1 −1
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ static void __init xen_apic_check(void)
}
void __init xen_init_apic(void)
{
	x86_io_apic_ops.read = xen_io_apic_read;
	x86_apic_ops.io_apic_read = xen_io_apic_read;
	/* On PV guests the APIC CPUID bit is disabled so none of the
	 * routines end up executing. */
	if (!xen_initial_domain())
Loading