tpm_cr50_i2...sfer_message(9)
π 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:
struct tpm_i2c_cr50_priv_data(9)tpm_cr50_i2c_int_handler(9)tpm_cr50_i2c_wait_tpm_ready(9)tpm_cr50_i2c_enable_tpm_irq(9)tpm_cr50_i2c_disable_tpm_irq(9)tpm_cr50_i2c_read(9)tpm_cr50_i2c_write(9)tpm_cr50_check_locality(9)tpm_cr50_release_locality(9)tpm_cr50_request_locality(9)tpm_cr50_i2c_tis_status(9)tpm_cr50_i2c_tis_set_ready(9)tpm_cr50_i2c_get_burst_and_status(9)tpm_cr50_i2c_tis_recv(9)tpm_cr50_i2c_tis_send(9)tpm_cr50_i2c_req_canceled(9)tpm_cr50_vid_to_name(9)tpm_cr50_i2c_probe(9)tpm_cr50_i2c_remove(9)
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
- 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