Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
cs4236_lib.c File Reference
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/time.h>
#include <linux/wait.h>
#include <sound/core.h>
#include <sound/wss.h>
#include <sound/asoundef.h>
#include <sound/initval.h>
#include <sound/tlv.h>

Go to the source code of this file.

Macros

#define CLOCKS   8
 
#define CS4236_SINGLE(xname, xindex, reg, shift, mask, invert)
 
#define CS4236_SINGLE_TLV(xname, xindex, reg, shift, mask, invert, xtlv)
 
#define CS4236_SINGLEC(xname, xindex, reg, shift, mask, invert)
 
#define CS4236_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert)
 
#define CS4236_DOUBLE_TLV(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert, xtlv)
 
#define CS4236_DOUBLE1(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert)
 
#define CS4236_DOUBLE1_TLV(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert, xtlv)
 
#define CS4236_MASTER_DIGITAL(xname, xindex, xtlv)
 
#define CS4235_OUTPUT_ACCU(xname, xindex, xtlv)
 
#define CS4236_IEC958_ENABLE(xname, xindex)
 

Functions

int snd_cs4236_create (struct snd_card *card, unsigned long port, unsigned long cport, int irq, int dma1, int dma2, unsigned short hardware, unsigned short hwshare, struct snd_wss **rchip)
 
int snd_cs4236_pcm (struct snd_wss *chip, int device, struct snd_pcm **rpcm)
 
int snd_cs4236_mixer (struct snd_wss *chip)
 

Macro Definition Documentation

#define CLOCKS   8

Definition at line 139 of file cs4236_lib.c.

#define CS4235_OUTPUT_ACCU (   xname,
  xindex,
  xtlv 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4235_get_output_accu, .put = snd_cs4235_put_output_accu, \
.private_value = 3 << 24, \
.tlv = { .p = (xtlv) } }

Definition at line 708 of file cs4236_lib.c.

#define CS4236_DOUBLE (   xname,
  xindex,
  left_reg,
  right_reg,
  shift_left,
  shift_right,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4236_get_double, .put = snd_cs4236_put_double, \
.private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }

Definition at line 508 of file cs4236_lib.c.

#define CS4236_DOUBLE1 (   xname,
  xindex,
  left_reg,
  right_reg,
  shift_left,
  shift_right,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4236_get_double1, .put = snd_cs4236_put_double1, \
.private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }

Definition at line 594 of file cs4236_lib.c.

#define CS4236_DOUBLE1_TLV (   xname,
  xindex,
  left_reg,
  right_reg,
  shift_left,
  shift_right,
  mask,
  invert,
  xtlv 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4236_get_double1, .put = snd_cs4236_put_double1, \
.private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \
(shift_right << 19) | (mask << 24) | (invert << 22), \
.tlv = { .p = (xtlv) } }

Definition at line 601 of file cs4236_lib.c.

#define CS4236_DOUBLE_TLV (   xname,
  xindex,
  left_reg,
  right_reg,
  shift_left,
  shift_right,
  mask,
  invert,
  xtlv 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4236_get_double, .put = snd_cs4236_put_double, \
.private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \
(shift_right << 19) | (mask << 24) | (invert << 22), \
.tlv = { .p = (xtlv) } }

Definition at line 514 of file cs4236_lib.c.

#define CS4236_IEC958_ENABLE (   xname,
  xindex 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_single, \
.get = snd_cs4236_get_iec958_switch, .put = snd_cs4236_put_iec958_switch, \
.private_value = 1 << 16 }

Definition at line 942 of file cs4236_lib.c.

#define CS4236_MASTER_DIGITAL (   xname,
  xindex,
  xtlv 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_double, \
.get = snd_cs4236_get_master_digital, .put = snd_cs4236_put_master_digital, \
.private_value = 71 << 24, \
.tlv = { .p = (xtlv) } }

Definition at line 664 of file cs4236_lib.c.

#define CS4236_SINGLE (   xname,
  xindex,
  reg,
  shift,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_single, \
.get = snd_cs4236_get_single, .put = snd_cs4236_put_single, \
.private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }

Definition at line 397 of file cs4236_lib.c.

#define CS4236_SINGLE_TLV (   xname,
  xindex,
  reg,
  shift,
  mask,
  invert,
  xtlv 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_single, \
.get = snd_cs4236_get_single, .put = snd_cs4236_put_single, \
.private_value = reg | (shift << 8) | (mask << 16) | (invert << 24), \
.tlv = { .p = (xtlv) } }

Definition at line 403 of file cs4236_lib.c.

#define CS4236_SINGLEC (   xname,
  xindex,
  reg,
  shift,
  mask,
  invert 
)
Value:
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
.info = snd_cs4236_info_single, \
.get = snd_cs4236_get_singlec, .put = snd_cs4236_put_singlec, \
.private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }

Definition at line 462 of file cs4236_lib.c.

Function Documentation

int snd_cs4236_create ( struct snd_card card,
unsigned long  port,
unsigned long  cport,
int  irq,
int  dma1,
int  dma2,
unsigned short  hardware,
unsigned short  hwshare,
struct snd_wss **  rchip 
)

Definition at line 273 of file cs4236_lib.c.

int snd_cs4236_mixer ( struct snd_wss chip)

Definition at line 1035 of file cs4236_lib.c.

int snd_cs4236_pcm ( struct snd_wss chip,
int  device,
struct snd_pcm **  rpcm 
)

Definition at line 379 of file cs4236_lib.c.