summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/hw_irq.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-08-26 13:16:44 +0200
committerThomas Gleixner <tglx@linutronix.de>2020-09-16 16:52:33 +0200
commit0f5cbdaf203e201f151c2e44a49f6165a7d2c2f9 (patch)
treebd45380f28c84af2ea89839a742c7b58be09e1f4 /arch/x86/include/asm/hw_irq.h
parent55e039157281f9d8ee7d595c2529a3fd4e790b52 (diff)
downloadlinux-0f5cbdaf203e201f151c2e44a49f6165a7d2c2f9.tar.gz
linux-0f5cbdaf203e201f151c2e44a49f6165a7d2c2f9.tar.bz2
linux-0f5cbdaf203e201f151c2e44a49f6165a7d2c2f9.zip
x86/irq: Consolidate UV domain allocation
Move the UV specific fields into their own struct for readability sake. Get rid of the #ifdeffery as it does not matter at all whether the alloc info is a couple of bytes longer or not. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20200826112332.255792469@linutronix.de
Diffstat (limited to 'arch/x86/include/asm/hw_irq.h')
-rw-r--r--arch/x86/include/asm/hw_irq.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
index 79f6d1de1444..dd0b479ad980 100644
--- a/arch/x86/include/asm/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -53,6 +53,14 @@ struct ioapic_alloc_info {
struct IO_APIC_route_entry *entry;
};
+struct uv_alloc_info {
+ int limit;
+ int blade;
+ unsigned long offset;
+ char *name;
+
+};
+
/**
* irq_alloc_info - X86 specific interrupt allocation info
* @type: X86 specific allocation type
@@ -64,7 +72,8 @@ struct ioapic_alloc_info {
* @data: Allocation specific data
*
* @ioapic: IOAPIC specific allocation data
- */
+ * @uv: UV specific allocation data
+*/
struct irq_alloc_info {
enum irq_alloc_type type;
u32 flags;
@@ -76,6 +85,8 @@ struct irq_alloc_info {
union {
struct ioapic_alloc_info ioapic;
+ struct uv_alloc_info uv;
+
int unused;
#ifdef CONFIG_PCI_MSI
struct {
@@ -83,14 +94,6 @@ struct irq_alloc_info {
irq_hw_number_t msi_hwirq;
};
#endif
-#ifdef CONFIG_X86_UV
- struct {
- int uv_limit;
- int uv_blade;
- unsigned long uv_offset;
- char *uv_name;
- };
-#endif
};
};