drivers/pinctrl/pxa/pinctrl-pxa2xx.h

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

File Facts

System
Linux kernel
Corpus path
drivers/pinctrl/pxa/pinctrl-pxa2xx.h
Extension
.h
Size
1700 bytes
Lines
78
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 pxa_desc_function {
	const char	*name;
	u8		muxval;
};

struct pxa_desc_pin {
	struct pinctrl_pin_desc		pin;
	struct pxa_desc_function	*functions;
};

struct pxa_pinctrl {
	spinlock_t			lock;
	void __iomem			**base_gafr;
	void __iomem			**base_gpdr;
	void __iomem			**base_pgsr;
	struct device			*dev;
	struct pinctrl_desc		desc;
	struct pinctrl_dev		*pctl_dev;
	unsigned			npins;
	const struct pxa_desc_pin	*ppins;
	unsigned			ngroups;
	struct pingroup			*groups;
	unsigned			nfuncs;
	struct pinfunction		*functions;
	char				*name;
};

int pxa2xx_pinctrl_init(struct platform_device *pdev,
			const struct pxa_desc_pin *ppins, int npins,
			void __iomem *base_gafr[], void __iomem *base_gpdr[],
			void __iomem *base_gpsr[]);

#endif /* __PINCTRL_PXA_H */

Annotation

Implementation Notes