i2c_smbus_read_block_data(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– i2c_smbus_read_block_data(9) πŸ’–

okay bestie, welcome to the Kernel API Manual page for i2c_smbus_read_block_data(9) β€” this is the SMBus β€œblock read” protocol and it is lowkey iconic πŸ’…βœ¨

🌸 NAME 🌸

i2c_smbus_read_block_data β€” SMBus β€œblock read” protocol πŸŽ€

✨ SYNOPSIS ✨

s32 i2c_smbus_read_block_data (const struct i2c_client *client , u8
command , u8 *values );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • client β€” handle to the slave device 🫢
  • command β€” the byte that gets interpreted by the slave πŸ’Œ
  • values β€” byte array into which data will be read; it needs to be big enough to hold the data returned by the slave. SMBus allows at most 32 bytes, no cap 🧚

πŸ‘‘ DESCRIPTION πŸ‘‘

This executes the SMBus β€œblock read” protocol, returning negative errno else the number of data bytes in the slave’s response. literally that’s the whole vibe ✨

⚠️ caveat bestie: using this function requires that the client’s adapter support the I2C_FUNC_SMBUS_READ_BLOCK_DATA functionality. Not all adapter drivers support this; its emulation through I2C messaging relies on a specific mechanism (I2C_M_RECV_LEN) which may not be implemented. so yeah, check before you ship it πŸ’€

🌈 SEE ALSO 🌈


mwah πŸ’‹ this cutie came from ./drivers/i2c, dated October 2026 πŸŽ€

πŸ“¦ where this page comes from