]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/misc/sram.h
serial: parisc: GSC: fix build when IOSAPIC is not set
[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_config {
9 int (*init)(void);
10 bool map_only_reserved;
11 };
12
13 struct sram_partition {
14 void __iomem *base;
15
16 struct gen_pool *pool;
17 struct bin_attribute battr;
18 struct mutex lock;
19 struct list_head list;
20 };
21
22 struct sram_dev {
23 const struct sram_config *config;
24
25 struct device *dev;
26 void __iomem *virt_base;
27 bool no_memory_wc;
28
29 struct gen_pool *pool;
30 struct clk *clk;
31
32 struct sram_partition *partition;
33 u32 partitions;
34 };
35
36 struct sram_reserve {
37 struct list_head list;
38 u32 start;
39 u32 size;
40 struct resource res;
41 bool export;
42 bool pool;
43 bool protect_exec;
44 const char *label;
45 };
46
47 #ifdef CONFIG_SRAM_EXEC
48 int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
49 struct sram_partition *part);
50 int sram_add_protect_exec(struct sram_partition *part);
51 #else
52 static inline int sram_check_protect_exec(struct sram_dev *sram,
53 struct sram_reserve *block,
54 struct sram_partition *part)
55 {
56 return -ENODEV;
57 }
58
59 static inline int sram_add_protect_exec(struct sram_partition *part)
60 {
61 return -ENODEV;
62 }
63 #endif /* CONFIG_SRAM_EXEC */
64 #endif /* __SRAM_H */