include/linux/pinctrl/devinfo.h

Source file repositories/reference/linux-study-clean/include/linux/pinctrl/devinfo.h

File Facts

System
Linux kernel
Corpus path
include/linux/pinctrl/devinfo.h
Extension
.h
Size
1594 bytes
Lines
72
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 dev_pin_info {
	struct pinctrl *p;
	struct pinctrl_state *default_state;
	struct pinctrl_state *init_state;
#ifdef CONFIG_PM
	struct pinctrl_state *sleep_state;
	struct pinctrl_state *idle_state;
#endif
};

extern int pinctrl_init_done(struct device *dev);

static inline struct pinctrl *dev_pinctrl(struct device *dev)
{
	if (!dev->pins)
		return NULL;

	return dev->pins->p;
}

#else

/* Stubs if we're not using pinctrl */

static inline int pinctrl_init_done(struct device *dev)
{
	return 0;
}

static inline struct pinctrl *dev_pinctrl(struct device *dev)
{
	return NULL;
}

#endif /* CONFIG_PINCTRL */
#endif /* PINCTRL_DEVINFO_H */

Annotation

Implementation Notes