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