162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* identifiers for device / performance-differentiated memory regions */ 362306a36Sopenharmony_ci#include <linux/idr.h> 462306a36Sopenharmony_ci#include <linux/types.h> 562306a36Sopenharmony_ci#include <linux/memregion.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistatic DEFINE_IDA(memregion_ids); 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciint memregion_alloc(gfp_t gfp) 1062306a36Sopenharmony_ci{ 1162306a36Sopenharmony_ci return ida_alloc(&memregion_ids, gfp); 1262306a36Sopenharmony_ci} 1362306a36Sopenharmony_ciEXPORT_SYMBOL(memregion_alloc); 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_civoid memregion_free(int id) 1662306a36Sopenharmony_ci{ 1762306a36Sopenharmony_ci ida_free(&memregion_ids, id); 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ciEXPORT_SYMBOL(memregion_free); 20