linux/drivers/misc/sram.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Defines for the SRAM driver
   4 */
   5#ifndef __SRAM_H
   6#define __SRAM_H
   7
   8struct sram_partition {
   9        void __iomem *base;
  10
  11        struct gen_pool *pool;
  12        struct bin_attribute battr;
  13        struct mutex lock;
  14        struct list_head list;
  15};
  16
  17struct sram_dev {
  18        struct device *dev;
  19        void __iomem *virt_base;
  20
  21        struct gen_pool *pool;
  22        struct clk *clk;
  23
  24        struct sram_partition *partition;
  25        u32 partitions;
  26};
  27
  28struct sram_reserve {
  29        struct list_head list;
  30        u32 start;
  31        u32 size;
  32        bool export;
  33        bool pool;
  34        bool protect_exec;
  35        const char *label;
  36};
  37
  38#ifdef CONFIG_SRAM_EXEC
  39int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
  40                            struct sram_partition *part);
  41int sram_add_protect_exec(struct sram_partition *part);
  42#else
  43static inline int sram_check_protect_exec(struct sram_dev *sram,
  44                                          struct sram_reserve *block,
  45                                          struct sram_partition *part)
  46{
  47        return -ENODEV;
  48}
  49
  50static inline int sram_add_protect_exec(struct sram_partition *part)
  51{
  52        return -ENODEV;
  53}
  54#endif /* CONFIG_SRAM_EXEC */
  55#endif /* __SRAM_H */
  56