STRUCT AC97_CONTROLLER_OPS(9)
π struct ac97_controller_ops(9) β¨
okay bestie, welcome to the Kernel API Manual entry for struct ac97_controller_ops β the AC97 operations, and honestly? iconic.
π NAME π
struct ac97_controller_ops β literally just the AC97 operations. that's the whole vibe. π¦
β¨ SYNOPSIS β¨
here's the struct, bestie, copy it exactly, no cap:
struct ac97_controller_ops {
void (*reset)(struct ac97_controller *adrv);
void (*warm_reset)(struct ac97_controller *adrv);
int (*write)(struct ac97_controller *adrv, int slot, unsigned short
reg, unsigned short val);
int (*read)(struct ac97_controller *adrv, int slot, unsigned short
reg);
};
π Members π
resetβ cold reset of the AC97 AC-Link. like a full factory reset, no survivors πwarm_resetβ warm reset of the AC97 AC-Link. softer, gentler, still resetting π«Άwriteβ writes a single AC97 register. one (1) register. very demure πΈreadβ reads a single AC97 register. returns the register value, or a negative error code if things went sideways π
π Description π
so these are the basic operations that an AC97 controller must provide for the AC97 access functions. lowkey the whole point. π₯
amongst these, all but the last 2 are mandatory. so reset and warm_reset? mandatory, periodt. the last two (write and read)? the vibes say optional. π
also, the slot number is what they call the AC97 codec number, and it's between 0 and 3. yes, only 0β3, that's the range, don't push it π
π SEE ALSO π
- Kernel file
./include/sound/ac97/controller.h struct ac97_controller(9)
ngl, go read that header file for the full lore. iykyk π
okay that's the whole page bestie, go forth and slay β¨π¦
π§ sign-off era: this little masterpiece lives in ./include/sound/ac97, dated October 2026, straight out of the Kernel API Manual. 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