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