Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
ad1816a_lib.c File Reference
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/ioport.h>
#include <sound/core.h>
#include <sound/tlv.h>
#include <sound/ad1816a.h>
#include <asm/io.h>
#include <asm/dma.h>

Go to the source code of this file.

Macros

#define AD1816A_SINGLE_TLV(xname, reg, shift, mask, invert, xtlv)
 
#define AD1816A_SINGLE(xname, reg, shift, mask, invert)
 
#define AD1816A_DOUBLE_TLV(xname, reg, shift_left, shift_right, mask, invert, xtlv)
 
#define AD1816A_DOUBLE(xname, reg, shift_left, shift_right, mask, invert)
 

Functions

int __devinit snd_ad1816a_create (struct snd_card *card, unsigned long port, int irq, int dma1, int dma2, struct snd_ad1816a *chip)
 
int __devinit snd_ad1816a_pcm (struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm)
 
int __devinit snd_ad1816a_timer (struct snd_ad1816a *chip, int device, struct snd_timer **rtimer)
 
int __devinit snd_ad1816a_mixer (struct snd_ad1816a *chip)
 

Macro Definition Documentation

#define AD1816A_DOUBLE (   xname,
  reg,
  shift_left,
  shift_right,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ad1816a_info_double, \
.get = snd_ad1816a_get_double, .put = snd_ad1816a_put_double, \
.private_value = reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24) }

Definition at line 852 of file ad1816a_lib.c.

#define AD1816A_DOUBLE_TLV (   xname,
  reg,
  shift_left,
  shift_right,
  mask,
  invert,
  xtlv 
)
Value:
.name = xname, .info = snd_ad1816a_info_double, \
.get = snd_ad1816a_get_double, .put = snd_ad1816a_put_double, \
.private_value = reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24), \
.tlv = { .p = (xtlv) } }

Definition at line 844 of file ad1816a_lib.c.

#define AD1816A_SINGLE (   xname,
  reg,
  shift,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ad1816a_info_single, \
.get = snd_ad1816a_get_single, .put = snd_ad1816a_put_single, \
.private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }

Definition at line 787 of file ad1816a_lib.c.

#define AD1816A_SINGLE_TLV (   xname,
  reg,
  shift,
  mask,
  invert,
  xtlv 
)
Value:
.name = xname, .info = snd_ad1816a_info_single, \
.get = snd_ad1816a_get_single, .put = snd_ad1816a_put_single, \
.private_value = reg | (shift << 8) | (mask << 16) | (invert << 24), \
.tlv = { .p = (xtlv) } }

Definition at line 780 of file ad1816a_lib.c.

Function Documentation

int __devinit snd_ad1816a_create ( struct snd_card card,
unsigned long  port,
int  irq,
int  dma1,
int  dma2,
struct snd_ad1816a chip 
)

Definition at line 599 of file ad1816a_lib.c.

int __devinit snd_ad1816a_mixer ( struct snd_ad1816a chip)

Definition at line 972 of file ad1816a_lib.c.

int __devinit snd_ad1816a_pcm ( struct snd_ad1816a chip,
int  device,
struct snd_pcm **  rpcm 
)

Definition at line 678 of file ad1816a_lib.c.

int __devinit snd_ad1816a_timer ( struct snd_ad1816a chip,
int  device,
struct snd_timer **  rtimer 
)

Definition at line 705 of file ad1816a_lib.c.