Re: [GIT PULL] stable/for-ingo-v3.5 of IOAPIC abstraction (and thensome users) for v3.5
From: Josh Boyer
Date: Tue May 01 2012 - 16:08:22 EST
On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> -static void __init __ioapic_init_mappings(void)
> +void __init native_io_apic_init_mappings(void)
> {
> unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
> struct resource *ioapic_res;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 1a29015..8526317 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> init_cpu_to_node();
>
> init_apic_mappings();
> - ioapic_and_gsi_init();
> + x86_io_apic_ops.init();
>
> kvm_guest_init();
>
> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> index 9cf71d0..35c5e54 100644
> --- a/arch/x86/kernel/x86_init.c
> +++ b/arch/x86/kernel/x86_init.c
> @@ -18,6 +18,7 @@
> #include <asm/e820.h>
> #include <asm/time.h>
> #include <asm/irq.h>
> +#include <asm/io_apic.h>
> #include <asm/pat.h>
> #include <asm/tsc.h>
> #include <asm/iommu.h>
> @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi = {
> .teardown_msi_irqs = default_teardown_msi_irqs,
> .restore_msi_irqs = default_restore_msi_irqs,
> };
> +
> +struct x86_io_apic_ops x86_io_apic_ops = {
> + .init = native_io_apic_init_mappings,
> + .read = native_io_apic_read,
> + .write = native_io_apic_write,
> + .modify = native_io_apic_modify,
> +};
You'll get a section mismatch warning on this struct. It's not a huge
deal, but native_io_apic_init_mappings is annotated as __init whereas
this struct isn't. In practice it doesn't seem to matter as
x86_io_apic_ops.init is only called in setup_arch, but it's still a
valid warning.
(First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=817645 )
josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/