Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
xonar_wm87x6.c File Reference
#include <linux/pci.h>
#include <linux/delay.h>
#include <sound/control.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/jack.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/tlv.h>
#include "xonar.h"
#include "wm8776.h"
#include "wm8766.h"

Go to the source code of this file.

Data Structures

struct  xonar_wm87x6
 

Macros

#define GPIO_DS_HP_DETECT   0x0010
 
#define GPIO_DS_INPUT_ROUTE   0x0040
 
#define GPIO_DS_OUTPUT_FRONTLR   0x0080
 
#define GPIO_DS_OUTPUT_ENABLE   0x0100
 
#define GPIO_SLIM_HDMI_DISABLE   0x0001
 
#define GPIO_SLIM_OUTPUT_ENABLE   0x0002
 
#define GPIO_SLIM_FIRMWARE_CLK   0x0040
 
#define GPIO_SLIM_FIRMWARE_DATA   0x0080
 
#define I2C_DEVICE_WM8776   0x34 /* 001101, 0, /W=0 */
 
#define LC_CONTROL_LIMITER   0x40000000
 
#define LC_CONTROL_ALC   0x20000000
 
#define WM8776_BIT_SWITCH(xname, reg, bit, invert, flags)
 
#define _WM8776_FIELD_CTL(xname, reg, shift, initval, min, max, mask, flags)
 
#define WM8776_FIELD_CTL_ENUM(xname, reg, shift, init, min, max, mask, flags)
 
#define WM8776_FIELD_CTL_VOLUME(a, b, c, d, e, f, g, h, tlv_p)
 

Functions

int __devinit get_xonar_wm87x6_model (struct oxygen *chip, const struct pci_device_id *id)
 

Macro Definition Documentation

#define _WM8776_FIELD_CTL (   xname,
  reg,
  shift,
  initval,
  min,
  max,
  mask,
  flags 
)
Value:
.name = xname, \
.private_value = (initval) | ((min) << 8) | ((max) << 12) | \
((mask) << 16) | ((shift) << 20) | ((reg) << 24) | (flags)

Definition at line 987 of file xonar_wm87x6.c.

#define GPIO_DS_HP_DETECT   0x0010

Definition at line 75 of file xonar_wm87x6.c.

#define GPIO_DS_INPUT_ROUTE   0x0040

Definition at line 76 of file xonar_wm87x6.c.

#define GPIO_DS_OUTPUT_ENABLE   0x0100

Definition at line 78 of file xonar_wm87x6.c.

#define GPIO_DS_OUTPUT_FRONTLR   0x0080

Definition at line 77 of file xonar_wm87x6.c.

#define GPIO_SLIM_FIRMWARE_CLK   0x0040

Definition at line 82 of file xonar_wm87x6.c.

#define GPIO_SLIM_FIRMWARE_DATA   0x0080

Definition at line 83 of file xonar_wm87x6.c.

#define GPIO_SLIM_HDMI_DISABLE   0x0001

Definition at line 80 of file xonar_wm87x6.c.

#define GPIO_SLIM_OUTPUT_ENABLE   0x0002

Definition at line 81 of file xonar_wm87x6.c.

#define I2C_DEVICE_WM8776   0x34 /* 001101, 0, /W=0 */

Definition at line 85 of file xonar_wm87x6.c.

#define LC_CONTROL_ALC   0x20000000

Definition at line 88 of file xonar_wm87x6.c.

#define LC_CONTROL_LIMITER   0x40000000

Definition at line 87 of file xonar_wm87x6.c.

#define WM8776_BIT_SWITCH (   xname,
  reg,
  bit,
  invert,
  flags 
)
Value:
{ \
.name = xname, \
.get = wm8776_bit_switch_get, \
.put = wm8776_bit_switch_put, \
.private_value = ((reg) << 16) | (bit) | ((invert) << 24) | (flags), \
}

Definition at line 979 of file xonar_wm87x6.c.

#define WM8776_FIELD_CTL_ENUM (   xname,
  reg,
  shift,
  init,
  min,
  max,
  mask,
  flags 
)
Value:
{\
_WM8776_FIELD_CTL(xname " Capture Enum", \
reg, shift, init, min, max, mask, flags), \
SNDRV_CTL_ELEM_ACCESS_INACTIVE, \
.info = wm8776_field_enum_info, \
.get = wm8776_field_enum_get, \
.put = wm8776_field_enum_put, \
}

Definition at line 992 of file xonar_wm87x6.c.

#define WM8776_FIELD_CTL_VOLUME (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  tlv_p 
)
Value:
{ \
_WM8776_FIELD_CTL(a " Capture Volume", b, c, d, e, f, g, h), \
SNDRV_CTL_ELEM_ACCESS_INACTIVE | \
SNDRV_CTL_ELEM_ACCESS_TLV_READ, \
.info = wm8776_field_volume_info, \
.get = wm8776_field_volume_get, \
.put = wm8776_field_volume_put, \
.tlv = { .p = tlv_p }, \
}

Definition at line 1001 of file xonar_wm87x6.c.

Function Documentation

int __devinit get_xonar_wm87x6_model ( struct oxygen chip,
const struct pci_device_id id 
)

Definition at line 1324 of file xonar_wm87x6.c.