module_i3c_i2c_driver(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… module_i3c_i2c_driver β€” like, the Kernel API Manual, bestie

okay so real talk, this one lives in the Kernel API Manual and it's called module_i3c_i2c_driver, and it's genuinely one of those macros that just gets you. no notes. 🫢


✨ NAME ✨

module_i3c_i2c_driver β€” the macro that registers a module giving you both an I3C driver and an I2C driver. two for the price of one, we love a bundle πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

module_i3c_i2c_driver (__i3cdrv , __i2cdrv );

that's it. that's the whole call. slay. ✨


🌸 ARGUMENTS 🌸

  • __i3cdrv β€” the I3C driver you wanna register πŸ‘‘
  • __i2cdrv β€” the I2C driver you wanna register πŸ¦‹

two little drivers, hand in hand, walking into the kernel together. iconic.


πŸ’« DESCRIPTION πŸ’«

so basically this macro hands you generic init/exit functions that just... register and unregister an I3C driver and an I2C driver. no cap, that's the whole job. πŸ”₯

the cute part? this macro can be used even if CONFIG_I3C is disabled β€” and in that case, only the I2C driver will be registered. it adapts. it's flexible. main character energy fr fr πŸ’…

the vibe check: this should be used by any driver that does not require extra init/cleanup steps. if you've got custom setup work to do, this macro is not the one for you, bestie β€” it's strictly the no-fuss, plug-and-play situation. πŸ™ˆ

🌈 SEE ALSO 🌈

like a whole friend group of references, and honestly? every single one of them ate. go read them, iykyk πŸ“šβœ¨


okay that's the whole page, mwah πŸ’‹ β€” this lil beauty comes from the kernel source at ./include/linux/i3c, dated October 2026, and it's literally the module_i3c_i2c_driver(9) page. go forth and register your drivers, bestie. πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from