STRUCT DRM_AUDIO_COMPONENT_AUDIO_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so welcome to the Kernel API Manual page for struct drm_audio_component_audio_ops β€” the header is doing its little truncation moment as struct drm_a...nt_audio_ops(9), and honestly? iconic πŸ’…

🌸 NAME 🌸

struct drm_audio_component_audio_ops β€” ops implemented by hda driver, called by DRM driver</p> πŸŽ€

✨ SYNOPSIS ✨

bestie, here's the struct in all its glory β€” every field stays exactly as written, no cap:

struct drm_audio_component_audio_ops {
    void *audio_ptr;
    void (*pin_eld_notify)(void *audio_ptr, int port, int pipe);
    int (*pin2port)(void *audio_ptr, int pin);
    int (*master_bind)(struct device *dev, struct drm_audio_component *);
    void (*master_unbind)(struct device *dev, struct drm_audio_component *);
 };

πŸŽ€ Members πŸŽ€

okay so these are the members, and they're lowkey the whole point:

  • audio_ptr β€” pointer to be used in call to pin_eld_notify 🫢
  • pin_eld_notify β€” notify the HDA driver that pin sense and/or ELD information has changed. Called when the DRM driver has set up audio pipeline or has just begun to tear it down. This allows the HDA driver to update its status accordingly (even when the HDA controller is in power save mode). πŸ”₯
  • pin2port β€” check and convert from pin node to port number. Called by HDA driver to check and convert from the pin widget node number to a port number in the graphics side. πŸ¦‹
  • master_bind β€” (Optional) component master bind callback. Called at binding master component, for HDA codec-specific handling of dynamic binding. ✨
  • master_unbind β€” (Optional) component master unbind callback. Called at unbinding master component, for HDA codec-specific handling of dynamic unbinding. 🌈

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/drm/drm_audio_component.h, plus struct drm_audio_component_ops(9) and struct drm_audio_component(9) β€” go read those too, bestie πŸ“š


πŸ’– footer tea: source/version is ./include/drm, dated October 2026, and the header/footer name is struct drm_a...nt_audio_ops(9). that's the whole manual page β€” periodt 🫢

πŸ“¦ where this page comes from