| #ifndef _ASM_DMI_H |
| #define _ASM_DMI_H 1 |
| |
| #include <asm/io.h> |
| |
| extern void *dmi_ioremap(unsigned long addr, unsigned long size); |
| extern void dmi_iounmap(void *addr, unsigned long size); |
| |
| #define DMI_MAX_DATA 2048 |
| |
| extern int dmi_alloc_index; |
| extern char dmi_alloc_data[DMI_MAX_DATA]; |
| |
| /* This is so early that there is no good way to allocate dynamic memory. |
| Allocate data in an BSS array. */ |
| static inline void *dmi_alloc(unsigned len) |
| { |
| int idx = dmi_alloc_index; |
| if ((dmi_alloc_index += len) > DMI_MAX_DATA) |
| return NULL; |
| return dmi_alloc_data + idx; |
| } |
| |
| #define dmi_ioremap early_ioremap |
| #define dmi_iounmap early_iounmap |
| |
| #endif |