sram.h 670 B

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