Skip to content

Commit

Permalink
ALSA: usb-audio: export snd_usb_feature_unit_ctl
Browse files Browse the repository at this point in the history
In order to allow quirks functions to hook up to the standard feature
unit op tables, this patch exports a pointer to the struct that is used
internally.

That way, all the code handling the control can be kept private, and
external code can reference the symbol to re-use it.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Daniel Mack authored and Takashi Iwai committed May 25, 2011
1 parent ef9d597 commit 9e38658
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 11 deletions.
1 change: 1 addition & 0 deletions sound/usb/card.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#include <linux/usb/audio.h>
#include <linux/usb/audio-v2.h>

#include <sound/control.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/pcm.h>
Expand Down
13 changes: 3 additions & 10 deletions sound/usb/mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,16 +86,6 @@ struct mixer_build {
const struct usbmix_selector_map *selector_map;
};

enum {
USB_MIXER_BOOLEAN,
USB_MIXER_INV_BOOLEAN,
USB_MIXER_S8,
USB_MIXER_U8,
USB_MIXER_S16,
USB_MIXER_U16,
};


/*E-mu 0202/0404/0204 eXtension Unit(XU) control*/
enum {
USB_XU_CLOCK_RATE = 0xe301,
Expand Down Expand Up @@ -985,6 +975,9 @@ static struct snd_kcontrol_new usb_feature_unit_ctl_ro = {
.put = NULL,
};

/* This symbol is exported in order to allow the mixer quirks to
* hook up to the standard feature unit control mechanism */
struct snd_kcontrol_new *snd_usb_feature_unit_ctl = &usb_feature_unit_ctl;

/*
* build a feature control
Expand Down
11 changes: 10 additions & 1 deletion sound/usb/mixer.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,16 @@ struct usb_mixer_interface {
u8 xonar_u1_status;
};

#define MAX_CHANNELS 10 /* max logical channels */
#define MAX_CHANNELS 16 /* max logical channels */

enum {
USB_MIXER_BOOLEAN,
USB_MIXER_INV_BOOLEAN,
USB_MIXER_S8,
USB_MIXER_U8,
USB_MIXER_S16,
USB_MIXER_U16,
};

struct usb_mixer_elem_info {
struct usb_mixer_interface *mixer;
Expand Down
1 change: 1 addition & 0 deletions sound/usb/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/usb.h>
#include <linux/usb/audio.h>

#include <sound/control.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/pcm.h>
Expand Down

0 comments on commit 9e38658

Please sign in to comment.