Use BUILD_BUG_ON() rather than runtime diagnosis (in i386)
or compile-time error technology with extern non-exsistent function
(in x86_64)

Signed-off-by: Akinobu Mita
---
arch/x86/kernel/mpparse_32.c | 7 +++----
arch/x86/kernel/mpparse_64.c | 8 +++-----
2 files changed, 6 insertions(+), 9 deletions(-)

Index: 2.6-git/arch/x86/kernel/mpparse_32.c
================================================== =================
--- 2.6-git.orig/arch/x86/kernel/mpparse_32.c
+++ 2.6-git/arch/x86/kernel/mpparse_32.c
@@ -716,14 +716,13 @@ void __init get_smp_config (void)
*/
}

-static int __init smp_scan_config (unsigned long base, unsigned long length)
+static int __init smp_scan_config(unsigned long base, unsigned long length)
{
unsigned long *bp = phys_to_virt(base);
struct intel_mp_floating *mpf;

- printk(KERN_INFO "Scan SMP from %p for %ld bytes.\n", bp,length);
- if (sizeof(*mpf) != 16)
- printk("Error: MPF size\n");
+ printk(KERN_INFO "Scan SMP from %p for %ld bytes.\n", bp, length);
+ BUILD_BUG_ON(sizeof(*mpf) != 16);

while (length > 0) {
mpf = (struct intel_mp_floating *)bp;
Index: 2.6-git/arch/x86/kernel/mpparse_64.c
================================================== =================
--- 2.6-git.orig/arch/x86/kernel/mpparse_64.c
+++ 2.6-git/arch/x86/kernel/mpparse_64.c
@@ -534,15 +534,13 @@ void __init get_smp_config (void)
*/
}

-static int __init smp_scan_config (unsigned long base, unsigned long length)
+static int __init smp_scan_config(unsigned long base, unsigned long length)
{
- extern void __bad_mpf_size(void);
unsigned int *bp = phys_to_virt(base);
struct intel_mp_floating *mpf;

- Dprintk("Scan SMP from %p for %ld bytes.\n", bp,length);
- if (sizeof(*mpf) != 16)
- __bad_mpf_size();
+ Dprintk("Scan SMP from %p for %ld bytes.\n", bp, length);
+ BUILD_BUG_ON(sizeof(*mpf) != 16);

while (length > 0) {
mpf = (struct intel_mp_floating *)bp;

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/