cdns_i2c_probe(9)
okay so bestie, we're in the Kernel API Manual and the function on the menu is cdns_i2c_probe(9) β let's get into it π
β¨
β¨ NAME β¨
cdns_i2c_probe β literally the platform registration call, no cap π«Ά
πΈ SYNOPSIS πΈ
int cdns_i2c_probe (struct platform_device *pdev );
π ARGUMENTS π
pdevβ handle to the platform device structure. It's the device paperwork you're handing over, bestie π«Ά
π¦ DESCRIPTION π¦
So this function does all the memory allocation and registration for the i2c device. The whole setup arc β memory allocation, registration, the works β¨
And yes: the user can modify the address mode to 10 bit address mode using the ioctl call with option I2C_TENBIT. Iconic little toggle behavior, iykyk π
π RETURN π
0on success, negative error otherwise. Slay when it's0, and when it's negative? That's a vibe check fail, bestie π
π SEE ALSO π
Kernel file ./drivers/i2c/busses/i2c-cadence.c β and the whole SEE ALSO squad is here, fr fr:
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(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_remove(9)cdns_i2c_shutdown(9)
xoxo bestie π β source is ./drivers/i2c/busses, date stamp is October 2026, and this manual page is cdns_i2c_probe(9). Byeee π«Άβ¨
π¦ 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