projects/linux·commit 155dbfd8

Merge commit master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa of HEAD

155dbfd8 · Linus Torvalds <[email protected]> · 2006-07-12 13:03:35 -07:00

* HEAD:
  [ALSA] Fix undefined (missing) references in ISA MIRO sound driver
  [ALSA] make sound/isa/gus/gusextreme.c:devices static
  [ALSA] hda-codec - Fix missing array terminators in AD1988 codec support
  [ALSA] Fix a deadlock in snd-rtctimer
  [ALSA] Fix section mismatch errors in ALSA PCI drivers
  [ALSA] remove unused snd_minor.name field
  [ALSA] Fix no mpu401 interface can cause hard freeze
  [ALSA] wavefront: fix __init/__devinit confusion
  [ALSA] Fix workaround for AD1988A rev2 codec
  [ALSA] trivial: Code clean up of i2c/cs8427.c
  [ALSA] sound/i2c/cs8427.c: don't export a static function
  [ALSA] intel8x0 - Add ac97 quirk for Tyan Thunder K8WE board
  [ALSA] Reduce the string length of Terratec Aureon 7.1 Universe
  [ALSA] sound/pci/Kconfig - fix broken indenting for SND_FM801_TEA575X
  [ALSA] fix the SND_FM801_TEA575X dependencies
  [ALSA] Memory leak in sound/pcmcia/pdaudiocf/pdaudiocf.c
Commit
155dbfd8846bf165bb036c4492ad121c8b059f1d
Parents
15e0c694 · d2a5b9d4

Merge commit. Changes below are compared with the first parent: 15e0c694.

Changes

64 files changed · +272 −186

FileStatusAddDelContent
Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmplmodified+2−2View file
include/sound/core.hmodified+0−2View file
include/sound/cs46xx.hmodified+1−0View file
sound/core/sound.cmodified+1−2View file
sound/core/timer.cmodified+3−2View file
sound/i2c/cs8427.cmodified+73−43View file
sound/isa/cs423x/Makefilemodified+1−0View file
sound/isa/gus/gusextreme.cmodified+1−1View file
sound/isa/wavefront/wavefront_fx.cmodified+18−18View file
sound/isa/wavefront/wavefront_midi.cmodified+1−1View file
sound/isa/wavefront/wavefront_synth.cmodified+7−7View file
sound/pci/Kconfigmodified+8−6View file
sound/pci/ad1889.cmodified+4−4View file
sound/pci/ali5451/ali5451.cmodified+1−1View file
sound/pci/als300.cmodified+1−1View file
sound/pci/als4000.cmodified+1−1View file
sound/pci/atiixp.cmodified+1−1View file
sound/pci/atiixp_modem.cmodified+1−1View file
sound/pci/au88x0/au8810.cmodified+1−1View file
sound/pci/au88x0/au8820.cmodified+1−1View file
sound/pci/au88x0/au8830.cmodified+1−1View file
sound/pci/au88x0/au88x0.hmodified+2−1View file
sound/pci/au88x0/au88x0_a3d.cmodified+14−15View file
sound/pci/au88x0/au88x0_core.cmodified+2−2View file
sound/pci/azt3328.cmodified+1−1View file
sound/pci/bt87x.cmodified+1−1View file
sound/pci/ca0106/ca0106_main.cmodified+1−1View file
sound/pci/cmipci.cmodified+1−1View file
sound/pci/cs4281.cmodified+1−1View file
sound/pci/cs46xx/cs46xx.cmodified+1−1View file
sound/pci/cs46xx/cs46xx_lib.cmodified+6−1View file
sound/pci/cs5535audio/cs5535audio.cmodified+1−1View file
sound/pci/emu10k1/emu10k1.cmodified+1−1View file
sound/pci/emu10k1/emu10k1_main.cmodified+7−3View file
sound/pci/emu10k1/emu10k1x.cmodified+26−11View file
sound/pci/emu10k1/emumpu401.cmodified+25−10View file
sound/pci/ens1370.cmodified+1−1View file
sound/pci/es1938.cmodified+1−1View file
sound/pci/es1968.cmodified+1−1View file
sound/pci/fm801.cmodified+2−2View file
sound/pci/hda/hda_intel.cmodified+1−1View file
sound/pci/hda/patch_analog.cmodified+13−6View file
sound/pci/ice1712/aureon.cmodified+1−1View file
sound/pci/ice1712/ice1712.cmodified+1−1View file
sound/pci/ice1712/ice1724.cmodified+1−1View file
sound/pci/intel8x0.cmodified+7−1View file
sound/pci/intel8x0m.cmodified+1−1View file
sound/pci/korg1212/korg1212.cmodified+1−1View file
sound/pci/maestro3.cmodified+5−5View file
sound/pci/mixart/mixart.cmodified+1−1View file
sound/pci/nm256/nm256.cmodified+1−1View file
sound/pci/pcxhr/pcxhr.cmodified+1−1View file
sound/pci/riptide/riptide.cmodified+1−1View file
sound/pci/rme32.cmodified+1−1View file
sound/pci/rme96.cmodified+1−1View file
sound/pci/rme9652/hdsp.cmodified+2−2View file
sound/pci/rme9652/rme9652.cmodified+1−1View file
sound/pci/sonicvibes.cmodified+1−1View file
sound/pci/trident/trident.cmodified+1−1View file
sound/pci/via82xx.cmodified+1−1View file
sound/pci/via82xx_modem.cmodified+1−1View file
sound/pci/vx222/vx222.cmodified+1−1View file
sound/pci/ymfpci/ymfpci.cmodified+1−1View file
sound/pcmcia/pdaudiocf/pdaudiocf.cmodified+3−1View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl

View file
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
index 69866d5..b8dc51c 100644
--- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
@@ -1172,7 +1172,7 @@
}
/* PCI IDs */
- static struct pci_device_id snd_mychip_ids[] __devinitdata = {
+ static struct pci_device_id snd_mychip_ids[] = {
{ PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },
....
@@ -1565,7 +1565,7 @@
<informalexample>
<programlisting>
<![CDATA[
- static struct pci_device_id snd_mychip_ids[] __devinitdata = {
+ static struct pci_device_id snd_mychip_ids[] = {
{ PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },
....

include/sound/core.h

View file
diff --git a/include/sound/core.h b/include/sound/core.h
index 5d184be..bab3ff4 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -188,8 +188,6 @@ struct snd_minor {
int device; /* device number */
const struct file_operations *f_ops; /* file operations */
void *private_data; /* private data for f_ops->open */
- char name[0]; /* device name (keep at the end of
- structure) */
};
/* sound.c */

include/sound/cs46xx.h

View file
diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h
index 80b2979..685928e 100644
--- a/include/sound/cs46xx.h
+++ b/include/sound/cs46xx.h
@@ -1704,6 +1704,7 @@ struct snd_cs46xx {
int acpi_port;
struct snd_kcontrol *eapd_switch; /* for amplifier hack */
int accept_valid; /* accept mmap valid (for OSS) */
+ int in_suspend;
struct gameport *gameport;

sound/core/sound.c

View file
diff --git a/sound/core/sound.c b/sound/core/sound.c
index 264f2ef..7edd1fc 100644
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -244,7 +244,7 @@ int snd_register_device(int type, struct snd_card *card, int dev,
struct device *device = NULL;
snd_assert(name, return -EINVAL);
- preg = kmalloc(sizeof(struct snd_minor) + strlen(name) + 1, GFP_KERNEL);
+ preg = kmalloc(sizeof *preg, GFP_KERNEL);
if (preg == NULL)
return -ENOMEM;
preg->type = type;
@@ -252,7 +252,6 @@ int snd_register_device(int type, struct snd_card *card, int dev,
preg->device = dev;
preg->f_ops = f_ops;
preg->private_data = private_data;
- strcpy(preg->name, name);
mutex_lock(&sound_mutex);
#ifdef CONFIG_SND_DYNAMIC_MINORS
minor = snd_find_free_minor();

sound/core/timer.c

View file
diff --git a/sound/core/timer.c b/sound/core/timer.c
index 78199f5..0a984e8 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -628,8 +628,9 @@ static void snd_timer_tasklet(unsigned long arg)
struct snd_timer_instance *ti;
struct list_head *p;
unsigned long resolution, ticks;
+ unsigned long flags;
- spin_lock(&timer->lock);
+ spin_lock_irqsave(&timer->lock, flags);
/* now process all callbacks */
while (!list_empty(&timer->sack_list_head)) {
p = timer->sack_list_head.next; /* get first item */
@@ -649,7 +650,7 @@ static void snd_timer_tasklet(unsigned long arg)
spin_lock(&timer->lock);
ti->flags &= ~SNDRV_TIMER_IFLG_CALLBACK;
}
- spin_unlock(&timer->lock);
+ spin_unlock_irqrestore(&timer->lock, flags);
}
/*

sound/i2c/cs8427.c

View file
diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c
index cb89f7e..64388cb 100644
--- a/sound/i2c/cs8427.c
+++ b/sound/i2c/cs8427.c
@@ -76,23 +76,28 @@ int snd_cs8427_reg_write(struct snd_i2c_device *device, unsigned char reg,
buf[0] = reg & 0x7f;
buf[1] = val;
if ((err = snd_i2c_sendbytes(device, buf, 2)) != 2) {
- snd_printk(KERN_ERR "unable to send bytes 0x%02x:0x%02x to CS8427 (%i)\n", buf[0], buf[1], err);
+ snd_printk(KERN_ERR "unable to send bytes 0x%02x:0x%02x "
+ "to CS8427 (%i)\n", buf[0], buf[1], err);
return err < 0 ? err : -EIO;
}
return 0;
}
+EXPORT_SYMBOL(snd_cs8427_reg_write);
+
static int snd_cs8427_reg_read(struct snd_i2c_device *device, unsigned char reg)
{
int err;
unsigned char buf;
if ((err = snd_i2c_sendbytes(device, &reg, 1)) != 1) {
- snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n", reg);
+ snd_printk(KERN_ERR "unable to send register 0x%x byte "
+ "to CS8427\n", reg);
return err < 0 ? err : -EIO;
}
if ((err = snd_i2c_readbytes(device, &buf, 1)) != 1) {
- snd_printk(KERN_ERR "unable to read register 0x%x byte from CS8427\n", reg);
+ snd_printk(KERN_ERR "unable to read register 0x%x byte "
+ "from CS8427\n", reg);
return err < 0 ? err : -EIO;
}
return buf;
@@ -121,7 +126,8 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device,
int count)
{
struct cs8427 *chip = device->private_data;
- char *hw_data = udata ? chip->playback.hw_udata : chip->playback.hw_status;
+ char *hw_data = udata ?
+ chip->playback.hw_udata : chip->playback.hw_status;
char data[32];
int err, idx;
@@ -134,11 +140,11 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device,
memset(data, 0, sizeof(data));
if (memcmp(hw_data, data, count) == 0) {
chip->regmap[CS8427_REG_UDATABUF] &= ~CS8427_UBMMASK;
- chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS | CS8427_EFTUI;
- if ((err = snd_cs8427_reg_write(device, CS8427_REG_UDATABUF,
- chip->regmap[CS8427_REG_UDATABUF])) < 0)
- return err;
- return 0;
+ chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS |
+ CS8427_EFTUI;
+ err = snd_cs8427_reg_write(device, CS8427_REG_UDATABUF,
+ chip->regmap[CS8427_REG_UDATABUF]);
+ return err < 0 ? err : 0;
}
}
data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF;
@@ -161,24 +167,32 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
{
static unsigned char initvals1[] = {
CS8427_REG_CONTROL1 | CS8427_REG_AUTOINC,
- /* CS8427_REG_CONTROL1: RMCK to OMCK, valid PCM audio, disable mutes, TCBL=output */
+ /* CS8427_REG_CONTROL1: RMCK to OMCK, valid PCM audio, disable mutes,
+ TCBL=output */
CS8427_SWCLK | CS8427_TCBLDIR,
- /* CS8427_REG_CONTROL2: hold last valid audio sample, RMCK=256*Fs, normal stereo operation */
+ /* CS8427_REG_CONTROL2: hold last valid audio sample, RMCK=256*Fs,
+ normal stereo operation */
0x00,
- /* CS8427_REG_DATAFLOW: output drivers normal operation, Tx<=serial, Rx=>serial */
+ /* CS8427_REG_DATAFLOW: output drivers normal operation, Tx<=serial,
+ Rx=>serial */
CS8427_TXDSERIAL | CS8427_SPDAES3RECEIVER,
- /* CS8427_REG_CLOCKSOURCE: Run off, CMCK=256*Fs, output time base = OMCK, input time base =
- recovered input clock, recovered input clock source is ILRCK changed to AES3INPUT (workaround, see snd_cs8427_reset) */
+ /* CS8427_REG_CLOCKSOURCE: Run off, CMCK=256*Fs,
+ output time base = OMCK, input time base = recovered input clock,
+ recovered input clock source is ILRCK changed to AES3INPUT
+ (workaround, see snd_cs8427_reset) */
CS8427_RXDILRCK,
- /* CS8427_REG_SERIALINPUT: Serial audio input port data format = I2S, 24-bit, 64*Fsi */
+ /* CS8427_REG_SERIALINPUT: Serial audio input port data format = I2S,
+ 24-bit, 64*Fsi */
CS8427_SIDEL | CS8427_SILRPOL,
- /* CS8427_REG_SERIALOUTPUT: Serial audio output port data format = I2S, 24-bit, 64*Fsi */
+ /* CS8427_REG_SERIALOUTPUT: Serial audio output port data format
+ = I2S, 24-bit, 64*Fsi */
CS8427_SODEL | CS8427_SOLRPOL,
};
static unsigned char initvals2[] = {
CS8427_REG_RECVERRMASK | CS8427_REG_AUTOINC,
- /* CS8427_REG_RECVERRMASK: unmask the input PLL clock, V, confidence, biphase, parity status bits */
- /* CS8427_UNLOCK | CS8427_V | CS8427_CONF | CS8427_BIP | CS8427_PAR, */
+ /* CS8427_REG_RECVERRMASK: unmask the input PLL clock, V, confidence,
+ biphase, parity status bits */
+ /* CS8427_UNLOCK | CS8427_V | CS8427_CONF | CS8427_BIP | CS8427_PAR,*/
0xff, /* set everything */
/* CS8427_REG_CSDATABUF:
Registers 32-55 window to CS buffer
@@ -201,7 +215,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
struct snd_i2c_device *device;
unsigned char buf[24];
- if ((err = snd_i2c_device_create(bus, "CS8427", CS8427_ADDR | (addr & 7),
+ if ((err = snd_i2c_device_create(bus, "CS8427",
+ CS8427_ADDR | (addr & 7),
&device)) < 0)
return err;
chip = device->private_data = kzalloc(sizeof(*chip), GFP_KERNEL);
@@ -212,8 +227,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
device->private_free = snd_cs8427_free;
snd_i2c_lock(bus);
- if ((err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER)) !=
- CS8427_VER8427A) {
+ err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER);
+ if (err != CS8427_VER8427A) {
snd_i2c_unlock(bus);
snd_printk(KERN_ERR "unable to find CS8427 signature "
"(expected 0x%x, read 0x%x),\n",
@@ -222,7 +237,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
return -EFAULT;
}
/* turn off run bit while making changes to configuration */
- if ((err = snd_cs8427_reg_write(device, CS8427_REG_CLOCKSOURCE, 0x00)) < 0)
+ err = snd_cs8427_reg_write(device, CS8427_REG_CLOCKSOURCE, 0x00);
+ if (err < 0)
goto __fail;
/* send initial values */
memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6);
@@ -282,6 +298,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus,
return err < 0 ? err : -EIO;
}
+EXPORT_SYMBOL(snd_cs8427_create);
+
/*
* Reset the chip using run bit, also lock PLL using ILRCK and
* put back AES3INPUT. This workaround is described in latest
@@ -296,7 +314,8 @@ static void snd_cs8427_reset(struct snd_i2c_device *cs8427)
snd_assert(cs8427, return);
chip = cs8427->private_data;
snd_i2c_lock(cs8427->bus);
- if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) == CS8427_RXDAES3INPUT) /* AES3 bit is set */
+ if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) ==
+ CS8427_RXDAES3INPUT) /* AES3 bit is set */
aes3input = 1;
chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK);
snd_cs8427_reg_write(cs8427, CS8427_REG_CLOCKSOURCE,
@@ -367,12 +386,15 @@ static int snd_cs8427_qsubcode_get(struct snd_kcontrol *kcontrol,
snd_i2c_lock(device->bus);
if ((err = snd_i2c_sendbytes(device, &reg, 1)) != 1) {
- snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n", reg);
+ snd_printk(KERN_ERR "unable to send register 0x%x byte "
+ "to CS8427\n", reg);
snd_i2c_unlock(device->bus);
return err < 0 ? err : -EIO;
}
- if ((err = snd_i2c_readbytes(device, ucontrol->value.bytes.data, 10)) != 10) {
- snd_printk(KERN_ERR "unable to read Q-subcode bytes from CS8427\n");
+ err = snd_i2c_readbytes(device, ucontrol->value.bytes.data, 10);
+ if (err != 10) {
+ snd_printk(KERN_ERR "unable to read Q-subcode bytes "
+ "from CS8427\n");
snd_i2c_unlock(device->bus);
return err < 0 ? err : -EIO;
}
@@ -380,7 +402,8 @@ static int snd_cs8427_qsubcode_get(struct snd_kcontrol *kcontrol,
return 0;
}
-static int snd_cs8427_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
+static int snd_cs8427_spdif_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
uinfo->count = 1;
@@ -413,7 +436,8 @@ static int snd_cs8427_spdif_put(struct snd_kcontrol *kcontrol,
snd_i2c_lock(device->bus);
change = memcmp(ucontrol->value.iec958.status, status, 24) != 0;
memcpy(status, ucontrol->value.iec958.status, 24);
- if (change && (kcontrol->private_value ? runtime != NULL : runtime == NULL)) {
+ if (change && (kcontrol->private_value ?
+ runtime != NULL : runtime == NULL)) {
err = snd_cs8427_send_corudata(device, 0, status, 24);
if (err < 0)
change = err;
@@ -442,7 +466,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.info = snd_cs8427_in_status_info,
.name = "IEC958 CS8427 Input Status",
- .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
+ .access = (SNDRV_CTL_ELEM_ACCESS_READ |
+ SNDRV_CTL_ELEM_ACCESS_VOLATILE),
.get = snd_cs8427_in_status_get,
.private_value = 15,
},
@@ -450,7 +475,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.info = snd_cs8427_in_status_info,
.name = "IEC958 CS8427 Error Status",
- .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
+ .access = (SNDRV_CTL_ELEM_ACCESS_READ |
+ SNDRV_CTL_ELEM_ACCESS_VOLATILE),
.get = snd_cs8427_in_status_get,
.private_value = 16,
},
@@ -470,7 +496,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
.private_value = 0
},
{
- .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
+ .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
+ SNDRV_CTL_ELEM_ACCESS_INACTIVE),
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
.info = snd_cs8427_spdif_info,
@@ -482,7 +509,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.info = snd_cs8427_qsubcode_info,
.name = "IEC958 Q-subcode Capture Default",
- .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
+ .access = (SNDRV_CTL_ELEM_ACCESS_READ |
+ SNDRV_CTL_ELEM_ACCESS_VOLATILE),
.get = snd_cs8427_qsubcode_get
}};
@@ -505,7 +533,8 @@ int snd_cs8427_iec958_build(struct snd_i2c_device *cs8427,
err = snd_ctl_add(cs8427->bus->card, kctl);
if (err < 0)
return err;
- if (!strcmp(kctl->id.name, SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM)))
+ if (! strcmp(kctl->id.name,
+ SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM)))
chip->playback.pcm_ctl = kctl;
}
@@ -515,6 +544,8 @@ int snd_cs8427_iec958_build(struct snd_i2c_device *cs8427,
return 0;
}
+EXPORT_SYMBOL(snd_cs8427_iec958_build);
+
int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active)
{
struct cs8427 *chip;
@@ -522,13 +553,17 @@ int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active)
snd_assert(cs8427, return -ENXIO);
chip = cs8427->private_data;
if (active)
- memcpy(chip->playback.pcm_status, chip->playback.def_status, 24);
+ memcpy(chip->playback.pcm_status,
+ chip->playback.def_status, 24);
chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
- snd_ctl_notify(cs8427->bus->card, SNDRV_CTL_EVENT_MASK_VALUE |
- SNDRV_CTL_EVENT_MASK_INFO, &chip->playback.pcm_ctl->id);
+ snd_ctl_notify(cs8427->bus->card,
+ SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO,
+ &chip->playback.pcm_ctl->id);
return 0;
}
+EXPORT_SYMBOL(snd_cs8427_iec958_active);
+
int snd_cs8427_iec958_pcm(struct snd_i2c_device *cs8427, unsigned int rate)
{
struct cs8427 *chip;
@@ -568,6 +603,8 @@ int snd_cs8427_iec958_pcm(struct snd_i2c_device *cs8427, unsigned int rate)
return err < 0 ? err : 0;
}
+EXPORT_SYMBOL(snd_cs8427_iec958_pcm);
+
static int __init alsa_cs8427_module_init(void)
{
return 0;
@@ -579,10 +616,3 @@ static void __exit alsa_cs8427_module_exit(void)
module_init(alsa_cs8427_module_init)
module_exit(alsa_cs8427_module_exit)
-
-EXPORT_SYMBOL(snd_cs8427_create);
-EXPORT_SYMBOL(snd_cs8427_reset);
-EXPORT_SYMBOL(snd_cs8427_reg_write);
-EXPORT_SYMBOL(snd_cs8427_iec958_build);
-EXPORT_SYMBOL(snd_cs8427_iec958_active);
-EXPORT_SYMBOL(snd_cs8427_iec958_pcm);

sound/isa/cs423x/Makefile

View file
diff --git a/sound/isa/cs423x/Makefile b/sound/isa/cs423x/Makefile
index d2afaea..2fb4f74 100644
--- a/sound/isa/cs423x/Makefile
+++ b/sound/isa/cs423x/Makefile
@@ -11,6 +11,7 @@ snd-cs4236-objs := cs4236.o
# Toplevel Module Dependency
obj-$(CONFIG_SND_AZT2320) += snd-cs4231-lib.o
+obj-$(CONFIG_SND_MIRO) += snd-cs4231-lib.o
obj-$(CONFIG_SND_OPL3SA2) += snd-cs4231-lib.o
obj-$(CONFIG_SND_CS4231) += snd-cs4231.o snd-cs4231-lib.o
obj-$(CONFIG_SND_CS4232) += snd-cs4232.o snd-cs4231-lib.o

sound/isa/gus/gusextreme.c

View file
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c
index 22cdddb..532c56e 100644
--- a/sound/isa/gus/gusextreme.c
+++ b/sound/isa/gus/gusextreme.c
@@ -87,7 +87,7 @@ MODULE_PARM_DESC(channels, "GF1 channels for GUS Extreme driver.");
module_param_array(pcm_channels, int, NULL, 0444);
MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Extreme driver.");
-struct platform_device *devices[SNDRV_CARDS];
+static struct platform_device *devices[SNDRV_CARDS];
#define PFX "gusextreme: "

sound/isa/wavefront/wavefront_fx.c

View file
diff --git a/sound/isa/wavefront/wavefront_fx.c b/sound/isa/wavefront/wavefront_fx.c
index 180661c..4f0846f 100644
--- a/sound/isa/wavefront/wavefront_fx.c
+++ b/sound/isa/wavefront/wavefront_fx.c
@@ -34,7 +34,7 @@
/* weird stuff, derived from port I/O tracing with dosemu */
-static unsigned char page_zero[] __initdata = {
+static unsigned char page_zero[] __devinitdata = {
0x01, 0x7c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00,
0x11, 0x00, 0x20, 0x00, 0x32, 0x00, 0x40, 0x00, 0x13, 0x00, 0x00,
0x00, 0x14, 0x02, 0x76, 0x00, 0x60, 0x00, 0x80, 0x02, 0x00, 0x00,
@@ -61,7 +61,7 @@ static unsigned char page_zero[] __initdata = {
0x1d, 0x02, 0xdf
};
-static unsigned char page_one[] __initdata = {
+static unsigned char page_one[] __devinitdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd8, 0x00, 0x00,
0x02, 0x20, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01,
@@ -88,7 +88,7 @@ static unsigned char page_one[] __initdata = {
0x60, 0x00, 0x1b
};
-static unsigned char page_two[] __initdata = {
+static unsigned char page_two[] __devinitdata = {
0xc4, 0x00, 0x44, 0x07, 0x44, 0x00, 0x40, 0x25, 0x01, 0x06, 0xc4,
0x07, 0x40, 0x25, 0x01, 0x00, 0x46, 0x46, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -103,7 +103,7 @@ static unsigned char page_two[] __initdata = {
0x46, 0x05, 0x46, 0x07, 0x46, 0x07, 0x44
};
-static unsigned char page_three[] __initdata = {
+static unsigned char page_three[] __devinitdata = {
0x07, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x40, 0x00, 0x40, 0x06,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -118,7 +118,7 @@ static unsigned char page_three[] __initdata = {
0x02, 0x00, 0x42, 0x00, 0xc0, 0x00, 0x40
};
-static unsigned char page_four[] __initdata = {
+static unsigned char page_four[] __devinitdata = {
0x63, 0x03, 0x26, 0x02, 0x2c, 0x00, 0x24, 0x00, 0x2e, 0x02, 0x02,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -133,7 +133,7 @@ static unsigned char page_four[] __initdata = {
0x02, 0x62, 0x02, 0x20, 0x01, 0x21, 0x01
};
-static unsigned char page_six[] __initdata = {
+static unsigned char page_six[] __devinitdata = {
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00,
0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0e,
0x00, 0x00, 0x10, 0x00, 0x00, 0x12, 0x00, 0x00, 0x14, 0x00, 0x00,
@@ -154,7 +154,7 @@ static unsigned char page_six[] __initdata = {
0x80, 0x00, 0x7e, 0x80, 0x80
};
-static unsigned char page_seven[] __initdata = {
+static unsigned char page_seven[] __devinitdata = {
0x0f, 0xff, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
0x08, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f,
@@ -181,7 +181,7 @@ static unsigned char page_seven[] __initdata = {
0x00, 0x02, 0x00
};
-static unsigned char page_zero_v2[] __initdata = {
+static unsigned char page_zero_v2[] __devinitdata = {
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -193,7 +193,7 @@ static unsigned char page_zero_v2[] __initdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-static unsigned char page_one_v2[] __initdata = {
+static unsigned char page_one_v2[] __devinitdata = {
0x01, 0xc0, 0x01, 0xfa, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -205,21 +205,21 @@ static unsigned char page_one_v2[] __initdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-static unsigned char page_two_v2[] __initdata = {
+static unsigned char page_two_v2[] __devinitdata = {
0x46, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
-static unsigned char page_three_v2[] __initdata = {
+static unsigned char page_three_v2[] __devinitdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
-static unsigned char page_four_v2[] __initdata = {
+static unsigned char page_four_v2[] __devinitdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -227,7 +227,7 @@ static unsigned char page_four_v2[] __initdata = {
0x00, 0x00, 0x00, 0x00
};
-static unsigned char page_seven_v2[] __initdata = {
+static unsigned char page_seven_v2[] __devinitdata = {
0x0f, 0xff, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -239,7 +239,7 @@ static unsigned char page_seven_v2[] __initdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-static unsigned char mod_v2[] __initdata = {
+static unsigned char mod_v2[] __devinitdata = {
0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x02,
0x00, 0x01, 0x03, 0x02, 0x00, 0x01, 0x04, 0x02, 0x00, 0x01, 0x05,
0x02, 0x00, 0x01, 0x06, 0x02, 0x00, 0x01, 0x07, 0x02, 0x00, 0xb0,
@@ -269,7 +269,7 @@ static unsigned char mod_v2[] __initdata = {
0x02, 0x01, 0x01, 0x04, 0x02, 0x01, 0x01, 0x05, 0x02, 0x01, 0x01,
0x06, 0x02, 0x01, 0x01, 0x07, 0x02, 0x01
};
-static unsigned char coefficients[] __initdata = {
+static unsigned char coefficients[] __devinitdata = {
0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x00, 0x4b, 0x03,
0x11, 0x00, 0x4d, 0x01, 0x32, 0x07, 0x46, 0x00, 0x00, 0x07, 0x49,
0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x07, 0x41, 0x00, 0x00, 0x01,
@@ -305,14 +305,14 @@ static unsigned char coefficients[] __initdata = {
0x06, 0x6c, 0x4c, 0x6c, 0x06, 0x50, 0x52, 0xe2, 0x06, 0x42, 0x02,
0xba
};
-static unsigned char coefficients2[] __initdata = {
+static unsigned char coefficients2[] __devinitdata = {
0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x45, 0x0f,
0xff, 0x07, 0x48, 0x0f, 0xff, 0x07, 0x7b, 0x04, 0xcc, 0x07, 0x7d,
0x04, 0xcc, 0x07, 0x7c, 0x00, 0x00, 0x07, 0x7e, 0x00, 0x00, 0x07,
0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00,
0x07, 0x4a, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x07, 0x4e, 0x00, 0x00
};
-static unsigned char coefficients3[] __initdata = {
+static unsigned char coefficients3[] __devinitdata = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x51, 0x00,
0x51, 0x00, 0x7a, 0x00, 0x7a, 0x00, 0xa3, 0x00, 0xa3, 0x00, 0xcc,
0x00, 0xcc, 0x00, 0xf5, 0x00, 0xf5, 0x01, 0x1e, 0x01, 0x1e, 0x01,
@@ -563,7 +563,7 @@ snd_wavefront_fx_ioctl (struct snd_hwdep *sdev, struct file *file,
*/
-int __init
+int __devinit
snd_wavefront_fx_start (snd_wavefront_t *dev)
{

sound/isa/wavefront/wavefront_midi.c

View file
diff --git a/sound/isa/wavefront/wavefront_midi.c b/sound/isa/wavefront/wavefront_midi.c
index 15888ba..cb34600 100644
--- a/sound/isa/wavefront/wavefront_midi.c
+++ b/sound/isa/wavefront/wavefront_midi.c
@@ -474,7 +474,7 @@ snd_wavefront_midi_disable_virtual (snd_wavefront_card_t *card)
spin_unlock_irqrestore (&card->wavefront.midi.virtual, flags);
}
-int __init
+int __devinit
snd_wavefront_midi_start (snd_wavefront_card_t *card)
{

sound/isa/wavefront/wavefront_synth.c

View file
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c
index 68aa091..bed329e 100644
--- a/sound/isa/wavefront/wavefront_synth.c
+++ b/sound/isa/wavefront/wavefront_synth.c
@@ -1738,7 +1738,7 @@ snd_wavefront_internal_interrupt (snd_wavefront_card_t *card)
7 Unused
*/
-static int __init
+static int __devinit
snd_wavefront_interrupt_bits (int irq)
{

This diff is incomplete. Download the complete patch.

sound/pci/Kconfig

View file

This diff is incomplete. Download the complete patch.

sound/pci/ad1889.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ali5451/ali5451.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/als300.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/als4000.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/atiixp.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/atiixp_modem.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au8810.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au8820.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au8830.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au88x0.h

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au88x0_a3d.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/au88x0/au88x0_core.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/azt3328.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/bt87x.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ca0106/ca0106_main.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/cmipci.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/cs4281.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/cs46xx/cs46xx.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/cs46xx/cs46xx_lib.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/cs5535audio/cs5535audio.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/emu10k1/emu10k1.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/emu10k1/emu10k1_main.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/emu10k1/emu10k1x.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/emu10k1/emumpu401.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ens1370.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/es1938.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/es1968.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/fm801.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/hda/hda_intel.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/hda/patch_analog.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ice1712/aureon.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ice1712/ice1712.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ice1712/ice1724.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/intel8x0.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/intel8x0m.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/korg1212/korg1212.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/maestro3.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/mixart/mixart.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/nm256/nm256.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/pcxhr/pcxhr.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/riptide/riptide.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/rme32.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/rme96.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/rme9652/hdsp.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/rme9652/rme9652.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/sonicvibes.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/trident/trident.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/via82xx.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/via82xx_modem.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/vx222/vx222.c

View file

This diff is incomplete. Download the complete patch.

sound/pci/ymfpci/ymfpci.c

View file

This diff is incomplete. Download the complete patch.

sound/pcmcia/pdaudiocf/pdaudiocf.c

View file

This diff is incomplete. Download the complete patch.