__crb_go_idle(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ __crb_go_idle β€” the kernel API manual, bestie edition ✨

okay so real talk, this is __crb_go_idle(9) from the Kernel API Manual, and it's literally just telling your TPM CRB device to go chill. πŸ’…


🌸 NAME 🌸

__crb_go_idle β€” request tpm crb device to go the idle state

no cap, that's the whole vibe: we're asking the TPM CRB device to go idle. πŸŽ€


✨ SYNOPSIS ✨

int __crb_go_idle (struct device *dev , struct crb_priv *priv , int loc
);

three args, one int coming back at you, iconic signature honestly 🫢


πŸ’– ARGUMENTS πŸ’–

  • dev β€” the crb device. the main character, the device we're talking to πŸŽ€
  • priv β€” crb private data. all the little private deets the driver needs πŸ”₯
  • loc β€” the locality. iykyk 🌈

🧚 DESCRIPTION 🧚

so here's the tea: we write CRB_CTRL_REQ_GO_IDLE to TPM_CRB_CTRL_REQ. that's it, that's the move. πŸ’…

the device should respond within TIMEOUT_C by clearing the bit β€” like, that's the polite thing to do. anyhow, we do not wait here, because a consequent CMD_READY request will be handled correctly even if the idle was not completed. so it's giving "no thoughts, head empty, moving on" energy and honestly? it works. 😭

heads up bestie: the function does nothing for devices with ACPI-start method or SMC-start method. literally nothing. zero. it just sits there looking cute πŸ™ˆ

⭐ RETURN ⭐

0 always. every time. no surprises, no drama, just a zero. periodt. πŸ‘‘


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/char/tpm/tpm_crb.c
  • __crb_cmd_ready(9) β€” the ✨ consequent ✨ request we mentioned up there, go read it next πŸ¦‹

and that's the whole page, bestie! this little beauty lives in ./drivers/char/tpm and it's dated October 2026 β€” no, i don't know how it's from the future either, i just work here πŸ’€πŸ«Ά mwah, go read __crb_cmd_ready(9) next, ily! πŸ“

πŸ“¦ where this page comes from