File Index
Files and directories
Sign in
FILE

dpll.h

File preview with syntax highlighting.

linux-6.19.14/drivers/dpll/zl3073x/dpll.h C
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2
 3#ifndef _ZL3073X_DPLL_H
 4#define _ZL3073X_DPLL_H
 5
 6#include <linux/dpll.h>
 7#include <linux/list.h>
 8
 9#include "core.h"
10
11/**
12 * struct zl3073x_dpll - ZL3073x DPLL sub-device structure
13 * @list: this DPLL list entry
14 * @dev: pointer to multi-function parent device
15 * @id: DPLL index
16 * @refsel_mode: reference selection mode
17 * @forced_ref: selected reference in forced reference lock mode
18 * @check_count: periodic check counter
19 * @phase_monitor: is phase offset monitor enabled
20 * @dpll_dev: pointer to registered DPLL device
21 * @lock_status: last saved DPLL lock status
22 * @pins: list of pins
23 * @change_work: device change notification work
24 */
25struct zl3073x_dpll {
26	struct list_head		list;
27	struct zl3073x_dev		*dev;
28	u8				id;
29	u8				refsel_mode;
30	u8				forced_ref;
31	u8				check_count;
32	bool				phase_monitor;
33	struct dpll_device		*dpll_dev;
34	enum dpll_lock_status		lock_status;
35	struct list_head		pins;
36	struct work_struct		change_work;
37};
38
39struct zl3073x_dpll *zl3073x_dpll_alloc(struct zl3073x_dev *zldev, u8 ch);
40void zl3073x_dpll_free(struct zl3073x_dpll *zldpll);
41
42int zl3073x_dpll_register(struct zl3073x_dpll *zldpll);
43void zl3073x_dpll_unregister(struct zl3073x_dpll *zldpll);
44
45int zl3073x_dpll_init_fine_phase_adjust(struct zl3073x_dev *zldev);
46void zl3073x_dpll_changes_check(struct zl3073x_dpll *zldpll);
47
48#endif /* _ZL3073X_DPLL_H */
~/ Read-only file preview.