1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __ASM_SRAM_H 3*4882a593Smuzhiyun #define __ASM_SRAM_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifdef CONFIG_HAVE_SRAM_POOL 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <linux/spinlock.h> 8*4882a593Smuzhiyun #include <linux/genalloc.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* arch/sh/mm/sram.c */ 11*4882a593Smuzhiyun extern struct gen_pool *sram_pool; 12*4882a593Smuzhiyun sram_alloc(size_t len)13*4882a593Smuzhiyunstatic inline unsigned long sram_alloc(size_t len) 14*4882a593Smuzhiyun { 15*4882a593Smuzhiyun if (!sram_pool) 16*4882a593Smuzhiyun return 0UL; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun return gen_pool_alloc(sram_pool, len); 19*4882a593Smuzhiyun } 20*4882a593Smuzhiyun sram_free(unsigned long addr,size_t len)21*4882a593Smuzhiyunstatic inline void sram_free(unsigned long addr, size_t len) 22*4882a593Smuzhiyun { 23*4882a593Smuzhiyun return gen_pool_free(sram_pool, addr, len); 24*4882a593Smuzhiyun } 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #else 27*4882a593Smuzhiyun sram_alloc(size_t len)28*4882a593Smuzhiyunstatic inline unsigned long sram_alloc(size_t len) 29*4882a593Smuzhiyun { 30*4882a593Smuzhiyun return 0; 31*4882a593Smuzhiyun } 32*4882a593Smuzhiyun sram_free(unsigned long addr,size_t len)33*4882a593Smuzhiyunstatic inline void sram_free(unsigned long addr, size_t len) 34*4882a593Smuzhiyun { 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #endif /* CONFIG_HAVE_SRAM_POOL */ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #endif /* __ASM_SRAM_H */ 40