STRUCT ZL3073X_DPLL_PIN(9)
π struct zl3073x_dpll_pin π
okay so this is a page from the Kernel API Manual, and bestie, we're talking about struct zl3073x_dpll_pin β literally the DPLL pin struct, the whole main character of this file π. Sit down, grab a strawberry drink, and let's get into it π
β¨ NAME β¨
struct zl3073x_dpll_pin β DPLL pin, no cap, that's the whole vibe πΈ
π¦ SYNOPSIS π¦
here's the glow-up, character for character, don't touch a thing:
struct zl3073x_dpll_pin {
struct list_head list;
struct zl3073x_dpll *dpll;
struct dpll_pin *dpll_pin;
dpll_tracker tracker;
struct fwnode_handle *fwnode;
char label[8];
enum dpll_pin_direction dir;
u8 id;
u8 prio;
bool esync_control;
s32 phase_gran;
enum dpll_pin_operstate operstate;
s64 phase_offset;
s64 freq_offset;
u32 measured_freq;
};
π Members π
okay so every single field, and what it's giving π«Ά
listβ this DPLL pin's list entry, just doing its little linked-list thing π₯dpllβ which DPLL the pin is registered to, iykykdpll_pinβ pointer to the registereddpll_pin, iconictrackerβ the tracking object for the acquired reference, it's literally keeping track πfwnodeβ firmware node handle β¨labelβ package label, that'schar label[8]bestie, eight, don't forget πdirβ pin directionidβ pin idprioβ pin priority, and it lives in the range<0, 14>β like, literally those are the bounds, no cap π¦esync_controlβ embedded sync is controllable (a wholebool, we love to see it)phase_granβ phase adjustment granularity βoperstateβ last saved operational state πphase_offsetβ last saved pin phase offset, saved for later πfreq_offsetβ last saved fractional frequency offsetmeasured_freqβ last saved measured frequency, a littleu32keeping receipts π
π₯ SEE ALSO π₯
so here's the friend group β all of these live in the kernel file ./drivers/dpll/zl3073x/dpll.c and honestly? obsessed:
zl3073x_dpll_is_input_pin(9)zl3073x_dpll_is_nco_pin(9)zl3073x_dpll_is_p_pin(9)zl3073x_dpll_connected_ref_get(9)zl3073x_dpll_ref_operstate_get(9)zl3073x_dpll_pin_alloc(9)zl3073x_dpll_pin_free(9)zl3073x_dpll_pin_register(9)zl3073x_dpll_pin_unregister(9)zl3073x_dpll_pins_unregister(9)zl3073x_dpll_pin_is_registrable(9)zl3073x_dpll_pins_register(9)zl3073x_dpll_device_register(9)zl3073x_dpll_device_unregister(9)zl3073x_dpll_pin_phase_offset_check(9)zl3073x_dpll_pin_ffo_check(9)zl3073x_dpll_pin_measured_freq_check(9)zl3073x_dpll_changes_check(9)zl3073x_dpll_init_fine_phase_adjust(9)zl3073x_dpll_ptp_gettimex64(9)zl3073x_dpll_ptp_settime64(9)zl3073x_dpll_ptp_adjtime_phase_step(9)zl3073x_dpll_ptp_adjtime(9)zl3073x_dpll_ptp_adjfine(9)zl3073x_dpll_ptp_adjphase(9)zl3073x_dpll_ptp_register(9)zl3073x_dpll_ptp_unregister(9)zl3073x_dpll_ref_sync_pair_register(9)zl3073x_dpll_ref_sync_pairs_register(9)zl3073x_dpll_alloc(9)zl3073x_dpll_free(9)zl3073x_dpll_register(9)zl3073x_dpll_unregister(9)
lowkey important: that ./drivers/dpll/zl3073x path and the date are the receipts for this whole page, so here they are, one last time π§
and that's the page, bestie β it's giving October 2026, straight out of ./drivers/dpll/zl3073x, and yes the manual name up top was struct zl3073x_dpll_pin(9) the entire time ππ periodt β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms