asd_build_control_phy(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… asd_build_control_phy(9) β€” from the Kernel API Manual, bestie πŸŽ€

Okay so picture this: you're deep in the kernel, and you need to build a CONTROL PHY SCB. That's literally what this function is for, and yes, its whole name is asd_build_control_phy. Iconic. Periodt. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

void asd_build_control_phy (struct asd_ascb *ascb , int phy_id , u8
subfunc );

Like, that's the whole vibe. Three args, no return value, she just does the thing. πŸ’…


🌸 ARGUMENTS 🌸

  • ascb β€” pointer to an ascb. That's it, that's the whole description, no notes. 🫢
  • phy_id β€” the phy id you wanna control, as an integer. Think of it as which phy you're texting. πŸ’–
  • subfunc β€” the subfunction: basically, what you're actually gonna do to the phy. The action. The plot. 😭

✨ DESCRIPTION ✨

Okay so real talk β€” this function builds a CONTROL PHY scb. That's her whole job.

And like, crucial detail: no allocation of any kind is performed. None. Zero. Nada. Not me allocating memory in a build function, no ma'am. πŸ™ˆ

Your ascb comes pre-allocated via the list function, so that's already handled for you, bestie.

Here's the fun part β€” the caller is allowed to override ascb->tasklet_complete and point it at its very own callback function. Main character energy, honestly. πŸ‘‘

BUT (and this is the important bit, don't skip it): it must call asd_ascb_free at its tasklet complete function. Non-negotiable. That's the vibe check. πŸ’€

If you're wondering what a correct one of these looks like, go see the default implementation. It's giving reference material. 🧚

πŸ”₯ SEE ALSO πŸ”₯

All of these are lowkey obsessed with each other, iykyk. 🌈


And that's the page, bestie! Brought to you by ./drivers/scsi/aic94xx, dated October 2026, and she answers to asd_build_control_phy(9) β€” slay, go build some SCBs. πŸ’…βœ¨

πŸ“¦ where this page comes from