brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 397205b Raw
64 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Defines for the SRAM driver4 */5#ifndef __SRAM_H6#define __SRAM_H7 8struct sram_config {9	int (*init)(void);10	bool map_only_reserved;11};12 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 {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 31	struct sram_partition *partition;32	u32 partitions;33};34 35struct sram_reserve {36	struct list_head list;37	u32 start;38	u32 size;39	struct resource res;40	bool export;41	bool pool;42	bool protect_exec;43	const char *label;44};45 46#ifdef CONFIG_SRAM_EXEC47int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,48			    struct sram_partition *part);49int sram_add_protect_exec(struct sram_partition *part);50#else51static inline int sram_check_protect_exec(struct sram_dev *sram,52					  struct sram_reserve *block,53					  struct sram_partition *part)54{55	return -ENODEV;56}57 58static inline int sram_add_protect_exec(struct sram_partition *part)59{60	return -ENODEV;61}62#endif /* CONFIG_SRAM_EXEC */63#endif /* __SRAM_H */64