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