diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/io.h | 5 | ||||
-rw-r--r-- | include/asm-x86_64/io.h | 5 | ||||
-rw-r--r-- | include/linux/dmi.h | 5 |
3 files changed, 14 insertions, 1 deletions
diff --git a/include/asm-i386/io.h b/include/asm-i386/io.h index 7babb97a02eb..03233c2ab820 100644 --- a/include/asm-i386/io.h +++ b/include/asm-i386/io.h @@ -131,6 +131,11 @@ extern void iounmap(volatile void __iomem *addr); extern void *bt_ioremap(unsigned long offset, unsigned long size); extern void bt_iounmap(void *addr, unsigned long size); +/* Use early IO mappings for DMI because it's initialized early */ +#define dmi_ioremap bt_ioremap +#define dmi_iounmap bt_iounmap +#define dmi_alloc alloc_bootmem + /* * ISA I/O bus memory addresses are 1:1 with the physical address. */ diff --git a/include/asm-x86_64/io.h b/include/asm-x86_64/io.h index 52ff269fe054..9dac18db8291 100644 --- a/include/asm-x86_64/io.h +++ b/include/asm-x86_64/io.h @@ -143,6 +143,11 @@ static inline void __iomem * ioremap (unsigned long offset, unsigned long size) extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); extern void iounmap(volatile void __iomem *addr); +/* Use normal IO mappings for DMI */ +#define dmi_ioremap ioremap +#define dmi_iounmap(x,l) iounmap(x) +#define dmi_alloc(l) kmalloc(l, GFP_ATOMIC) + /* * ISA I/O bus memory addresses are 1:1 with the physical address. */ diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 05f4132622fc..2e6bbe014157 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h @@ -2,6 +2,7 @@ #define __DMI_H__ #include <linux/list.h> +#include <linux/config.h> enum dmi_field { DMI_NONE, @@ -60,12 +61,14 @@ struct dmi_device { void *device_data; /* Type specific data */ }; -#if defined(CONFIG_X86_32) +#ifdef CONFIG_DMI extern int dmi_check_system(struct dmi_system_id *list); extern char * dmi_get_system_info(int field); extern struct dmi_device * dmi_find_device(int type, const char *name, struct dmi_device *from); +extern void dmi_scan_machine(void); + #else static inline int dmi_check_system(struct dmi_system_id *list) { return 0; } |