Signed-off-by: Andrew Morton --- arch/i386/Kconfig | 4 ++++ arch/i386/kernel/dmi_scan.c | 16 ++++++++-------- arch/i386/kernel/setup.c | 2 +- arch/x86_64/Kconfig | 4 ++++ arch/x86_64/kernel/Makefile | 5 ++++- arch/x86_64/kernel/setup.c | 9 +++++++++ include/asm-i386/io.h | 5 +++++ include/asm-x86_64/io.h | 5 +++++ include/linux/dmi.h | 5 ++++- 9 files changed, 44 insertions(+), 11 deletions(-) diff -puN arch/i386/Kconfig~x86_64-dmi arch/i386/Kconfig --- devel/arch/i386/Kconfig~x86_64-dmi 2006-01-07 01:17:27.000000000 -0800 +++ devel-akpm/arch/i386/Kconfig 2006-01-07 01:17:27.000000000 -0800 @@ -45,6 +45,10 @@ config ARCH_MAY_HAVE_PC_FDC bool default y +config DMI + bool + default y + source "init/Kconfig" menu "Processor type and features" diff -puN arch/i386/kernel/dmi_scan.c~x86_64-dmi arch/i386/kernel/dmi_scan.c --- devel/arch/i386/kernel/dmi_scan.c~x86_64-dmi 2006-01-07 01:17:27.000000000 -0800 +++ devel-akpm/arch/i386/kernel/dmi_scan.c 2006-01-07 01:17:27.000000000 -0800 @@ -4,7 +4,7 @@ #include #include #include - +#include static char * __init dmi_string(struct dmi_header *dm, u8 s) { @@ -19,7 +19,7 @@ static char * __init dmi_string(struct d } if (*bp != 0) { - str = alloc_bootmem(strlen(bp) + 1); + str = dmi_alloc(strlen(bp) + 1); if (str != NULL) strcpy(str, bp); else @@ -40,7 +40,7 @@ static int __init dmi_table(u32 base, in u8 *buf, *data; int i = 0; - buf = bt_ioremap(base, len); + buf = dmi_ioremap(base, len); if (buf == NULL) return -1; @@ -65,7 +65,7 @@ static int __init dmi_table(u32 base, in data += 2; i++; } - bt_iounmap(buf, len); + dmi_iounmap(buf, len); return 0; } @@ -112,7 +112,7 @@ static void __init dmi_save_devices(stru if ((*d & 0x80) == 0) continue; - dev = alloc_bootmem(sizeof(*dev)); + dev = dmi_alloc(sizeof(*dev)); if (!dev) { printk(KERN_ERR "dmi_save_devices: out of memory.\n"); break; @@ -131,7 +131,7 @@ static void __init dmi_save_ipmi_device( struct dmi_device *dev; void * data; - data = alloc_bootmem(dm->length); + data = dmi_alloc(dm->length); if (data == NULL) { printk(KERN_ERR "dmi_save_ipmi_device: out of memory.\n"); return; @@ -139,7 +139,7 @@ static void __init dmi_save_ipmi_device( memcpy(data, dm, dm->length); - dev = alloc_bootmem(sizeof(*dev)); + dev = dmi_alloc(sizeof(*dev)); if (!dev) { printk(KERN_ERR "dmi_save_ipmi_device: out of memory.\n"); return; @@ -221,7 +221,7 @@ void __init dmi_scan_machine(void) } } -out: printk(KERN_INFO "DMI not present.\n"); +out: printk(KERN_INFO "DMI not present or invalid.\n"); } diff -puN arch/i386/kernel/setup.c~x86_64-dmi arch/i386/kernel/setup.c --- devel/arch/i386/kernel/setup.c~x86_64-dmi 2006-01-07 01:17:27.000000000 -0800 +++ devel-akpm/arch/i386/kernel/setup.c 2006-01-07 01:17:27.000000000 -0800 @@ -45,6 +45,7 @@ #include #include #include +#include #include