162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* Copyright(c) 2022 Intel Corporation. All rights reserved. */ 362306a36Sopenharmony_ci#include <linux/atomic.h> 462306a36Sopenharmony_ci#include <linux/export.h> 562306a36Sopenharmony_ci#include "cxlmem.h" 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistatic atomic_t mem_active; 862306a36Sopenharmony_ci 962306a36Sopenharmony_cibool cxl_mem_active(void) 1062306a36Sopenharmony_ci{ 1162306a36Sopenharmony_ci return atomic_read(&mem_active) != 0; 1262306a36Sopenharmony_ci} 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_civoid cxl_mem_active_inc(void) 1562306a36Sopenharmony_ci{ 1662306a36Sopenharmony_ci atomic_inc(&mem_active); 1762306a36Sopenharmony_ci} 1862306a36Sopenharmony_ciEXPORT_SYMBOL_NS_GPL(cxl_mem_active_inc, CXL); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_civoid cxl_mem_active_dec(void) 2162306a36Sopenharmony_ci{ 2262306a36Sopenharmony_ci atomic_dec(&mem_active); 2362306a36Sopenharmony_ci} 2462306a36Sopenharmony_ciEXPORT_SYMBOL_NS_GPL(cxl_mem_active_dec, CXL); 25