tpm_cr50_i2...t_and_status(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

tpm_cr50_i2c_get_burst_and_status β€” okay so this one grabs the burst count and the status for you, bestie. Two for one, we love a multitasker ✨

This little cutie lives in the Kernel API Manual, and yes the page name is the whole entire tpm_cr50_i2...t_and_status(9) situation β€” it's long, it's iconic, it's giving "my name is a paragraph" energy πŸŽ€


✨ SYNOPSIS ✨

int tpm_cr50_i2c_get_burst_and_status (struct tpm_chip *chip , u8 mask ,
size_t *burst , u32 *status );

That's the whole vibe check right there β€” one function, four things going in, an int coming back out 🫢


🌸 ARGUMENTS 🌸

  • chip β€” a TPM chip. that's it, that's the whole description. she's a TPM chip πŸ’…
  • mask β€” the status mask. yes queen, filter those bits πŸ‘‘
  • burst β€” nope, not an input β€” this is where the burst value gets returned to you πŸ“€
  • status β€” same deal, this pointer is the return value for status, not something you feed in πŸ“€

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the lore: cr50 uses bytes 3:2 of the status register to hold the burst count.

and because of that whole arrangement, all 4 bytes must be read. all four. no skipping, no shortcuts, no "I'll just grab the two I need" bestie behavior πŸ™ˆ it literally does not work like that.


⭐ RETURN ⭐

  • 0 β€” success! slay! we ate and left no crumbs πŸ’–
  • -errno β€” a POSIX error code. so like, something went sideways, and it's telling you in the classic POSIX way 😭

🌈 SEE ALSO 🌈

okay this is the friend group, they all show up together, iykyk:

Kernel file ./drivers/char/tpm/tpm_tis_i2c_cr50.c


and that's the page!! πŸ’œ this one comes straight out of ./drivers/char/tpm, dated October 2026, and honestly? she's short, she's sweet, she's a whole snack. go read the friend group above if you want the full cinematic universe πŸ“πŸ§š

πŸ“¦ where this page comes from