linux/sound/isa/wavefront/wavefront.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  ALSA card-level driver for Turtle Beach Wavefront cards 
 *						(Maui,Tropez,Tropez+)
 *
 *  Copyright (c) 1997-1999 by Paul Barton-Davis <[email protected]>
 */

#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/isa.h>
#include <linux/pnp.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/opl3.h>
#include <sound/wss.h>
#include <sound/snd_wavefront.h>

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

static int index[SNDRV_CARDS] =;	    /* Index 0-MAX */
static char *id[SNDRV_CARDS] =;	    /* ID for this card */
static bool enable[SNDRV_CARDS] =;	    /* Enable this card */
#ifdef CONFIG_PNP
static bool isapnp[SNDRV_CARDS] =;
#endif
static long cs4232_pcm_port[SNDRV_CARDS] =;	/* PnP setup */
static int cs4232_pcm_irq[SNDRV_CARDS] =; /* 5,7,9,11,12,15 */
static long cs4232_mpu_port[SNDRV_CARDS] =; /* PnP setup */
static int cs4232_mpu_irq[SNDRV_CARDS] =; /* 9,11,12,15 */
static long ics2115_port[SNDRV_CARDS] =; /* PnP setup */
static int ics2115_irq[SNDRV_CARDS] =;    /* 2,9,11,12,15 */
static long fm_port[SNDRV_CARDS] =;	    /* PnP setup */
static int dma1[SNDRV_CARDS] =;	    /* 0,1,3,5,6,7 */
static int dma2[SNDRV_CARDS] =;	    /* 0,1,3,5,6,7 */
static bool use_cs4232_midi[SNDRV_CARDS];

module_param_array();
MODULE_PARM_DESC();
module_param_array();
MODULE_PARM_DESC();
module_param_array();
MODULE_PARM_DESC();
#ifdef CONFIG_PNP
module_param_array();
MODULE_PARM_DESC();
#endif
module_param_hw_array(cs4232_pcm_port, long, ioport, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(cs4232_pcm_irq, int, irq, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(dma1, int, dma, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(dma2, int, dma, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(cs4232_mpu_port, long, ioport, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(cs4232_mpu_irq, int, irq, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(ics2115_irq, int, irq, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(ics2115_port, long, ioport, NULL, 0444);
MODULE_PARM_DESC();
module_param_hw_array(fm_port, long, ioport, NULL, 0444);
MODULE_PARM_DESC();
module_param_array();
MODULE_PARM_DESC();

#ifdef CONFIG_PNP
static int isa_registered;
static int pnp_registered;

static const struct pnp_card_device_id snd_wavefront_pnpids[] =;

MODULE_DEVICE_TABLE(pnp_card, snd_wavefront_pnpids);

static int
snd_wavefront_pnp (int dev, snd_wavefront_card_t *acard, struct pnp_card_link *card,
		   const struct pnp_card_device_id *id)
{}

#endif /* CONFIG_PNP */

static irqreturn_t snd_wavefront_ics2115_interrupt(int irq, void *dev_id)
{}

static struct snd_hwdep *snd_wavefront_new_synth(struct snd_card *card,
						 int hw_dev,
						 snd_wavefront_card_t *acard)
{}

static struct snd_hwdep *snd_wavefront_new_fx(struct snd_card *card,
					      int hw_dev,
					      snd_wavefront_card_t *acard,
					      unsigned long port)

{}

static snd_wavefront_mpu_id internal_id =;
static snd_wavefront_mpu_id external_id =;

static struct snd_rawmidi *snd_wavefront_new_midi(struct snd_card *card,
						  int midi_dev,
						  snd_wavefront_card_t *acard,
						  unsigned long port,
						  snd_wavefront_mpu_id mpu)

{}

static int snd_wavefront_card_new(struct device *pdev, int dev,
				  struct snd_card **cardp)
{}

static int
snd_wavefront_probe (struct snd_card *card, int dev)
{}	

static int snd_wavefront_isa_match(struct device *pdev,
				   unsigned int dev)
{}

static int snd_wavefront_isa_probe(struct device *pdev,
				   unsigned int dev)
{}

#define DEV_NAME

static struct isa_driver snd_wavefront_driver =;


#ifdef CONFIG_PNP
static int snd_wavefront_pnp_detect(struct pnp_card_link *pcard,
				    const struct pnp_card_device_id *pid)
{}

static struct pnp_card_driver wavefront_pnpc_driver =;

#endif /* CONFIG_PNP */

static int __init alsa_card_wavefront_init(void)
{}

static void __exit alsa_card_wavefront_exit(void)
{}

module_init()
module_exit()