STRUCT OPTEE_SUPP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct optee_supp(9) πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” today's main character is struct optee_supp, and honestly? she's the group chat admin of the supplicant world 🫢


🌸 NAME 🌸

struct optee_supp β€” the supplicant synchronization struct, no cap πŸ’–


✨ SYNOPSIS ✨

struct optee_supp {
    struct mutex mutex;
    struct tee_context *ctx;
    int req_id;
    struct list_head reqs;
    struct idr idr;
    struct completion reqs_c;
 };

look at her. iconic. flawless. not a single field out of place πŸ’…


πŸŽ€ Members πŸŽ€

literally every single one, let's gooo πŸ‘‘

  • mutex β€” held while accessing content of this struct πŸ”’ like, do not touch the vibes while someone's already in here, fr fr
  • ctx β€” the context of current connected supplicant. if !NULL the supplicant device is available for use, else busy. so basically: non-NULL means she's free and ready to hang, NULL means she's booked and busy, do not perceive her 😭
  • req_id β€” current request id if supplicant is doing synchronous communication, else -1. yes, -1 is the "no thoughts, head empty" state πŸ’€
  • reqs β€” queued request not yet retrieved by supplicant πŸ“₯ sitting there in the queue like a text you haven't opened yet
  • idr β€” IDR holding all requests currently being processed by supplicant πŸ—‚οΈ every request she's actively working on lives here, periodt
  • reqs_c β€” completion used by supplicant when waiting for a request to be queued ⏳ she's literally just waiting by her phone for a request to show up, we've all been there πŸ₯²

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/tee/optee/optee_private.h plus the whole friend group, all linked up 🫢

  • struct optee_call_waiter(9)
  • struct optee_call_queue(9)
  • struct optee_pcpu(9)
  • struct optee_smc(9)
  • struct optee_ffa(9)
  • struct optee_revision(9)
  • struct optee_ops(9)
  • struct optee(9)

lowkey important reminder bestie: that ctx field being !NULL vs NULL is the whole availability vibe check. don't get it twisted πŸ™ˆ

and that's the page! 🌈 this masterpiece lives in ./drivers/tee/optee, dated October 2026, and it's serving struct optee_supp(9) energy from the Kernel API Manual. slay, bye πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from