]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/sh/include/asm/sram.h
Merge remote-tracking branch 'ipsec/master'
[karo-tx-linux.git] / arch / sh / include / asm / sram.h
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 */