summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/x86_init.h
diff options
context:
space:
mode:
authorJoerg Roedel <joro@8bytes.org>2012-09-26 12:44:39 +0200
committerJoerg Roedel <joro@8bytes.org>2013-01-28 12:17:26 +0100
commit373dd7a27f2469020e7b56744cf47b82986b9749 (patch)
tree1fb77f5d3b11ad5d2c97c1244e1460cabb94593a /arch/x86/include/asm/x86_init.h
parentx86, msi: Use IRQ remapping specific setup_msi_irqs routine (diff)
downloadlinux-373dd7a27f2469020e7b56744cf47b82986b9749.tar.xz
linux-373dd7a27f2469020e7b56744cf47b82986b9749.zip
x86, io_apic: Introduce set_affinity function pointer
With interrupt remapping a special function is used to change the affinity of an IO-APIC interrupt. Abstract this with a function pointer. Signed-off-by: Joerg Roedel <joro@8bytes.org> Acked-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/x86/include/asm/x86_init.h')
-rw-r--r--arch/x86/include/asm/x86_init.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 1ee10ca46675..20d9f97c14a2 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -190,6 +190,9 @@ struct x86_msi_ops {
int (*setup_hpet_msi)(unsigned int irq, unsigned int id);
};
+struct irq_data;
+struct cpumask;
+
struct x86_io_apic_ops {
void (*init) (void);
unsigned int (*read) (unsigned int apic, unsigned int reg);
@@ -197,6 +200,9 @@ struct x86_io_apic_ops {
void (*modify) (unsigned int apic, unsigned int reg, unsigned int value);
void (*disable)(void);
void (*print_entries)(unsigned int apic, unsigned int nr_entries);
+ int (*set_affinity)(struct irq_data *data,
+ const struct cpumask *mask,
+ bool force);
};
extern struct x86_init_ops x86_init;