i2c_smbus_read_block_data(9)
π 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 theI2C_FUNC_SMBUS_READ_BLOCK_DATAfunctionality. 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 π
- Kernel file
./drivers/i2c/i2c-core-smbus.c i2c_smbus_pec(9)i2c_smbus_read_byte(9)i2c_smbus_write_byte(9)i2c_smbus_read_byte_data(9)i2c_smbus_write_byte_data(9)i2c_smbus_read_word_data(9)i2c_smbus_write_word_data(9)i2c_smbus_write_block_data(9)i2c_smbus_xfer(9)i2c_smbus_read_i2c_block_data_or_emulated(9)i2c_new_smbus_alert_device(9)
mwah π this cutie came from ./drivers/i2c, dated October 2026 π
π¦ 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