Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
via82xx_modem.c File Reference
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/info.h>
#include <sound/ac97_codec.h>
#include <sound/initval.h>

Go to the source code of this file.

Data Structures

struct  snd_via_sg_table
 
struct  viadev
 
struct  via82xx_modem
 

Macros

#define VIAREG(via, x)   ((via)->port + VIA_REG_##x)
 
#define VIADEV_REG(viadev, x)   ((viadev)->port + VIA_REG_##x)
 
#define VIA_REG_OFFSET_STATUS   0x00 /* byte - channel status */
 
#define VIA_REG_STAT_ACTIVE   0x80 /* RO */
 
#define VIA_REG_STAT_PAUSED   0x40 /* RO */
 
#define VIA_REG_STAT_TRIGGER_QUEUED   0x08 /* RO */
 
#define VIA_REG_STAT_STOPPED   0x04 /* RWC */
 
#define VIA_REG_STAT_EOL   0x02 /* RWC */
 
#define VIA_REG_STAT_FLAG   0x01 /* RWC */
 
#define VIA_REG_OFFSET_CONTROL   0x01 /* byte - channel control */
 
#define VIA_REG_CTRL_START   0x80 /* WO */
 
#define VIA_REG_CTRL_TERMINATE   0x40 /* WO */
 
#define VIA_REG_CTRL_AUTOSTART   0x20
 
#define VIA_REG_CTRL_PAUSE   0x08 /* RW */
 
#define VIA_REG_CTRL_INT_STOP   0x04
 
#define VIA_REG_CTRL_INT_EOL   0x02
 
#define VIA_REG_CTRL_INT_FLAG   0x01
 
#define VIA_REG_CTRL_RESET   0x01 /* RW - probably reset? undocumented */
 
#define VIA_REG_CTRL_INT   (VIA_REG_CTRL_INT_FLAG | VIA_REG_CTRL_INT_EOL | VIA_REG_CTRL_AUTOSTART)
 
#define VIA_REG_OFFSET_TYPE   0x02 /* byte - channel type (686 only) */
 
#define VIA_REG_TYPE_AUTOSTART   0x80 /* RW - autostart at EOL */
 
#define VIA_REG_TYPE_16BIT   0x20 /* RW */
 
#define VIA_REG_TYPE_STEREO   0x10 /* RW */
 
#define VIA_REG_TYPE_INT_LLINE   0x00
 
#define VIA_REG_TYPE_INT_LSAMPLE   0x04
 
#define VIA_REG_TYPE_INT_LESSONE   0x08
 
#define VIA_REG_TYPE_INT_MASK   0x0c
 
#define VIA_REG_TYPE_INT_EOL   0x02
 
#define VIA_REG_TYPE_INT_FLAG   0x01
 
#define VIA_REG_OFFSET_TABLE_PTR   0x04 /* dword - channel table pointer */
 
#define VIA_REG_OFFSET_CURR_PTR   0x04 /* dword - channel current pointer */
 
#define VIA_REG_OFFSET_STOP_IDX   0x08 /* dword - stop index, channel type, sample rate */
 
#define VIA_REG_OFFSET_CURR_COUNT   0x0c /* dword - channel current count (24 bit) */
 
#define VIA_REG_OFFSET_CURR_INDEX   0x0f /* byte - channel current index (for via8233 only) */
 
#define DEFINE_VIA_REGSET(name, val)
 
#define VIA_REG_AC97   0x80 /* dword */
 
#define VIA_REG_AC97_CODEC_ID_MASK   (3<<30)
 
#define VIA_REG_AC97_CODEC_ID_SHIFT   30
 
#define VIA_REG_AC97_CODEC_ID_PRIMARY   0x00
 
#define VIA_REG_AC97_CODEC_ID_SECONDARY   0x01
 
#define VIA_REG_AC97_SECONDARY_VALID   (1<<27)
 
#define VIA_REG_AC97_PRIMARY_VALID   (1<<25)
 
#define VIA_REG_AC97_BUSY   (1<<24)
 
#define VIA_REG_AC97_READ   (1<<23)
 
#define VIA_REG_AC97_CMD_SHIFT   16
 
#define VIA_REG_AC97_CMD_MASK   0x7e
 
#define VIA_REG_AC97_DATA_SHIFT   0
 
#define VIA_REG_AC97_DATA_MASK   0xffff
 
#define VIA_REG_SGD_SHADOW   0x84 /* dword */
 
#define VIA_REG_SGD_STAT_PB_FLAG   (1<<0)
 
#define VIA_REG_SGD_STAT_CP_FLAG   (1<<1)
 
#define VIA_REG_SGD_STAT_FM_FLAG   (1<<2)
 
#define VIA_REG_SGD_STAT_PB_EOL   (1<<4)
 
#define VIA_REG_SGD_STAT_CP_EOL   (1<<5)
 
#define VIA_REG_SGD_STAT_FM_EOL   (1<<6)
 
#define VIA_REG_SGD_STAT_PB_STOP   (1<<8)
 
#define VIA_REG_SGD_STAT_CP_STOP   (1<<9)
 
#define VIA_REG_SGD_STAT_FM_STOP   (1<<10)
 
#define VIA_REG_SGD_STAT_PB_ACTIVE   (1<<12)
 
#define VIA_REG_SGD_STAT_CP_ACTIVE   (1<<13)
 
#define VIA_REG_SGD_STAT_FM_ACTIVE   (1<<14)
 
#define VIA_REG_SGD_STAT_MR_FLAG   (1<<16)
 
#define VIA_REG_SGD_STAT_MW_FLAG   (1<<17)
 
#define VIA_REG_SGD_STAT_MR_EOL   (1<<20)
 
#define VIA_REG_SGD_STAT_MW_EOL   (1<<21)
 
#define VIA_REG_SGD_STAT_MR_STOP   (1<<24)
 
#define VIA_REG_SGD_STAT_MW_STOP   (1<<25)
 
#define VIA_REG_SGD_STAT_MR_ACTIVE   (1<<28)
 
#define VIA_REG_SGD_STAT_MW_ACTIVE   (1<<29)
 
#define VIA_REG_GPI_STATUS   0x88
 
#define VIA_REG_GPI_INTR   0x8c
 
#define VIA_TBL_BIT_FLAG   0x40000000
 
#define VIA_TBL_BIT_EOL   0x80000000
 
#define VIA_ACLINK_STAT   0x40
 
#define VIA_ACLINK_C11_READY   0x20
 
#define VIA_ACLINK_C10_READY   0x10
 
#define VIA_ACLINK_C01_READY   0x04 /* secondary codec ready */
 
#define VIA_ACLINK_LOWPOWER   0x02 /* low-power state */
 
#define VIA_ACLINK_C00_READY   0x01 /* primary codec ready */
 
#define VIA_ACLINK_CTRL   0x41
 
#define VIA_ACLINK_CTRL_ENABLE   0x80 /* 0: disable, 1: enable */
 
#define VIA_ACLINK_CTRL_RESET   0x40 /* 0: assert, 1: de-assert */
 
#define VIA_ACLINK_CTRL_SYNC   0x20 /* 0: release SYNC, 1: force SYNC hi */
 
#define VIA_ACLINK_CTRL_SDO   0x10 /* 0: release SDO, 1: force SDO hi */
 
#define VIA_ACLINK_CTRL_VRA   0x08 /* 0: disable VRA, 1: enable VRA */
 
#define VIA_ACLINK_CTRL_PCM   0x04 /* 0: disable PCM, 1: enable PCM */
 
#define VIA_ACLINK_CTRL_FM   0x02 /* via686 only */
 
#define VIA_ACLINK_CTRL_SB   0x01 /* via686 only */
 
#define VIA_ACLINK_CTRL_INIT
 
#define VIA_FUNC_ENABLE   0x42
 
#define VIA_FUNC_MIDI_PNP   0x80 /* FIXME: it's 0x40 in the datasheet! */
 
#define VIA_FUNC_MIDI_IRQMASK   0x40 /* FIXME: not documented! */
 
#define VIA_FUNC_RX2C_WRITE   0x20
 
#define VIA_FUNC_SB_FIFO_EMPTY   0x10
 
#define VIA_FUNC_ENABLE_GAME   0x08
 
#define VIA_FUNC_ENABLE_FM   0x04
 
#define VIA_FUNC_ENABLE_MIDI   0x02
 
#define VIA_FUNC_ENABLE_SB   0x01
 
#define VIA_PNP_CONTROL   0x43
 
#define VIA_MC97_CTRL   0x44
 
#define VIA_MC97_CTRL_ENABLE   0x80
 
#define VIA_MC97_CTRL_SECONDARY   0x40
 
#define VIA_MC97_CTRL_INIT
 
#define VIA_TABLE_SIZE   255
 
#define VIA_MAX_MODEM_DEVS   2
 
#define check_invalid_pos(viadev, pos)
 
#define SND_VIA82XX_PM_OPS   NULL
 

Enumerations

enum  { TYPE_CARD_VIA82XX_MODEM = 1 }
 

Functions

 MODULE_AUTHOR ("Jaroslav Kysela <[email protected]>")
 
 MODULE_DESCRIPTION ("VIA VT82xx modem")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_SUPPORTED_DEVICE ("{{VIA,VT82C686A/B/C modem,pci}}")
 
 module_param (index, int, 0444)
 
 MODULE_PARM_DESC (index,"Index value for VIA 82xx bridge.")
 
 module_param (id, charp, 0444)
 
 MODULE_PARM_DESC (id,"ID string for VIA 82xx bridge.")
 
 module_param (ac97_clock, int, 0444)
 
 MODULE_PARM_DESC (ac97_clock,"AC'97 codec clock (default 48000Hz).")
 
 module_param (enable, bool, 0444)
 
 DEFINE_VIA_REGSET (MO, 0x40)
 
 DEFINE_VIA_REGSET (MI, 0x50)
 
 MODULE_DEVICE_TABLE (pci, snd_via82xx_modem_ids)
 
 module_pci_driver (via82xx_modem_driver)
 

Macro Definition Documentation

#define check_invalid_pos (   viadev,
  pos 
)
Value:

Definition at line 559 of file via82xx_modem.c.

#define DEFINE_VIA_REGSET (   name,
  val 
)
Value:
enum {\
VIA_REG_##name##_STATUS = (val),\
VIA_REG_##name##_CONTROL = (val) + 0x01,\
VIA_REG_##name##_TYPE = (val) + 0x02,\
VIA_REG_##name##_TABLE_PTR = (val) + 0x04,\
VIA_REG_##name##_CURR_PTR = (val) + 0x04,\
VIA_REG_##name##_STOP_IDX = (val) + 0x08,\
VIA_REG_##name##_CURR_COUNT = (val) + 0x0c,\
}

Definition at line 114 of file via82xx_modem.c.

#define SND_VIA82XX_PM_OPS   NULL

Definition at line 1078 of file via82xx_modem.c.

#define VIA_ACLINK_C00_READY   0x01 /* primary codec ready */

Definition at line 178 of file via82xx_modem.c.

#define VIA_ACLINK_C01_READY   0x04 /* secondary codec ready */

Definition at line 176 of file via82xx_modem.c.

#define VIA_ACLINK_C10_READY   0x10

Definition at line 175 of file via82xx_modem.c.

#define VIA_ACLINK_C11_READY   0x20

Definition at line 174 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL   0x41

Definition at line 179 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_ENABLE   0x80 /* 0: disable, 1: enable */

Definition at line 180 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_FM   0x02 /* via686 only */

Definition at line 186 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_INIT
Value:
VIA_ACLINK_CTRL_RESET|\
VIA_ACLINK_CTRL_PCM)

Definition at line 188 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_PCM   0x04 /* 0: disable PCM, 1: enable PCM */

Definition at line 185 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_RESET   0x40 /* 0: assert, 1: de-assert */

Definition at line 181 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_SB   0x01 /* via686 only */

Definition at line 187 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_SDO   0x10 /* 0: release SDO, 1: force SDO hi */

Definition at line 183 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_SYNC   0x20 /* 0: release SYNC, 1: force SYNC hi */

Definition at line 182 of file via82xx_modem.c.

#define VIA_ACLINK_CTRL_VRA   0x08 /* 0: disable VRA, 1: enable VRA */

Definition at line 184 of file via82xx_modem.c.

#define VIA_ACLINK_LOWPOWER   0x02 /* low-power state */

Definition at line 177 of file via82xx_modem.c.

#define VIA_ACLINK_STAT   0x40

Definition at line 173 of file via82xx_modem.c.

#define VIA_FUNC_ENABLE   0x42

Definition at line 191 of file via82xx_modem.c.

#define VIA_FUNC_ENABLE_FM   0x04

Definition at line 197 of file via82xx_modem.c.

#define VIA_FUNC_ENABLE_GAME   0x08

Definition at line 196 of file via82xx_modem.c.

#define VIA_FUNC_ENABLE_MIDI   0x02

Definition at line 198 of file via82xx_modem.c.

#define VIA_FUNC_ENABLE_SB   0x01

Definition at line 199 of file via82xx_modem.c.

#define VIA_FUNC_MIDI_IRQMASK   0x40 /* FIXME: not documented! */

Definition at line 193 of file via82xx_modem.c.

#define VIA_FUNC_MIDI_PNP   0x80 /* FIXME: it's 0x40 in the datasheet! */

Definition at line 192 of file via82xx_modem.c.

#define VIA_FUNC_RX2C_WRITE   0x20

Definition at line 194 of file via82xx_modem.c.

#define VIA_FUNC_SB_FIFO_EMPTY   0x10

Definition at line 195 of file via82xx_modem.c.

#define VIA_MAX_MODEM_DEVS   2

Definition at line 236 of file via82xx_modem.c.

#define VIA_MC97_CTRL   0x44

Definition at line 201 of file via82xx_modem.c.

#define VIA_MC97_CTRL_ENABLE   0x80

Definition at line 202 of file via82xx_modem.c.

#define VIA_MC97_CTRL_INIT
Value:
VIA_MC97_CTRL_SECONDARY)

Definition at line 204 of file via82xx_modem.c.

#define VIA_MC97_CTRL_SECONDARY   0x40

Definition at line 203 of file via82xx_modem.c.

#define VIA_PNP_CONTROL   0x43

Definition at line 200 of file via82xx_modem.c.

#define VIA_REG_AC97   0x80 /* dword */

Definition at line 130 of file via82xx_modem.c.

#define VIA_REG_AC97_BUSY   (1<<24)

Definition at line 137 of file via82xx_modem.c.

#define VIA_REG_AC97_CMD_MASK   0x7e

Definition at line 140 of file via82xx_modem.c.

#define VIA_REG_AC97_CMD_SHIFT   16

Definition at line 139 of file via82xx_modem.c.

#define VIA_REG_AC97_CODEC_ID_MASK   (3<<30)

Definition at line 131 of file via82xx_modem.c.

#define VIA_REG_AC97_CODEC_ID_PRIMARY   0x00

Definition at line 133 of file via82xx_modem.c.

#define VIA_REG_AC97_CODEC_ID_SECONDARY   0x01

Definition at line 134 of file via82xx_modem.c.

#define VIA_REG_AC97_CODEC_ID_SHIFT   30

Definition at line 132 of file via82xx_modem.c.

#define VIA_REG_AC97_DATA_MASK   0xffff

Definition at line 142 of file via82xx_modem.c.

#define VIA_REG_AC97_DATA_SHIFT   0

Definition at line 141 of file via82xx_modem.c.

#define VIA_REG_AC97_PRIMARY_VALID   (1<<25)

Definition at line 136 of file via82xx_modem.c.

#define VIA_REG_AC97_READ   (1<<23)

Definition at line 138 of file via82xx_modem.c.

#define VIA_REG_AC97_SECONDARY_VALID   (1<<27)

Definition at line 135 of file via82xx_modem.c.

#define VIA_REG_CTRL_AUTOSTART   0x20

Definition at line 91 of file via82xx_modem.c.

Definition at line 97 of file via82xx_modem.c.

#define VIA_REG_CTRL_INT_EOL   0x02

Definition at line 94 of file via82xx_modem.c.

#define VIA_REG_CTRL_INT_FLAG   0x01

Definition at line 95 of file via82xx_modem.c.

#define VIA_REG_CTRL_INT_STOP   0x04

Definition at line 93 of file via82xx_modem.c.

#define VIA_REG_CTRL_PAUSE   0x08 /* RW */

Definition at line 92 of file via82xx_modem.c.

#define VIA_REG_CTRL_RESET   0x01 /* RW - probably reset? undocumented */

Definition at line 96 of file via82xx_modem.c.

#define VIA_REG_CTRL_START   0x80 /* WO */

Definition at line 89 of file via82xx_modem.c.

#define VIA_REG_CTRL_TERMINATE   0x40 /* WO */

Definition at line 90 of file via82xx_modem.c.

#define VIA_REG_GPI_INTR   0x8c

Definition at line 167 of file via82xx_modem.c.

#define VIA_REG_GPI_STATUS   0x88

Definition at line 166 of file via82xx_modem.c.

#define VIA_REG_OFFSET_CONTROL   0x01 /* byte - channel control */

Definition at line 88 of file via82xx_modem.c.

#define VIA_REG_OFFSET_CURR_COUNT   0x0c /* dword - channel current count (24 bit) */

Definition at line 111 of file via82xx_modem.c.

#define VIA_REG_OFFSET_CURR_INDEX   0x0f /* byte - channel current index (for via8233 only) */

Definition at line 112 of file via82xx_modem.c.

#define VIA_REG_OFFSET_CURR_PTR   0x04 /* dword - channel current pointer */

Definition at line 109 of file via82xx_modem.c.

#define VIA_REG_OFFSET_STATUS   0x00 /* byte - channel status */

Definition at line 81 of file via82xx_modem.c.

#define VIA_REG_OFFSET_STOP_IDX   0x08 /* dword - stop index, channel type, sample rate */

Definition at line 110 of file via82xx_modem.c.

#define VIA_REG_OFFSET_TABLE_PTR   0x04 /* dword - channel table pointer */

Definition at line 108 of file via82xx_modem.c.

#define VIA_REG_OFFSET_TYPE   0x02 /* byte - channel type (686 only) */

Definition at line 98 of file via82xx_modem.c.

#define VIA_REG_SGD_SHADOW   0x84 /* dword */

Definition at line 144 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_CP_ACTIVE   (1<<13)

Definition at line 155 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_CP_EOL   (1<<5)

Definition at line 149 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_CP_FLAG   (1<<1)

Definition at line 146 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_CP_STOP   (1<<9)

Definition at line 152 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_FM_ACTIVE   (1<<14)

Definition at line 156 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_FM_EOL   (1<<6)

Definition at line 150 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_FM_FLAG   (1<<2)

Definition at line 147 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_FM_STOP   (1<<10)

Definition at line 153 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MR_ACTIVE   (1<<28)

Definition at line 163 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MR_EOL   (1<<20)

Definition at line 159 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MR_FLAG   (1<<16)

Definition at line 157 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MR_STOP   (1<<24)

Definition at line 161 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MW_ACTIVE   (1<<29)

Definition at line 164 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MW_EOL   (1<<21)

Definition at line 160 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MW_FLAG   (1<<17)

Definition at line 158 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_MW_STOP   (1<<25)

Definition at line 162 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_PB_ACTIVE   (1<<12)

Definition at line 154 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_PB_EOL   (1<<4)

Definition at line 148 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_PB_FLAG   (1<<0)

Definition at line 145 of file via82xx_modem.c.

#define VIA_REG_SGD_STAT_PB_STOP   (1<<8)

Definition at line 151 of file via82xx_modem.c.

#define VIA_REG_STAT_ACTIVE   0x80 /* RO */

Definition at line 82 of file via82xx_modem.c.

#define VIA_REG_STAT_EOL   0x02 /* RWC */

Definition at line 86 of file via82xx_modem.c.

#define VIA_REG_STAT_FLAG   0x01 /* RWC */

Definition at line 87 of file via82xx_modem.c.

#define VIA_REG_STAT_PAUSED   0x40 /* RO */

Definition at line 83 of file via82xx_modem.c.

#define VIA_REG_STAT_STOPPED   0x04 /* RWC */

Definition at line 85 of file via82xx_modem.c.

#define VIA_REG_STAT_TRIGGER_QUEUED   0x08 /* RO */

Definition at line 84 of file via82xx_modem.c.

#define VIA_REG_TYPE_16BIT   0x20 /* RW */

Definition at line 100 of file via82xx_modem.c.

#define VIA_REG_TYPE_AUTOSTART   0x80 /* RW - autostart at EOL */

Definition at line 99 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_EOL   0x02

Definition at line 106 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_FLAG   0x01

Definition at line 107 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_LESSONE   0x08

Definition at line 104 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_LLINE   0x00

Definition at line 102 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_LSAMPLE   0x04

Definition at line 103 of file via82xx_modem.c.

#define VIA_REG_TYPE_INT_MASK   0x0c

Definition at line 105 of file via82xx_modem.c.

#define VIA_REG_TYPE_STEREO   0x10 /* RW */

Definition at line 101 of file via82xx_modem.c.

#define VIA_TABLE_SIZE   255

Definition at line 217 of file via82xx_modem.c.

#define VIA_TBL_BIT_EOL   0x80000000

Definition at line 170 of file via82xx_modem.c.

#define VIA_TBL_BIT_FLAG   0x40000000

Definition at line 169 of file via82xx_modem.c.

#define VIADEV_REG (   viadev,
  x 
)    ((viadev)->port + VIA_REG_##x)

Definition at line 78 of file via82xx_modem.c.

#define VIAREG (   via,
  x 
)    ((via)->port + VIA_REG_##x)

Definition at line 77 of file via82xx_modem.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
TYPE_CARD_VIA82XX_MODEM 

Definition at line 234 of file via82xx_modem.c.

Function Documentation

DEFINE_VIA_REGSET ( MO  ,
0x40   
)
DEFINE_VIA_REGSET ( MI  ,
0x50   
)
MODULE_AUTHOR ( "Jaroslav Kysela <[email protected]>"  )
MODULE_DESCRIPTION ( "VIA VT82xx modem"  )
MODULE_DEVICE_TABLE ( pci  ,
snd_via82xx_modem_ids   
)
MODULE_LICENSE ( "GPL"  )
module_param ( index  ,
int  ,
0444   
)
module_param ( id  ,
charp  ,
0444   
)
module_param ( ac97_clock  ,
int  ,
0444   
)
module_param ( enable  ,
bool  ,
0444   
)
MODULE_PARM_DESC ( index  ,
"Index value for VIA 82xx bridge."   
)
MODULE_PARM_DESC ( id  ,
"ID string for VIA 82xx bridge."   
)
MODULE_PARM_DESC ( ac97_clock  ,
"AC'97 codec clock (default 48000Hz)."   
)
module_pci_driver ( via82xx_modem_driver  )
MODULE_SUPPORTED_DEVICE ( "{{VIA,VT82C686A/B/C modem,pci}}"  )