sram.h 631 B

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