aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@openvz.org>2009-05-02 05:39:56 -0400
committerIngo Molnar <mingo@elte.hu>2009-05-03 04:38:21 -0400
commit1cbac972ba28e706fa9ce4d4c81830040bc811ee (patch)
treeb06c99d5258ae157f98aa7e5a23887184e80e017
parent6f0aced639d346e5f54eea9fcb2784b633493d09 (diff)
x86: uv io-apic - use BUILD_BUG_ON instead of BUG_ON
The expression is known to be true/false at compilation time so we're allowed to use build-time instead of run-time check. Also align 'entry' items assignment. [ Impact: shrink kernel a bit, cleanup ] Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Cc: Jack Steiner <steiner@sgi.com> LKML-Reference: <20090502093956.GB4791@lenovo> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/apic/io_apic.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 8aef5f9d9479..a80335ba12cc 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3749,6 +3749,8 @@ int arch_enable_uv_irq(char *irq_name, unsigned int irq, int cpu, int mmr_blade,
3749 unsigned long flags; 3749 unsigned long flags;
3750 int err; 3750 int err;
3751 3751
3752 BUILD_BUG_ON(sizeof(struct uv_IO_APIC_route_entry) != sizeof(unsigned long));
3753
3752 cfg = irq_cfg(irq); 3754 cfg = irq_cfg(irq);
3753 3755
3754 err = assign_irq_vector(irq, cfg, eligible_cpu); 3756 err = assign_irq_vector(irq, cfg, eligible_cpu);
@@ -3762,15 +3764,13 @@ int arch_enable_uv_irq(char *irq_name, unsigned int irq, int cpu, int mmr_blade,
3762 3764
3763 mmr_value = 0; 3765 mmr_value = 0;
3764 entry = (struct uv_IO_APIC_route_entry *)&mmr_value; 3766 entry = (struct uv_IO_APIC_route_entry *)&mmr_value;
3765 BUG_ON(sizeof(struct uv_IO_APIC_route_entry) != sizeof(unsigned long)); 3767 entry->vector = cfg->vector;
3766 3768 entry->delivery_mode = apic->irq_delivery_mode;
3767 entry->vector = cfg->vector; 3769 entry->dest_mode = apic->irq_dest_mode;
3768 entry->delivery_mode = apic->irq_delivery_mode; 3770 entry->polarity = 0;
3769 entry->dest_mode = apic->irq_dest_mode; 3771 entry->trigger = 0;
3770 entry->polarity = 0; 3772 entry->mask = 0;
3771 entry->trigger = 0; 3773 entry->dest = apic->cpu_mask_to_apicid(eligible_cpu);
3772 entry->mask = 0;
3773 entry->dest = apic->cpu_mask_to_apicid(eligible_cpu);
3774 3774
3775 mmr_pnode = uv_blade_to_pnode(mmr_blade); 3775 mmr_pnode = uv_blade_to_pnode(mmr_blade);
3776 uv_write_global_mmr64(mmr_pnode, mmr_offset, mmr_value); 3776 uv_write_global_mmr64(mmr_pnode, mmr_offset, mmr_value);
@@ -3788,10 +3788,10 @@ void arch_disable_uv_irq(int mmr_blade, unsigned long mmr_offset)
3788 struct uv_IO_APIC_route_entry *entry; 3788 struct uv_IO_APIC_route_entry *entry;
3789 int mmr_pnode; 3789 int mmr_pnode;
3790 3790
3791 BUILD_BUG_ON(sizeof(struct uv_IO_APIC_route_entry) != sizeof(unsigned long));
3792
3791 mmr_value = 0; 3793 mmr_value = 0;
3792 entry = (struct uv_IO_APIC_route_entry *)&mmr_value; 3794 entry = (struct uv_IO_APIC_route_entry *)&mmr_value;
3793 BUG_ON(sizeof(struct uv_IO_APIC_route_entry) != sizeof(unsigned long));
3794
3795 entry->mask = 1; 3795 entry->mask = 1;
3796 3796
3797 mmr_pnode = uv_blade_to_pnode(mmr_blade); 3797 mmr_pnode = uv_blade_to_pnode(mmr_blade);