rk3x_i2c_clk_notifier_cb(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual β€” this page is all about rk3x_i2c_clk_notifier_cb(9), and it's giving clock rate change callback realness πŸ’…βœ¨

πŸ’– NAME πŸ’–

rk3x_i2c_clk_notifier_cb β€” the Clock rate change callback. literally that's the name, no cap πŸŽ€

🌸 SYNOPSIS 🌸

       int rk3x_i2c_clk_notifier_cb (struct notifier_block *nb , unsigned long
       event , void *data );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • nb β€” pointer to notifier block 🫢
  • event β€” notification reason πŸ‘€
  • data β€” pointer to notification data object ✨

πŸŽ€ DESCRIPTION πŸŽ€

so the callback does a vibe check on whether a valid bus frequency can be generated after the change. if it can, the change gets acknowledged βœ…; if not, the change is aborted πŸ›‘.

also highkey important: new dividers are written to the HW in the pre- or post change notification, depending on the scaling direction β€” yes, that's the clock math tea β˜•πŸ’…

and for the receipts: code adapted from i2c-cadence.c πŸ“

⭐ RETURN ⭐

  • NOTIFY_STOP β€” the rate change should be aborted πŸ›‘
  • NOTIFY_OK β€” acknowledge the change βœ…
  • NOTIFY_DONE β€” the notification is considered irrelevant 🫠

🌈 SEE ALSO 🌈

Kernel file: ./drivers/i2c/busses/i2c-rk3x.c


mwah πŸ’‹ this page is signed off from ./drivers/i2c/busses, dated October 2026, and it's the rk3x_i2c_clk_notifier_cb(9) page β€” catch u later, bestie! πŸ«ΆπŸ’–

πŸ“¦ where this page comes from