diff options
author | Cyrill Gorcunov <gorcunov@openvz.org> | 2009-05-02 05:39:56 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-03 04:38:21 -0400 |
commit | 1cbac972ba28e706fa9ce4d4c81830040bc811ee (patch) | |
tree | b06c99d5258ae157f98aa7e5a23887184e80e017 | |
parent | 6f0aced639d346e5f54eea9fcb2784b633493d09 (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.c | 22 |
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); |