Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
mixer.c File Reference
#include <linux/bitops.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/usb.h>
#include <linux/usb/audio.h>
#include <linux/usb/audio-v2.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/hwdep.h>
#include <sound/info.h>
#include <sound/tlv.h>
#include "usbaudio.h"
#include "mixer.h"
#include "helper.h"
#include "mixer_quirks.h"
#include "power.h"
#include "mixer_maps.c"

Go to the source code of this file.

Data Structures

struct  usb_audio_term
 
struct  mixer_build
 
struct  iterm_name_combo
 
struct  usb_feature_control_info
 
struct  procunit_value_info
 
struct  procunit_info
 

Macros

#define MAX_ID_ELEMS   256
 
#define get_min_max(cval, def)   get_min_max_with_quirks(cval, def, NULL)
 
#define MAX_ITEM_NAME_LEN   64
 

Enumerations

enum  {
  USB_XU_CLOCK_RATE = 0xe301, USB_XU_CLOCK_SOURCE = 0xe302, USB_XU_DIGITAL_IO_STATUS = 0xe303, USB_XU_DEVICE_OPTIONS = 0xe304,
  USB_XU_DIRECT_MONITORING = 0xe305, USB_XU_METERING = 0xe306
}
 
enum  { USB_XU_CLOCK_SOURCE_SELECTOR = 0x02, USB_XU_CLOCK_RATE_SELECTOR = 0x03, USB_XU_DIGITAL_FORMAT_SELECTOR = 0x01, USB_XU_SOFT_LIMIT_SELECTOR = 0x03 }
 

Functions

int snd_usb_mixer_set_ctl_value (struct usb_mixer_elem_info *cval, int request, int validx, int value_set)
 
int snd_usb_mixer_vol_tlv (struct snd_kcontrol *kcontrol, int op_flag, unsigned int size, unsigned int __user *_tlv)
 
int snd_usb_mixer_add_control (struct usb_mixer_interface *mixer, struct snd_kcontrol *kctl)
 
void snd_usb_mixer_notify_id (struct usb_mixer_interface *mixer, int unitid)
 
void snd_usb_mixer_inactivate (struct usb_mixer_interface *mixer)
 
int snd_usb_mixer_activate (struct usb_mixer_interface *mixer)
 
int snd_usb_create_mixer (struct snd_usb_audio *chip, int ctrlif, int ignore_error)
 
void snd_usb_mixer_disconnect (struct list_head *p)
 

Variables

struct snd_kcontrol_newsnd_usb_feature_unit_ctl = &usb_feature_unit_ctl
 

Macro Definition Documentation

#define get_min_max (   cval,
  def 
)    get_min_max_with_quirks(cval, def, NULL)

Definition at line 962 of file mixer.c.

#define MAX_ID_ELEMS   256

Definition at line 66 of file mixer.c.

#define MAX_ITEM_NAME_LEN   64

Enumeration Type Documentation

anonymous enum
Enumerator:
USB_XU_CLOCK_RATE 
USB_XU_CLOCK_SOURCE 
USB_XU_DIGITAL_IO_STATUS 
USB_XU_DEVICE_OPTIONS 
USB_XU_DIRECT_MONITORING 
USB_XU_METERING 

Definition at line 90 of file mixer.c.

anonymous enum
Enumerator:
USB_XU_CLOCK_SOURCE_SELECTOR 
USB_XU_CLOCK_RATE_SELECTOR 
USB_XU_DIGITAL_FORMAT_SELECTOR 
USB_XU_SOFT_LIMIT_SELECTOR 

Definition at line 98 of file mixer.c.

Function Documentation

int snd_usb_create_mixer ( struct snd_usb_audio chip,
int  ctrlif,
int  ignore_error 
)

Definition at line 2267 of file mixer.c.

int snd_usb_mixer_activate ( struct usb_mixer_interface mixer)

Definition at line 2221 of file mixer.c.

int snd_usb_mixer_add_control ( struct usb_mixer_interface mixer,
struct snd_kcontrol kctl 
)

Definition at line 550 of file mixer.c.

void snd_usb_mixer_disconnect ( struct list_head p)

Definition at line 2324 of file mixer.c.

void snd_usb_mixer_inactivate ( struct usb_mixer_interface mixer)

Definition at line 2215 of file mixer.c.

void snd_usb_mixer_notify_id ( struct usb_mixer_interface mixer,
int  unitid 
)

Definition at line 2066 of file mixer.c.

int snd_usb_mixer_set_ctl_value ( struct usb_mixer_elem_info cval,
int  request,
int  validx,
int  value_set 
)

Definition at line 428 of file mixer.c.

int snd_usb_mixer_vol_tlv ( struct snd_kcontrol kcontrol,
int  op_flag,
unsigned int  size,
unsigned int __user _tlv 
)

Definition at line 510 of file mixer.c.

Variable Documentation

struct snd_kcontrol_new* snd_usb_feature_unit_ctl = &usb_feature_unit_ctl

Definition at line 1086 of file mixer.c.