zl3073x_chan_tod_write(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… zl3073x_chan_tod_write β€” the kernel API manual, bestie edition ✨

okay so you found the zl3073x_chan_tod_write page in the Kernel API Manual and you're like "what does this even do" β€” don't worry, I got you 🫢. Real talk: this function writes the ToD registers and then triggers a 1 Hz update. Two things, one call, iconic behavior honestly πŸ‘‘


✨ SYNOPSIS ✨

int zl3073x_chan_tod_write (struct zl3073x_dev *zldev , u8 ch , struct
timespec64 ts );

that's the whole signature, don't come for me about the line break, that's literally how it's printed 😭


🌸 ARGUMENTS 🌸

  • zldev β€” pointer to the zl3073x device πŸ’– this is your device, your main character
  • ch β€” the DPLL channel index πŸŽ€ so like, which channel we're talking to
  • ts β€” the time to set ⏰ the whole point of the operation tbh

πŸ¦‹ CONTEXT πŸ¦‹

heads up, this is important, no cap: the caller must serialize all zl3073x_chan_tod_* calls externally. as in, you handle the locking, bestie β€” the function is not gonna do it for you. so like every single one of those zl3073x_chan_tod_* calls needs to be serialized by you on the outside 🫢

ngl this is the kind of thing where if you skip it, things get real weird real fast πŸ’€ external serialization, periodt.

πŸ’€ RETURN πŸ’€

  • 0 β€” success, slay, we ate πŸ‘‘
  • <0 β€” error, it's giving unfortunate 😭

🌈 SEE ALSO 🌈

kernel file ./drivers/dpll/zl3073x/chan.c β€” go read it, it's right there πŸ’œ

and the whole bestie squad of related calls:


that's the page, bestie πŸ’…βœ¨ this whole thing lives in ./drivers/dpll/zl3073x and it's dated October 2026 β€” so like, future vibes πŸ¦‹. mwah, go write those ToD registers πŸŽ€πŸ’–

πŸ“¦ where this page comes from