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:35 +0200
committerJoerg Roedel <joro@8bytes.org>2013-01-28 10:48:30 +0100
commit1c4248ca4e783e47cc34e313d9f82b4ea52774cc (patch)
treee64dba1b95ad1ed8bbf6b3bb6cd0ec893d3c7d9c /arch/x86/include/asm/x86_init.h
parent336224ba5e4fb42a95d02ab0aa0fdff21649bb38 (diff)
downloadop-kernel-dev-1c4248ca4e783e47cc34e313d9f82b4ea52774cc.zip
op-kernel-dev-1c4248ca4e783e47cc34e313d9f82b4ea52774cc.tar.gz
x86, io_apic: Introduce x86_io_apic_ops.disable()
This function pointer is used to call a system-specific function for disabling the IO-APIC. Currently this is used for IRQ remapping which has its own disable routine. Also introduce the necessary infrastructure in the interrupt remapping code to overwrite this and other function pointers as necessary by interrupt remapping. 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.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 5769349..b1d2d6a 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -190,10 +190,11 @@ struct x86_msi_ops {
};
struct x86_io_apic_ops {
- void (*init) (void);
- unsigned int (*read) (unsigned int apic, unsigned int reg);
- void (*write) (unsigned int apic, unsigned int reg, unsigned int value);
- void (*modify)(unsigned int apic, unsigned int reg, unsigned int value);
+ void (*init) (void);
+ unsigned int (*read) (unsigned int apic, unsigned int reg);
+ void (*write) (unsigned int apic, unsigned int reg, unsigned int value);
+ void (*modify) (unsigned int apic, unsigned int reg, unsigned int value);
+ void (*disable)(void);
};
extern struct x86_init_ops x86_init;
OpenPOWER on IntegriCloud