include/linux/dpll.h

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

File Facts

System
Linux kernel
Corpus path
include/linux/dpll.h
Extension
.h
Size
10682 bytes
Lines
324
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 dpll_device_ops {
	int (*mode_get)(const struct dpll_device *dpll, void *dpll_priv,
			enum dpll_mode *mode, struct netlink_ext_ack *extack);
	int (*mode_set)(const struct dpll_device *dpll, void *dpll_priv,
			enum dpll_mode mode, struct netlink_ext_ack *extack);
	int (*supported_modes_get)(const struct dpll_device *dpll,
				   void *dpll_priv, unsigned long *modes,
				   struct netlink_ext_ack *extack);
	int (*lock_status_get)(const struct dpll_device *dpll, void *dpll_priv,
			       enum dpll_lock_status *status,
			       enum dpll_lock_status_error *status_error,
			       struct netlink_ext_ack *extack);
	int (*temp_get)(const struct dpll_device *dpll, void *dpll_priv,
			s32 *temp, struct netlink_ext_ack *extack);
	int (*clock_quality_level_get)(const struct dpll_device *dpll,
				       void *dpll_priv,
				       unsigned long *qls,
				       struct netlink_ext_ack *extack);
	int (*phase_offset_monitor_set)(const struct dpll_device *dpll,
					void *dpll_priv,
					enum dpll_feature_state state,
					struct netlink_ext_ack *extack);
	int (*phase_offset_monitor_get)(const struct dpll_device *dpll,
					void *dpll_priv,
					enum dpll_feature_state *state,
					struct netlink_ext_ack *extack);
	int (*phase_offset_avg_factor_set)(const struct dpll_device *dpll,
					   void *dpll_priv, u32 factor,
					   struct netlink_ext_ack *extack);
	int (*phase_offset_avg_factor_get)(const struct dpll_device *dpll,
					   void *dpll_priv, u32 *factor,
					   struct netlink_ext_ack *extack);
	int (*freq_monitor_set)(const struct dpll_device *dpll, void *dpll_priv,
				enum dpll_feature_state state,
				struct netlink_ext_ack *extack);
	int (*freq_monitor_get)(const struct dpll_device *dpll, void *dpll_priv,
				enum dpll_feature_state *state,
				struct netlink_ext_ack *extack);
};

enum dpll_ffo_type {
	DPLL_FFO_PORT_RXTX_RATE,
	DPLL_FFO_PIN_DEVICE,

	__DPLL_FFO_TYPE_MAX,
};

struct dpll_ffo_param {
	enum dpll_ffo_type type;
	s64 ffo;
};

struct dpll_pin_ops {
	unsigned long supported_ffo;
	int (*frequency_set)(const struct dpll_pin *pin, void *pin_priv,
			     const struct dpll_device *dpll, void *dpll_priv,
			     const u64 frequency,
			     struct netlink_ext_ack *extack);
	int (*frequency_get)(const struct dpll_pin *pin, void *pin_priv,
			     const struct dpll_device *dpll, void *dpll_priv,
			     u64 *frequency, struct netlink_ext_ack *extack);
	int (*direction_set)(const struct dpll_pin *pin, void *pin_priv,
			     const struct dpll_device *dpll, void *dpll_priv,
			     const enum dpll_pin_direction direction,
			     struct netlink_ext_ack *extack);
	int (*direction_get)(const struct dpll_pin *pin, void *pin_priv,
			     const struct dpll_device *dpll, void *dpll_priv,
			     enum dpll_pin_direction *direction,
			     struct netlink_ext_ack *extack);
	int (*state_on_pin_get)(const struct dpll_pin *pin, void *pin_priv,
				const struct dpll_pin *parent_pin,
				void *parent_pin_priv,
				enum dpll_pin_state *state,
				struct netlink_ext_ack *extack);
	int (*state_on_dpll_get)(const struct dpll_pin *pin, void *pin_priv,
				 const struct dpll_device *dpll,
				 void *dpll_priv, enum dpll_pin_state *state,
				 struct netlink_ext_ack *extack);
	int (*operstate_on_dpll_get)(const struct dpll_pin *pin,
				     void *pin_priv,
				     const struct dpll_device *dpll,
				     void *dpll_priv,
				     enum dpll_pin_operstate *operstate,
				     struct netlink_ext_ack *extack);
	int (*state_on_pin_set)(const struct dpll_pin *pin, void *pin_priv,
				const struct dpll_pin *parent_pin,
				void *parent_pin_priv,
				const enum dpll_pin_state state,
				struct netlink_ext_ack *extack);
	int (*state_on_dpll_set)(const struct dpll_pin *pin, void *pin_priv,

Annotation

Implementation Notes