#include <linux/init.h>
#include <linux/wait.h>
#include <linux/time.h>
#include <linux/pnp.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/mpu401.h>
#include <sound/opl3.h>
#include <sound/sb.h>
#define PFX …
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
static int index[SNDRV_CARDS] = …;
static char *id[SNDRV_CARDS] = …;
static bool enable[SNDRV_CARDS] = …;
static long port[SNDRV_CARDS] = …;
static long mpu_port[SNDRV_CARDS] = …;
static long fm_port[SNDRV_CARDS] = …;
static int irq[SNDRV_CARDS] = …;
static int mpu_irq[SNDRV_CARDS] = …;
static int dma8[SNDRV_CARDS] = …;
static int dma16[SNDRV_CARDS] = …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
MODULE_ALIAS(…) …;
struct snd_card_als100 { … };
static const struct pnp_card_device_id snd_als100_pnpids[] = …;
MODULE_DEVICE_TABLE(pnp_card, snd_als100_pnpids);
static int snd_card_als100_pnp(int dev, struct snd_card_als100 *acard,
struct pnp_card_link *card,
const struct pnp_card_device_id *id)
{ … }
static int snd_card_als100_probe(int dev,
struct pnp_card_link *pcard,
const struct pnp_card_device_id *pid)
{ … }
static unsigned int als100_devices;
static int snd_als100_pnp_detect(struct pnp_card_link *card,
const struct pnp_card_device_id *id)
{ … }
#ifdef CONFIG_PM
static int snd_als100_pnp_suspend(struct pnp_card_link *pcard, pm_message_t state)
{ … }
static int snd_als100_pnp_resume(struct pnp_card_link *pcard)
{ … }
#endif
static struct pnp_card_driver als100_pnpc_driver = …;
static int __init alsa_card_als100_init(void)
{ … }
static void __exit alsa_card_als100_exit(void)
{ … }
module_init(…) …
module_exit(…)