]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/misc/sram.h
Merge branch 'remotes/lorenzo/pci/tegra194'
[mirror_ubuntu-jammy-kernel.git] / drivers / misc / sram.h
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
8 struct 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
17 struct 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
28 struct 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
39 int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
40 struct sram_partition *part);
41 int sram_add_protect_exec(struct sram_partition *part);
42 #else
43 static 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
50 static inline int sram_add_protect_exec(struct sram_partition *part)
51 {
52 return -ENODEV;
53 }
54 #endif /* CONFIG_SRAM_EXEC */
55 #endif /* __SRAM_H */