include/linux/bus/stm32_firewall.h

Source file repositories/reference/linux-study-clean/include/linux/bus/stm32_firewall.h

File Facts

System
Linux kernel
Corpus path
include/linux/bus/stm32_firewall.h
Extension
.h
Size
3012 bytes
Lines
84
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct stm32_firewall_controller {
	const char *name;
	struct device *dev;
	void __iomem *mmio;
	struct list_head entry;
	unsigned int type;
	unsigned int max_entries;

	int (*grant_access)(struct stm32_firewall_controller *ctrl, u32 id);
	void (*release_access)(struct stm32_firewall_controller *ctrl, u32 id);
	int (*grant_memory_range_access)(struct stm32_firewall_controller *ctrl, phys_addr_t paddr,
					 size_t size);
};

/**
 * stm32_firewall_controller_register - Register a firewall controller to the STM32 firewall
 *					framework
 * @firewall_controller:	Firewall controller to register
 *
 * Returns 0 in case of success or -ENODEV if no controller was given.
 */
int stm32_firewall_controller_register(struct stm32_firewall_controller *firewall_controller);

/**
 * stm32_firewall_controller_unregister - Unregister a firewall controller from the STM32
 *					  firewall framework
 * @firewall_controller:	Firewall controller to unregister
 */
void stm32_firewall_controller_unregister(struct stm32_firewall_controller *firewall_controller);

/**
 * stm32_firewall_populate_bus - Populate device tree nodes that have a correct firewall
 *				 configuration. This is used at boot-time only, as a sanity check
 *				 between device tree and firewalls hardware configurations to
 *				 prevent a kernel crash when a device driver is not granted access
 *
 * @firewall_controller:	Firewall controller which nodes will be populated or not
 *
 * Returns 0 in case of success or appropriate errno code if error occurred.
 */
int stm32_firewall_populate_bus(struct stm32_firewall_controller *firewall_controller);

#endif /* _STM32_FIREWALL_H */

Annotation

Implementation Notes