tpm_cr50_i2...sfer_message(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… tpm_cr50_i2c_transfer_message β€” Kernel API Manual ✨

okay so bestie, we're in the <pink>Kernel API Manual</pink> and today's main character is tpm_cr50_i2c_transfer_message(9). yes the header is literally truncated as tpm_cr50_i2...sfer_message(9) and no, we don't know why, we just accept it and move on 🫢


🌸 NAME 🌸

tpm_cr50_i2c_transfer_message β€” Transfer a message over i2c. that's it. that's the whole vibe. one job, and it ate πŸ’…


✨ SYNOPSIS ✨

int tpm_cr50_i2c_transfer_message (struct device *dev , struct
i2c_adapter *adapter , struct i2c_msg *msg );

three params, one int coming back at you. icon behavior fr fr πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” Device information. like, who are we even doing this for? this guy. hi bestie πŸ‘‹
  • adapter β€” I2C adapter. the actual bus we're sliding this message through.
  • msg β€” Message to transfer. the payload. the moment. the whole reason we're here πŸ’Œ

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea: this function calls the unlocked i2c transfer routine with the parameters you handed it, and then β€” and this is the part that's giving resilience β€” it retries in case of bus errors. lowkey obsessed with the persistence. the way that it just keeps trying? main character energy honestly 😭✨


πŸ”₯ RETURN πŸ”₯

  • 0 β€” Success. slay. we love a zero πŸ’š
  • -errno β€” A POSIX error code. not the vibe, but it happens 🫠

πŸŽ€ SEE ALSO πŸŽ€

the whole friend group, in the kernel file ./drivers/char/tpm/tpm_tis_i2c_cr50.c:

like, genuinely an entire ensemble cast. none of them are NPCs πŸ’€


ngl bestie, this page lives in ./drivers/char/tpm and it's stamped October 2026 β€” so yeah, future-dated and still iconic. go read the source, ily, bye πŸ§šπŸ’œ
πŸ“¦ where this page comes from