162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_X86_DMI_H
362306a36Sopenharmony_ci#define _ASM_X86_DMI_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/compiler.h>
662306a36Sopenharmony_ci#include <linux/init.h>
762306a36Sopenharmony_ci#include <linux/io.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <asm/setup.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistatic __always_inline __init void *dmi_alloc(unsigned len)
1262306a36Sopenharmony_ci{
1362306a36Sopenharmony_ci	return extend_brk(len, sizeof(int));
1462306a36Sopenharmony_ci}
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/* Use early IO mappings for DMI because it's initialized early */
1762306a36Sopenharmony_ci#define dmi_early_remap		early_memremap
1862306a36Sopenharmony_ci#define dmi_early_unmap		early_memunmap
1962306a36Sopenharmony_ci#define dmi_remap(_x, _l)	memremap(_x, _l, MEMREMAP_WB)
2062306a36Sopenharmony_ci#define dmi_unmap(_x)		memunmap(_x)
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#endif /* _ASM_X86_DMI_H */
23