18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_X86_DMI_H 38c2ecf20Sopenharmony_ci#define _ASM_X86_DMI_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/compiler.h> 68c2ecf20Sopenharmony_ci#include <linux/init.h> 78c2ecf20Sopenharmony_ci#include <linux/io.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <asm/setup.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistatic __always_inline __init void *dmi_alloc(unsigned len) 128c2ecf20Sopenharmony_ci{ 138c2ecf20Sopenharmony_ci return extend_brk(len, sizeof(int)); 148c2ecf20Sopenharmony_ci} 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci/* Use early IO mappings for DMI because it's initialized early */ 178c2ecf20Sopenharmony_ci#define dmi_early_remap early_memremap 188c2ecf20Sopenharmony_ci#define dmi_early_unmap early_memunmap 198c2ecf20Sopenharmony_ci#define dmi_remap(_x, _l) memremap(_x, _l, MEMREMAP_WB) 208c2ecf20Sopenharmony_ci#define dmi_unmap(_x) memunmap(_x) 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci#endif /* _ASM_X86_DMI_H */ 23