__crb_go_idle(9)
π¦ __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
- 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