[alsa-devel] [PATCH 0/4 v7] Scarlett mixer interface inclusion

Chris J Arges chris.j.arges at canonical.com
Wed Nov 12 19:06:58 CET 2014


This is v5 of the patchset to merge what Tobias Hoffman and Robin Gareus have
done to enable the Focusrite Scarlett mixers for use with ALSA.

[v3]

I have split the commits into hopefully a logical series. First the original
quirk is reverted for one model of a Scarlett device. Next an additional
structure is added to be able to more easily reuse usb_mixer_elem_info.
After this mixer functions that were useful to this code were made public.
Finally the last patch adds the necessary functions to make this mixer work.

[v4]

This version removes the per-mixer control creation functions and uses a
generic function based on structure data. Macros used for control addition
are removed and the plain function is used instead. Hardcoded text block is
removed and macros to define strings are used instead. Hardcoded control
initialization has been removed.

[v5]

In this version, HW saving functionality has been removed in this initial
patchset. Macros for function calls are removed for readability. Strings for
enums are created dynamically using the info structures. String lengths for
controls are now all SNDRV_CTL_ELEM_ID_NAME_MAXLEN in length.

[v6]

Removed dead variables. Made names const char * const * again. Adjusted
scarlett_ctl_enum_* functions to be a bit clearer. Used strlcpy where
appropriate. Properly free two dimensional array.

[v7]

Generate strings directly in enum_info function instead of dynamically
allocating into another array and copying. Remove unnecessary initializations,
kfrees and use kmalloc instead of kmalloc_array. Update comments to reflect
current mixer functionality.

Chris J Arges (4):
  Revert "ALSA: usb-audio: Add quirk for Focusrite Scarlett
  ALSA: usb-audio: Add private_data pointer to usb_mixer_elem_info
  ALSA: usb-audio: make set_*_mix_values functions public
  ALSA: usb-audio: Scarlett mixer interface for 6i6, 18i6, 18i8 and
    18i20

 sound/usb/Makefile         |    1 +
 sound/usb/mixer.c          |   34 +-
 sound/usb/mixer.h          |    9 +
 sound/usb/mixer_quirks.c   |   18 +-
 sound/usb/mixer_scarlett.c | 1001 ++++++++++++++++++++++++++++++++++++++++++++
 sound/usb/mixer_scarlett.h |    6 +
 sound/usb/quirks-table.h   |   51 ---
 7 files changed, 1044 insertions(+), 76 deletions(-)
 create mode 100644 sound/usb/mixer_scarlett.c
 create mode 100644 sound/usb/mixer_scarlett.h

-- 
2.1.3



More information about the Alsa-devel mailing list