drivers/pinctrl/ultrarisc/pinctrl-ultrarisc.h

Source file repositories/reference/linux-study-clean/drivers/pinctrl/ultrarisc/pinctrl-ultrarisc.h

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/ultrarisc/pinctrl-ultrarisc.h
Extension
.h
Size
1244 bytes
Lines
64
Domain
Driver Families
Bucket
drivers/pinctrl
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ur_port_desc {
	u32 pin_base;
	u32 npins;
	u32 func_offset;
	u32 conf_offset;
	u32 supported_modes;
	bool supports_gpio;
};

struct ur_func_route {
	const char *function;
	u32 mode;
	u64 valid_pins;
};

struct ur_pinctrl_data {
	const struct pinctrl_pin_desc *pins;
	u32 npins;
	const struct ur_func_route *routes;
	u32 num_routes;
};

struct ur_pinctrl {
	struct device *dev;
	struct pinctrl_dev *pctl_dev;
	const struct ur_pinctrl_data *data;
	void __iomem *base;
	raw_spinlock_t lock; /* Protects mux and conf registers */
};

int ur_pinctrl_probe(struct platform_device *pdev,
		     const struct ur_pinctrl_data *data);

#endif

Annotation

Implementation Notes