|
@@ -30,10 +30,6 @@
|
|
|
#include <asm/io.h>
|
|
|
#include <asm/dma.h>
|
|
|
|
|
|
-MODULE_AUTHOR("Massimo Piccioni <dafastidio@libero.it>");
|
|
|
-MODULE_DESCRIPTION("lowlevel code for Analog Devices AD1816A chip");
|
|
|
-MODULE_LICENSE("GPL");
|
|
|
-
|
|
|
static inline int snd_ad1816a_busy_wait(struct snd_ad1816a *chip)
|
|
|
{
|
|
|
int timeout;
|
|
@@ -496,7 +492,7 @@ static int snd_ad1816a_capture_close(struct snd_pcm_substream *substream)
|
|
|
}
|
|
|
|
|
|
|
|
|
-static void snd_ad1816a_init(struct snd_ad1816a *chip)
|
|
|
+static void __devinit snd_ad1816a_init(struct snd_ad1816a *chip)
|
|
|
{
|
|
|
unsigned long flags;
|
|
|
|
|
@@ -516,7 +512,7 @@ static void snd_ad1816a_init(struct snd_ad1816a *chip)
|
|
|
spin_unlock_irqrestore(&chip->lock, flags);
|
|
|
}
|
|
|
|
|
|
-static int snd_ad1816a_probe(struct snd_ad1816a *chip)
|
|
|
+static int __devinit snd_ad1816a_probe(struct snd_ad1816a *chip)
|
|
|
{
|
|
|
unsigned long flags;
|
|
|
|
|
@@ -563,7 +559,7 @@ static int snd_ad1816a_dev_free(struct snd_device *device)
|
|
|
return snd_ad1816a_free(chip);
|
|
|
}
|
|
|
|
|
|
-static const char *snd_ad1816a_chip_id(struct snd_ad1816a *chip)
|
|
|
+static const char __devinit *snd_ad1816a_chip_id(struct snd_ad1816a *chip)
|
|
|
{
|
|
|
switch (chip->hardware) {
|
|
|
case AD1816A_HW_AD1816A: return "AD1816A";
|
|
@@ -576,9 +572,9 @@ static const char *snd_ad1816a_chip_id(struct snd_ad1816a *chip)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-int snd_ad1816a_create(struct snd_card *card,
|
|
|
- unsigned long port, int irq, int dma1, int dma2,
|
|
|
- struct snd_ad1816a **rchip)
|
|
|
+int __devinit snd_ad1816a_create(struct snd_card *card,
|
|
|
+ unsigned long port, int irq, int dma1, int dma2,
|
|
|
+ struct snd_ad1816a **rchip)
|
|
|
{
|
|
|
static struct snd_device_ops ops = {
|
|
|
.dev_free = snd_ad1816a_dev_free,
|
|
@@ -662,7 +658,7 @@ static struct snd_pcm_ops snd_ad1816a_capture_ops = {
|
|
|
.pointer = snd_ad1816a_capture_pointer,
|
|
|
};
|
|
|
|
|
|
-int snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm)
|
|
|
+int __devinit snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm)
|
|
|
{
|
|
|
int error;
|
|
|
struct snd_pcm *pcm;
|
|
@@ -690,13 +686,7 @@ int snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm)
|
|
|
}
|
|
|
|
|
|
#if 0 /* not used now */
|
|
|
-static void snd_ad1816a_timer_free(struct snd_timer *timer)
|
|
|
-{
|
|
|
- struct snd_ad1816a *chip = timer->private_data;
|
|
|
- chip->timer = NULL;
|
|
|
-}
|
|
|
-
|
|
|
-int snd_ad1816a_timer(struct snd_ad1816a *chip, int device, struct snd_timer **rtimer)
|
|
|
+int __devinit snd_ad1816a_timer(struct snd_ad1816a *chip, int device, struct snd_timer **rtimer)
|
|
|
{
|
|
|
struct snd_timer *timer;
|
|
|
struct snd_timer_id tid;
|
|
@@ -711,7 +701,6 @@ int snd_ad1816a_timer(struct snd_ad1816a *chip, int device, struct snd_timer **r
|
|
|
return error;
|
|
|
strcpy(timer->name, snd_ad1816a_chip_id(chip));
|
|
|
timer->private_data = chip;
|
|
|
- timer->private_free = snd_ad1816a_timer_free;
|
|
|
chip->timer = timer;
|
|
|
timer->hw = snd_ad1816a_timer_table;
|
|
|
if (rtimer)
|
|
@@ -898,7 +887,7 @@ static int snd_ad1816a_put_double(struct snd_kcontrol *kcontrol, struct snd_ctl_
|
|
|
return change;
|
|
|
}
|
|
|
|
|
|
-static struct snd_kcontrol_new snd_ad1816a_controls[] = {
|
|
|
+static struct snd_kcontrol_new snd_ad1816a_controls[] __devinitdata = {
|
|
|
AD1816A_DOUBLE("Master Playback Switch", AD1816A_MASTER_ATT, 15, 7, 1, 1),
|
|
|
AD1816A_DOUBLE("Master Playback Volume", AD1816A_MASTER_ATT, 8, 0, 31, 1),
|
|
|
AD1816A_DOUBLE("PCM Playback Switch", AD1816A_VOICE_ATT, 15, 7, 1, 1),
|
|
@@ -933,7 +922,7 @@ AD1816A_SINGLE("3D Control - Switch", AD1816A_3D_PHAT_CTRL, 15, 1, 1),
|
|
|
AD1816A_SINGLE("3D Control - Level", AD1816A_3D_PHAT_CTRL, 0, 15, 0),
|
|
|
};
|
|
|
|
|
|
-int snd_ad1816a_mixer(struct snd_ad1816a *chip)
|
|
|
+int __devinit snd_ad1816a_mixer(struct snd_ad1816a *chip)
|
|
|
{
|
|
|
struct snd_card *card;
|
|
|
unsigned int idx;
|
|
@@ -951,19 +940,3 @@ int snd_ad1816a_mixer(struct snd_ad1816a *chip)
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
-
|
|
|
-EXPORT_SYMBOL(snd_ad1816a_create);
|
|
|
-EXPORT_SYMBOL(snd_ad1816a_pcm);
|
|
|
-EXPORT_SYMBOL(snd_ad1816a_mixer);
|
|
|
-
|
|
|
-static int __init alsa_ad1816a_init(void)
|
|
|
-{
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-static void __exit alsa_ad1816a_exit(void)
|
|
|
-{
|
|
|
-}
|
|
|
-
|
|
|
-module_init(alsa_ad1816a_init)
|
|
|
-module_exit(alsa_ad1816a_exit)
|