• Takashi Iwai's avatar
    ALSA: usb-audio: Allow quirks to handle own resume and proc dump · 3360b84b
    Takashi Iwai authored
    So far, we blindly assumed that the all usb-audio mixer elements
    follow the standard and apply the standard resume method for the
    registered elements in the id_elems[] list.  However, some quirks
    really need the own resume and it's incomplete for now.
    
    This patch enhances the resume handling in two folds:
    - split some fields in struct usb_mixer_elem_info into a smaller
      header struct (usb_mixer_elem_list) for keeping the minimal
      information in the linked-list; the usb_mixer_elem_info embeds this
      header struct instead
    - add resume and dump callbacks to usb_mixer_elem_list struct to allow
      quirks providing the own methods
    
    For the standard mixer elements, these new callbacks are set to the
    standard ones as default, thus there is no functional change by this
    patch yet.
    
    The dump and resume callbacks are typedef'ed for ease of later patches
    using arrays of such function pointers.
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    3360b84b
mixer.c 67.6 KB