cdns_i2c_master_xfer(9)
π cdns_i2c_master_xfer(9) β from the Kernel API Manual, bestie π
okay so picture this: it's giving kernel API manual energy, and today's main character is cdns_i2c_master_xfer. yes we're in the I2C cinematic universe. no cap.
β¨ NAME β¨
cdns_i2c_master_xfer β literally the main i2c transfer function. the whole vibe. the moment. π
π¦ SYNOPSIS π¦
int cdns_i2c_master_xfer (struct i2c_adapter *adap , struct i2c_msg
*msgs , int num );
likeβ¦ three args, one int coming back at you. that's the whole incantation, slay. π₯
πΈ ARGUMENTS πΈ
adapβ a pointer to the i2c adapter driver instance. that's the driver baddie itself, okurrr π«Άmsgsβ a pointer to the i2c message structure. all the message lore lives here πnumβ the number of messages to transfer. gotta tell it how many, bestie, it's not a mind reader π
π DESCRIPTION π
Initiates the send/recv activity based on the transfer message received. that's it, that's the tea β you hand it the message, it kicks off the send/recv situation. no β¨extraβ¨ behaviour, don't go making stuff up now. π§
π RETURN π
It hits you back with the number of msgs processed on success β and a negative error otherwise. so if the number's negative, that's your villain-origin moment, go check it. π
π SEE ALSO π
the whole friend group, honestly. here's the squad:
Kernel file ./drivers/i2c/busses/i2c-cadence.c and all its little siblings:
enum cdns_i2c_mode(9)enum cdns_i2c_slave_state(9)struct cdns_i2c(9)cdns_i2c_init(9)cdns_i2c_runtime_suspend(9)cdns_i2c_runtime_resume(9)cdns_i2c_clear_bus_hold(9)cdns_i2c_slave_isr(9)cdns_i2c_master_isr(9)cdns_i2c_isr(9)cdns_i2c_mrecv(9)cdns_i2c_msend(9)cdns_i2c_master_reset(9)cdns_i2c_master_xfer_atomic(9)cdns_i2c_func(9)cdns_i2c_calc_divs(9)cdns_i2c_setclk(9)cdns_i2c_clk_notifier_cb(9)cdns_i2c_detect_transfer_size(9)cdns_i2c_probe(9)cdns_i2c_remove(9)cdns_i2c_shutdown(9)
periodt. read them all, iykyk π
fr fr this is the master xfer β if you wanted the atomic one, that's cdns_i2c_master_xfer_atomic(9) right up there. don't mix them up, bestie π
and that's a wrap on cdns_i2c_master_xfer(9) from the Kernel API Manual π shipped out of ./drivers/i2c/busses, dated October 2026 β catch you in the next transfer, mwah πβ¨
π¦ 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