drm/ssd130x: Use new regmap bulk write support to drop custom bus
[linux-2.6-block.git] / drivers / misc / sram.h
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
cdd1737c
DG
2/*
3 * Defines for the SRAM driver
cdd1737c
DG
4 */
5#ifndef __SRAM_H
6#define __SRAM_H
7
fec29bf0
MP
8struct sram_config {
9 int (*init)(void);
10 bool map_only_reserved;
11};
12
cdd1737c
DG
13struct 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
22struct sram_dev {
fec29bf0
MP
23 const struct sram_config *config;
24
cdd1737c
DG
25 struct device *dev;
26 void __iomem *virt_base;
fec29bf0 27 bool no_memory_wc;
cdd1737c
DG
28
29 struct gen_pool *pool;
30 struct clk *clk;
31
32 struct sram_partition *partition;
33 u32 partitions;
34};
35
36struct sram_reserve {
37 struct list_head list;
38 u32 start;
39 u32 size;
fec29bf0 40 struct resource res;
cdd1737c
DG
41 bool export;
42 bool pool;
37afff0d 43 bool protect_exec;
cdd1737c
DG
44 const char *label;
45};
728bbe75
DG
46
47#ifdef CONFIG_SRAM_EXEC
48int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
49 struct sram_partition *part);
50int sram_add_protect_exec(struct sram_partition *part);
51#else
52static 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
59static inline int sram_add_protect_exec(struct sram_partition *part)
60{
61 return -ENODEV;
62}
63#endif /* CONFIG_SRAM_EXEC */
cdd1737c 64#endif /* __SRAM_H */