STRUCT HTE_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct hte_ops(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct hte_ops, aka the HTE operations set by providers. yes it's kernel stuff, no it's not scary, we're gonna get through it together 🫢


✨ NAME ✨

struct hte_ops β€” the HTE operations set by providers. that's it, that's the whole vibe check πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

here's the struct in all its glory, literally copy-paste it exactly, don't be weird about it:

struct hte_ops {
    int (*request)(struct hte_chip *chip, struct hte_ts_desc *desc, u32 xlated_id);
    int (*release)(struct hte_chip *chip, struct hte_ts_desc *desc, u32 xlated_id);
    int (*enable)(struct hte_chip *chip, u32 xlated_id);
    int (*disable)(struct hte_chip *chip, u32 xlated_id);
    int (*get_clk_src_info)(struct hte_chip *chip, struct hte_clk_info *ci);
};

look at those function pointers. main character energy, honestly πŸ‘‘


🌸 MEMBERS 🌸

so each of these is a hook, and here's the tea on every single one:

  • request β€” the hook for requesting a HTE timestamp. returns 0 on success, non-zero for failures. simple as that ✨
  • release β€” the hook for releasing a HTE timestamp. returns 0 on success, non-zero for failures. letting it go, icon behavior πŸ¦‹
  • enable β€” the hook to enable the specified timestamp. returns 0 on success, non-zero for failures. turn it on πŸ”₯
  • disable β€” the hook to disable the specified timestamp. returns 0 on success, non-zero for failures. turn it off, respectfully πŸ’€
  • get_clk_src_info β€” the hook to get the clock information the provider uses to timestamp. returns 0 for success and a negative error code for failure. and ooh, on success the HTE subsystem fills up the provided struct hte_clk_info β€” so that struct is getting filled, no cap 🧚

πŸ’… DESCRIPTION πŸ’…

okay so the xlated_id parameter β€” that's the little messenger bestie. it's used to communicate between the HTE subsystem and the providers, and it gets translated by the provider. so like, the provider is the one doing the translating here, that's its whole job πŸ’œ


🌈 SEE ALSO 🌈

go read these too, they're all in the kernel file ./include/linux/hte.h:

  • enum hte_edge(9)
  • enum hte_return(9)
  • struct hte_ts_data(9)
  • struct hte_clk_info(9)
  • hte_ts_cb_t(9)
  • hte_ts_sec_cb_t(9)
  • struct hte_line_attr(9)
  • struct hte_ts_desc(9)
  • struct hte_chip(9)

like a little friend group of manpages, we love to see it πŸ“


ngl bestie, if you're writing a provider you're gonna live in this struct. read the docs, return your 0s, and slay ✨

and that's the page!! mwah πŸ’– this one came from ./include/linux, dated October 2026 β€” see you in the next manpage, bye bestie πŸŽ€πŸŒˆ

πŸ“¦ where this page comes from