http://linux-sound.bkbits.net/linux-sound perex@suse.cz|ChangeSet|20040825132132|02867 perex # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/08/25 14:00:17-07:00 akpm@bix.(none) # Merge http://linux-sound.bkbits.net/linux-sound # into bix.(none):/usr/src/bk-alsa # # sound/parisc/harmony.c # 2004/08/25 14:00:13-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/isa/wavefront/wavefront_fx.c # 2004/08/25 14:00:13-07:00 akpm@bix.(none) +0 -0 # Auto merged # # mm/slab.c # 2004/08/25 14:00:13-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/linux/pci_ids.h # 2004/08/25 14:00:13-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/25 15:21:32+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Misc fixes for Aureon boards. # # - Fixed center/LFE volume controls. # - Provide individual driver names for Aureon and Prodigy boards # since they have different channel assignment from Revo, etc. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/08/24 11:51:05+02:00 perex@suse.cz +5 -1 # ALSA CVS update # D:2004/08/24 17:51:05 # C:ICE1712 driver # F:pci/ice1712/aureon.c:1.15->1.16 # L:Misc fixes for Aureon boards. # L: # L:- Fixed center/LFE volume controls. # L:- Provide individual driver names for Aureon and Prodigy boards # L: since they have different channel assignment from Revo, etc. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:20:48+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver,Intel8x0-modem driver # Fixed resume when interrupts are shared with another devices. # # Signed-off-by: Jozef Vesely # Signed-off-by: Jaroslav Kysela # # sound/pci/intel8x0m.c # 2004/08/24 06:01:08+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/08/24 12:01:07 # C:Intel8x0 driver,Intel8x0-modem driver # F:pci/intel8x0.c:1.159->1.160 # F:pci/intel8x0m.c:1.18->1.19 # L:Fixed resume when interrupts are shared with another devices. # Signed-off-by: Jozef Vesely # Signed-off-by: Jaroslav Kysela # # sound/pci/intel8x0.c # 2004/08/24 06:01:07+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/08/24 12:01:07 # C:Intel8x0 driver,Intel8x0-modem driver # F:pci/intel8x0.c:1.159->1.160 # F:pci/intel8x0m.c:1.18->1.19 # L:Fixed resume when interrupts are shared with another devices. # Signed-off-by: Jozef Vesely # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/25 15:20:03+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # intel8x0: Fixed a long mdelay() # # A long mdelay() call in prepration of 4/6 channels on nForce # is optimized and replaced with msleep(). # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/08/23 09:38:30+02:00 perex@suse.cz +4 -2 # ALSA CVS update # D:2004/08/23 15:38:30 # C:Intel8x0 driver # F:pci/intel8x0.c:1.158->1.159 # L:intel8x0: Fixed a long mdelay() # L: # L:A long mdelay() call in prepration of 4/6 channels on nForce # L:is optimized and replaced with msleep(). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:19:21+02:00 perex@suse.cz # ALSA CVS update # ALSA sequencer # remove (now obsolete) support for _KERNEL_QUOTE events # # Signed-off-by: Clemens Ladisch # # sound/core/seq/seq_clientmgr.c # 2004/08/23 02:24:54+02:00 perex@suse.cz +3 -49 # ALSA CVS update # D:2004/08/23 08:24:54 # C:ALSA sequencer # F:core/seq/seq_clientmgr.c:1.33->1.34 # F:include/asequencer.h:1.12->1.13 # L:remove (now obsolete) support for _KERNEL_QUOTE events # Signed-off-by: Clemens Ladisch # # include/sound/asequencer.h # 2004/08/23 02:24:54+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/23 08:24:54 # C:ALSA sequencer # F:core/seq/seq_clientmgr.c:1.33->1.34 # F:include/asequencer.h:1.12->1.13 # L:remove (now obsolete) support for _KERNEL_QUOTE events # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:18:37+02:00 perex@suse.cz # ALSA CVS update # RawMidi Midlevel # fix handling of EFAULT errors in snd_rawmidi_read/write; # fix hang when writing to /dev/midi* with O_SYNC # # Signed-off-by: Clemens Ladisch # # sound/core/rawmidi.c # 2004/08/23 02:16:29+02:00 perex@suse.cz +4 -2 # ALSA CVS update # D:2004/08/23 08:16:29 # C:RawMidi Midlevel # F:core/rawmidi.c:1.47->1.48 # L:fix handling of EFAULT errors in snd_rawmidi_read/write; # L:fix hang when writing to /dev/midi* with O_SYNC # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:17:53+02:00 perex@suse.cz # ALSA CVS update # ATIIXP driver # add IXP400 support # # Signed-off-by: Clemens Ladisch # # sound/pci/atiixp.c # 2004/08/23 02:12:06+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/08/23 08:12:06 # C:ATIIXP driver # F:pci/atiixp.c:1.21->1.22 # L:add IXP400 support # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:17:10+02:00 perex@suse.cz # ALSA CVS update # PPC # beep support depends on INPUT # # Signed-off-by: Jaroslav Kysela # # sound/ppc/Kconfig # 2004/08/22 02:36:25+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/08/22 08:36:25 # C:PPC # F:ppc/Kconfig:1.3->1.4 # L:beep support depends on INPUT # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/25 15:16:27+02:00 perex@suse.cz # ALSA CVS update # MPU401 UART # use acpi_register_gsi # # Signed-off-by: Clemens Ladisch # # sound/drivers/mpu401/mpu401.c # 2004/08/20 07:00:33+02:00 perex@suse.cz +5 -9 # ALSA CVS update # D:2004/08/20 13:00:33 # C:MPU401 UART # F:drivers/mpu401/mpu401.c:1.19->1.20 # L:use acpi_register_gsi # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:15:41+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Added jack sense switches for AD1885 # # 'Headphone Jack Sense' and 'Line Jack Sense' switches are added for # AD1885. This will enable the h/w swich between the headphone and # the internal speaker on some laptops. # # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_patch.c # 2004/08/20 05:03:16+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/08/20 11:03:16 # C:AC97 Codec Core # F:pci/ac97/ac97_patch.c:1.56->1.57 # L:Added jack sense switches for AD1885 # L: # L:'Headphone Jack Sense' and 'Line Jack Sense' switches are added for # L:AD1885. This will enable the h/w swich between the headphone and # L:the internal speaker on some laptops. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:14:58+02:00 perex@suse.cz # ALSA CVS update # Maestro3 driver # Fixed the typo in the last change for pci_set_master() call... # # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/08/19 12:16:31+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/19 18:16:31 # C:Maestro3 driver # F:pci/maestro3.c:1.61->1.62 # L:Fixed the typo in the last change for pci_set_master() call... # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:14:13+02:00 perex@suse.cz # ALSA CVS update # Maestro3 driver # Call pci_set_master() in resume (to be sure) # # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/08/19 12:15:21+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/08/19 18:15:21 # C:Maestro3 driver # F:pci/maestro3.c:1.60->1.61 # L:Call pci_set_master() in resume (to be sure) # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:13:29+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Fixed the master volume control. # # The master volume control was inverted, fixed now. # The volume range is narrowed to -64dB. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/08/18 08:50:32+02:00 perex@suse.cz +11 -6 # ALSA CVS update # D:2004/08/18 14:50:32 # C:ICE1712 driver # F:pci/ice1712/aureon.c:1.14->1.15 # L:Fixed the master volume control. # L: # L:The master volume control was inverted, fixed now. # L:The volume range is narrowed to -64dB. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:12:45+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Added the DXS entry for Uniwill/Targa Visionary XP-210. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/08/18 07:43:23+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/08/18 13:43:23 # C:VIA82xx driver # F:pci/via82xx.c:1.117->1.118 # L:Added the DXS entry for Uniwill/Targa Visionary XP-210. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:12:01+02:00 perex@suse.cz # ALSA CVS update # PPC AWACS driver # awacs.c num_controls -> ARRAY_SIZE fix # # Signed-off-by: Joseph Fannin # Signed-off-by: Takashi Iwai # # sound/ppc/awacs.c # 2004/08/18 04:50:49+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/08/18 10:50:49 # C:PPC AWACS driver # F:ppc/awacs.c:1.25->1.26 # L:awacs.c num_controls -> ARRAY_SIZE fix # Signed-off-by: Joseph Fannin # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:11:18+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Removed MPU401 detection from Aureon and Prodigy boards. # # The bogus mpu401 may cause hang-up on some apps. # Now the detection bit in EEPROM image is removed. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/08/18 04:50:05+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/08/18 10:50:05 # C:ICE1712 driver # F:pci/ice1712/aureon.c:1.13->1.14 # L:Removed MPU401 detection from Aureon and Prodigy boards. # L: # L:The bogus mpu401 may cause hang-up on some apps. # L:Now the detection bit in EEPROM image is removed. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:10:36+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Add to snd-intel8x0 AC97 quirk list # # Additions for Dell Precision 450, HP xw4200 and xw8200. # # Signed-off-by: John W. Linville # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/08/17 12:11:54+02:00 perex@suse.cz +18 -0 # ALSA CVS update # D:2004/08/17 18:11:54 # C:Intel8x0 driver # F:pci/intel8x0.c:1.157->1.158 # L:Add to snd-intel8x0 AC97 quirk list # L: # L:Additions for Dell Precision 450, HP xw4200 and xw8200. # Signed-off-by: John W. Linville # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:09:53+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Fix Audigy + AC97 Master Volume # # This patch sets AC97 Master volume to 0 (0 dB). Previous value was # 0x0202 (-3 dB) (this was my misstake). # # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emumixer.c # 2004/08/17 05:16:03+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/17 11:16:03 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emumixer.c:1.25->1.26 # L:Fix Audigy + AC97 Master Volume # L: # L:This patch sets AC97 Master volume to 0 (0 dB). Previous value was # L:0x0202 (-3 dB) (this was my misstake). # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:09:08+02:00 perex@suse.cz # ALSA CVS update # ES1938 driver # Added (experimental) PM support. # # Signed-off-by: Takashi Iwai # # sound/pci/es1938.c # 2004/08/16 12:22:18+02:00 perex@suse.cz +98 -37 # ALSA CVS update # D:2004/08/16 18:22:18 # C:ES1938 driver # F:pci/es1938.c:1.40->1.41 # L:Added (experimental) PM support. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:08:23+02:00 perex@suse.cz # ALSA CVS update # PPC PMAC driver,PPC Tumbler driver # pmac mixer update from shadow register on resume and switching DRC on headphone plug # # The attached patch improved the pmac driver by implementing updating the # mixer from the shadow register after a resume or headphone interrupt, as # well as automatically selecting DRC on headphone plug. # # For normal line-out one does not want the DRC, but it should # automatically be reenabled after the headphone is unplugged: Otherwise # the power to the internal speakers is high enought to destroy them # (happend once to my iBook - when it still had warrenty ... ;-) # # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # sound/ppc/tumbler.c # 2004/08/16 12:19:56+02:00 perex@suse.cz +54 -13 # ALSA CVS update # D:2004/08/16 18:19:56 # C:PPC PMAC driver,PPC Tumbler driver # F:ppc/pmac.h:1.16->1.17 # F:ppc/tumbler.c:1.32->1.33 # L:pmac mixer update from shadow register on resume and switching DRC on headphone plug # L: # L:The attached patch improved the pmac driver by implementing updating the # L:mixer from the shadow register after a resume or headphone interrupt, as # L:well as automatically selecting DRC on headphone plug. # L: # L:For normal line-out one does not want the DRC, but it should # L:automatically be reenabled after the headphone is unplugged: Otherwise # L:the power to the internal speakers is high enought to destroy them # L:(happend once to my iBook - when it still had warrenty ... ;-) # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.h # 2004/08/16 12:19:56+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/08/16 18:19:56 # C:PPC PMAC driver,PPC Tumbler driver # F:ppc/pmac.h:1.16->1.17 # F:ppc/tumbler.c:1.32->1.33 # L:pmac mixer update from shadow register on resume and switching DRC on headphone plug # L: # L:The attached patch improved the pmac driver by implementing updating the # L:mixer from the shadow register after a resume or headphone interrupt, as # L:well as automatically selecting DRC on headphone plug. # L: # L:For normal line-out one does not want the DRC, but it should # L:automatically be reenabled after the headphone is unplugged: Otherwise # L:the power to the internal speakers is high enought to destroy them # L:(happend once to my iBook - when it still had warrenty ... ;-) # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/25 15:07:38+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS sequencer # rewrote snd_seq_oss_read/snd_seq_oss_write to fix various # buffer overflow/locking/nonstandard behaviour bugs # # Signed-off-by: Clemens Ladisch # # sound/core/seq/oss/seq_oss_rw.c # 2004/08/16 04:03:22+02:00 perex@suse.cz +67 -47 # ALSA CVS update # D:2004/08/16 10:03:22 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_readq.c:1.9->1.10 # F:core/seq/oss/seq_oss_readq.h:1.2->1.3 # F:core/seq/oss/seq_oss_rw.c:1.5->1.6 # L:rewrote snd_seq_oss_read/snd_seq_oss_write to fix various # L:buffer overflow/locking/nonstandard behaviour bugs # Signed-off-by: Clemens Ladisch # # sound/core/seq/oss/seq_oss_readq.h # 2004/08/16 04:03:22+02:00 perex@suse.cz +6 -3 # ALSA CVS update # D:2004/08/16 10:03:22 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_readq.c:1.9->1.10 # F:core/seq/oss/seq_oss_readq.h:1.2->1.3 # F:core/seq/oss/seq_oss_rw.c:1.5->1.6 # L:rewrote snd_seq_oss_read/snd_seq_oss_write to fix various # L:buffer overflow/locking/nonstandard behaviour bugs # Signed-off-by: Clemens Ladisch # # sound/core/seq/oss/seq_oss_readq.c # 2004/08/16 04:03:22+02:00 perex@suse.cz +13 -26 # ALSA CVS update # D:2004/08/16 10:03:22 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_readq.c:1.9->1.10 # F:core/seq/oss/seq_oss_readq.h:1.2->1.3 # F:core/seq/oss/seq_oss_rw.c:1.5->1.6 # L:rewrote snd_seq_oss_read/snd_seq_oss_write to fix various # L:buffer overflow/locking/nonstandard behaviour bugs # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:06:53+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS sequencer # don't copy uninitialized kernel stack data to userspace # # Signed-off-by: Clemens Ladisch # # sound/core/seq/oss/seq_oss_readq.c # 2004/08/16 03:58:15+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/08/16 09:58:15 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_readq.c:1.8->1.9 # L:don't copy uninitialized kernel stack data to userspace # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:06:08+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS sequencer # remove superfluous snd_seq_oss_readq_clear call # # Signed-off-by: Clemens Ladisch # # sound/core/seq/oss/seq_oss_readq.c # 2004/08/16 03:56:24+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/08/16 09:56:24 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_readq.c:1.7->1.8 # L:remove superfluous snd_seq_oss_readq_clear call # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 15:05:23+02:00 perex@suse.cz # ALSA CVS update # ALSA sequencer # don't fake the sender address in messages forwarded by snd-seq-dummy to prevent confusing other clients (e.g. snd-seq-oss) # # Signed-off-by: Clemens Ladisch # # sound/core/seq/seq_dummy.c # 2004/08/16 03:54:52+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/08/16 09:54:52 # C:ALSA sequencer # F:core/seq/seq_dummy.c:1.13->1.14 # L:don't fake the sender address in messages forwarded by snd-seq-dummy to prevent confusing other clients (e.g. snd-seq-oss) # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/25 08:59:52+02:00 perex@suse.cz # Merge bk://linux-sound@linux-sound.bkbits.net/linux-sound # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/parisc/harmony.c # 2004/08/25 08:59:34+02:00 perex@suse.cz +0 -2 # Auto merged # # sound/isa/wavefront/wavefront_fx.c # 2004/08/25 08:59:34+02:00 perex@suse.cz +0 -0 # Auto merged # # mm/slab.c # 2004/08/25 08:59:33+02:00 perex@suse.cz +0 -0 # Auto merged # # include/linux/pci_ids.h # 2004/08/25 08:59:33+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/08/24 17:30:19-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-alsa # # mm/slab.c # 2004/08/24 17:30:14-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/linux/slab.h # 2004/08/24 17:30:13-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/23 16:35:28-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-alsa # # include/linux/pci_ids.h # 2004/08/23 16:35:23-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/23 13:44:30-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-alsa # # sound/isa/wavefront/wavefront_fx.c # 2004/08/23 13:44:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # mm/slab.c # 2004/08/23 13:44:25-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/linux/pci_ids.h # 2004/08/23 13:44:25-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/22 21:04:53-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-alsa # # sound/parisc/harmony.c # 2004/08/22 21:04:49-07:00 akpm@bix.(none) +0 -2 # Auto merged # # include/linux/pci_ids.h # 2004/08/22 21:04:49-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/15 13:40:16-07:00 akpm@bix.(none) # Merge http://linux-sound.bkbits.net/linux-sound # into bix.(none):/usr/src/bk-alsa # # sound/pci/mixart/mixart.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/emu10k1/emuproc.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/cs46xx/cs46xx_lib.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/cs4281.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/isa/gus/gus_mem_proc.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/drivers/opl4/opl4_proc.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/core/info.c # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/sound/info.h # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/15 13:40:12-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/15 11:03:31+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/pci/mixart/mixart.c # 2004/08/15 11:03:11+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/emu10k1/emuproc.c # 2004/08/15 11:03:11+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/cs46xx/cs46xx_lib.c # 2004/08/15 11:03:11+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/cs4281.c # 2004/08/15 11:03:11+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/gus/gus_mem_proc.c # 2004/08/15 11:03:10+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/drivers/opl4/opl4_proc.c # 2004/08/15 11:03:10+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/info.c # 2004/08/15 11:03:10+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/info.h # 2004/08/15 11:03:10+02:00 perex@suse.cz +0 -0 # Auto merged # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/15 11:03:10+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/08/15 10:48:18+02:00 perex@suse.cz # version.h: # ALSA 1.0.6 # # include/sound/version.h # 2004/08/15 10:46:47+02:00 perex@suse.cz +2 -2 # ALSA 1.0.6 # # ChangeSet # 2004/08/15 10:43:26+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # add support for Yamaha CVP-301, CVP-303, CVP-305, CVP-307, CVP-309, # CVP-309GP, PSR-1500, PSR-3000, ELS-01, ELS-01C, PSR-295, PSR-293, # DGX-205, DGX-203, DGX-305, DGX-505, DGP-7, DGP-5, PM5D, DME64N, # DME24N, DTX, UB99 # # Signed-off-by: Clemens Ladisch # # sound/usb/usbquirks.h # 2004/08/12 04:30:11+02:00 perex@suse.cz +30 -0 # ALSA CVS update # D:2004/08/12 10:30:11 # C:USB generic driver # F:usb/usbquirks.h:1.35->1.36 # L:add support for Yamaha CVP-301, CVP-303, CVP-305, CVP-307, CVP-309, # L:CVP-309GP, PSR-1500, PSR-3000, ELS-01, ELS-01C, PSR-295, PSR-293, # L:DGX-205, DGX-203, DGX-305, DGX-505, DGP-7, DGP-5, PM5D, DME64N, # L:DME24N, DTX, UB99 # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/15 10:42:34+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Add more timeout to avoid not respond messages # # Signed-off-by: Jaroslav Kysela # # sound/pci/ac97/ac97_codec.c # 2004/08/11 13:51:58+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/11 19:51:58 # C:AC97 Codec Core # F:pci/ac97/ac97_codec.c:1.143->1.144 # L:Add more timeout to avoid not respond messages # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/15 10:37:55+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Fixed cut-n-paste typo # # Signed-off-by: Jaroslav Kysela # # sound/core/pcm_native.c # 2004/08/11 03:45:20+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/11 09:45:20 # C:PCM Midlevel # F:core/pcm_native.c:1.103->1.104 # L:Fixed cut-n-paste typo # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/15 10:36:25+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Don't use mute bit in REC_GAIN register during tests. # We have at least one case when the mute bit is zero. # # Signed-off-by: Jaroslav Kysela # # sound/pci/ac97/ac97_codec.c # 2004/08/10 06:19:16+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/08/10 12:19:16 # C:AC97 Codec Core # F:pci/ac97/ac97_codec.c:1.142->1.143 # L:Don't use mute bit in REC_GAIN register during tests. # L:We have at least one case when the mute bit is zero. # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/15 10:34:50+02:00 perex@suse.cz # ALSA CVS update # Intel8x0-modem driver # Added SiS, NVidia modem descriptions # # Signed-off-by: Jaroslav Kysela # # sound/pci/intel8x0m.c # 2004/08/10 05:11:17+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/10 11:11:17 # C:Intel8x0-modem driver # F:pci/intel8x0m.c:1.17->1.18 # L:Added SiS, NVidia modem descriptions # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/15 10:33:29+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Serialize runtime->status->state access # # Signed-off-by: Jaroslav Kysela # # sound/core/pcm_native.c # 2004/08/10 04:28:45+02:00 perex@suse.cz +22 -3 # ALSA CVS update # D:2004/08/10 10:28:45 # C:PCM Midlevel # F:core/pcm_native.c:1.102->1.103 # L:Serialize runtime->status->state access # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/09 18:30:30-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-alsa # # sound/pci/mixart/mixart.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/emu10k1/emuproc.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/cs46xx/cs46xx_lib.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/pci/cs4281.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/isa/gus/gus_mem_proc.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/drivers/opl4/opl4_proc.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # sound/core/info.c # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/sound/info.h # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/09 18:30:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/06 15:27:08-07:00 akpm@bix.(none) # Merge http://linux-sound.bkbits.net/linux-sound # into bix.(none):/usr/src/bk-alsa # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/06 15:27:05-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/06 14:35:55+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/06 14:35:37+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/08/06 14:01:30+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # some other misc eq cleanups # # Signed-off-by: Jeff Muizelaar # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_eq.c # 2004/08/06 04:49:57+02:00 perex@suse.cz +42 -38 # ALSA CVS update # D:2004/08/06 10:49:57 # C:au88x0 driver # F:pci/au88x0/au88x0_eq.c:1.3->1.4 # L:some other misc eq cleanups # Signed-off-by: Jeff Muizelaar # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/06 14:00:50+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # Cleans up the equalizer code by converting some loops to proper for # loops and fixes the conditions for looping. # # Signed-off-by: Jeff Muizelaar # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_eq.c # 2004/08/06 04:49:00+02:00 perex@suse.cz +16 -64 # ALSA CVS update # D:2004/08/06 10:49:00 # C:au88x0 driver # F:pci/au88x0/au88x0_eq.c:1.2->1.3 # L:Cleans up the equalizer code by converting some loops to proper for # L:loops and fixes the conditions for looping. # Signed-off-by: Jeff Muizelaar # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/06 14:00:09+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # Fixed asXtalkGainsAllChan problem for the solid kernel build. # # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_xtalk.h # 2004/08/06 04:44:58+02:00 perex@suse.cz +1 -2 # ALSA CVS update # D:2004/08/06 10:44:58 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.9->1.10 # F:pci/au88x0/au88x0_xtalk.c:1.2->1.3 # F:pci/au88x0/au88x0_xtalk.h:1.2->1.3 # L:Fixed asXtalkGainsAllChan problem for the solid kernel build. # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_xtalk.c # 2004/08/06 04:44:58+02:00 perex@suse.cz +7 -1 # ALSA CVS update # D:2004/08/06 10:44:58 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.9->1.10 # F:pci/au88x0/au88x0_xtalk.c:1.2->1.3 # F:pci/au88x0/au88x0_xtalk.h:1.2->1.3 # L:Fixed asXtalkGainsAllChan problem for the solid kernel build. # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_a3d.c # 2004/08/06 04:44:58+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/06 10:44:58 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.9->1.10 # F:pci/au88x0/au88x0_xtalk.c:1.2->1.3 # F:pci/au88x0/au88x0_xtalk.h:1.2->1.3 # L:Fixed asXtalkGainsAllChan problem for the solid kernel build. # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/06 13:59:28+02:00 perex@suse.cz # ALSA CVS update # USB USX2Y # fix compilation on 2.2.x kernels # # Signed-off-by: Clemens Ladisch # # sound/usb/usx2y/usbusx2yaudio.c # 2004/08/05 04:46:20+02:00 perex@suse.cz +4 -3 # ALSA CVS update # D:2004/08/05 10:46:20 # C:USB USX2Y # F:usb/usx2y/usbusx2yaudio.c:1.1->1.2 # L:fix compilation on 2.2.x kernels # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/06 13:58:47+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver,KORG1212 driver # Fixed the compile warnings on 64bit architectures. # # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/08/04 10:17:29+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/04 16:17:28 # C:EMU10K1/EMU10K2 driver,KORG1212 driver # F:pci/emu10k1/emuproc.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.46->1.47 # L:Fixed the compile warnings on 64bit architectures. # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emuproc.c # 2004/08/04 10:17:28+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/04 16:17:28 # C:EMU10K1/EMU10K2 driver,KORG1212 driver # F:pci/emu10k1/emuproc.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.46->1.47 # L:Fixed the compile warnings on 64bit architectures. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/06 13:58:05+02:00 perex@suse.cz # ALSA CVS update # PCI drivers,Intel8x0-modem driver # Added the support of SIS7013 modem. # # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/08/04 05:15:48+02:00 perex@suse.cz +31 -18 # ALSA CVS update # D:2004/08/04 11:15:48 # C:PCI drivers,Intel8x0-modem driver # F:pci/Kconfig:1.30->1.31 # F:pci/intel8x0m.c:1.16->1.17 # L:Added the support of SIS7013 modem. # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # sound/pci/Kconfig # 2004/08/04 05:15:48+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/08/04 11:15:48 # C:PCI drivers,Intel8x0-modem driver # F:pci/Kconfig:1.30->1.31 # F:pci/intel8x0m.c:1.16->1.17 # L:Added the support of SIS7013 modem. # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/06 13:57:21+02:00 perex@suse.cz # ALSA CVS update # SoundFont,Common EMU synth # Fixed messy locks in soundfont support code. # # Removed hacky down_trylock() in the interrupt context, and check # the busy lock flag explicitly. # # Signed-off-by: Takashi Iwai # # sound/synth/emux/soundfont.c # 2004/08/04 05:12:58+02:00 perex@suse.cz +33 -19 # ALSA CVS update # D:2004/08/04 11:12:58 # C:SoundFont,Common EMU synth # F:include/soundfont.h:1.6->1.7 # F:synth/emux/emux_oss.c:1.10->1.11 # F:synth/emux/soundfont.c:1.12->1.13 # L:Fixed messy locks in soundfont support code. # L: # L:Removed hacky down_trylock() in the interrupt context, and check # L:the busy lock flag explicitly. # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_oss.c # 2004/08/04 05:12:58+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/08/04 11:12:58 # C:SoundFont,Common EMU synth # F:include/soundfont.h:1.6->1.7 # F:synth/emux/emux_oss.c:1.10->1.11 # F:synth/emux/soundfont.c:1.12->1.13 # L:Fixed messy locks in soundfont support code. # L: # L:Removed hacky down_trylock() in the interrupt context, and check # L:the busy lock flag explicitly. # Signed-off-by: Takashi Iwai # # include/sound/soundfont.h # 2004/08/04 05:12:58+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/08/04 11:12:58 # C:SoundFont,Common EMU synth # F:include/soundfont.h:1.6->1.7 # F:synth/emux/emux_oss.c:1.10->1.11 # F:synth/emux/soundfont.c:1.12->1.13 # L:Fixed messy locks in soundfont support code. # L: # L:Removed hacky down_trylock() in the interrupt context, and check # L:the busy lock flag explicitly. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/06 13:56:39+02:00 perex@suse.cz # ALSA CVS update # PPC PMAC driver # Removed non-functional 48kHz support from pmac driver. # # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/08/04 05:10:17+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/08/04 11:10:17 # C:PPC PMAC driver # F:ppc/pmac.c:1.37->1.38 # L:Removed non-functional 48kHz support from pmac driver. # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/04 11:31:57+02:00 perex@suse.cz # ALSA misc # - control.c - compilation fixes # - es1968.c - hw volume fix # # sound/pci/es1968.c # 2004/08/04 11:31:38+02:00 perex@suse.cz +0 -2 # Don't mute master volume - use mute path rather. # # sound/core/control.c # 2004/08/04 11:31:38+02:00 perex@suse.cz +1 -0 # Compilation fix. # # ChangeSet # 2004/08/03 20:19:18+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # Cleanup the private_data initialization # # Signed-off-by: Takashi Iwai # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_a3d.c # 2004/08/03 13:08:53+02:00 perex@suse.cz +4 -8 # ALSA CVS update # D:2004/08/03 19:08:53 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.6->1.7 # L:Cleanup the private_data initialization # Signed-off-by: Takashi Iwai # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/08/03 19:57:05+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # fix email address and license # # Signed-off-by: Clemens Ladisch # # sound/usb/usbmidi.c # 2004/08/03 10:24:22+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/08/03 16:24:22 # C:USB generic driver # F:usb/usbmidi.c:1.32->1.33 # L:fix email address and license # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/08/03 19:56:02+02:00 perex@suse.cz # ALSA CVS update # Documentation,Intel8x0 driver # Added buggy_irq module parameter to intel8x0 driver. # # On some (broken :) motherboards, unknown irq is triggered when the audio # is started. This this option, the irq handler returns IRQ_HANDLED for # such an irq, so that the irq line won't be disabled. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/08/03 10:17:02+02:00 perex@suse.cz +13 -11 # ALSA CVS update # D:2004/08/03 16:17:01 # C:Documentation,Intel8x0 driver # F:Documentation/ALSA-Configuration.txt:1.49->1.50 # F:pci/intel8x0.c:1.156->1.157 # L:Added buggy_irq module parameter to intel8x0 driver. # L: # L:On some (broken :) motherboards, unknown irq is triggered when the audio # L:is started. This this option, the irq handler returns IRQ_HANDLED for # L:such an irq, so that the irq line won't be disabled. # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/08/03 10:17:01+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/08/03 16:17:01 # C:Documentation,Intel8x0 driver # F:Documentation/ALSA-Configuration.txt:1.49->1.50 # F:pci/intel8x0.c:1.156->1.157 # L:Added buggy_irq module parameter to intel8x0 driver. # L: # L:On some (broken :) motherboards, unknown irq is triggered when the audio # L:is started. This this option, the irq handler returns IRQ_HANDLED for # L:such an irq, so that the irq line won't be disabled. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/03 19:54:52+02:00 perex@suse.cz # ALSA CVS update # Documentation,USB,USB generic driver,USB USX2Y # Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # Driver written by Karsten Wiese # # The shared code is split from usbaudio as snd-usb-lib module. # Currently, only MIDI part is included there. In future, more # audio part will be shared, too. # # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usx2y.h # 2004/08/03 19:47:45+02:00 perex@suse.cz +49 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usbusx2yaudio.c # 2004/08/03 19:47:36+02:00 perex@suse.cz +1026 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usbusx2y.h # 2004/08/03 19:47:30+02:00 perex@suse.cz +61 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usbusx2y.c # 2004/08/03 19:47:22+02:00 perex@suse.cz +434 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usbus428ctldefs.h # 2004/08/03 19:47:17+02:00 perex@suse.cz +108 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usX2Yhwdep.h # 2004/08/03 19:47:12+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usX2Yhwdep.c # 2004/08/03 19:47:05+02:00 perex@suse.cz +275 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/usx2y.h # 2004/08/03 19:47:45+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usx2y.h # # sound/usb/usx2y/usbusx2yaudio.c # 2004/08/03 19:47:36+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usbusx2yaudio.c # # sound/usb/usx2y/usbusx2y.h # 2004/08/03 19:47:30+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usbusx2y.h # # sound/usb/usx2y/usbusx2y.c # 2004/08/03 19:47:22+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usbusx2y.c # # sound/usb/usx2y/usbus428ctldefs.h # 2004/08/03 19:47:17+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usbus428ctldefs.h # # sound/usb/usx2y/usX2Yhwdep.h # 2004/08/03 19:47:12+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usX2Yhwdep.h # # sound/usb/usx2y/usX2Yhwdep.c # 2004/08/03 19:47:05+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/usX2Yhwdep.c # # sound/usb/usbmidi.c # 2004/08/03 09:22:32+02:00 perex@suse.cz +10 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/Makefile # 2004/08/03 09:22:32+02:00 perex@suse.cz +6 -2 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/Kconfig # 2004/08/03 09:22:32+02:00 perex@suse.cz +10 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/08/03 09:22:32+02:00 perex@suse.cz +10 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/Makefile # 2004/08/03 19:46:59+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/08/03 15:22:32 # C:Documentation,USB,USB generic driver,USB USX2Y # F:Documentation/ALSA-Configuration.txt:1.48->1.49 # F:usb/Kconfig:1.4->1.5 # F:usb/Makefile:1.4->1.5 # F:usb/usbmidi.c:1.31->1.32 # F:usb/usx2y/Makefile:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.c:INITIAL->1.1 # F:usb/usx2y/usX2Yhwdep.h:INITIAL->1.1 # F:usb/usx2y/usbus428ctldefs.h:INITIAL->1.1 # F:usb/usx2y/usbusx2y.c:INITIAL->1.1 # F:usb/usx2y/usbusx2y.h:INITIAL->1.1 # F:usb/usx2y/usbusx2yaudio.c:INITIAL->1.1 # F:usb/usx2y/usx2y.h:INITIAL->1.1 # L:Added snd-usb-usx2y driver for Tascam US-122/224/428 support. # L:Driver written by Karsten Wiese # L: # L:The shared code is split from usbaudio as snd-usb-lib module. # L:Currently, only MIDI part is included there. In future, more # L:audio part will be shared, too. # Signed-off-by: Takashi Iwai # # sound/usb/usx2y/Makefile # 2004/08/03 19:46:59+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/usb/usx2y/Makefile # # ChangeSet # 2004/08/03 19:53:42+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Added the DXS whitelist entry for Acer Inspire 1353LM. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/08/02 09:24:38+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/08/02 15:24:38 # C:VIA82xx driver # F:pci/via82xx.c:1.116->1.117 # L:Added the DXS whitelist entry for Acer Inspire 1353LM. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/03 14:07:05+02:00 perex@suse.cz # From: Jaroslav Kysela # ALSA patch # Removed duplicate CK804_AUDIO from intel8x0.c # # sound/pci/intel8x0.c # 2004/08/03 14:06:31+02:00 perex@suse.cz +0 -4 # Removed duplicate CK804_AUDIO # # ChangeSet # 2004/08/03 08:40:38+02:00 perex@suse.cz # From: "Andrew Chew" # # This patch updates include/linux/pci_ids.h with the CK804 audio controller # ID, and adds the CK804 audio controller to the sound/pci/intel8x0.c audio # driver. # # Signed-off-by: Andrew Morton # # sound/pci/intel8x0.c # 2004/08/03 08:40:17+02:00 perex@suse.cz +4 -0 # From: "Andrew Chew" # # This patch updates include/linux/pci_ids.h with the CK804 audio controller # ID, and adds the CK804 audio controller to the sound/pci/intel8x0.c audio # driver. # # Signed-off-by: Andrew Morton # # include/linux/pci_ids.h # 2004/08/03 08:40:17+02:00 perex@suse.cz +1 -0 # From: "Andrew Chew" # # This patch updates include/linux/pci_ids.h with the CK804 audio controller # ID, and adds the CK804 audio controller to the sound/pci/intel8x0.c audio # driver. # # Signed-off-by: Andrew Morton # # ChangeSet # 2004/08/02 12:47:26-07:00 akpm@bix.(none) # Merge http://linux-sound.bkbits.net/linux-sound # into bix.(none):/usr/src/bk-alsa # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/08/02 12:47:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/02 16:55:05+02:00 perex@suse.cz # ALSA CVS update # PPC PMAC driver # Bailed a long delay out of the spin_lock_irq. # # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/08/02 07:11:06+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/08/02 13:11:06 # C:PPC PMAC driver # F:ppc/pmac.c:1.35->1.36 # L:Bailed a long delay out of the spin_lock_irq. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 16:54:24+02:00 perex@suse.cz # ALSA CVS update # PPC PMAC driver # pmac also apply the DMA stop work around to fix capture on iBook2 # # the attached patch for the pmac driver fixes capture for at least all # iBook2s I have access to. Without the fix arround 33% percent of all # recordings are just white noise. # # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/08/02 06:46:06+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/08/02 12:46:06 # C:PPC PMAC driver # F:ppc/pmac.c:1.34->1.35 # L:pmac also apply the DMA stop work around to fix capture on iBook2 # L: # L:the attached patch for the pmac driver fixes capture for at least all # L:iBook2s I have access to. Without the fix arround 33% percent of all # L:recordings are just white noise. # Signed-off-by: Rene Rebe # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 16:53:41+02:00 perex@suse.cz # ALSA CVS update # PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # Added the PCM beep support. # # enable_beep module option is back again (default = 1). # Beep is emulated via PCM playback when enabled. # # Signed-off-by: Takashi Iwai # # sound/ppc/powermac.c # 2004/08/02 05:06:38+02:00 perex@suse.cz +1 -14 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.h # 2004/08/02 05:06:38+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/08/02 05:06:38+02:00 perex@suse.cz +33 -2 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/awacs.c # 2004/08/02 05:06:38+02:00 perex@suse.cz +20 -1 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/Makefile # 2004/08/02 05:06:38+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/beep.c # 2004/08/02 16:06:03+02:00 perex@suse.cz +262 -0 # ALSA CVS update # D:2004/08/02 11:06:38 # C:PPC,PPC AWACS driver,PPC Beep,PPC PMAC driver,PPC PowerMac driver # F:ppc/Makefile:1.5->1.6 # F:ppc/awacs.c:1.24->1.25 # F:ppc/beep.c:INITIAL->1.1 # F:ppc/pmac.c:1.33->1.34 # F:ppc/pmac.h:1.15->1.16 # F:ppc/powermac.c:1.19->1.20 # L:Added the PCM beep support. # L: # L:enable_beep module option is back again (default = 1). # L:Beep is emulated via PCM playback when enabled. # Signed-off-by: Takashi Iwai # # sound/ppc/beep.c # 2004/08/02 16:06:03+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/ppc/beep.c # # ChangeSet # 2004/08/02 15:43:49+02:00 perex@suse.cz # Merge # # sound/pci/rme9652/hdsp.c # 2004/08/02 15:43:26+02:00 perex@suse.cz +1 -2 # SCCS merged # # sound/pci/ice1712/ice1724.c # 2004/08/02 15:40:06+02:00 perex@suse.cz +0 -0 # SCCS merged # # sound/core/control.c # 2004/08/02 15:37:32+02:00 perex@suse.cz +1 -3 # SCCS merged # # sound/usb/usbmixer.c # 2004/08/02 15:20:27+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/usb/usbaudio.c # 2004/08/02 15:20:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/ppc/pmac.c # 2004/08/02 15:20:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/ppc/Kconfig # 2004/08/02 15:20:26+02:00 perex@suse.cz +0 -4 # Auto merged # # sound/pci/nm256/nm256.c # 2004/08/02 15:20:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/ice1712/ice1712.c # 2004/08/02 15:20:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/sonicvibes.c # 2004/08/02 15:20:24+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/maestro3.c # 2004/08/02 15:20:24+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/intel8x0m.c # 2004/08/02 15:20:24+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/es1968.c # 2004/08/02 15:20:24+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/azt3328.c # 2004/08/02 15:20:23+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/wavefront/wavefront_fx.c # 2004/08/02 15:20:23+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/seq/seq_clientmgr.c # 2004/08/02 15:20:23+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/oss/pcm_oss.c # 2004/08/02 15:20:23+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/ioctl32/pcm32.c # 2004/08/02 15:20:22+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/asound.h # 2004/08/02 15:20:22+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/08/02 14:53:29+02:00 perex@suse.cz # Merge # # sound/pci/ice1712/ice1724.c # 2004/08/02 14:53:06+02:00 perex@suse.cz +0 -1 # SCCS merged # # sound/pci/au88x0/au88x0_a3d.c # 2004/08/02 14:47:11+02:00 perex@suse.cz +0 -4 # SCCS merged # # sound/usb/usbmixer.c # 2004/08/02 14:19:30+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/usb/usbaudio.c # 2004/08/02 14:19:30+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/ppc/pmac.c # 2004/08/02 14:19:29+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/rme9652/hdsp.c # 2004/08/02 14:19:29+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/nm256/nm256.c # 2004/08/02 14:19:29+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/sonicvibes.c # 2004/08/02 14:19:28+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/ice1712/ice1712.c # 2004/08/02 14:19:28+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/au88x0/au88x0.h # 2004/08/02 14:19:28+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/maestro3.c # 2004/08/02 14:19:27+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/intel8x0m.c # 2004/08/02 14:19:27+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/es1968.c # 2004/08/02 14:19:27+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/azt3328.c # 2004/08/02 14:19:27+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/wavefront/wavefront_synth.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/sb/sb8_main.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/sb/emu8000_pcm.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/gus/gus_mem.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/Kconfig # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/drivers/vx/vx_pcm.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/drivers/serial-u16550.c # 2004/08/02 14:19:26+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/seq/seq_clientmgr.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/pcm.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/oss/pcm_oss.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/ioctl32/pcm32.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/ioctl32/ioctl32.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/control.c # 2004/08/02 14:19:25+02:00 perex@suse.cz +0 -0 # Auto merged # # mm/slab.c # 2004/08/02 14:19:24+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/asound.h # 2004/08/02 14:19:24+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/08/02 11:27:35+02:00 perex@suse.cz # ALSA CVS update # IOCTL32 emulation # Added the wrapper for sync_ptr and hwsync ioctls. # # Signed-off-by: Takashi Iwai # # sound/core/ioctl32/pcm32.c # 2004/07/30 13:21:35+02:00 perex@suse.cz +43 -0 # ALSA CVS update # D:2004/07/30 19:21:35 # C:IOCTL32 emulation # F:core/ioctl32/pcm32.c:1.18->1.19 # L:Added the wrapper for sync_ptr and hwsync ioctls. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:26:23+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Added the support of ZNF3-250 (supposed to be ZNF3-150 compatible). # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/vt1720_mobo.h # 2004/07/30 10:28:49+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/07/30 16:28:49 # C:ICE1712 driver # F:pci/ice1712/vt1720_mobo.c:1.1->1.2 # F:pci/ice1712/vt1720_mobo.h:1.1->1.2 # L:Added the support of ZNF3-250 (supposed to be ZNF3-150 compatible). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/vt1720_mobo.c # 2004/07/30 10:28:49+02:00 perex@suse.cz +9 -0 # ALSA CVS update # D:2004/07/30 16:28:49 # C:ICE1712 driver # F:pci/ice1712/vt1720_mobo.c:1.1->1.2 # F:pci/ice1712/vt1720_mobo.h:1.1->1.2 # L:Added the support of ZNF3-250 (supposed to be ZNF3-150 compatible). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:25:26+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Added an ac97 quirk for ICH/AD1885 mobo. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/30 10:27:34+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/07/30 16:27:34 # C:Intel8x0 driver # F:pci/intel8x0.c:1.155->1.156 # L:Added an ac97 quirk for ICH/AD1885 mobo. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:24:30+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Fixed the handling of unknown irqs on ICH5. # # This patch fixes (hopefully) the handling of unkown irqs triggered # on some ICH5 mobo. Also, free_irq() is moved before releasing # i/o ports to avoid hang-up at removal. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/30 10:22:12+02:00 perex@suse.cz +9 -2 # ALSA CVS update # D:2004/07/30 16:22:12 # C:Intel8x0 driver # F:pci/intel8x0.c:1.154->1.155 # L:Fixed the handling of unknown irqs on ICH5. # L: # L:This patch fixes (hopefully) the handling of unkown irqs triggered # L:on some ICH5 mobo. Also, free_irq() is moved before releasing # L:i/o ports to avoid hang-up at removal. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:23:29+02:00 perex@suse.cz # ALSA CVS update # PCI drivers,Intel8x0-modem driver # Added the support of Nvidia modem. # # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/30 10:20:47+02:00 perex@suse.cz +6 -3 # ALSA CVS update # D:2004/07/30 16:20:47 # C:PCI drivers,Intel8x0-modem driver # F:pci/Kconfig:1.29->1.30 # F:pci/intel8x0m.c:1.14->1.15 # L:Added the support of Nvidia modem. # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # sound/pci/Kconfig # 2004/07/30 10:20:47+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/30 16:20:47 # C:PCI drivers,Intel8x0-modem driver # F:pci/Kconfig:1.29->1.30 # F:pci/intel8x0m.c:1.14->1.15 # L:Added the support of Nvidia modem. # Signed-off-by: Sasha Khapyorsky # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:22:30+02:00 perex@suse.cz # ALSA CVS update # PARISC Harmony driver # Clean up DMA buffer allocation routines. # # - snd_dma_alloc_pages*() take the device type and device pointer # directly as arguments. snd_dma_free_pages() takes only dma_buffer # instance. # # - snd_dma_device struct is removed in each driver's instance (no longer # needed due to the change above). # # - snd_malloc_pages_fallback() is removed since it's no longer used. # # - The buffer reservation / preallocation in snd-page-alloc module is # performed only when the buffer id is given. Normal PCM buffers won't # be reserved any more (unless the driver specifies). The module keeps # the linked list of free-reserved buffers, instead of the whole buffers # Reservation is done via snd_dma_reserve_buf(), and retrieved via # snd_dma_get_reserved_buf()). # # - Other misc clean-ups/fixes. # # Signed-off-by: Takashi Iwai # # sound/parisc/harmony.c # 2004/07/30 08:23:01+02:00 perex@suse.cz +9 -3 # ALSA CVS update # D:2004/07/30 14:23:01 # C:PARISC Harmony driver # F:parisc/harmony.c:1.15->1.16 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:21:26+02:00 perex@suse.cz # ALSA CVS update # Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # Clean up DMA buffer allocation routines. # # - snd_dma_alloc_pages*() take the device type and device pointer # directly as arguments. snd_dma_free_pages() takes only dma_buffer # instance. # # - snd_dma_device struct is removed in each driver's instance (no longer # needed due to the change above). # # - snd_malloc_pages_fallback() is removed since it's no longer used. # # - The buffer reservation / preallocation in snd-page-alloc module is # performed only when the buffer id is given. Normal PCM buffers won't # be reserved any more (unless the driver specifies). The module keeps # the linked list of free-reserved buffers, instead of the whole buffers # Reservation is done via snd_dma_reserve_buf(), and retrieved via # snd_dma_get_reserved_buf()). # # - Other misc clean-ups/fixes. # # Signed-off-by: Takashi Iwai # # sound/pci/ymfpci/ymfpci_main.c # 2004/07/30 07:57:27+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +4 -9 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_synth.c # 2004/07/30 07:57:27+02:00 perex@suse.cz +16 -9 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_memory.c # 2004/07/30 07:57:27+02:00 perex@suse.cz +8 -4 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_main.c # 2004/07/30 07:57:26+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/rme9652.c # 2004/07/30 07:57:26+02:00 perex@suse.cz +24 -76 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/07/30 07:57:26+02:00 perex@suse.cz +25 -76 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.h # 2004/07/30 07:57:26+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/07/30 07:57:26+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/07/30 07:57:25+02:00 perex@suse.cz +12 -18 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +4 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +8 -13 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/ens1370.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/memory.c # 2004/07/30 07:57:25+02:00 perex@suse.cz +8 -4 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emufx.c # 2004/07/30 07:57:25+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_main.c # 2004/07/30 07:57:25+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/bt87x.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/isa/sscape.c # 2004/07/30 07:57:24+02:00 perex@suse.cz +4 -12 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/core/sgbuf.c # 2004/07/30 07:57:23+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/core/pcm_memory.c # 2004/07/30 07:57:23+02:00 perex@suse.cz +30 -39 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # sound/core/memalloc.c # 2004/07/30 07:57:16+02:00 perex@suse.cz +72 -274 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # include/sound/ymfpci.h # 2004/07/30 07:57:24+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # include/sound/pcm.h # 2004/07/30 07:57:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # include/sound/memalloc.h # 2004/07/30 07:57:24+02:00 perex@suse.cz +11 -10 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # include/sound/emu10k1.h # 2004/07/30 07:57:24+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # include/sound/cs46xx.h # 2004/07/30 07:57:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/30 13:57:16 # C:Memalloc module,PCM Midlevel,CS46xx driver,EMU10K1/EMU10K2 driver # C:ALSA Core,YMFPCI driver,Sound Scape driver,ATIIXP driver # C:ATIIXP-modem driver,BT87x driver,ENS1370/1+ driver,ES1968 driver # C:Intel8x0 driver,Intel8x0-modem driver,VIA82xx driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Trident driver # F:core/memalloc.c:1.35->1.36 # F:core/pcm_memory.c:1.31->1.32 # F:core/sgbuf.c:1.7->1.8 # F:include/cs46xx.h:1.20->1.21 # F:include/emu10k1.h:1.44->1.45 # F:include/memalloc.h:1.5->1.6 # F:include/pcm.h:1.45->1.46 # F:include/ymfpci.h:1.15->1.16 # F:isa/sscape.c:1.15->1.16 # F:pci/atiixp.c:1.20->1.21 # F:pci/atiixp_modem.c:1.5->1.6 # F:pci/bt87x.c:1.10->1.11 # F:pci/ens1370.c:1.66->1.67 # F:pci/es1968.c:1.74->1.75 # F:pci/intel8x0.c:1.153->1.154 # F:pci/intel8x0m.c:1.13->1.14 # F:pci/via82xx.c:1.115->1.116 # F:pci/cs46xx/cs46xx_lib.c:1.81->1.82 # F:pci/emu10k1/emu10k1_main.c:1.37->1.38 # F:pci/emu10k1/emufx.c:1.57->1.58 # F:pci/emu10k1/memory.c:1.18->1.19 # F:pci/korg1212/korg1212.c:1.45->1.46 # F:pci/mixart/mixart.c:1.15->1.16 # F:pci/mixart/mixart.h:1.4->1.5 # F:pci/rme9652/hdsp.c:1.65->1.66 # F:pci/rme9652/rme9652.c:1.51->1.52 # F:pci/trident/trident_main.c:1.63->1.64 # F:pci/trident/trident_memory.c:1.16->1.17 # F:pci/trident/trident_synth.c:1.14->1.15 # F:pci/ymfpci/ymfpci_main.c:1.56->1.57 # L:Clean up DMA buffer allocation routines. # L: # L:- snd_dma_alloc_pages*() take the device type and device pointer # L: directly as arguments. snd_dma_free_pages() takes only dma_buffer # L: instance. # L: # L:- snd_dma_device struct is removed in each driver's instance (no longer # L: needed due to the change above). # L: # L:- snd_malloc_pages_fallback() is removed since it's no longer used. # L: # L:- The buffer reservation / preallocation in snd-page-alloc module is # L: performed only when the buffer id is given. Normal PCM buffers won't # L: be reserved any more (unless the driver specifies). The module keeps # L: the linked list of free-reserved buffers, instead of the whole buffers # L: Reservation is done via snd_dma_reserve_buf(), and retrieved via # L: snd_dma_get_reserved_buf()). # L: # L:- Other misc clean-ups/fixes. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:20:13+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # Intel8x0-modem driver # Fixed the reset problem of shared audio/modem drivers. # # This patch fixes the problem that the shared audio/modem drivers reset # the codecs with each other at loading time. # Currently, intel8x0 and atiixp drivers are supported. # The other drivers (if any) should add the new shared type in ac97_codec.h. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/29 10:09:35+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/29 10:09:35+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/29 10:09:35+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/29 10:09:35+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_codec.c # 2004/07/29 10:09:35+02:00 perex@suse.cz +37 -1 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # include/sound/ac97_codec.h # 2004/07/29 10:09:34+02:00 perex@suse.cz +9 -0 # ALSA CVS update # D:2004/07/29 16:09:34 # C:AC97 Codec Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:Intel8x0-modem driver # F:include/ac97_codec.h:1.49->1.50 # F:pci/atiixp.c:1.19->1.20 # F:pci/atiixp_modem.c:1.4->1.5 # F:pci/intel8x0.c:1.152->1.153 # F:pci/intel8x0m.c:1.12->1.13 # F:pci/ac97/ac97_codec.c:1.141->1.142 # L:Fixed the reset problem of shared audio/modem drivers. # L: # L:This patch fixes the problem that the shared audio/modem drivers reset # L:the codecs with each other at loading time. # L:Currently, intel8x0 and atiixp drivers are supported. # L:The other drivers (if any) should add the new shared type in ac97_codec.h. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:19:14+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Added the support of MCP04. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/29 08:29:38+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/07/29 14:29:38 # C:Intel8x0 driver # F:pci/intel8x0.c:1.151->1.152 # L:Added the support of MCP04. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:18:18+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Added the support of nVidia CK804. # # Signed-off-by: Andrew Chew # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/28 12:31:03+02:00 perex@suse.cz +5 -0 # ALSA CVS update # D:2004/07/28 18:31:03 # C:Intel8x0 driver # F:pci/intel8x0.c:1.150->1.151 # L:Added the support of nVidia CK804. # Signed-off-by: Andrew Chew # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/08/02 11:17:24+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Added the quirk entry for ECS L7VMM2 uATX. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/28 08:19:34+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/07/28 14:19:34 # C:VIA82xx driver # F:pci/via82xx.c:1.114->1.115 # L:Added the quirk entry for ECS L7VMM2 uATX. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/29 15:07:46+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver,ICE1724 driver # Added the support of Pontis MS300 to snd-ice1724 driver. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/pontis.h # 2004/07/28 15:13:57+02:00 perex@suse.cz +33 -0 # ALSA CVS update # D:2004/07/28 14:13:52 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/Makefile:1.12->1.13 # F:pci/ice1712/ice1724.c:1.41->1.42 # F:pci/ice1712/pontis.c:INITIAL->1.1 # F:pci/ice1712/pontis.h:INITIAL->1.1 # L:Added the support of Pontis MS300 to snd-ice1724 driver. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/pontis.h # 2004/07/28 15:13:57+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/pci/ice1712/pontis.h # # sound/pci/ice1712/ice1724.c # 2004/07/28 08:13:52+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/07/28 14:13:52 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/Makefile:1.12->1.13 # F:pci/ice1712/ice1724.c:1.41->1.42 # F:pci/ice1712/pontis.c:INITIAL->1.1 # F:pci/ice1712/pontis.h:INITIAL->1.1 # L:Added the support of Pontis MS300 to snd-ice1724 driver. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/Makefile # 2004/07/28 08:13:52+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/28 14:13:52 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/Makefile:1.12->1.13 # F:pci/ice1712/ice1724.c:1.41->1.42 # F:pci/ice1712/pontis.c:INITIAL->1.1 # F:pci/ice1712/pontis.h:INITIAL->1.1 # L:Added the support of Pontis MS300 to snd-ice1724 driver. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/pontis.c # 2004/07/28 15:13:50+02:00 perex@suse.cz +839 -0 # ALSA CVS update # D:2004/07/28 14:13:52 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/Makefile:1.12->1.13 # F:pci/ice1712/ice1724.c:1.41->1.42 # F:pci/ice1712/pontis.c:INITIAL->1.1 # F:pci/ice1712/pontis.h:INITIAL->1.1 # L:Added the support of Pontis MS300 to snd-ice1724 driver. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/pontis.c # 2004/07/28 15:13:50+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/pci/ice1712/pontis.c # # ChangeSet # 2004/07/29 15:07:03+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS emulation # Fixed a typo in the last change, resulting in the infinite loop. # # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_oss.c # 2004/07/28 08:09:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/28 14:09:10 # C:ALSA<-OSS emulation # F:core/oss/pcm_oss.c:1.75->1.76 # L:Fixed a typo in the last change, resulting in the infinite loop. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 14:40:11+02:00 perex@suse.cz # Merge # # sound/core/control.c # 2004/07/28 14:39:53+02:00 perex@suse.cz +0 -3 # SCCS merged # # sound/isa/gus/interwave.c # 2004/07/28 14:33:10+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/07/28 14:02:21+02:00 perex@suse.cz # Merge # # sound/isa/gus/interwave.c # 2004/07/28 14:02:03+02:00 perex@suse.cz +0 -2 # SCCS merged # # ChangeSet # 2004/07/28 11:58:20+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Fixed the check of invalid DMA position. # # The workaround for buggy mobo to correct the DMA position is fixed # so that it works properly on normal chips. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/27 10:33:20+02:00 perex@suse.cz +17 -10 # ALSA CVS update # D:2004/07/27 16:33:20 # C:VIA82xx driver # F:pci/via82xx.c:1.113->1.114 # L:Fixed the check of invalid DMA position. # L: # L:The workaround for buggy mobo to correct the DMA position is fixed # L:so that it works properly on normal chips. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:57:41+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Added the (experimental) support of Terratec Phase 88. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ews.h # 2004/07/27 07:57:36+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/07/27 13:57:36 # C:ICE1712 driver # F:pci/ice1712/ews.c:1.18->1.19 # F:pci/ice1712/ews.h:1.3->1.4 # L:Added the (experimental) support of Terratec Phase 88. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ews.c # 2004/07/27 07:57:36+02:00 perex@suse.cz +14 -0 # ALSA CVS update # D:2004/07/27 13:57:36 # C:ICE1712 driver # F:pci/ice1712/ews.c:1.18->1.19 # F:pci/ice1712/ews.h:1.3->1.4 # L:Added the (experimental) support of Terratec Phase 88. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:57:02+02:00 perex@suse.cz # ALSA CVS update # RME32 driver # Fixed the address mask to get the correct DMA pointer value. # # Signed-off-by: Pilo Chambert # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/27 07:43:15+02:00 perex@suse.cz +5 -4 # ALSA CVS update # D:2004/07/27 13:43:15 # C:RME32 driver # F:pci/rme32.c:1.43->1.44 # L:Fixed the address mask to get the correct DMA pointer value. # Signed-off-by: Pilo Chambert # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:56:22+02:00 perex@suse.cz # ALSA CVS update # RME32 driver # Fixed the fullduplex mode. # # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/27 07:33:45+02:00 perex@suse.cz +24 -3 # ALSA CVS update # D:2004/07/27 13:33:45 # C:RME32 driver # F:pci/rme32.c:1.42->1.43 # L:Fixed the fullduplex mode. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:55:42+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Notify PCM buffer overrun of the intermidate buffer on capture. # # Signed-off-by: Takashi Iwai # # include/sound/pcm-indirect.h # 2004/07/27 07:32:38+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/07/27 13:32:38 # C:PCM Midlevel # F:include/pcm-indirect.h:1.2->1.3 # L:Notify PCM buffer overrun of the intermidate buffer on capture. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:55:03+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Fixed/improved XRUN detection # # - don't print XRUN message in the case of draining. # - pointer callback can return SNDRV_PCM_POS_XRUN to notify the middle layer. # # Signed-off-by: Takashi Iwai # # sound/core/pcm_lib.c # 2004/07/27 07:31:03+02:00 perex@suse.cz +29 -13 # ALSA CVS update # D:2004/07/27 13:31:03 # C:PCM Midlevel # F:core/pcm_lib.c:1.56->1.57 # F:include/pcm.h:1.44->1.45 # L:Fixed/improved XRUN detection # L: # L:- don't print XRUN message in the case of draining. # L:- pointer callback can return SNDRV_PCM_POS_XRUN to notify the middle layer. # Signed-off-by: Takashi Iwai # # include/sound/pcm.h # 2004/07/27 07:31:04+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/07/27 13:31:03 # C:PCM Midlevel # F:core/pcm_lib.c:1.56->1.57 # F:include/pcm.h:1.44->1.45 # L:Fixed/improved XRUN detection # L: # L:- don't print XRUN message in the case of draining. # L:- pointer callback can return SNDRV_PCM_POS_XRUN to notify the middle layer. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:54:20+02:00 perex@suse.cz # ALSA CVS update # Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # Unlock BKL in ioctl callback to avoid the long preempt-disabling. # # Signed-off-by: Takashi Iwai # # sound/core/timer.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +14 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_clientmgr.c # 2004/07/27 07:28:37+02:00 perex@suse.cz +7 -1 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss.c # 2004/07/27 07:28:37+02:00 perex@suse.cz +7 -1 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/rawmidi.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +14 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/pcm_native.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +13 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_oss.c # 2004/07/27 07:28:37+02:00 perex@suse.cz +14 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/oss/mixer_oss.c # 2004/07/27 07:28:37+02:00 perex@suse.cz +8 -1 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/info.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +13 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/hwdep.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +14 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # sound/core/control.c # 2004/07/27 07:28:36+02:00 perex@suse.cz +14 -2 # ALSA CVS update # D:2004/07/27 13:28:36 # C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer # F:core/control.c:1.47->1.48 # F:core/hwdep.c:1.26->1.27 # F:core/info.c:1.46->1.47 # F:core/pcm_native.c:1.101->1.102 # F:core/rawmidi.c:1.46->1.47 # F:core/timer.c:1.61->1.62 # F:core/oss/mixer_oss.c:1.34->1.35 # F:core/oss/pcm_oss.c:1.74->1.75 # F:core/seq/seq_clientmgr.c:1.31->1.32 # F:core/seq/oss/seq_oss.c:1.15->1.16 # L:Unlock BKL in ioctl callback to avoid the long preempt-disabling. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:53:36+02:00 perex@suse.cz # ALSA CVS update # ALSA Core # Clean up: removed ifdefs and obsolete codes. # # Signed-off-by: Takashi Iwai # # sound/core/sound.c # 2004/07/27 07:27:18+02:00 perex@suse.cz +0 -32 # ALSA CVS update # D:2004/07/27 13:27:18 # C:ALSA Core # F:core/info_oss.c:1.10->1.11 # F:core/sound.c:1.65->1.66 # F:include/core.h:1.56->1.57 # F:include/info.h:1.16->1.17 # L:Clean up: removed ifdefs and obsolete codes. # Signed-off-by: Takashi Iwai # # sound/core/info_oss.c # 2004/07/27 07:27:18+02:00 perex@suse.cz +0 -12 # ALSA CVS update # D:2004/07/27 13:27:18 # C:ALSA Core # F:core/info_oss.c:1.10->1.11 # F:core/sound.c:1.65->1.66 # F:include/core.h:1.56->1.57 # F:include/info.h:1.16->1.17 # L:Clean up: removed ifdefs and obsolete codes. # Signed-off-by: Takashi Iwai # # include/sound/info.h # 2004/07/27 07:27:18+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/07/27 13:27:18 # C:ALSA Core # F:core/info_oss.c:1.10->1.11 # F:core/sound.c:1.65->1.66 # F:include/core.h:1.56->1.57 # F:include/info.h:1.16->1.17 # L:Clean up: removed ifdefs and obsolete codes. # Signed-off-by: Takashi Iwai # # include/sound/core.h # 2004/07/27 07:27:18+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/27 13:27:18 # C:ALSA Core # F:core/info_oss.c:1.10->1.11 # F:core/sound.c:1.65->1.66 # F:include/core.h:1.56->1.57 # F:include/info.h:1.16->1.17 # L:Clean up: removed ifdefs and obsolete codes. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:52:54+02:00 perex@suse.cz # ALSA CVS update # ALSA Core # Added unlikely() to the debug check macros. # # Signed-off-by: Takashi Iwai # # include/sound/core.h # 2004/07/27 07:22:34+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/27 13:22:34 # C:ALSA Core # F:include/core.h:1.55->1.56 # L:Added unlikely() to the debug check macros. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:52:15+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver # Added master volume control. # # The master volume control is added again, this time with # the digital attenuation so that it works independently from # the DAC volumes. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/07/27 07:15:17+02:00 perex@suse.cz +174 -92 # ALSA CVS update # D:2004/07/27 13:15:17 # C:ICE1712 driver # F:pci/ice1712/aureon.c:1.12->1.13 # L:Added master volume control. # L: # L:The master volume control is added again, this time with # L:the digital attenuation so that it works independently from # L:the DAC volumes. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:51:35+02:00 perex@suse.cz # ALSA CVS update # ALSA Core,MIXART driver # Removed the obsolete NONATOMIC_OPS flag. # # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/07/27 07:13:50+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/27 13:13:50 # C:ALSA Core,MIXART driver # F:include/asound.h:1.42->1.43 # F:pci/mixart/mixart.c:1.14->1.15 # L:Removed the obsolete NONATOMIC_OPS flag. # Signed-off-by: Takashi Iwai # # include/sound/asound.h # 2004/07/27 07:13:50+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/27 13:13:50 # C:ALSA Core,MIXART driver # F:include/asound.h:1.42->1.43 # F:pci/mixart/mixart.c:1.14->1.15 # L:Removed the obsolete NONATOMIC_OPS flag. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:50:56+02:00 perex@suse.cz # ALSA CVS update # PPC PowerMac driver # Fixed typo. # # Signed-off-by: Nicolas Kaiser # Signed-off-by: Jaroslav Kysela # # sound/ppc/powermac.c # 2004/07/27 02:02:26+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/27 08:02:26 # C:PPC PowerMac driver # F:ppc/powermac.c:1.18->1.19 # L:Fixed typo. # Signed-off-by: Nicolas Kaiser # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/28 11:50:16+02:00 perex@suse.cz # ALSA CVS update # PPC PMAC driver # Fixed typo. # # Signed-off-by: Nicolas Kaiser # Signed-off-by: Jaroslav Kysela # # sound/ppc/pmac.h # 2004/07/27 01:35:53+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/27 07:35:53 # C:PPC PMAC driver # F:ppc/pmac.h:1.14->1.15 # L:Fixed typo. # Signed-off-by: Nicolas Kaiser # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/28 11:49:37+02:00 perex@suse.cz # ALSA CVS update # ALSA Core # use list_for_each() in core/memory.c # # Signed-off-by: Domen Puncer # Signed-off-by: Maximilian Attems # Signed-off-by: Jaroslav Kysela # # sound/core/memory.c # 2004/07/26 06:57:39+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/26 12:57:39 # C:ALSA Core # F:core/memory.c:1.30->1.31 # L:use list_for_each() in core/memory.c # Signed-off-by: Domen Puncer # Signed-off-by: Maximilian Attems # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/28 11:48:57+02:00 perex@suse.cz # ALSA CVS update # PPC # The alsa driver for powermacs requires i2c support. # # Signed-off-by: Olaf Hering # Signed-off-by: Jaroslav Kysela # # sound/ppc/Kconfig # 2004/07/26 06:55:56+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/07/26 12:55:56 # C:PPC # F:ppc/Kconfig:1.2->1.3 # L:The alsa driver for powermacs requires i2c support. # Signed-off-by: Olaf Hering # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/28 11:48:18+02:00 perex@suse.cz # ALSA CVS update # BT87x driver # use exact values of analog clock rate # # Signed-off-by: Clemens Ladisch # # sound/pci/bt87x.c # 2004/07/21 02:19:09+02:00 perex@suse.cz +12 -11 # ALSA CVS update # D:2004/07/21 08:19:09 # C:BT87x driver # F:pci/bt87x.c:1.9->1.10 # L:use exact values of analog clock rate # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:47:31+02:00 perex@suse.cz # ALSA CVS update # Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # Common EMU synth # use ARRAY_SIZE() instead of sizeof() computations # # Signed-off-by: Clemens Ladisch # # sound/synth/emux/emux_nrpn.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +3 -11 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/sparc/cs4231.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/sparc/amd7930.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +2 -5 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/ppc/daca.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/ppc/burgundy.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/ppc/awacs.c # 2004/07/20 10:54:28+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/ymfpci/ymfpci_main.c # 2004/07/20 10:54:27+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/sonicvibes.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/rme9652/rme9652.c # 2004/07/20 10:54:27+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/rme9652/hdsp.c # 2004/07/20 10:54:27+02:00 perex@suse.cz +4 -12 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/rme96.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/rme32.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/nm256/nm256.c # 2004/07/20 10:54:26+02:00 perex@suse.cz +2 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/maestro3.c # 2004/07/20 10:54:24+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/korg1212/korg1212.c # 2004/07/20 10:54:26+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0.c # 2004/07/20 10:54:24+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/ice1712/ice1712.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/fm801.c # 2004/07/20 10:54:24+02:00 perex@suse.cz +3 -5 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/cs46xx/dsp_spos.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/cs4281.c # 2004/07/20 10:54:23+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/cmipci.c # 2004/07/20 10:54:23+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/azt3328.c # 2004/07/20 10:54:23+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/pci/ac97/ak4531_codec.c # 2004/07/20 10:54:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/parisc/harmony.c # 2004/07/20 10:54:23+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/sb/emu8000_local.h # 2004/07/20 10:54:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/sb/emu8000.c # 2004/07/20 10:54:23+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/opl3sa2.c # 2004/07/20 10:54:21+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/gus/interwave.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +3 -5 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/gus/gus_mixer.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +2 -6 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/es1688/es1688_lib.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/cs423x/cs4236_lib.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +6 -18 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/cs423x/cs4231_lib.c # 2004/07/20 10:54:22+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/isa/ad1816a/ad1816a_lib.c # 2004/07/20 10:54:21+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/i2c/tea6330t.c # 2004/07/20 10:54:12+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/i2c/l3/uda1341.c # 2004/07/20 10:54:13+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/i2c/cs8427.c # 2004/07/20 10:54:12+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/drivers/dummy.c # 2004/07/20 10:54:12+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/core/pcm_native.c # 2004/07/20 10:54:09+02:00 perex@suse.cz +4 -5 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/core/pcm_lib.c # 2004/07/20 10:54:09+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/core/oss/pcm_plugin.c # 2004/07/20 10:54:11+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/core/oss/mixer_oss.c # 2004/07/20 10:54:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/core/ioctl32/pcm32.c # 2004/07/20 10:54:10+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # sound/arm/sa11xx-uda1341.c # 2004/07/20 10:54:09+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/20 10:54:09+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/20 16:54:09 # C:Documentation,SA11xx UDA1341 driver,PCM Midlevel,IOCTL32 emulation # C:ALSA<-OSS emulation,Generic drivers,I2C cs8427,I2C tea6330t,L3 drivers # C:OPL3SA2 driver,AD1816A driver,CS4231 driver,CS4236+ driver # C:ES1688 driver,GUS Library,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,PARISC Harmony driver,AZT3328 driver,CMIPCI driver # C:CS4281 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,AK4531 codec,CS46xx driver # C:ICE1712 driver,KORG1212 driver,NM256 driver,RME HDSP driver # C:RME9652 driver,YMFPCI driver,PPC AWACS driver,PPC Burgundy driver # C:PPC DACA driver,SPARC AMD7930 driver,SPARC cs4231 driver # C:Common EMU synth # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.36->1.37 # F:arm/sa11xx-uda1341.c:1.17->1.18 # F:core/pcm_lib.c:1.55->1.56 # F:core/pcm_native.c:1.100->1.101 # F:core/ioctl32/pcm32.c:1.17->1.18 # F:core/oss/mixer_oss.c:1.33->1.34 # F:core/oss/pcm_plugin.c:1.21->1.22 # F:drivers/dummy.c:1.31->1.32 # F:i2c/cs8427.c:1.20->1.21 # F:i2c/tea6330t.c:1.9->1.10 # F:i2c/l3/uda1341.c:1.12->1.13 # F:isa/opl3sa2.c:1.37->1.38 # F:isa/ad1816a/ad1816a_lib.c:1.23->1.24 # F:isa/cs423x/cs4231_lib.c:1.42->1.43 # F:isa/cs423x/cs4236_lib.c:1.11->1.12 # F:isa/es1688/es1688_lib.c:1.26->1.27 # F:isa/gus/gus_mixer.c:1.9->1.10 # F:isa/gus/interwave.c:1.35->1.36 # F:isa/opti9xx/opti92x-ad1848.c:1.47->1.48 # F:isa/sb/emu8000.c:1.22->1.23 # F:isa/sb/emu8000_local.h:1.5->1.6 # F:parisc/harmony.c:1.14->1.15 # F:pci/azt3328.c:1.17->1.18 # F:pci/cmipci.c:1.72->1.73 # F:pci/cs4281.c:1.61->1.62 # F:pci/fm801.c:1.51->1.52 # F:pci/intel8x0.c:1.149->1.150 # F:pci/maestro3.c:1.58->1.59 # F:pci/rme32.c:1.41->1.42 # F:pci/rme96.c:1.41->1.42 # F:pci/sonicvibes.c:1.39->1.40 # F:pci/ac97/ak4531_codec.c:1.12->1.13 # F:pci/cs46xx/cs46xx_lib.c:1.80->1.81 # F:pci/cs46xx/dsp_spos.c:1.25->1.26 # F:pci/ice1712/ice1712.c:1.59->1.60 # F:pci/korg1212/korg1212.c:1.44->1.45 # F:pci/nm256/nm256.c:1.47->1.48 # F:pci/rme9652/hdsp.c:1.64->1.65 # F:pci/rme9652/rme9652.c:1.50->1.51 # F:pci/ymfpci/ymfpci_main.c:1.55->1.56 # F:ppc/awacs.c:1.23->1.24 # F:ppc/burgundy.c:1.12->1.13 # F:ppc/daca.c:1.12->1.13 # F:sparc/amd7930.c:1.11->1.12 # F:sparc/cs4231.c:1.15->1.16 # F:synth/emux/emux_nrpn.c:1.6->1.7 # L:use ARRAY_SIZE() instead of sizeof() computations # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:46:40+02:00 perex@suse.cz # ALSA CVS update # ALI5451 driver # Added the missing snd_power_change_state() in the resume callback. # # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/07/16 04:48:16+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/16 10:48:16 # C:ALI5451 driver # F:pci/ali5451/ali5451.c:1.55->1.56 # L:Added the missing snd_power_change_state() in the resume callback. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:46:00+02:00 perex@suse.cz # ALSA CVS update # ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # VIA82xx driver # Clean up the suspend/resume: save/restore of pci state # # PCI status is restored in the common resume callback. # (Stored in the saved_config array of pci_dev struct.) # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/15 10:25:22+02:00 perex@suse.cz +0 -3 # ALSA CVS update # D:2004/07/15 16:25:21 # C:ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:VIA82xx driver # F:core/init.c:1.47->1.48 # F:pci/atiixp.c:1.18->1.19 # F:pci/atiixp_modem.c:1.3->1.4 # F:pci/intel8x0.c:1.148->1.149 # F:pci/via82xx.c:1.112->1.113 # L:Clean up the suspend/resume: save/restore of pci state # L: # L:PCI status is restored in the common resume callback. # L:(Stored in the saved_config array of pci_dev struct.) # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/15 10:25:22+02:00 perex@suse.cz +0 -6 # ALSA CVS update # D:2004/07/15 16:25:21 # C:ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:VIA82xx driver # F:core/init.c:1.47->1.48 # F:pci/atiixp.c:1.18->1.19 # F:pci/atiixp_modem.c:1.3->1.4 # F:pci/intel8x0.c:1.148->1.149 # F:pci/via82xx.c:1.112->1.113 # L:Clean up the suspend/resume: save/restore of pci state # L: # L:PCI status is restored in the common resume callback. # L:(Stored in the saved_config array of pci_dev struct.) # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/15 10:25:22+02:00 perex@suse.cz +0 -6 # ALSA CVS update # D:2004/07/15 16:25:21 # C:ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:VIA82xx driver # F:core/init.c:1.47->1.48 # F:pci/atiixp.c:1.18->1.19 # F:pci/atiixp_modem.c:1.3->1.4 # F:pci/intel8x0.c:1.148->1.149 # F:pci/via82xx.c:1.112->1.113 # L:Clean up the suspend/resume: save/restore of pci state # L: # L:PCI status is restored in the common resume callback. # L:(Stored in the saved_config array of pci_dev struct.) # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/15 10:25:22+02:00 perex@suse.cz +0 -6 # ALSA CVS update # D:2004/07/15 16:25:21 # C:ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:VIA82xx driver # F:core/init.c:1.47->1.48 # F:pci/atiixp.c:1.18->1.19 # F:pci/atiixp_modem.c:1.3->1.4 # F:pci/intel8x0.c:1.148->1.149 # F:pci/via82xx.c:1.112->1.113 # L:Clean up the suspend/resume: save/restore of pci state # L: # L:PCI status is restored in the common resume callback. # L:(Stored in the saved_config array of pci_dev struct.) # Signed-off-by: Takashi Iwai # # sound/core/init.c # 2004/07/15 10:25:21+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/07/15 16:25:21 # C:ALSA Core,ATIIXP driver,ATIIXP-modem driver,Intel8x0 driver # C:VIA82xx driver # F:core/init.c:1.47->1.48 # F:pci/atiixp.c:1.18->1.19 # F:pci/atiixp_modem.c:1.3->1.4 # F:pci/intel8x0.c:1.148->1.149 # F:pci/via82xx.c:1.112->1.113 # L:Clean up the suspend/resume: save/restore of pci state # L: # L:PCI status is restored in the common resume callback. # L:(Stored in the saved_config array of pci_dev struct.) # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:45:19+02:00 perex@suse.cz # ALSA CVS update # Documentation # Changed the description of PCI resource allocation to use pci_request_regions(). # # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/15 08:46:13+02:00 perex@suse.cz +60 -53 # ALSA CVS update # D:2004/07/15 14:46:13 # C:Documentation # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.35->1.36 # L:Changed the description of PCI resource allocation to use pci_request_regions(). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:44:34+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # Clean up the PCI resource allocation. # # Replaced the manual resource allocations with request_[mem_]region() # with pci_request_regions(). # # Signed-off-by: Takashi Iwai # # sound/pci/vx222/vx222.h # 2004/07/15 08:43:28+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/vx222/vx222.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +8 -20 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +7 -12 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_main.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +6 -10 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/sonicvibes.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +10 -42 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/rme9652.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +7 -12 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +5 -13 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/rme96.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -11 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -11 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +7 -15 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +9 -14 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +6 -42 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +13 -42 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +16 -44 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/07/15 08:43:28+02:00 perex@suse.cz +7 -21 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.h # 2004/07/15 08:43:28+02:00 perex@suse.cz +0 -4 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +11 -40 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/fm801.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +5 -10 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -11 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/es1938.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +5 -50 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/ens1370.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +5 -10 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_main.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +7 -9 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/cs4281.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +11 -25 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/cmipci.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -10 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/bt87x.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +4 -12 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/azt3328.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -50 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +8 -13 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +8 -14 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/als4000.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +6 -11 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/07/15 08:43:27+02:00 perex@suse.cz +7 -10 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # include/sound/trident.h # 2004/07/15 08:43:26+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # include/sound/emu10k1.h # 2004/07/15 08:43:26+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/15 14:43:26 # C:EMU10K1/EMU10K2 driver,Trident driver,ALS4000 driver,ATIIXP driver # C:ATIIXP-modem driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:ALI5451 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,RME HDSP driver,RME9652 driver,Digigram VX222 driver # F:include/emu10k1.h:1.43->1.44 # F:include/trident.h:1.19->1.20 # F:pci/als4000.c:1.36->1.37 # F:pci/atiixp.c:1.17->1.18 # F:pci/atiixp_modem.c:1.2->1.3 # F:pci/azt3328.c:1.16->1.17 # F:pci/bt87x.c:1.8->1.9 # F:pci/cmipci.c:1.71->1.72 # F:pci/cs4281.c:1.60->1.61 # F:pci/ens1370.c:1.65->1.66 # F:pci/es1938.c:1.39->1.40 # F:pci/es1968.c:1.73->1.74 # F:pci/fm801.c:1.50->1.51 # F:pci/intel8x0.c:1.147->1.148 # F:pci/intel8x0m.c:1.11->1.12 # F:pci/maestro3.c:1.57->1.58 # F:pci/rme32.c:1.40->1.41 # F:pci/rme96.c:1.40->1.41 # F:pci/sonicvibes.c:1.38->1.39 # F:pci/via82xx.c:1.111->1.112 # F:pci/ali5451/ali5451.c:1.54->1.55 # F:pci/emu10k1/emu10k1_main.c:1.36->1.37 # F:pci/ice1712/ice1712.c:1.58->1.59 # F:pci/ice1712/ice1712.h:1.22->1.23 # F:pci/ice1712/ice1724.c:1.40->1.41 # F:pci/korg1212/korg1212.c:1.43->1.44 # F:pci/mixart/mixart.c:1.13->1.14 # F:pci/rme9652/hdsp.c:1.63->1.64 # F:pci/rme9652/rme9652.c:1.49->1.50 # F:pci/trident/trident_main.c:1.62->1.63 # F:pci/vx222/vx222.c:1.7->1.8 # F:pci/vx222/vx222.h:1.1->1.2 # L:Clean up the PCI resource allocation. # L: # L:Replaced the manual resource allocations with request_[mem_]region() # L:with pci_request_regions(). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:43:47+02:00 perex@suse.cz # ALSA CVS update # ALI5451 driver # Fixed the suspend/resume. # # The suspend callback wasn't set the power state correctly, so # the resume process was skipped. # # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/07/15 04:21:50+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/15 10:21:50 # C:ALI5451 driver # F:pci/ali5451/ali5451.c:1.53->1.54 # L:Fixed the suspend/resume. # L: # L:The suspend callback wasn't set the power state correctly, so # L:the resume process was skipped. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:43:07+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Fixed the detection of Audigy 2 ZS. # # Signed-off-by: Lee Revell # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_main.c # 2004/07/15 04:19:17+02:00 perex@suse.cz +9 -6 # ALSA CVS update # D:2004/07/15 10:19:17 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emu10k1_main.c:1.35->1.36 # L:Fixed the detection of Audigy 2 ZS. # Signed-off-by: Lee Revell # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:42:29+02:00 perex@suse.cz # ALSA CVS update # ALSA sequencer # Fixed the bad check on copy_from_user() return value # # Signed-off-by: Mika Kukkonen # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_memory.c # 2004/07/15 04:13:36+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/15 10:13:36 # C:ALSA sequencer # F:core/seq/seq_memory.c:1.16->1.17 # L:Fixed the bad check on copy_from_user() return value # Signed-off-by: Mika Kukkonen # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:41:49+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Added the ac97_quirk entry for ECS K7VTA3 v8.0 mobo. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/15 04:10:40+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/07/15 10:10:40 # C:VIA82xx driver # F:pci/via82xx.c:1.110->1.111 # L:Added the ac97_quirk entry for ECS K7VTA3 v8.0 mobo. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:41:09+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Enable low latency EFX capture on emu10k1 # # The following patch fixes EFX capture on the emu10k1. The # capture_period_sizes table is in bytes, but the hardware constraint was # being set in frames. # # Signed-off-by: Lee Revell # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/07/14 11:14:54+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/14 17:14:54 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emupcm.c:1.30->1.31 # L:Enable low latency EFX capture on emu10k1 # L: # L:The following patch fixes EFX capture on the emu10k1. The # L:capture_period_sizes table is in bytes, but the hardware constraint was # L:being set in frames. # Signed-off-by: Lee Revell # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:40:28+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core,Intel8x0 driver,Intel8x0-modem driver # Fixed the detection of sample rates with no VRA support. # # - Changed ac97bus->vra to ac97bus->no_vra to indicate the VRA is NOT # supported. # - In the case of no_vra=1, only 48k is set as the possible rates in # snd_ac97_pcm_assign(). # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/14 10:37:32+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/14 16:37:32 # C:AC97 Codec Core,Intel8x0 driver,Intel8x0-modem driver # F:include/ac97_codec.h:1.48->1.49 # F:pci/intel8x0.c:1.146->1.147 # F:pci/intel8x0m.c:1.10->1.11 # F:pci/ac97/ac97_pcm.c:1.15->1.16 # L:Fixed the detection of sample rates with no VRA support. # L: # L:- Changed ac97bus->vra to ac97bus->no_vra to indicate the VRA is NOT # L: supported. # L:- In the case of no_vra=1, only 48k is set as the possible rates in # L: snd_ac97_pcm_assign(). # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/14 10:37:32+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/14 16:37:32 # C:AC97 Codec Core,Intel8x0 driver,Intel8x0-modem driver # F:include/ac97_codec.h:1.48->1.49 # F:pci/intel8x0.c:1.146->1.147 # F:pci/intel8x0m.c:1.10->1.11 # F:pci/ac97/ac97_pcm.c:1.15->1.16 # L:Fixed the detection of sample rates with no VRA support. # L: # L:- Changed ac97bus->vra to ac97bus->no_vra to indicate the VRA is NOT # L: supported. # L:- In the case of no_vra=1, only 48k is set as the possible rates in # L: snd_ac97_pcm_assign(). # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_pcm.c # 2004/07/14 10:37:33+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/07/14 16:37:32 # C:AC97 Codec Core,Intel8x0 driver,Intel8x0-modem driver # F:include/ac97_codec.h:1.48->1.49 # F:pci/intel8x0.c:1.146->1.147 # F:pci/intel8x0m.c:1.10->1.11 # F:pci/ac97/ac97_pcm.c:1.15->1.16 # L:Fixed the detection of sample rates with no VRA support. # L: # L:- Changed ac97bus->vra to ac97bus->no_vra to indicate the VRA is NOT # L: supported. # L:- In the case of no_vra=1, only 48k is set as the possible rates in # L: snd_ac97_pcm_assign(). # Signed-off-by: Takashi Iwai # # include/sound/ac97_codec.h # 2004/07/14 10:37:32+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/14 16:37:32 # C:AC97 Codec Core,Intel8x0 driver,Intel8x0-modem driver # F:include/ac97_codec.h:1.48->1.49 # F:pci/intel8x0.c:1.146->1.147 # F:pci/intel8x0m.c:1.10->1.11 # F:pci/ac97/ac97_pcm.c:1.15->1.16 # L:Fixed the detection of sample rates with no VRA support. # L: # L:- Changed ac97bus->vra to ac97bus->no_vra to indicate the VRA is NOT # L: supported. # L:- In the case of no_vra=1, only 48k is set as the possible rates in # L: snd_ac97_pcm_assign(). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:39:42+02:00 perex@suse.cz # ALSA CVS update # ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # USB generic driver # Clean up spinlocks. # # - Removed superfluous spinlocks. # - Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # - Make sure that prepare callback be non-atomic. # - Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # # Signed-off-by: Takashi Iwai # # sound/usb/usbaudio.c # 2004/07/14 10:33:21+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/07/14 10:33:21+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/ymfpci/ymfpci_main.c # 2004/07/14 10:33:21+02:00 perex@suse.cz +34 -51 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +9 -13 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_main.c # 2004/07/14 10:33:21+02:00 perex@suse.cz +36 -49 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/sonicvibes.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +16 -24 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/rme9652.c # 2004/07/14 10:33:20+02:00 perex@suse.cz +43 -62 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/07/14 10:33:20+02:00 perex@suse.cz +58 -86 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/rme96.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +61 -85 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +43 -58 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/nm256/nm256.c # 2004/07/14 10:33:20+02:00 perex@suse.cz +10 -16 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/07/14 10:33:20+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +11 -16 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/07/14 10:33:20+02:00 perex@suse.cz +23 -33 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +16 -18 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/07/14 10:33:19+02:00 perex@suse.cz +37 -17 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.c # 2004/07/14 10:33:19+02:00 perex@suse.cz +10 -10 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/fm801.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +16 -22 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/ens1370.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +22 -33 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +17 -23 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +14 -22 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/cs4281.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +17 -22 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/cmipci.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +44 -65 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/bt87x.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +12 -20 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/azt3328.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +14 -23 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +10 -12 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/als4000.c # 2004/07/14 10:33:17+02:00 perex@suse.cz +14 -20 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/07/14 10:33:18+02:00 perex@suse.cz +3 -4 # ALSA CVS update # D:2004/07/14 16:33:17 # C:ALS4000 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver # C:BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,ALI5451 driver # C:CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver # C:RME9652 driver,Trident driver,YMFPCI driver,PPC PMAC driver # C:USB generic driver # F:pci/als4000.c:1.35->1.36 # F:pci/atiixp.c:1.16->1.17 # F:pci/atiixp_modem.c:1.1->1.2 # F:pci/azt3328.c:1.15->1.16 # F:pci/bt87x.c:1.7->1.8 # F:pci/cmipci.c:1.70->1.71 # F:pci/cs4281.c:1.59->1.60 # F:pci/ens1370.c:1.64->1.65 # F:pci/es1968.c:1.72->1.73 # F:pci/fm801.c:1.49->1.50 # F:pci/intel8x0.c:1.145->1.146 # F:pci/maestro3.c:1.56->1.57 # F:pci/rme32.c:1.39->1.40 # F:pci/rme96.c:1.39->1.40 # F:pci/sonicvibes.c:1.37->1.38 # F:pci/via82xx.c:1.109->1.110 # F:pci/ali5451/ali5451.c:1.52->1.53 # F:pci/cs46xx/cs46xx_lib.c:1.79->1.80 # F:pci/emu10k1/emupcm.c:1.29->1.30 # F:pci/ice1712/ice1712.c:1.57->1.58 # F:pci/ice1712/ice1724.c:1.39->1.40 # F:pci/korg1212/korg1212.c:1.42->1.43 # F:pci/mixart/mixart.c:1.12->1.13 # F:pci/nm256/nm256.c:1.46->1.47 # F:pci/rme9652/hdsp.c:1.62->1.63 # F:pci/rme9652/rme9652.c:1.48->1.49 # F:pci/trident/trident_main.c:1.61->1.62 # F:pci/ymfpci/ymfpci_main.c:1.54->1.55 # F:ppc/pmac.c:1.32->1.33 # F:usb/usbaudio.c:1.105->1.106 # L:Clean up spinlocks. # L: # L:- Removed superfluous spinlocks. # L:- Replaced spin_lock_irqsave() with spin_lock_irq() in the obvious places. # L:- Make sure that prepare callback be non-atomic. # L:- Removed SNDRV_PCM_INFO_NONATOMIC_OPS flag (which is default now). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:38:54+02:00 perex@suse.cz # ALSA CVS update # Documentation,PCM Midlevel # Changed the atomicity of PCM prepare callback. # # The PCM prepare callback is now non-atomic, so that the driver can # use the functions calling schedule (e.g. kmalloc with GFP_KERNEL). # # Signed-off-by: Takashi Iwai # # sound/core/pcm_native.c # 2004/07/14 10:30:37+02:00 perex@suse.cz +34 -57 # ALSA CVS update # D:2004/07/14 16:30:37 # C:Documentation,PCM Midlevel # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.34->1.35 # F:core/pcm_lib.c:1.54->1.55 # F:core/pcm_native.c:1.99->1.100 # L:Changed the atomicity of PCM prepare callback. # L: # L:The PCM prepare callback is now non-atomic, so that the driver can # L:use the functions calling schedule (e.g. kmalloc with GFP_KERNEL). # Signed-off-by: Takashi Iwai # # sound/core/pcm_lib.c # 2004/07/14 10:30:37+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/07/14 16:30:37 # C:Documentation,PCM Midlevel # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.34->1.35 # F:core/pcm_lib.c:1.54->1.55 # F:core/pcm_native.c:1.99->1.100 # L:Changed the atomicity of PCM prepare callback. # L: # L:The PCM prepare callback is now non-atomic, so that the driver can # L:use the functions calling schedule (e.g. kmalloc with GFP_KERNEL). # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/14 10:30:37+02:00 perex@suse.cz +13 -7 # ALSA CVS update # D:2004/07/14 16:30:37 # C:Documentation,PCM Midlevel # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.34->1.35 # F:core/pcm_lib.c:1.54->1.55 # F:core/pcm_native.c:1.99->1.100 # L:Changed the atomicity of PCM prepare callback. # L: # L:The PCM prepare callback is now non-atomic, so that the driver can # L:use the functions calling schedule (e.g. kmalloc with GFP_KERNEL). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:38:13+02:00 perex@suse.cz # ALSA CVS update # CS46xx driver # Fixed a compile warning in the debug code. # # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/13 11:19:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/13 17:19:24 # C:CS46xx driver # F:pci/cs46xx/cs46xx_lib.c:1.78->1.79 # L:Fixed a compile warning in the debug code. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:37:33+02:00 perex@suse.cz # ALSA CVS update # Intel8x0-modem driver # Added -MODEM suffix to the driver name string to distinguish from the # intel8x0 audio driver. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/12 11:20:01+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/07/12 17:20:01 # C:Intel8x0-modem driver # F:pci/intel8x0m.c:1.9->1.10 # L:Added -MODEM suffix to the driver name string to distinguish from the # L:intel8x0 audio driver. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:36:54+02:00 perex@suse.cz # ALSA CVS update # Control Midlevel # Fixed the unbalanced spinlock in the error path. # # Signed-off-by: Takashi Iwai # # sound/core/control.c # 2004/07/12 10:31:48+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/07/12 16:31:48 # C:Control Midlevel # F:core/control.c:1.46->1.47 # L:Fixed the unbalanced spinlock in the error path. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:36:14+02:00 perex@suse.cz # ALSA CVS update # Memalloc module # Mark the allocated DMA pages as reserved for certain architectures. # # Signed-off-by: Takashi Iwai # # sound/core/memalloc.c # 2004/07/12 10:31:05+02:00 perex@suse.cz +28 -12 # ALSA CVS update # D:2004/07/12 16:31:05 # C:Memalloc module # F:core/memalloc.c:1.34->1.35 # L:Mark the allocated DMA pages as reserved for certain architectures. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:35:35+02:00 perex@suse.cz # ALSA CVS update # Documentation,PCI drivers,ATIIXP-modem driver # Added snd-atiixp driver for ATI IXP AC97 modem controllers. # # Signed-off-by: Takashi Iwai # # sound/pci/Makefile # 2004/07/12 09:13:58+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/07/12 15:13:58 # C:Documentation,PCI drivers,ATIIXP-modem driver # F:Documentation/ALSA-Configuration.txt:1.47->1.48 # F:pci/Kconfig:1.28->1.29 # F:pci/Makefile:1.16->1.17 # F:pci/atiixp_modem.c:INITIAL->1.1 # L:Added snd-atiixp driver for ATI IXP AC97 modem controllers. # Signed-off-by: Takashi Iwai # # sound/pci/Kconfig # 2004/07/12 09:13:58+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/07/12 15:13:58 # C:Documentation,PCI drivers,ATIIXP-modem driver # F:Documentation/ALSA-Configuration.txt:1.47->1.48 # F:pci/Kconfig:1.28->1.29 # F:pci/Makefile:1.16->1.17 # F:pci/atiixp_modem.c:INITIAL->1.1 # L:Added snd-atiixp driver for ATI IXP AC97 modem controllers. # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/07/12 09:13:58+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/07/12 15:13:58 # C:Documentation,PCI drivers,ATIIXP-modem driver # F:Documentation/ALSA-Configuration.txt:1.47->1.48 # F:pci/Kconfig:1.28->1.29 # F:pci/Makefile:1.16->1.17 # F:pci/atiixp_modem.c:INITIAL->1.1 # L:Added snd-atiixp driver for ATI IXP AC97 modem controllers. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/28 10:46:36+02:00 perex@suse.cz +1364 -0 # ALSA CVS update # D:2004/07/12 15:13:58 # C:Documentation,PCI drivers,ATIIXP-modem driver # F:Documentation/ALSA-Configuration.txt:1.47->1.48 # F:pci/Kconfig:1.28->1.29 # F:pci/Makefile:1.16->1.17 # F:pci/atiixp_modem.c:INITIAL->1.1 # L:Added snd-atiixp driver for ATI IXP AC97 modem controllers. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp_modem.c # 2004/07/28 10:46:36+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/pci/atiixp_modem.c # # ChangeSet # 2004/07/28 11:34:52+02:00 perex@suse.cz # ALSA CVS update # ATIIXP driver # Fixed a typo in the check of buffer/period size configuration. # # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/12 09:13:06+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/12 15:13:06 # C:ATIIXP driver # F:pci/atiixp.c:1.15->1.16 # L:Fixed a typo in the check of buffer/period size configuration. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:34:13+02:00 perex@suse.cz # ALSA CVS update # RME HDSP driver # ALSA rme9652/hdsp: remove inlines # # The patch below removes all inlines from hdsp.c. As a side effect, it # showed that snd_hdsp_9652_disable_mixer() is completely unused, and it's # therefore also removed in the patch. # # Signed-off-by: Adrian Bunk # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/07/12 09:12:20+02:00 perex@suse.cz +32 -38 # ALSA CVS update # D:2004/07/12 15:12:20 # C:RME HDSP driver # F:pci/rme9652/hdsp.c:1.61->1.62 # L:ALSA rme9652/hdsp: remove inlines # L: # L:The patch below removes all inlines from hdsp.c. As a side effect, it # L:showed that snd_hdsp_9652_disable_mixer() is completely unused, and it's # L:therefore also removed in the patch. # Signed-off-by: Adrian Bunk # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:33:33+02:00 perex@suse.cz # ALSA CVS update # Documentation # fix typo # # Signed-off-by: Clemens Ladisch # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/12 03:27:41+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/07/12 09:27:41 # C:Documentation # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.33->1.34 # L:fix typo # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:32:54+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS emulation # fix missing semaphore release in snd_mixer_oss_build_input() # # Signed-off-by: Clemens Ladisch # # sound/core/oss/mixer_oss.c # 2004/07/06 03:03:52+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/07/06 09:03:52 # C:ALSA<-OSS emulation # F:core/oss/mixer_oss.c:1.32->1.33 # L:fix missing semaphore release in snd_mixer_oss_build_input() # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:32:11+02:00 perex@suse.cz # ALSA CVS update # Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # NM256 driver,Trident driver,YMFPCI driver # replace ac97_t template with ac97_template_t # # Signed-off-by: Clemens Ladisch # # sound/pci/ymfpci/ymfpci_main.c # 2004/07/05 10:07:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/via82xx.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/trident/trident_main.c # 2004/07/05 10:07:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/nm256/nm256.c # 2004/07/05 10:07:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/maestro3.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0m.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +18 -6 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/ice1712/ice1724.c # 2004/07/05 10:07:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/ice1712/ice1712.c # 2004/07/05 10:07:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/fm801.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/es1968.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/ens1370.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/emu10k1/emumixer.c # 2004/07/05 10:07:23+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/cs4281.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/au88x0/au88x0_mixer.c # 2004/07/05 10:07:23+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/atiixp.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/ali5451/ali5451.c # 2004/07/05 10:07:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # sound/pci/ac97/ac97_codec.c # 2004/07/05 10:07:02+02:00 perex@suse.cz +16 -11 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # include/sound/ac97_codec.h # 2004/07/05 10:06:12+02:00 perex@suse.cz +13 -1 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/05 10:06:34+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/05 16:06:34 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver # C:NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.32->1.33 # F:include/ac97_codec.h:1.47->1.48 # F:pci/atiixp.c:1.14->1.15 # F:pci/cs4281.c:1.58->1.59 # F:pci/ens1370.c:1.63->1.64 # F:pci/es1968.c:1.71->1.72 # F:pci/fm801.c:1.48->1.49 # F:pci/intel8x0.c:1.144->1.145 # F:pci/intel8x0m.c:1.8->1.9 # F:pci/maestro3.c:1.55->1.56 # F:pci/via82xx.c:1.108->1.109 # F:pci/ac97/ac97_codec.c:1.140->1.141 # F:pci/ali5451/ali5451.c:1.51->1.52 # F:pci/au88x0/au88x0_mixer.c:1.2->1.3 # F:pci/emu10k1/emumixer.c:1.24->1.25 # F:pci/ice1712/ice1712.c:1.56->1.57 # F:pci/ice1712/ice1724.c:1.38->1.39 # F:pci/nm256/nm256.c:1.45->1.46 # F:pci/trident/trident_main.c:1.60->1.61 # F:pci/ymfpci/ymfpci_main.c:1.53->1.54 # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:31:26+02:00 perex@suse.cz # ALSA CVS update # CS46xx driver # change codec index computation in snd_cs46xx_read/write; # replace ac97_t template with ac97_template_t # # Signed-off-by: Clemens Ladisch # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/05 10:05:49+02:00 perex@suse.cz +30 -34 # ALSA CVS update # D:2004/07/05 16:05:49 # C:CS46xx driver # F:pci/cs46xx/cs46xx_lib.c:1.77->1.78 # L:change codec index computation in snd_cs46xx_read/write; # L:replace ac97_t template with ac97_template_t # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:30:46+02:00 perex@suse.cz # ALSA CVS update # Memalloc module # - Don't mark pages from dma_alloc_coherent as reserved. # The pages from __get_free_pages() are still marked as reserved, but this could # be also unnecessary. # - Fixed a typo in comment. # - Fixed the pre-allocated buffer size for rme9652 & hdsp. # # Signed-off-by: Takashi Iwai # # sound/core/memalloc.c # 2004/07/05 08:12:12+02:00 perex@suse.cz +28 -24 # ALSA CVS update # D:2004/07/05 14:12:12 # C:Memalloc module # F:core/memalloc.c:1.33->1.34 # L:- Don't mark pages from dma_alloc_coherent as reserved. # L: The pages from __get_free_pages() are still marked as reserved, but this could # L: be also unnecessary. # L:- Fixed a typo in comment. # L:- Fixed the pre-allocated buffer size for rme9652 & hdsp. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:30:06+02:00 perex@suse.cz # ALSA CVS update # Documentation # Fixed missing . # # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/05 05:46:45+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/07/05 11:46:45 # C:Documentation # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.31->1.32 # L:Fixed missing . # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:29:26+02:00 perex@suse.cz # ALSA CVS update # ALSA Core # Fixed compile warnings withoug CONFIG_PM. # # Signed-off-by: Takashi Iwai # # include/sound/core.h # 2004/07/05 05:43:26+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/05 11:43:26 # C:ALSA Core # F:include/core.h:1.54->1.55 # L:Fixed compile warnings withoug CONFIG_PM. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:28:47+02:00 perex@suse.cz # ALSA CVS update # Documentation # Removed obsolete sndmagic.h. # # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/alsa-driver-api.tmpl # 2004/07/05 05:42:54+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/05 11:42:54 # C:Documentation # F:Documentation/DocBook/alsa-driver-api.tmpl:1.5->1.6 # L:Removed obsolete sndmagic.h. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/28 11:28:03+02:00 perex@suse.cz # ALSA CVS update # Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # move AC'97 bus callbacks into seperate ops record; # remove ac97_bus_t template requirement from snd_ac97_bus() # # Signed-off-by: Clemens Ladisch # # sound/pci/ymfpci/ymfpci_main.c # 2004/07/05 03:09:14+02:00 perex@suse.cz +6 -7 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/via82xx.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +8 -9 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/trident/trident_main.c # 2004/07/05 03:09:14+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/nm256/nm256.c # 2004/07/05 03:09:14+02:00 perex@suse.cz +7 -6 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/maestro3.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0m.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +11 -12 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +20 -16 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/ice1712/ice1724.c # 2004/07/05 03:09:13+02:00 perex@suse.cz +7 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/ice1712/ice1712.c # 2004/07/05 03:09:13+02:00 perex@suse.cz +12 -10 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/fm801.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +6 -7 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/es1968.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/ens1370.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/emu10k1/emumixer.c # 2004/07/05 03:09:13+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/05 03:09:13+02:00 perex@suse.cz +9 -10 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/cs4281.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +6 -7 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/au88x0/au88x0_mixer.c # 2004/07/05 03:09:12+02:00 perex@suse.cz +6 -5 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/atiixp.c # 2004/07/05 03:09:11+02:00 perex@suse.cz +7 -7 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/ali5451/ali5451.c # 2004/07/05 03:09:12+02:00 perex@suse.cz +6 -7 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # sound/pci/ac97/ac97_codec.c # 2004/07/05 03:09:12+02:00 perex@suse.cz +42 -40 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # include/sound/ac97_codec.h # 2004/07/05 03:09:03+02:00 perex@suse.cz +8 -3 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/05 03:09:02+02:00 perex@suse.cz +15 -14 # ALSA CVS update # D:2004/07/05 09:09:02 # C:Documentation,AC97 Codec Core,ATIIXP driver,CS4281 driver # C:ENS1370/1+ driver,ES1968 driver,FM801 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,VIA82xx driver,ALI5451 driver # C:au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver,ICE1712 driver # C:ICE1724 driver,NM256 driver,Trident driver,YMFPCI driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.30->1.31 # F:include/ac97_codec.h:1.46->1.47 # F:pci/atiixp.c:1.13->1.14 # F:pci/cs4281.c:1.57->1.58 # F:pci/ens1370.c:1.62->1.63 # F:pci/es1968.c:1.70->1.71 # F:pci/fm801.c:1.47->1.48 # F:pci/intel8x0.c:1.143->1.144 # F:pci/intel8x0m.c:1.7->1.8 # F:pci/maestro3.c:1.54->1.55 # F:pci/via82xx.c:1.107->1.108 # F:pci/ac97/ac97_codec.c:1.139->1.140 # F:pci/ali5451/ali5451.c:1.50->1.51 # F:pci/au88x0/au88x0_mixer.c:1.1->1.2 # F:pci/cs46xx/cs46xx_lib.c:1.76->1.77 # F:pci/emu10k1/emumixer.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.55->1.56 # F:pci/ice1712/ice1724.c:1.37->1.38 # F:pci/nm256/nm256.c:1.44->1.45 # F:pci/trident/trident_main.c:1.59->1.60 # F:pci/ymfpci/ymfpci_main.c:1.52->1.53 # L:move AC'97 bus callbacks into seperate ops record; # L:remove ac97_bus_t template requirement from snd_ac97_bus() # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:27:18+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # allow USB MIDI devices without audio control interface # # Signed-off-by: Clemens Ladisch # # sound/usb/usbquirks.h # 2004/07/05 02:51:45+02:00 perex@suse.cz +17 -1 # ALSA CVS update # D:2004/07/05 08:51:45 # C:USB generic driver # F:usb/usbquirks.h:1.34->1.35 # L:allow USB MIDI devices without audio control interface # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:26:39+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # fix odd comment :) # # Signed-off-by: Clemens Ladisch # # sound/pci/ac97/ac97_proc.c # 2004/07/05 02:49:24+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 08:49:24 # C:AC97 Codec Core # F:pci/ac97/ac97_proc.c:1.9->1.10 # L:fix odd comment :) # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:26:00+02:00 perex@suse.cz # ALSA CVS update # AMD InterWave driver # reduce stack usage; # fix ROM checksum check # # Signed-off-by: Clemens Ladisch # # sound/isa/gus/interwave.c # 2004/07/05 02:46:49+02:00 perex@suse.cz +14 -18 # ALSA CVS update # D:2004/07/05 08:46:49 # C:AMD InterWave driver # F:isa/gus/interwave.c:1.34->1.35 # L:reduce stack usage; # L:fix ROM checksum check # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:25:21+02:00 perex@suse.cz # ALSA CVS update # GUS Library,Wavefront drivers # reduce stack usage; # fix buffer overflow # # Signed-off-by: Clemens Ladisch # # sound/isa/wavefront/wavefront_fx.c # 2004/07/05 02:48:42+02:00 perex@suse.cz +14 -6 # ALSA CVS update # D:2004/07/05 08:44:58 # C:GUS Library,Wavefront drivers # F:isa/gus/gus_dram.c:1.6->1.7 # F:isa/wavefront/wavefront_fx.c:1.13->1.14 # L:reduce stack usage; # L:fix buffer overflow # Signed-off-by: Clemens Ladisch # # sound/isa/gus/gus_dram.c # 2004/07/05 02:44:58+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/07/05 08:44:58 # C:GUS Library,Wavefront drivers # F:isa/gus/gus_dram.c:1.6->1.7 # F:isa/wavefront/wavefront_fx.c:1.13->1.14 # L:reduce stack usage; # L:fix buffer overflow # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:24:42+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # fix memory leak # # Signed-off-by: Clemens Ladisch # # sound/core/pcm_lib.c # 2004/07/05 02:43:28+02:00 perex@suse.cz +9 -13 # ALSA CVS update # D:2004/07/05 08:43:28 # C:PCM Midlevel # F:core/pcm_lib.c:1.53->1.54 # L:fix memory leak # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:24:02+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # remove whitespace at end of lines # # Signed-off-by: Clemens Ladisch # # sound/usb/usbmixer_maps.c # 2004/07/05 02:37:07+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/05 08:37:07 # C:USB generic driver # F:usb/usbaudio.c:1.104->1.105 # F:usb/usbaudio.h:1.32->1.33 # F:usb/usbmidi.c:1.30->1.31 # F:usb/usbmixer.c:1.28->1.29 # F:usb/usbmixer_maps.c:1.6->1.7 # L:remove whitespace at end of lines # Signed-off-by: Clemens Ladisch # # sound/usb/usbmixer.c # 2004/07/05 02:37:07+02:00 perex@suse.cz +10 -10 # ALSA CVS update # D:2004/07/05 08:37:07 # C:USB generic driver # F:usb/usbaudio.c:1.104->1.105 # F:usb/usbaudio.h:1.32->1.33 # F:usb/usbmidi.c:1.30->1.31 # F:usb/usbmixer.c:1.28->1.29 # F:usb/usbmixer_maps.c:1.6->1.7 # L:remove whitespace at end of lines # Signed-off-by: Clemens Ladisch # # sound/usb/usbmidi.c # 2004/07/05 02:37:07+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/07/05 08:37:07 # C:USB generic driver # F:usb/usbaudio.c:1.104->1.105 # F:usb/usbaudio.h:1.32->1.33 # F:usb/usbmidi.c:1.30->1.31 # F:usb/usbmixer.c:1.28->1.29 # F:usb/usbmixer_maps.c:1.6->1.7 # L:remove whitespace at end of lines # Signed-off-by: Clemens Ladisch # # sound/usb/usbaudio.h # 2004/07/05 02:37:07+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/07/05 08:37:07 # C:USB generic driver # F:usb/usbaudio.c:1.104->1.105 # F:usb/usbaudio.h:1.32->1.33 # F:usb/usbmidi.c:1.30->1.31 # F:usb/usbmixer.c:1.28->1.29 # F:usb/usbmixer_maps.c:1.6->1.7 # L:remove whitespace at end of lines # Signed-off-by: Clemens Ladisch # # sound/usb/usbaudio.c # 2004/07/05 02:37:07+02:00 perex@suse.cz +22 -22 # ALSA CVS update # D:2004/07/05 08:37:07 # C:USB generic driver # F:usb/usbaudio.c:1.104->1.105 # F:usb/usbaudio.h:1.32->1.33 # F:usb/usbmidi.c:1.30->1.31 # F:usb/usbmixer.c:1.28->1.29 # F:usb/usbmixer_maps.c:1.6->1.7 # L:remove whitespace at end of lines # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:23:20+02:00 perex@suse.cz # ALSA CVS update # Generic drivers,AK4531 codec # One space at the end of a line is evil. # So how do we call it if a line has 300 of them? :) # # Signed-off-by: Clemens Ladisch # # sound/pci/ac97/ak4531_codec.c # 2004/07/05 02:34:36+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/07/05 08:34:35 # C:Generic drivers,AK4531 codec # F:drivers/dummy.c:1.30->1.31 # F:pci/ac97/ak4531_codec.c:1.11->1.12 # L:One space at the end of a line is evil. # L:So how do we call it if a line has 300 of them? :) # Signed-off-by: Clemens Ladisch # # sound/drivers/dummy.c # 2004/07/05 02:34:35+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/07/05 08:34:35 # C:Generic drivers,AK4531 codec # F:drivers/dummy.c:1.30->1.31 # F:pci/ac97/ak4531_codec.c:1.11->1.12 # L:One space at the end of a line is evil. # L:So how do we call it if a line has 300 of them? :) # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:22:41+02:00 perex@suse.cz # ALSA CVS update # OPL4 # reorganize locking; # optimize memory accesses # # Signed-off-by: Clemens Ladisch # # sound/drivers/opl4/opl4_synth.c # 2004/07/05 02:32:29+02:00 perex@suse.cz +16 -9 # ALSA CVS update # D:2004/07/05 08:32:29 # C:OPL4 # F:drivers/opl4/opl4_lib.c:1.7->1.8 # F:drivers/opl4/opl4_local.h:1.2->1.3 # F:drivers/opl4/opl4_mixer.c:1.2->1.3 # F:drivers/opl4/opl4_synth.c:1.4->1.5 # L:reorganize locking; # L:optimize memory accesses # Signed-off-by: Clemens Ladisch # # sound/drivers/opl4/opl4_mixer.c # 2004/07/05 02:32:29+02:00 perex@suse.cz +7 -3 # ALSA CVS update # D:2004/07/05 08:32:29 # C:OPL4 # F:drivers/opl4/opl4_lib.c:1.7->1.8 # F:drivers/opl4/opl4_local.h:1.2->1.3 # F:drivers/opl4/opl4_mixer.c:1.2->1.3 # F:drivers/opl4/opl4_synth.c:1.4->1.5 # L:reorganize locking; # L:optimize memory accesses # Signed-off-by: Clemens Ladisch # # sound/drivers/opl4/opl4_local.h # 2004/07/05 02:32:29+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/05 08:32:29 # C:OPL4 # F:drivers/opl4/opl4_lib.c:1.7->1.8 # F:drivers/opl4/opl4_local.h:1.2->1.3 # F:drivers/opl4/opl4_mixer.c:1.2->1.3 # F:drivers/opl4/opl4_synth.c:1.4->1.5 # L:reorganize locking; # L:optimize memory accesses # Signed-off-by: Clemens Ladisch # # sound/drivers/opl4/opl4_lib.c # 2004/07/05 02:32:29+02:00 perex@suse.cz +28 -22 # ALSA CVS update # D:2004/07/05 08:32:29 # C:OPL4 # F:drivers/opl4/opl4_lib.c:1.7->1.8 # F:drivers/opl4/opl4_local.h:1.2->1.3 # F:drivers/opl4/opl4_mixer.c:1.2->1.3 # F:drivers/opl4/opl4_synth.c:1.4->1.5 # L:reorganize locking; # L:optimize memory accesses # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/07/28 11:22:00+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # set msbits for 20-bit sample format # # Signed-off-by: Clemens Ladisch # # sound/pci/intel8x0.c # 2004/07/05 02:30:54+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/07/05 08:30:54 # C:Intel8x0 driver # F:pci/intel8x0.c:1.142->1.143 # L:set msbits for 20-bit sample format # Signed-off-by: Clemens Ladisch # # sound/core/control.c # 2004/07/04 16:27:19+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/07/04 15:55:28+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # - asXtalkGainsAllChan -> vortex_asXtalkGainsAllChan # - fixed extern/static problem # # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_xtalk.h # 2004/07/04 07:47:16+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/04 13:47:16 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.4->1.5 # F:pci/au88x0/au88x0_xtalk.c:1.1->1.2 # F:pci/au88x0/au88x0_xtalk.h:1.1->1.2 # L:- asXtalkGainsAllChan -> vortex_asXtalkGainsAllChan # L:- fixed extern/static problem # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_xtalk.c # 2004/07/04 07:47:16+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/04 13:47:16 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.4->1.5 # F:pci/au88x0/au88x0_xtalk.c:1.1->1.2 # F:pci/au88x0/au88x0_xtalk.h:1.1->1.2 # L:- asXtalkGainsAllChan -> vortex_asXtalkGainsAllChan # L:- fixed extern/static problem # Signed-off-by: Jaroslav Kysela # # sound/pci/au88x0/au88x0_a3d.c # 2004/07/04 07:47:16+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/04 13:47:16 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.4->1.5 # F:pci/au88x0/au88x0_xtalk.c:1.1->1.2 # F:pci/au88x0/au88x0_xtalk.h:1.1->1.2 # L:- asXtalkGainsAllChan -> vortex_asXtalkGainsAllChan # L:- fixed extern/static problem # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/04 15:55:01+02:00 perex@suse.cz # ALSA CVS update # ES1938 driver # # Playing Quake1 (quakeforge-flavor with ALSA-driver) I hear cracks and blibs. # Other apps (xine, mpg321) are fine. The OSS driver in 2.6.7 produces no # cracks (but reverses stereo BTW). # # I fixed it, i.e. it works for me: # # *No swapping of stereo channels # *no cracks # # Signed-off-by: # Signed-off-by: Jaroslav Kysela # # sound/pci/es1938.c # 2004/07/04 06:05:55+02:00 perex@suse.cz +12 -4 # ALSA CVS update # D:2004/07/04 12:05:55 # C:ES1938 driver # F:pci/es1938.c:1.38->1.39 # L: # L:Playing Quake1 (quakeforge-flavor with ALSA-driver) I hear cracks and blibs. # L:Other apps (xine, mpg321) are fine. The OSS driver in 2.6.7 produces no # L:cracks (but reverses stereo BTW). # L: # L:I fixed it, i.e. it works for me: # L: # L:*No swapping of stereo channels # L:*no cracks # Signed-off-by: # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/04 15:54:34+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel,RME32 driver # - Fixed the int types in indirect_pcm helpers. # - Added the missing initialization of fullduplex mode on rme32. # # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/02 08:43:44+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/07/02 14:43:44 # C:PCM Midlevel,RME32 driver # F:include/pcm-indirect.h:1.1->1.2 # F:pci/rme32.c:1.38->1.39 # L:- Fixed the int types in indirect_pcm helpers. # L:- Added the missing initialization of fullduplex mode on rme32. # Signed-off-by: Takashi Iwai # # include/sound/pcm-indirect.h # 2004/07/02 08:43:44+02:00 perex@suse.cz +11 -11 # ALSA CVS update # D:2004/07/02 14:43:44 # C:PCM Midlevel,RME32 driver # F:include/pcm-indirect.h:1.1->1.2 # F:pci/rme32.c:1.38->1.39 # L:- Fixed the int types in indirect_pcm helpers. # L:- Added the missing initialization of fullduplex mode on rme32. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/04 15:54:07+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Clean up the invalid (commented out) lines for emu10k1x. # # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1.c # 2004/07/02 08:22:12+02:00 perex@suse.cz +0 -3 # ALSA CVS update # D:2004/07/02 14:22:12 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emu10k1.c:1.26->1.27 # L:Clean up the invalid (commented out) lines for emu10k1x. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:38:27+02:00 perex@suse.cz # ALSA CVS update # Instrument layer # LD .tmp_vmlinux1 # sound/built-in.o(.text+0xfb4ae): In function nd_gus_synth_new_device': # : undefined reference to nd_seq_iwffff_init' # make: *** [.tmp_vmlinux1] Error 1 # # Signed-off-by: Adrian Bunk # Signed-off-by: Andrew Morton # Signed-off-by: Jaroslav Kysela # # sound/core/seq/instr/Makefile # 2004/07/01 10:12:07+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/01 16:12:07 # C:Instrument layer # F:core/seq/instr/Makefile:1.17->1.18 # L: LD .tmp_vmlinux1 # L:sound/built-in.o(.text+0xfb4ae): In function nd_gus_synth_new_device': # L:: undefined reference to nd_seq_iwffff_init' # L:make: *** [.tmp_vmlinux1] Error 1 # Signed-off-by: Adrian Bunk # Signed-off-by: Andrew Morton # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/01 19:38:07+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # # snd_pcm_timer_resolution_change(): # # Right, that function doesn't work well for 44100/1024 in 32 bits -- it # ends up trying to calculate 1e7 * 1024 / 441 and having to divide # both numerator and denominator by 4 (thus losing the rather crucial 1 # at the end of 441) before it can do the calculation without overflow. # # Attached is a patch against 1.0.5a that gets better results in this # instance, by leaving the denominator alone and instead doubling the # result back up by the same number of times as the multiplier had to # be halved by. # # Signed-off-by: Chris Cannam # Signed-off-by: Jaroslav Kysela # # sound/core/pcm_timer.c # 2004/07/01 09:59:38+02:00 perex@suse.cz +4 -3 # ALSA CVS update # D:2004/07/01 15:59:38 # C:PCM Midlevel # F:core/pcm_timer.c:1.8->1.9 # L: # L:snd_pcm_timer_resolution_change(): # L: # L:Right, that function doesn't work well for 44100/1024 in 32 bits -- it # L:ends up trying to calculate 1e7 * 1024 / 441 and having to divide # L:both numerator and denominator by 4 (thus losing the rather crucial 1 # L:at the end of 441) before it can do the calculation without overflow. # L: # L:Attached is a patch against 1.0.5a that gets better results in this # L:instance, by leaving the denominator alone and instead doubling the # L:result back up by the same number of times as the multiplier had to # L:be halved by. # Signed-off-by: Chris Cannam # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/07/01 19:37:46+02:00 perex@suse.cz # ALSA CVS update # RME32 driver # Added the experimental fullduplex support. # # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/01 04:22:49+02:00 perex@suse.cz +336 -205 # ALSA CVS update # D:2004/07/01 10:22:49 # C:RME32 driver # F:pci/rme32.c:1.37->1.38 # L:Added the experimental fullduplex support. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:37:25+02:00 perex@suse.cz # ALSA CVS update # CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # Clean up of indirect PCM data transfer with helper functions. # # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/07/01 04:22:16+02:00 perex@suse.cz +32 -72 # ALSA CVS update # D:2004/07/01 10:22:16 # C:CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # F:include/cs46xx.h:1.19->1.20 # F:include/emu10k1.h:1.42->1.43 # F:include/pcm-indirect.h:INITIAL->1.1 # F:pci/cs46xx/cs46xx_lib.c:1.75->1.76 # F:pci/emu10k1/emupcm.c:1.28->1.29 # L:Clean up of indirect PCM data transfer with helper functions. # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.c # 2004/07/01 04:22:16+02:00 perex@suse.cz +27 -102 # ALSA CVS update # D:2004/07/01 10:22:16 # C:CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # F:include/cs46xx.h:1.19->1.20 # F:include/emu10k1.h:1.42->1.43 # F:include/pcm-indirect.h:INITIAL->1.1 # F:pci/cs46xx/cs46xx_lib.c:1.75->1.76 # F:pci/emu10k1/emupcm.c:1.28->1.29 # L:Clean up of indirect PCM data transfer with helper functions. # Signed-off-by: Takashi Iwai # # include/sound/pcm-indirect.h # 2004/07/01 18:07:24+02:00 perex@suse.cz +173 -0 # ALSA CVS update # D:2004/07/01 10:22:16 # C:CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # F:include/cs46xx.h:1.19->1.20 # F:include/emu10k1.h:1.42->1.43 # F:include/pcm-indirect.h:INITIAL->1.1 # F:pci/cs46xx/cs46xx_lib.c:1.75->1.76 # F:pci/emu10k1/emupcm.c:1.28->1.29 # L:Clean up of indirect PCM data transfer with helper functions. # Signed-off-by: Takashi Iwai # # include/sound/emu10k1.h # 2004/07/01 04:22:16+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/07/01 10:22:16 # C:CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # F:include/cs46xx.h:1.19->1.20 # F:include/emu10k1.h:1.42->1.43 # F:include/pcm-indirect.h:INITIAL->1.1 # F:pci/cs46xx/cs46xx_lib.c:1.75->1.76 # F:pci/emu10k1/emupcm.c:1.28->1.29 # L:Clean up of indirect PCM data transfer with helper functions. # Signed-off-by: Takashi Iwai # # include/sound/cs46xx.h # 2004/07/01 04:22:16+02:00 perex@suse.cz +3 -16 # ALSA CVS update # D:2004/07/01 10:22:16 # C:CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel # F:include/cs46xx.h:1.19->1.20 # F:include/emu10k1.h:1.42->1.43 # F:include/pcm-indirect.h:INITIAL->1.1 # F:pci/cs46xx/cs46xx_lib.c:1.75->1.76 # F:pci/emu10k1/emupcm.c:1.28->1.29 # L:Clean up of indirect PCM data transfer with helper functions. # Signed-off-by: Takashi Iwai # # include/sound/pcm-indirect.h # 2004/07/01 18:07:24+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/include/sound/pcm-indirect.h # # ChangeSet # 2004/07/01 19:37:02+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Check the validity of registers before creating controls. # # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_codec.c # 2004/07/01 04:21:23+02:00 perex@suse.cz +9 -0 # ALSA CVS update # D:2004/07/01 10:21:23 # C:AC97 Codec Core # F:pci/ac97/ac97_codec.c:1.138->1.139 # L:Check the validity of registers before creating controls. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:36:42+02:00 perex@suse.cz # ALSA CVS update # ALSA<-OSS sequencer # Suppress the error message when no device is found. # # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_init.c # 2004/07/01 04:20:50+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/01 10:20:50 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_init.c:1.13->1.14 # L:Suppress the error message when no device is found. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:36:21+02:00 perex@suse.cz # ALSA CVS update # NM256 driver # Added AC97 CD register to the list of allowed registeres. # # Signed-off-by: Takashi Iwai # # sound/pci/nm256/nm256.c # 2004/07/01 04:19:48+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/07/01 10:19:48 # C:NM256 driver # F:pci/nm256/nm256.c:1.42->1.43 # L:Added AC97 CD register to the list of allowed registeres. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:35:59+02:00 perex@suse.cz # ALSA CVS update # SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # PARISC Harmony driver,Sound Core PDAudioCF driver # Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # SPARC cs4231 driver,USB generic driver # Clean up of obsolete MODULE_* stuff (other part) # # Removed MODULE_CLASSES() and MODULE_SYNTAX(). # Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # # Signed-off-by: Takashi Iwai # # sound/usb/usbaudio.c # 2004/07/01 03:33:43+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/sparc/cs4231.c # 2004/07/01 03:33:43+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/sparc/amd7930.c # 2004/07/01 03:33:43+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/ppc/powermac.c # 2004/07/01 03:33:43+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pcmcia/vx/vxpocket.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pcmcia/pdaudiocf/pdaudiocf.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/parisc/harmony.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/i2c/l3/uda1341.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +2 -3 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/virmidi.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/serial-u16550.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -13 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_seq.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_lib.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_seq.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/mtpav.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/mpu401/mpu401.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +0 -7 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/drivers/dummy.c # 2004/07/01 03:33:42+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/arm/sa11xx-uda1341.c # 2004/07/01 03:33:41+02:00 perex@suse.cz +2 -3 # ALSA CVS update # D:2004/07/01 09:33:41 # C:SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3,OPL4,L3 drivers # C:PARISC Harmony driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # F:arm/sa11xx-uda1341.c:1.16->1.17 # F:drivers/dummy.c:1.29->1.30 # F:drivers/mtpav.c:1.28->1.29 # F:drivers/serial-u16550.c:1.27->1.28 # F:drivers/virmidi.c:1.13->1.14 # F:drivers/mpu401/mpu401.c:1.18->1.19 # F:drivers/opl3/opl3_seq.c:1.14->1.15 # F:drivers/opl4/opl4_lib.c:1.6->1.7 # F:drivers/opl4/opl4_seq.c:1.5->1.6 # F:i2c/l3/uda1341.c:1.11->1.12 # F:parisc/harmony.c:1.13->1.14 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.8->1.9 # F:pcmcia/vx/vxpocket.c:1.4->1.5 # F:ppc/powermac.c:1.17->1.18 # F:sparc/amd7930.c:1.10->1.11 # F:sparc/cs4231.c:1.14->1.15 # F:usb/usbaudio.c:1.103->1.104 # L:Clean up of obsolete MODULE_* stuff (other part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:35:33+02:00 perex@suse.cz # ALSA CVS update # ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # Trident driver,Digigram VX222 driver,YMFPCI driver # Clean up of obsolete MODULE_* stuff (pci part) # # Removed MODULE_CLASSES() and MODULE_SYNTAX(). # Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # # Signed-off-by: Takashi Iwai # # sound/pci/ymfpci/ymfpci.c # 2004/07/01 03:30:29+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/vx222/vx222.c # 2004/07/01 03:30:29+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/07/01 03:30:24+02:00 perex@suse.cz +1 -10 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident.c # 2004/07/01 03:30:28+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/sonicvibes.c # 2004/07/01 03:30:23+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/rme9652.c # 2004/07/01 03:30:28+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/07/01 03:30:27+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/rme96.c # 2004/07/01 03:30:23+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/nm256/nm256.c # 2004/07/01 03:30:27+02:00 perex@suse.cz +1 -11 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/07/01 03:30:26+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/07/01 03:30:26+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/07/01 03:30:26+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.c # 2004/07/01 03:30:26+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ak4xxx.c # 2004/07/01 03:30:25+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/fm801.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/es1938.c # 2004/07/01 03:30:22+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ens1370.c # 2004/07/01 03:30:21+02:00 perex@suse.cz +2 -8 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1.c # 2004/07/01 03:30:25+02:00 perex@suse.cz +1 -11 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx.c # 2004/07/01 03:30:25+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/cs4281.c # 2004/07/01 03:30:21+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/cmipci.c # 2004/07/01 03:30:21+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/bt87x.c # 2004/07/01 03:30:21+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/azt3328.c # 2004/07/01 03:30:21+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0.c # 2004/07/01 03:30:25+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/07/01 03:30:20+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/als4000.c # 2004/07/01 03:30:20+02:00 perex@suse.cz +1 -6 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/07/01 03:30:24+02:00 perex@suse.cz +1 -7 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_codec.c # 2004/07/01 03:30:24+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:30:20 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.34->1.35 # F:pci/atiixp.c:1.12->1.13 # F:pci/azt3328.c:1.14->1.15 # F:pci/bt87x.c:1.6->1.7 # F:pci/cmipci.c:1.69->1.70 # F:pci/cs4281.c:1.56->1.57 # F:pci/ens1370.c:1.61->1.62 # F:pci/es1938.c:1.37->1.38 # F:pci/es1968.c:1.69->1.70 # F:pci/fm801.c:1.46->1.47 # F:pci/intel8x0.c:1.140->1.141 # F:pci/intel8x0m.c:1.6->1.7 # F:pci/maestro3.c:1.53->1.54 # F:pci/rme32.c:1.36->1.37 # F:pci/rme96.c:1.38->1.39 # F:pci/sonicvibes.c:1.36->1.37 # F:pci/via82xx.c:1.106->1.107 # F:pci/ac97/ac97_codec.c:1.137->1.138 # F:pci/ali5451/ali5451.c:1.49->1.50 # F:pci/au88x0/au88x0.c:1.10->1.11 # F:pci/cs46xx/cs46xx.c:1.27->1.28 # F:pci/emu10k1/emu10k1.c:1.25->1.26 # F:pci/ice1712/ak4xxx.c:1.8->1.9 # F:pci/ice1712/ice1712.c:1.54->1.55 # F:pci/ice1712/ice1724.c:1.36->1.37 # F:pci/korg1212/korg1212.c:1.41->1.42 # F:pci/mixart/mixart.c:1.11->1.12 # F:pci/nm256/nm256.c:1.41->1.42 # F:pci/rme9652/hdsp.c:1.60->1.61 # F:pci/rme9652/rme9652.c:1.47->1.48 # F:pci/trident/trident.c:1.24->1.25 # F:pci/vx222/vx222.c:1.6->1.7 # F:pci/ymfpci/ymfpci.c:1.36->1.37 # L:Clean up of obsolete MODULE_* stuff (pci part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:35:06+02:00 perex@suse.cz # ALSA CVS update # ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # GUS Classic driver,GUS Extreme driver,GUS MAX driver # AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # Clean up of obsolete MODULE_* stuff (isa part) # # Removed MODULE_CLASSES() and MODULE_SYNTAX(). # Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # # Signed-off-by: Takashi Iwai # # sound/isa/wavefront/wavefront.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -16 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sscape.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +0 -6 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sgalaxy.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb_common.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb8.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb16_csp.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb16.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +2 -17 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/es968.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000_synth.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +3 -15 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/opl3sa2.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -15 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/gus/interwave.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +2 -16 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/gus/gusmax.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/gus/gusextreme.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -16 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/gus/gusclassic.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/es18xx.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/es1688/es1688_lib.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/es1688/es1688.c # 2004/07/01 03:29:30+02:00 perex@suse.cz +1 -10 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/dt019x.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -11 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4236.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +2 -16 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4231.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -11 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/cmi8330.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -13 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/azt2320.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -13 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/als100.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/ad1848/ad1848.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/isa/ad1816a/ad1816a.c # 2004/07/01 03:29:29+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/07/01 09:29:29 # C:ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver,ES18xx driver # C:OPL3SA2 driver,Sound Galaxy driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,ES1688 driver # C:GUS Classic driver,GUS Extreme driver,GUS MAX driver # C:AMD InterWave driver,Opti9xx drivers,EMU8000 driver,ES968 driver # C:SB16/AWE driver,SB8 driver,SB drivers,Wavefront drivers # F:isa/als100.c:1.26->1.27 # F:isa/azt2320.c:1.26->1.27 # F:isa/cmi8330.c:1.30->1.31 # F:isa/dt019x.c:1.20->1.21 # F:isa/es18xx.c:1.47->1.48 # F:isa/opl3sa2.c:1.36->1.37 # F:isa/sgalaxy.c:1.20->1.21 # F:isa/sscape.c:1.14->1.15 # F:isa/ad1816a/ad1816a.c:1.20->1.21 # F:isa/ad1848/ad1848.c:1.12->1.13 # F:isa/cs423x/cs4231.c:1.14->1.15 # F:isa/cs423x/cs4236.c:1.44->1.45 # F:isa/es1688/es1688.c:1.16->1.17 # F:isa/es1688/es1688_lib.c:1.25->1.26 # F:isa/gus/gusclassic.c:1.14->1.15 # F:isa/gus/gusextreme.c:1.16->1.17 # F:isa/gus/gusmax.c:1.15->1.16 # F:isa/gus/interwave.c:1.33->1.34 # F:isa/opti9xx/opti92x-ad1848.c:1.46->1.47 # F:isa/sb/emu8000_synth.c:1.7->1.8 # F:isa/sb/es968.c:1.26->1.27 # F:isa/sb/sb16.c:1.48->1.49 # F:isa/sb/sb16_csp.c:1.14->1.15 # F:isa/sb/sb8.c:1.20->1.21 # F:isa/sb/sb_common.c:1.20->1.21 # F:isa/wavefront/wavefront.c:1.29->1.30 # L:Clean up of obsolete MODULE_* stuff (isa part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:34:41+02:00 perex@suse.cz # ALSA CVS update # Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # Clean up of obsolete MODULE_* stuff (core part) # # Removed MODULE_CLASSES() and MODULE_SYNTAX(). # Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # # Signed-off-by: Takashi Iwai # # sound/core/timer.c # 2004/07/01 03:28:48+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/sound.c # 2004/07/01 03:28:48+02:00 perex@suse.cz +0 -5 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_midi_emul.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_midi.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_instr.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_dummy.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_device.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/seq.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_simple.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_iw.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_gf1.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_fm.c # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/rawmidi.c # 2004/07/01 03:28:48+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/pcm_memory.c # 2004/07/01 03:28:48+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_oss.c # 2004/07/01 03:28:48+02:00 perex@suse.cz +0 -3 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # include/sound/initval.h # 2004/07/01 03:28:49+02:00 perex@suse.cz +0 -33 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/07/01 03:28:48+02:00 perex@suse.cz +1 -2 # ALSA CVS update # D:2004/07/01 09:28:48 # C:Documentation,PCM Midlevel,RawMidi Midlevel,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,Instrument layer,ALSA<-OSS sequencer # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.29->1.30 # F:core/pcm_memory.c:1.30->1.31 # F:core/rawmidi.c:1.45->1.46 # F:core/sound.c:1.64->1.65 # F:core/timer.c:1.60->1.61 # F:core/oss/pcm_oss.c:1.72->1.73 # F:core/seq/seq.c:1.13->1.14 # F:core/seq/seq_device.c:1.15->1.16 # F:core/seq/seq_dummy.c:1.12->1.13 # F:core/seq/seq_instr.c:1.9->1.10 # F:core/seq/seq_midi.c:1.21->1.22 # F:core/seq/seq_midi_emul.c:1.10->1.11 # F:core/seq/instr/ainstr_fm.c:1.7->1.8 # F:core/seq/instr/ainstr_gf1.c:1.8->1.9 # F:core/seq/instr/ainstr_iw.c:1.9->1.10 # F:core/seq/instr/ainstr_simple.c:1.7->1.8 # F:core/seq/oss/seq_oss.c:1.14->1.15 # F:include/initval.h:1.20->1.21 # L:Clean up of obsolete MODULE_* stuff (core part) # L: # L:Removed MODULE_CLASSES() and MODULE_SYNTAX(). # L:Replaced MODULE_DEVICES() with MODULE_SUPPORTED_DEVICE() # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:34:16+02:00 perex@suse.cz # ALSA CVS update # CMIPCI driver # Fix the i/o port range of gameport on cmipci # # Gameport use only 1 I/O port not 8. # Attached patch fix gameport on CMIPCI soundcards. # # Signed-off-by: Artur Frysiak # Signed-off-by: Takashi Iwai # # sound/pci/cmipci.c # 2004/06/30 04:54:31+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/30 10:54:31 # C:CMIPCI driver # F:pci/cmipci.c:1.68->1.69 # L:Fix the i/o port range of gameport on cmipci # L: # L:Gameport use only 1 I/O port not 8. # L:Attached patch fix gameport on CMIPCI soundcards. # Signed-off-by: Artur Frysiak # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:33:55+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Fixed STAC9758 output jack selection control # # - fixed unbalnaced mutex. # - use ac97_update_bits_page() instead of snd_ac97_update_bits(). # # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_patch.c # 2004/06/29 11:29:06+02:00 perex@suse.cz +2 -5 # ALSA CVS update # D:2004/06/29 17:29:06 # C:AC97 Codec Core # F:pci/ac97/ac97_patch.c:1.55->1.56 # L:Fixed STAC9758 output jack selection control # L: # L:- fixed unbalnaced mutex. # L:- use ac97_update_bits_page() instead of snd_ac97_update_bits(). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:33:30+02:00 perex@suse.cz # ALSA CVS update # Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # USB generic driver # Removal and replacement of magic memory allocators and casts (other parts) # # This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # with kmalloc(), kcalloc() and kfree(), respectively. # The cast via snd_magic_cast() is replaced with the standard cast, too. # # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/usb/usbmixer.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +21 -21 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/usb/usbmidi.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +13 -13 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/usb/usbaudio.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +10 -12 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_synth.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_seq.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_proc.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_oss.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_nrpn.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_hwdep.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/sparc/cs4231.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +11 -12 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/sparc/amd7930.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +4 -5 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/ppc/tumbler.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/ppc/pmac.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +8 -10 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/ppc/daca.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/ppc/burgundy.c # 2004/06/29 11:14:25+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/ppc/awacs.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/vx/vxp_ops.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/vx/vxp_mixer.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/vx/vx_entry.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/pdaudiocf/pdaudiocf_irq.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/pdaudiocf/pdaudiocf_core.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pcmcia/pdaudiocf/pdaudiocf.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/parisc/harmony.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +2 -3 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/tea6330t.c # 2004/06/29 11:14:23+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/other/ak4xxx-adda.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/other/ak4117.c # 2004/06/29 11:14:24+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/l3/uda1341.c # 2004/06/29 11:14:23+02:00 perex@suse.cz +8 -9 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/i2c.c # 2004/06/29 11:14:23+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/i2c/cs8427.c # 2004/06/29 11:14:23+02:00 perex@suse.cz +10 -12 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/vx/vx_pcm.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +11 -13 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/vx/vx_mixer.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/vx/vx_hwdep.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/vx/vx_core.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/virmidi.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/serial-u16550.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +10 -10 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_synth.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_seq.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_proc.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_mixer.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl4/opl4_lib.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_synth.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_seq.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_oss.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +7 -7 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_midi.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +7 -7 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_lib.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/mtpav.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/mpu401/mpu401_uart.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +11 -11 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/dummy.c # 2004/06/29 11:14:22+02:00 perex@suse.cz +16 -16 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/arm/sa11xx-uda1341.c # 2004/06/29 11:14:21+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/06/29 11:14:21+02:00 perex@suse.cz +46 -232 # ALSA CVS update # D:2004/06/29 17:14:21 # C:Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 # C:OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers # C:AK4117 receiver,Serial BUS drivers,PARISC Harmony driver # C:Sound Core PDAudioCF driver,Digigram VX Pocket driver,PPC AWACS driver # C:PPC Burgundy driver,PPC DACA driver,PPC PMAC driver,PPC Tumbler driver # C:SPARC AMD7930 driver,SPARC cs4231 driver,Common EMU synth # C:USB generic driver # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.28->1.29 # F:arm/sa11xx-uda1341.c:1.15->1.16 # F:drivers/dummy.c:1.28->1.29 # F:drivers/mtpav.c:1.27->1.28 # F:drivers/serial-u16550.c:1.26->1.27 # F:drivers/virmidi.c:1.12->1.13 # F:drivers/mpu401/mpu401_uart.c:1.30->1.31 # F:drivers/opl3/opl3_lib.c:1.20->1.21 # F:drivers/opl3/opl3_midi.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.13->1.14 # F:drivers/opl3/opl3_seq.c:1.13->1.14 # F:drivers/opl3/opl3_synth.c:1.7->1.8 # F:drivers/opl4/opl4_lib.c:1.5->1.6 # F:drivers/opl4/opl4_mixer.c:1.1->1.2 # F:drivers/opl4/opl4_proc.c:1.4->1.5 # F:drivers/opl4/opl4_seq.c:1.4->1.5 # F:drivers/opl4/opl4_synth.c:1.3->1.4 # F:drivers/vx/vx_core.c:1.8->1.9 # F:drivers/vx/vx_hwdep.c:1.1->1.2 # F:drivers/vx/vx_mixer.c:1.3->1.4 # F:drivers/vx/vx_pcm.c:1.5->1.6 # F:i2c/cs8427.c:1.19->1.20 # F:i2c/i2c.c:1.10->1.11 # F:i2c/tea6330t.c:1.8->1.9 # F:i2c/l3/uda1341.c:1.10->1.11 # F:i2c/other/ak4117.c:1.2->1.3 # F:i2c/other/ak4xxx-adda.c:1.7->1.8 # F:parisc/harmony.c:1.12->1.13 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.7->1.8 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.3->1.4 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_pcm.c:1.1->1.2 # F:pcmcia/vx/vx_entry.c:1.5->1.6 # F:pcmcia/vx/vxp_mixer.c:1.1->1.2 # F:pcmcia/vx/vxp_ops.c:1.3->1.4 # F:ppc/awacs.c:1.22->1.23 # F:ppc/burgundy.c:1.11->1.12 # F:ppc/daca.c:1.11->1.12 # F:ppc/pmac.c:1.31->1.32 # F:ppc/tumbler.c:1.31->1.32 # F:sparc/amd7930.c:1.9->1.10 # F:sparc/cs4231.c:1.13->1.14 # F:synth/emux/emux.c:1.11->1.12 # F:synth/emux/emux_hwdep.c:1.1->1.2 # F:synth/emux/emux_nrpn.c:1.5->1.6 # F:synth/emux/emux_oss.c:1.9->1.10 # F:synth/emux/emux_proc.c:1.5->1.6 # F:synth/emux/emux_seq.c:1.11->1.12 # F:synth/emux/emux_synth.c:1.9->1.10 # F:usb/usbaudio.c:1.102->1.103 # F:usb/usbmidi.c:1.29->1.30 # F:usb/usbmixer.c:1.27->1.28 # L:Removal and replacement of magic memory allocators and casts (other parts) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:33:00+02:00 perex@suse.cz # ALSA CVS update # ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # Wavefront drivers # Removal and replacement of magic memory allocators and casts (isa part) # # This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # with kmalloc(), kcalloc() and kfree(), respectively. # The cast via snd_magic_cast() is replaced with the standard cast, too. # # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/wavefront/wavefront.c # 2004/06/29 11:12:29+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sscape.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb_mixer.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb_common.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +3 -5 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb8_midi.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb8_main.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb8.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb16_main.c # 2004/06/29 11:12:28+02:00 perex@suse.cz +8 -10 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb16_csp.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +7 -9 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/sb16.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/es968.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000_pcm.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000_patch.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000_callback.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +10 -10 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +3 -5 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/opl3sa2.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +7 -8 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_uart.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_timer.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_synth.c # 2004/06/29 11:12:27+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_pcm.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +18 -20 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_mixer.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_mem_proc.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_mem.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_main.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_irq.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/gus/gus_instr.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +9 -9 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/es18xx.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +8 -10 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/es1688/es1688_lib.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/dt019x.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4236_lib.c # 2004/06/29 11:12:26+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4236.c # 2004/06/29 11:12:25+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4231_lib.c # 2004/06/29 11:12:25+02:00 perex@suse.cz +8 -10 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/cs423x/cs4231.c # 2004/06/29 11:12:25+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/cmi8330.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/azt2320.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/als100.c # 2004/06/29 11:12:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/ad1848/ad1848_lib.c # 2004/06/29 11:12:25+02:00 perex@suse.cz +7 -9 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/ad1848/ad1848.c # 2004/06/29 11:12:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/ad1816a/ad1816a_lib.c # 2004/06/29 11:12:24+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/ad1816a/ad1816a.c # 2004/06/29 11:12:24+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/es1688.h # 2004/06/29 11:12:23+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:12:23 # C:ES1688 driver,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver # C:ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver # C:AD1848 driver,CS4231 driver,CS4236+ driver,GUS Library,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver,SB drivers # C:Wavefront drivers # F:include/es1688.h:1.5->1.6 # F:isa/als100.c:1.25->1.26 # F:isa/azt2320.c:1.25->1.26 # F:isa/cmi8330.c:1.29->1.30 # F:isa/dt019x.c:1.19->1.20 # F:isa/es18xx.c:1.46->1.47 # F:isa/opl3sa2.c:1.35->1.36 # F:isa/sscape.c:1.13->1.14 # F:isa/ad1816a/ad1816a.c:1.19->1.20 # F:isa/ad1816a/ad1816a_lib.c:1.22->1.23 # F:isa/ad1848/ad1848.c:1.11->1.12 # F:isa/ad1848/ad1848_lib.c:1.35->1.36 # F:isa/cs423x/cs4231.c:1.13->1.14 # F:isa/cs423x/cs4231_lib.c:1.41->1.42 # F:isa/cs423x/cs4236.c:1.43->1.44 # F:isa/cs423x/cs4236_lib.c:1.10->1.11 # F:isa/es1688/es1688_lib.c:1.24->1.25 # F:isa/gus/gus_instr.c:1.6->1.7 # F:isa/gus/gus_irq.c:1.7->1.8 # F:isa/gus/gus_main.c:1.14->1.15 # F:isa/gus/gus_mem.c:1.8->1.9 # F:isa/gus/gus_mem_proc.c:1.9->1.10 # F:isa/gus/gus_mixer.c:1.8->1.9 # F:isa/gus/gus_pcm.c:1.22->1.23 # F:isa/gus/gus_synth.c:1.11->1.12 # F:isa/gus/gus_timer.c:1.6->1.7 # F:isa/gus/gus_uart.c:1.8->1.9 # F:isa/opti9xx/opti92x-ad1848.c:1.45->1.46 # F:isa/sb/emu8000.c:1.21->1.22 # F:isa/sb/emu8000_callback.c:1.9->1.10 # F:isa/sb/emu8000_patch.c:1.10->1.11 # F:isa/sb/emu8000_pcm.c:1.13->1.14 # F:isa/sb/es968.c:1.25->1.26 # F:isa/sb/sb16.c:1.47->1.48 # F:isa/sb/sb16_csp.c:1.13->1.14 # F:isa/sb/sb16_main.c:1.20->1.21 # F:isa/sb/sb8.c:1.19->1.20 # F:isa/sb/sb8_main.c:1.15->1.16 # F:isa/sb/sb8_midi.c:1.10->1.11 # F:isa/sb/sb_common.c:1.19->1.20 # F:isa/sb/sb_mixer.c:1.13->1.14 # F:isa/wavefront/wavefront.c:1.28->1.29 # L:Removal and replacement of magic memory allocators and casts (isa part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:32:29+02:00 perex@suse.cz # ALSA CVS update # ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # Trident driver,Digigram VX222 driver,YMFPCI driver # Removal and replacement of magic memory allocators and casts (pci part) # # This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # with kmalloc(), kcalloc() and kfree(), respectively. # The cast via snd_magic_cast() is replaced with the standard cast, too. # # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ymfpci/ymfpci_main.c # 2004/06/29 11:10:37+02:00 perex@suse.cz +33 -35 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/vx222/vx222_ops.c # 2004/06/29 11:10:37+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/vx222/vx222.c # 2004/06/29 11:10:37+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/06/29 11:10:26+02:00 perex@suse.cz +12 -13 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_synth.c # 2004/06/29 11:10:37+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_main.c # 2004/06/29 11:10:37+02:00 perex@suse.cz +17 -19 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/sonicvibes.c # 2004/06/29 11:10:26+02:00 perex@suse.cz +10 -11 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/rme9652.c # 2004/06/29 11:10:36+02:00 perex@suse.cz +36 -36 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/rme9652/hdsp.c # 2004/06/29 11:10:36+02:00 perex@suse.cz +61 -61 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/rme96.c # 2004/06/29 11:10:26+02:00 perex@suse.cz +35 -35 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +28 -28 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/nm256/nm256.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +10 -11 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart_mixer.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart_hwdep.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart_core.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/mixart/mixart.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +8 -10 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/maestro3.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +9 -11 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +27 -27 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0m.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +11 -12 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +13 -14 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/06/29 11:10:35+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.h # 2004/06/29 11:10:35+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1712.c # 2004/06/29 11:10:34+02:00 perex@suse.cz +9 -9 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ews.c # 2004/06/29 11:10:34+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/delta.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/fm801.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +9 -11 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +22 -24 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/es1938.c # 2004/06/29 11:10:25+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ens1370.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +18 -20 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/irq.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/io.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emuproc.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +20 -22 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emumixer.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emufx.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_synth.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_patch.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_main.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_callback.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/dsp_spos_scb_lib.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/dsp_spos.c # 2004/06/29 11:10:33+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.h # 2004/06/29 11:10:33+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cs46xx/cs46xx_lib.c # 2004/06/29 11:10:32+02:00 perex@suse.cz +38 -40 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cs4281.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +23 -25 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/cmipci.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +5 -7 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/bt87x.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +4 -5 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/azt3328.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +5 -6 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0_pcm.c # 2004/06/29 11:10:32+02:00 perex@suse.cz +3 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0_mpu401.c # 2004/06/29 11:10:32+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0_core.c # 2004/06/29 11:10:32+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0.h # 2004/06/29 11:10:32+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0.c # 2004/06/29 11:10:32+02:00 perex@suse.cz +3 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/06/29 11:10:24+02:00 perex@suse.cz +9 -10 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/als4000.c # 2004/06/29 11:10:23+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ali5451/ali5451.c # 2004/06/29 11:10:31+02:00 perex@suse.cz +14 -15 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ak4531_codec.c # 2004/06/29 11:10:31+02:00 perex@suse.cz +4 -6 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_proc.c # 2004/06/29 11:10:31+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_pcm.c # 2004/06/29 11:10:31+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_patch.c # 2004/06/29 11:10:30+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_codec.c # 2004/06/29 11:10:26+02:00 perex@suse.cz +6 -8 # ALSA CVS update # D:2004/06/29 17:10:23 # C:ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver,CMIPCI driver # C:CS4281 driver,ENS1370/1+ driver,ES1938 driver,ES1968 driver # C:FM801 driver,Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver # C:RME32 driver,RME96 driver,SonicVibes driver,VIA82xx driver # C:AC97 Codec Core,AK4531 codec,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # F:pci/als4000.c:1.33->1.34 # F:pci/atiixp.c:1.11->1.12 # F:pci/azt3328.c:1.13->1.14 # F:pci/bt87x.c:1.5->1.6 # F:pci/cmipci.c:1.67->1.68 # F:pci/cs4281.c:1.55->1.56 # F:pci/ens1370.c:1.60->1.61 # F:pci/es1938.c:1.36->1.37 # F:pci/es1968.c:1.68->1.69 # F:pci/fm801.c:1.45->1.46 # F:pci/intel8x0.c:1.139->1.140 # F:pci/intel8x0m.c:1.5->1.6 # F:pci/maestro3.c:1.52->1.53 # F:pci/rme32.c:1.35->1.36 # F:pci/rme96.c:1.37->1.38 # F:pci/sonicvibes.c:1.35->1.36 # F:pci/via82xx.c:1.105->1.106 # F:pci/ac97/ac97_codec.c:1.136->1.137 # F:pci/ac97/ac97_patch.c:1.54->1.55 # F:pci/ac97/ac97_pcm.c:1.14->1.15 # F:pci/ac97/ac97_proc.c:1.8->1.9 # F:pci/ac97/ak4531_codec.c:1.10->1.11 # F:pci/ali5451/ali5451.c:1.48->1.49 # F:pci/au88x0/au88x0.c:1.9->1.10 # F:pci/au88x0/au88x0.h:1.5->1.6 # F:pci/au88x0/au88x0_core.c:1.4->1.5 # F:pci/au88x0/au88x0_mpu401.c:1.1->1.2 # F:pci/au88x0/au88x0_pcm.c:1.3->1.4 # F:pci/cs46xx/cs46xx_lib.c:1.74->1.75 # F:pci/cs46xx/cs46xx_lib.h:1.12->1.13 # F:pci/cs46xx/dsp_spos.c:1.24->1.25 # F:pci/cs46xx/dsp_spos_scb_lib.c:1.23->1.24 # F:pci/emu10k1/emu10k1_callback.c:1.11->1.12 # F:pci/emu10k1/emu10k1_main.c:1.34->1.35 # F:pci/emu10k1/emu10k1_patch.c:1.5->1.6 # F:pci/emu10k1/emu10k1_synth.c:1.8->1.9 # F:pci/emu10k1/emufx.c:1.56->1.57 # F:pci/emu10k1/emumixer.c:1.22->1.23 # F:pci/emu10k1/emupcm.c:1.27->1.28 # F:pci/emu10k1/emuproc.c:1.17->1.18 # F:pci/emu10k1/io.c:1.6->1.7 # F:pci/emu10k1/irq.c:1.9->1.10 # F:pci/ice1712/delta.c:1.17->1.18 # F:pci/ice1712/ews.c:1.17->1.18 # F:pci/ice1712/ice1712.c:1.53->1.54 # F:pci/ice1712/ice1712.h:1.21->1.22 # F:pci/ice1712/ice1724.c:1.35->1.36 # F:pci/korg1212/korg1212.c:1.40->1.41 # F:pci/mixart/mixart.c:1.10->1.11 # F:pci/mixart/mixart_core.c:1.6->1.7 # F:pci/mixart/mixart_hwdep.c:1.5->1.6 # F:pci/mixart/mixart_mixer.c:1.2->1.3 # F:pci/nm256/nm256.c:1.40->1.41 # F:pci/rme9652/hdsp.c:1.59->1.60 # F:pci/rme9652/rme9652.c:1.46->1.47 # F:pci/trident/trident_main.c:1.58->1.59 # F:pci/trident/trident_synth.c:1.13->1.14 # F:pci/vx222/vx222.c:1.5->1.6 # F:pci/vx222/vx222_ops.c:1.6->1.7 # F:pci/ymfpci/ymfpci_main.c:1.51->1.52 # L:Removal and replacement of magic memory allocators and casts (pci part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:31:59+02:00 perex@suse.cz # ALSA CVS update # Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # Removal and replacement of magic memory allocators and casts (core part) # # This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # with kmalloc(), kcalloc() and kfree(), respectively. # The cast via snd_magic_cast() is replaced with the standard cast, too. # # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/timer.c # 2004/06/29 11:09:18+02:00 perex@suse.cz +23 -23 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/sound.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +0 -3 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_virmidi.c # 2004/06/29 11:09:19+02:00 perex@suse.cz +23 -23 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_dummy.c # 2004/06/29 11:09:19+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_device.c # 2004/06/29 11:09:19+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/rawmidi.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +16 -16 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm_timer.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm_native.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +15 -15 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +9 -9 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_oss.c # 2004/06/29 11:09:19+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/mixer_oss.c # 2004/06/29 11:09:18+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/memory.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +0 -40 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/ioctl32/pcm32.c # 2004/06/29 11:09:18+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/ioctl32/ioctl32.c # 2004/06/29 11:09:18+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/info.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +21 -21 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/hwdep.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +12 -12 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/device.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/control.c # 2004/06/29 11:09:17+02:00 perex@suse.cz +9 -11 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/timer.h # 2004/06/29 11:09:19+02:00 perex@suse.cz +1 -2 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/pcm.h # 2004/06/29 11:09:19+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/driver.h # 2004/06/29 11:09:19+02:00 perex@suse.cz +0 -2 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/control.h # 2004/06/29 11:09:19+02:00 perex@suse.cz +1 -2 # ALSA CVS update # D:2004/06/29 17:09:17 # C:Control Midlevel,ALSA Core,HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel # C:Timer Midlevel,IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer # F:core/control.c:1.45->1.46 # F:core/device.c:1.15->1.16 # F:core/hwdep.c:1.25->1.26 # F:core/info.c:1.45->1.46 # F:core/memory.c:1.29->1.30 # F:core/pcm.c:1.43->1.44 # F:core/pcm_native.c:1.97->1.98 # F:core/pcm_timer.c:1.7->1.8 # F:core/rawmidi.c:1.44->1.45 # F:core/sound.c:1.63->1.64 # F:core/timer.c:1.59->1.60 # F:core/ioctl32/ioctl32.c:1.19->1.20 # F:core/ioctl32/pcm32.c:1.16->1.17 # F:core/oss/mixer_oss.c:1.31->1.32 # F:core/oss/pcm_oss.c:1.71->1.72 # F:core/seq/seq_device.c:1.14->1.15 # F:core/seq/seq_dummy.c:1.11->1.12 # F:core/seq/seq_virmidi.c:1.11->1.12 # F:include/control.h:1.7->1.8 # F:include/driver.h:1.16->1.17 # F:include/pcm.h:1.43->1.44 # F:include/sndmagic.h:1.27->1.28(DEAD) # F:include/timer.h:1.17->1.18 # L:Removal and replacement of magic memory allocators and casts (core part) # L: # L:This patch replaces snd_magic_kmalloc(), snd_magic_kcallc() and snd_magic_kfree() # L:with kmalloc(), kcalloc() and kfree(), respectively. # L:The cast via snd_magic_cast() is replaced with the standard cast, too. # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # BitKeeper/deleted/.del-sndmagic.h~23e344d25055e00c # 2004/07/01 19:31:43+02:00 perex@suse.cz +0 -0 # Delete: include/sound/sndmagic.h # # ChangeSet # 2004/07/01 19:28:12+02:00 perex@suse.cz # ALSA CVS update # Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # Synth,Common EMU synth # Removal of snd_kcalloc() # # This patch removes snd_kcalloc() from the kernel and updates callers to use # the new generic kcalloc(). # # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/util_mem.c # 2004/06/29 10:55:14+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/soundfont.c # 2004/06/29 10:55:14+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_seq.c # 2004/06/29 10:55:14+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux_effect.c # 2004/06/29 10:55:14+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/synth/emux/emux.c # 2004/06/29 10:55:14+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_main.c # 2004/06/29 10:55:13+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/revo.c # 2004/06/29 10:55:13+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/06/29 10:55:13+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emufx.c # 2004/06/29 10:55:13+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0_game.c # 2004/06/29 10:55:12+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_pcm.c # 2004/06/29 10:55:11+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/isa/sb/emu8000_pcm.c # 2004/06/29 10:55:11+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/drivers/opl3/opl3_oss.c # 2004/06/29 10:55:11+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/timer.c # 2004/06/29 10:55:09+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/sound.c # 2004/06/29 10:55:09+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_timer.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_queue.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_prioq.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_ports.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_midi_event.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_midi.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_memory.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_instr.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_fifo.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/seq_clientmgr.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_writeq.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_timer.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_synth.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +5 -3 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_readq.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_midi.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/oss/seq_oss_init.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_iw.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/ainstr_gf1.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/rawmidi.c # 2004/06/29 10:55:09+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm_memory.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm_lib.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/pcm.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/route.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_plugin.h # 2004/06/29 10:55:10+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_plugin.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/oss/mixer_oss.c # 2004/06/29 10:55:10+02:00 perex@suse.cz +13 -13 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/memory.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +11 -19 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/ioctl32/pcm32.c # 2004/06/29 10:55:09+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/init.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/info.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # sound/core/control.c # 2004/06/29 10:55:08+02:00 perex@suse.cz +3 -4 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # include/sound/core.h # 2004/06/29 10:55:11+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/06/29 16:55:08 # C:Control Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel # C:IOCTL32 emulation,ALSA<-OSS emulation,ALSA sequencer,Instrument layer # C:ALSA<-OSS sequencer,OPL3,EMU8000 driver,AC97 Codec Core,au88x0 driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,Trident driver # C:Synth,Common EMU synth # F:core/control.c:1.44->1.45 # F:core/info.c:1.44->1.45 # F:core/init.c:1.46->1.47 # F:core/memory.c:1.28->1.29 # F:core/pcm.c:1.42->1.43 # F:core/pcm_lib.c:1.51->1.52 # F:core/pcm_memory.c:1.29->1.30 # F:core/rawmidi.c:1.43->1.44 # F:core/sound.c:1.62->1.63 # F:core/timer.c:1.58->1.59 # F:core/ioctl32/pcm32.c:1.15->1.16 # F:core/oss/mixer_oss.c:1.30->1.31 # F:core/oss/pcm_plugin.c:1.19->1.20 # F:core/oss/pcm_plugin.h:1.6->1.7 # F:core/oss/route.c:1.7->1.8 # F:core/seq/seq_clientmgr.c:1.30->1.31 # F:core/seq/seq_fifo.c:1.8->1.9 # F:core/seq/seq_instr.c:1.8->1.9 # F:core/seq/seq_memory.c:1.15->1.16 # F:core/seq/seq_midi.c:1.20->1.21 # F:core/seq/seq_midi_event.c:1.12->1.13 # F:core/seq/seq_ports.c:1.16->1.17 # F:core/seq/seq_prioq.c:1.8->1.9 # F:core/seq/seq_queue.c:1.14->1.15 # F:core/seq/seq_timer.c:1.19->1.20 # F:core/seq/instr/ainstr_gf1.c:1.7->1.8 # F:core/seq/instr/ainstr_iw.c:1.8->1.9 # F:core/seq/oss/seq_oss_init.c:1.12->1.13 # F:core/seq/oss/seq_oss_midi.c:1.15->1.16 # F:core/seq/oss/seq_oss_readq.c:1.6->1.7 # F:core/seq/oss/seq_oss_synth.c:1.15->1.16 # F:core/seq/oss/seq_oss_timer.c:1.6->1.7 # F:core/seq/oss/seq_oss_writeq.c:1.5->1.6 # F:drivers/opl3/opl3_oss.c:1.12->1.13 # F:include/core.h:1.53->1.54 # F:isa/sb/emu8000_pcm.c:1.12->1.13 # F:pci/ac97/ac97_pcm.c:1.13->1.14 # F:pci/au88x0/au88x0_game.c:1.4->1.5 # F:pci/emu10k1/emufx.c:1.55->1.56 # F:pci/ice1712/aureon.c:1.11->1.12 # F:pci/ice1712/revo.c:1.7->1.8 # F:pci/trident/trident_main.c:1.57->1.58 # F:synth/util_mem.c:1.5->1.6 # F:synth/emux/emux.c:1.10->1.11 # F:synth/emux/emux_effect.c:1.6->1.7 # F:synth/emux/emux_seq.c:1.10->1.11 # F:synth/emux/soundfont.c:1.11->1.12 # L:Removal of snd_kcalloc() # L: # L:This patch removes snd_kcalloc() from the kernel and updates callers to use # L:the new generic kcalloc(). # Signed-off-by: Pekka Enberg # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:27:42+02:00 perex@suse.cz # ALSA CVS update # ICE1712 driver,ICE1724 driver # Fixes for VT1720/VT1724 # # - Fixed the volume update on aureon. # - Removed the bogus master volume from aureon. # - Fixed the wrong number of ADCS (not used, though). # - Don't access GPIO high bits on VT1720. # - Fixed the buffer byte alignment for SPDIF and independen PCMs. # - Proper rate constraints according to the I2S/AC-link connection. # - Clean up the private data for PCM callbacks. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/revo.c # 2004/06/29 05:49:02+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/29 11:49:02 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/aureon.c:1.10->1.11 # F:pci/ice1712/ice1724.c:1.34->1.35 # F:pci/ice1712/revo.c:1.6->1.7 # L:Fixes for VT1720/VT1724 # L: # L:- Fixed the volume update on aureon. # L:- Removed the bogus master volume from aureon. # L:- Fixed the wrong number of ADCS (not used, though). # L:- Don't access GPIO high bits on VT1720. # L:- Fixed the buffer byte alignment for SPDIF and independen PCMs. # L:- Proper rate constraints according to the I2S/AC-link connection. # L:- Clean up the private data for PCM callbacks. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/06/29 05:49:02+02:00 perex@suse.cz +104 -90 # ALSA CVS update # D:2004/06/29 11:49:02 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/aureon.c:1.10->1.11 # F:pci/ice1712/ice1724.c:1.34->1.35 # F:pci/ice1712/revo.c:1.6->1.7 # L:Fixes for VT1720/VT1724 # L: # L:- Fixed the volume update on aureon. # L:- Removed the bogus master volume from aureon. # L:- Fixed the wrong number of ADCS (not used, though). # L:- Don't access GPIO high bits on VT1720. # L:- Fixed the buffer byte alignment for SPDIF and independen PCMs. # L:- Proper rate constraints according to the I2S/AC-link connection. # L:- Clean up the private data for PCM callbacks. # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/aureon.c # 2004/06/29 05:49:02+02:00 perex@suse.cz +17 -13 # ALSA CVS update # D:2004/06/29 11:49:02 # C:ICE1712 driver,ICE1724 driver # F:pci/ice1712/aureon.c:1.10->1.11 # F:pci/ice1712/ice1724.c:1.34->1.35 # F:pci/ice1712/revo.c:1.6->1.7 # L:Fixes for VT1720/VT1724 # L: # L:- Fixed the volume update on aureon. # L:- Removed the bogus master volume from aureon. # L:- Fixed the wrong number of ADCS (not used, though). # L:- Don't access GPIO high bits on VT1720. # L:- Fixed the buffer byte alignment for SPDIF and independen PCMs. # L:- Proper rate constraints according to the I2S/AC-link connection. # L:- Clean up the private data for PCM callbacks. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:27:20+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Audigy 2 ZS - side support # # Added the support of side speakers on Audigy 2 ZS. # # TODO - detection of audigy 2 zs. Now it will add side controls to # mixer for audigy 2 to. Maybe left or right slider can control volume # of back center on audigy 2 too. # # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emufx.c # 2004/06/28 05:37:56+02:00 perex@suse.cz +34 -9 # ALSA CVS update # D:2004/06/28 11:37:55 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.41->1.42 # F:pci/emu10k1/emu10k1_main.c:1.33->1.34 # F:pci/emu10k1/emufx.c:1.54->1.55 # L:Audigy 2 ZS - side support # L: # L:Added the support of side speakers on Audigy 2 ZS. # L: # L:TODO - detection of audigy 2 zs. Now it will add side controls to # L:mixer for audigy 2 to. Maybe left or right slider can control volume # L:of back center on audigy 2 too. # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1_main.c # 2004/06/28 05:37:56+02:00 perex@suse.cz +7 -1 # ALSA CVS update # D:2004/06/28 11:37:55 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.41->1.42 # F:pci/emu10k1/emu10k1_main.c:1.33->1.34 # F:pci/emu10k1/emufx.c:1.54->1.55 # L:Audigy 2 ZS - side support # L: # L:Added the support of side speakers on Audigy 2 ZS. # L: # L:TODO - detection of audigy 2 zs. Now it will add side controls to # L:mixer for audigy 2 to. Maybe left or right slider can control volume # L:of back center on audigy 2 too. # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # include/sound/emu10k1.h # 2004/06/28 05:37:55+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/06/28 11:37:55 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.41->1.42 # F:pci/emu10k1/emu10k1_main.c:1.33->1.34 # F:pci/emu10k1/emufx.c:1.54->1.55 # L:Audigy 2 ZS - side support # L: # L:Added the support of side speakers on Audigy 2 ZS. # L: # L:TODO - detection of audigy 2 zs. Now it will add side controls to # L:mixer for audigy 2 to. Maybe left or right slider can control volume # L:of back center on audigy 2 too. # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:26:58+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Fix Audigy + FX8010 capture (hw:x,2) # # # This patch fixes capture problems from hw:x,2 on Audigy. It is same as # previous, because it can be applied cleanly against CVS (I tested # version from 23.06.2004) and hope it is still true for current CVS. # # I tested 4 channel recrding and it was OK. # # hw:x,2 records outputs from FX8010 (not FX buses) # # Using 'EFX voices mask' you can set channels what you want record. # # use alsactl store to store config # edit this config (set true for needed channel for 'EFX voices mask' # control) - I recorded channels 8,9,14,15 (front and rear output). # use alsactl restore to restore config # # Looks like channel count must be power of 2 (1, 2, 4, 8, ...). # # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emuproc.c # 2004/06/28 05:31:01+02:00 perex@suse.cz +94 -24 # ALSA CVS update # D:2004/06/28 11:31:01 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emupcm.c:1.26->1.27 # F:pci/emu10k1/emuproc.c:1.16->1.17 # L:Fix Audigy + FX8010 capture (hw:x,2) # L: # L: # L:This patch fixes capture problems from hw:x,2 on Audigy. It is same as # L: previous, because it can be applied cleanly against CVS (I tested # L:version from 23.06.2004) and hope it is still true for current CVS. # L: # L:I tested 4 channel recrding and it was OK. # L: # L:hw:x,2 records outputs from FX8010 (not FX buses) # L: # L:Using 'EFX voices mask' you can set channels what you want record. # L: # L:use alsactl store to store config # L:edit this config (set true for needed channel for 'EFX voices mask' # L:control) - I recorded channels 8,9,14,15 (front and rear output). # L:use alsactl restore to restore config # L: # L:Looks like channel count must be power of 2 (1, 2, 4, 8, ...). # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/06/28 05:31:01+02:00 perex@suse.cz +15 -3 # ALSA CVS update # D:2004/06/28 11:31:01 # C:EMU10K1/EMU10K2 driver # F:pci/emu10k1/emupcm.c:1.26->1.27 # F:pci/emu10k1/emuproc.c:1.16->1.17 # L:Fix Audigy + FX8010 capture (hw:x,2) # L: # L: # L:This patch fixes capture problems from hw:x,2 on Audigy. It is same as # L: previous, because it can be applied cleanly against CVS (I tested # L:version from 23.06.2004) and hope it is still true for current CVS. # L: # L:I tested 4 channel recrding and it was OK. # L: # L:hw:x,2 records outputs from FX8010 (not FX buses) # L: # L:Using 'EFX voices mask' you can set channels what you want record. # L: # L:use alsactl store to store config # L:edit this config (set true for needed channel for 'EFX voices mask' # L:control) - I recorded channels 8,9,14,15 (front and rear output). # L:use alsactl restore to restore config # L: # L:Looks like channel count must be power of 2 (1, 2, 4, 8, ...). # Signed-off-by: Peter Zubaj # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 19:26:36+02:00 perex@suse.cz # ALSA CVS update # AC97 Codec Core # Fixed the detection of STAC9708/11 surround control. # # Signed-off-by: Takashi Iwai # # sound/pci/ac97/ac97_patch.c # 2004/06/25 11:12:39+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/06/25 17:12:39 # C:AC97 Codec Core # F:pci/ac97/ac97_patch.c:1.53->1.54 # L:Fixed the detection of STAC9708/11 surround control. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/07/01 17:28:18+02:00 perex@suse.cz # This patch introduces a kcalloc() in the kernel that is used to # replace the ALSA subsystem-specific snd_kcalloc() and snd_magic_kcalloc(). # # Signed-off-by: Pekka Enberg # # mm/slab.c # 2004/07/01 17:28:02+02:00 perex@suse.cz +21 -0 # Added kcalloc() implementation. # # include/linux/slab.h # 2004/07/01 17:28:02+02:00 perex@suse.cz +1 -0 # Added kcalloc() # # ChangeSet # 2004/07/01 12:50:31+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/pci/nm256/nm256.c # 2004/07/01 12:50:20+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/pci/intel8x0.c # 2004/07/01 12:50:20+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/oss/pcm_plugin.c # 2004/07/01 12:50:20+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/pcm_native.c # 2004/07/01 12:50:19+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/oss/pcm_oss.c # 2004/07/01 12:50:19+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/memalloc.c # 2004/07/01 12:50:19+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/06/23 20:04:56+02:00 perex@suse.cz # ALSA CVS update # ALSA sequencer,Instrument layer,ISA,GUS drivers # Clean up Makefiles for the sequencer stuff using reverse selections. # # Signed-off-by: Takashi Iwai # # sound/isa/gus/Makefile # 2004/06/23 11:56:55+02:00 perex@suse.cz +1 -5 # ALSA CVS update # D:2004/06/23 17:56:53 # C:ALSA sequencer,Instrument layer,ISA,GUS drivers # F:core/seq/Makefile:1.33->1.34 # F:core/seq/instr/Makefile:1.16->1.17 # F:isa/Kconfig:1.11->1.12 # F:isa/gus/Makefile:1.11->1.12 # L:Clean up Makefiles for the sequencer stuff using reverse selections. # Signed-off-by: Takashi Iwai # # sound/isa/Kconfig # 2004/06/23 11:56:55+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/06/23 17:56:53 # C:ALSA sequencer,Instrument layer,ISA,GUS drivers # F:core/seq/Makefile:1.33->1.34 # F:core/seq/instr/Makefile:1.16->1.17 # F:isa/Kconfig:1.11->1.12 # F:isa/gus/Makefile:1.11->1.12 # L:Clean up Makefiles for the sequencer stuff using reverse selections. # Signed-off-by: Takashi Iwai # # sound/core/seq/instr/Makefile # 2004/06/23 11:56:55+02:00 perex@suse.cz +3 -31 # ALSA CVS update # D:2004/06/23 17:56:53 # C:ALSA sequencer,Instrument layer,ISA,GUS drivers # F:core/seq/Makefile:1.33->1.34 # F:core/seq/instr/Makefile:1.16->1.17 # F:isa/Kconfig:1.11->1.12 # F:isa/gus/Makefile:1.11->1.12 # L:Clean up Makefiles for the sequencer stuff using reverse selections. # Signed-off-by: Takashi Iwai # # sound/core/seq/Makefile # 2004/06/23 11:56:53+02:00 perex@suse.cz +5 -53 # ALSA CVS update # D:2004/06/23 17:56:53 # C:ALSA sequencer,Instrument layer,ISA,GUS drivers # F:core/seq/Makefile:1.33->1.34 # F:core/seq/instr/Makefile:1.16->1.17 # F:isa/Kconfig:1.11->1.12 # F:isa/gus/Makefile:1.11->1.12 # L:Clean up Makefiles for the sequencer stuff using reverse selections. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 19:52:02+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # new functions snd_usbmidi_input_stop() and snd_usbmidi_input_start() # needed by snd-usb-usx2y to be able to use usb_set_interface() # # Signed-off-by: Clemens Ladisch # # sound/usb/usbmidi.c # 2004/06/23 07:48:41+02:00 perex@suse.cz +39 -3 # ALSA CVS update # D:2004/06/23 13:48:41 # C:USB generic driver # F:usb/usbaudio.h:1.31->1.32 # F:usb/usbmidi.c:1.28->1.29 # L:new functions snd_usbmidi_input_stop() and snd_usbmidi_input_start() # L:needed by snd-usb-usx2y to be able to use usb_set_interface() # Signed-off-by: Clemens Ladisch # # sound/usb/usbaudio.h # 2004/06/23 07:48:41+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/06/23 13:48:41 # C:USB generic driver # F:usb/usbaudio.h:1.31->1.32 # F:usb/usbmidi.c:1.28->1.29 # L:new functions snd_usbmidi_input_stop() and snd_usbmidi_input_start() # L:needed by snd-usb-usx2y to be able to use usb_set_interface() # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 15:02:18+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Each of snd_pcm_hw_refine_old_user() and snd_pcm_hw_params_old_user() # consume 856 bytes of stack and can invoke deep calls via the page allocator. # # Signed-off-by: Andrew Morton # Signed-off-by: Jaroslav Kysela # # sound/core/pcm_native.c # 2004/06/01 02:57:54+02:00 perex@suse.cz +55 -18 # ALSA CVS update # D:2004/06/01 08:57:54 # C:PCM Midlevel # F:core/pcm_native.c:1.91->1.92 # L:Each of snd_pcm_hw_refine_old_user() and snd_pcm_hw_params_old_user() # L:consume 856 bytes of stack and can invoke deep calls via the page allocator. # Signed-off-by: Andrew Morton # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/06/23 13:18:33+02:00 perex@suse.cz # ALSA CVS update # CMIPCI driver # don't sleep in prepare callback # # Signed-off-by: Clemens Ladisch # # sound/pci/cmipci.c # 2004/06/23 02:38:17+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/23 08:38:17 # C:CMIPCI driver # F:pci/cmipci.c:1.66->1.67 # L:don't sleep in prepare callback # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 13:17:12+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel,ALSA<-OSS emulation,CMIPCI driver # reduce stack usage # # Signed-off-by: Clemens Ladisch # # sound/pci/cmipci.c # 2004/06/22 11:18:41+02:00 perex@suse.cz +38 -21 # ALSA CVS update # D:2004/06/22 17:22:34 # C:PCM Midlevel,ALSA<-OSS emulation,CMIPCI driver # F:core/pcm_native.c:1.93->1.94 # F:core/oss/pcm_oss.c:1.69->1.70 # F:pci/cmipci.c:1.65->1.66 # L:reduce stack usage # Signed-off-by: Clemens Ladisch # # sound/core/pcm_native.c # 2004/06/22 11:22:34+02:00 perex@suse.cz +36 -12 # ALSA CVS update # D:2004/06/22 17:22:34 # C:PCM Midlevel,ALSA<-OSS emulation,CMIPCI driver # F:core/pcm_native.c:1.93->1.94 # F:core/oss/pcm_oss.c:1.69->1.70 # F:pci/cmipci.c:1.65->1.66 # L:reduce stack usage # Signed-off-by: Clemens Ladisch # # sound/core/oss/pcm_oss.c # 2004/06/22 11:20:43+02:00 perex@suse.cz +10 -5 # ALSA CVS update # D:2004/06/22 17:22:34 # C:PCM Midlevel,ALSA<-OSS emulation,CMIPCI driver # F:core/pcm_native.c:1.93->1.94 # F:core/oss/pcm_oss.c:1.69->1.70 # F:pci/cmipci.c:1.65->1.66 # L:reduce stack usage # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 13:15:50+02:00 perex@suse.cz # ALSA CVS update # au88x0 driver # - Fixed the wrong pointer cast on 64bit architectures. # # Signed-off-by: Andi Kleen # Signed-off-by: Takashi Iwai # # sound/pci/au88x0/au88x0_a3d.c # 2004/06/21 11:53:37+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/06/21 17:53:37 # C:au88x0 driver # F:pci/au88x0/au88x0_a3d.c:1.3->1.4 # L:- Fixed the wrong pointer cast on 64bit architectures. # Signed-off-by: Andi Kleen # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:14:16+02:00 perex@suse.cz # ALSA CVS update # EMU10K1/EMU10K2 driver # Merge EFX playback and capture streams to the single device (hw:0,2). # # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emupcm.c # 2004/06/21 11:52:18+02:00 perex@suse.cz +272 -1 # ALSA CVS update # D:2004/06/21 17:52:17 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.39->1.40 # F:pci/emu10k1/emu10k1.c:1.24->1.25 # F:pci/emu10k1/emufx.c:1.52->1.53 # F:pci/emu10k1/emupcm.c:1.25->1.26 # L:Merge EFX playback and capture streams to the single device (hw:0,2). # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emufx.c # 2004/06/21 11:52:18+02:00 perex@suse.cz +2 -308 # ALSA CVS update # D:2004/06/21 17:52:17 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.39->1.40 # F:pci/emu10k1/emu10k1.c:1.24->1.25 # F:pci/emu10k1/emufx.c:1.52->1.53 # F:pci/emu10k1/emupcm.c:1.25->1.26 # L:Merge EFX playback and capture streams to the single device (hw:0,2). # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/emu10k1.c # 2004/06/21 11:52:18+02:00 perex@suse.cz +0 -4 # ALSA CVS update # D:2004/06/21 17:52:17 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.39->1.40 # F:pci/emu10k1/emu10k1.c:1.24->1.25 # F:pci/emu10k1/emufx.c:1.52->1.53 # F:pci/emu10k1/emupcm.c:1.25->1.26 # L:Merge EFX playback and capture streams to the single device (hw:0,2). # Signed-off-by: Takashi Iwai # # include/sound/emu10k1.h # 2004/06/21 11:52:17+02:00 perex@suse.cz +9 -0 # ALSA CVS update # D:2004/06/21 17:52:17 # C:EMU10K1/EMU10K2 driver # F:include/emu10k1.h:1.39->1.40 # F:pci/emu10k1/emu10k1.c:1.24->1.25 # F:pci/emu10k1/emufx.c:1.52->1.53 # F:pci/emu10k1/emupcm.c:1.25->1.26 # L:Merge EFX playback and capture streams to the single device (hw:0,2). # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:12:57+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # - Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # - Clean up the indirect accessing on RME32/RME96 drivers. # # Signed-off-by: Takashi Iwai # # sound/pci/rme96.c # 2004/06/21 11:50:09+02:00 perex@suse.cz +14 -110 # ALSA CVS update # D:2004/06/21 17:50:08 # C:PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # F:core/pcm_native.c:1.92->1.93 # F:include/asound.h:1.40->1.41 # F:pci/rme32.c:1.33->1.34 # F:pci/rme96.c:1.35->1.36 # F:pci/nm256/nm256.c:1.38->1.39 # L:- Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # L: Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # L:- Clean up the indirect accessing on RME32/RME96 drivers. # Signed-off-by: Takashi Iwai # # sound/pci/rme32.c # 2004/06/21 11:50:09+02:00 perex@suse.cz +16 -105 # ALSA CVS update # D:2004/06/21 17:50:08 # C:PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # F:core/pcm_native.c:1.92->1.93 # F:include/asound.h:1.40->1.41 # F:pci/rme32.c:1.33->1.34 # F:pci/rme96.c:1.35->1.36 # F:pci/nm256/nm256.c:1.38->1.39 # L:- Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # L: Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # L:- Clean up the indirect accessing on RME32/RME96 drivers. # Signed-off-by: Takashi Iwai # # sound/pci/nm256/nm256.c # 2004/06/21 11:50:09+02:00 perex@suse.cz +6 -10 # ALSA CVS update # D:2004/06/21 17:50:08 # C:PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # F:core/pcm_native.c:1.92->1.93 # F:include/asound.h:1.40->1.41 # F:pci/rme32.c:1.33->1.34 # F:pci/rme96.c:1.35->1.36 # F:pci/nm256/nm256.c:1.38->1.39 # L:- Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # L: Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # L:- Clean up the indirect accessing on RME32/RME96 drivers. # Signed-off-by: Takashi Iwai # # sound/core/pcm_native.c # 2004/06/21 11:50:08+02:00 perex@suse.cz +14 -0 # ALSA CVS update # D:2004/06/21 17:50:08 # C:PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # F:core/pcm_native.c:1.92->1.93 # F:include/asound.h:1.40->1.41 # F:pci/rme32.c:1.33->1.34 # F:pci/rme96.c:1.35->1.36 # F:pci/nm256/nm256.c:1.38->1.39 # L:- Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # L: Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # L:- Clean up the indirect accessing on RME32/RME96 drivers. # Signed-off-by: Takashi Iwai # # include/sound/asound.h # 2004/06/21 11:50:08+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/06/21 17:50:08 # C:PCM Midlevel,ALSA Core,RME32 driver,RME96 driver,NM256 driver # F:core/pcm_native.c:1.92->1.93 # F:include/asound.h:1.40->1.41 # F:pci/rme32.c:1.33->1.34 # F:pci/rme96.c:1.35->1.36 # F:pci/nm256/nm256.c:1.38->1.39 # L:- Fix the mmap via io_remap_page_range() on nm256, rme32 and rme96. # L: Added SNDRV_PCM_INFO_MMAP_IOMEM to handle this case. # L:- Clean up the indirect accessing on RME32/RME96 drivers. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:11:34+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # handle devices that allow setting but not reading sample rate # # Signed-off-by: Clemens Ladisch # # sound/usb/usbaudio.c # 2004/06/21 09:45:12+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/21 15:45:12 # C:USB generic driver # F:usb/usbaudio.c:1.101->1.102 # L:handle devices that allow setting but not reading sample rate # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 13:10:13+02:00 perex@suse.cz # ALSA CVS update # VIA82xx driver # Fixed the calculation of the current DMA position at the period boundary. # # In some cases, DMA residue returns the value 0 during the transition # at the DMA boundary. The patch handles it as the position 0. # This may prevent the flood of 'invalid last pointer' debug messages # on some devices. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/06/18 11:52:36+02:00 perex@suse.cz +5 -1 # ALSA CVS update # D:2004/06/18 17:52:36 # C:VIA82xx driver # F:pci/via82xx.c:1.104->1.105 # L:Fixed the calculation of the current DMA position at the period boundary. # L: # L:In some cases, DMA residue returns the value 0 during the transition # L:at the DMA boundary. The patch handles it as the position 0. # L:This may prevent the flood of 'invalid last pointer' debug messages # L:on some devices. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:08:53+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Fixed the calculation of the current DMA position on some sloppy devices. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/06/18 11:50:52+02:00 perex@suse.cz +15 -9 # ALSA CVS update # D:2004/06/18 17:50:52 # C:Intel8x0 driver # F:pci/intel8x0.c:1.138->1.139 # L:Fixed the calculation of the current DMA position on some sloppy devices. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:07:19+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # Trident driver # Clean up the buffer management in the PCM runtime record. # # The buffer-allocation record is hold in runtime instance, so that # it can be checked more cleanly. # # dma_private is removed from runtime (it's used for SG-buffers). # The macro snd_pcm_substream_sgbuf() should be used instead of direct # access to the pointer, to retrieve the sgbuf struct from the PCM # substream instance. # # Signed-off-by: Takashi Iwai # # sound/pci/trident/trident_memory.c # 2004/06/18 11:46:32+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # sound/pci/korg1212/korg1212.c # 2004/06/18 11:46:32+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/06/18 11:46:31+02:00 perex@suse.cz +32 -30 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # sound/pci/emu10k1/memory.c # 2004/06/18 11:46:31+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # sound/core/pcm_memory.c # 2004/06/18 11:46:31+02:00 perex@suse.cz +18 -22 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # include/sound/pcm.h # 2004/06/18 11:46:31+02:00 perex@suse.cz +19 -2 # ALSA CVS update # D:2004/06/18 17:46:31 # C:PCM Midlevel,ES1968 driver,EMU10K1/EMU10K2 driver,KORG1212 driver # C:Trident driver # F:core/pcm_memory.c:1.28->1.29 # F:include/pcm.h:1.41->1.42 # F:pci/es1968.c:1.67->1.68 # F:pci/emu10k1/memory.c:1.17->1.18 # F:pci/korg1212/korg1212.c:1.38->1.39 # F:pci/trident/trident_memory.c:1.14->1.15 # L:Clean up the buffer management in the PCM runtime record. # L: # L:The buffer-allocation record is hold in runtime instance, so that # L:it can be checked more cleanly. # L: # L:dma_private is removed from runtime (it's used for SG-buffers). # L:The macro snd_pcm_substream_sgbuf() should be used instead of direct # L:access to the pointer, to retrieve the sgbuf struct from the PCM # L:substream instance. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:05:35+02:00 perex@suse.cz # ALSA CVS update # Generic drivers # Do the buffer allocation in hw_params callback instead of open callback. # # This will prevent to use the allocation of excessive size. # Pre-allocation is called with the default size 0, ie. no buffer will be # pre-allocated as default. # # Signed-off-by: Takashi Iwai # # sound/drivers/dummy.c # 2004/06/18 11:43:33+02:00 perex@suse.cz +20 -31 # ALSA CVS update # D:2004/06/18 17:43:33 # C:Generic drivers # F:drivers/dummy.c:1.27->1.28 # L:Do the buffer allocation in hw_params callback instead of open callback. # L: # L:This will prevent to use the allocation of excessive size. # L:Pre-allocation is called with the default size 0, ie. no buffer will be # L:pre-allocated as default. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:04:14+02:00 perex@suse.cz # ALSA CVS update # ES1968 driver # Fix the crash at unloading the module due to the shared interrupt # with other devices. # # Signed-off-by: Karsten Wiese # Signed-off-by: Takashi Iwai # # sound/pci/es1968.c # 2004/06/18 08:40:17+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/06/18 14:40:17 # C:ES1968 driver # F:pci/es1968.c:1.66->1.67 # L:Fix the crash at unloading the module due to the shared interrupt # L:with other devices. # Signed-off-by: Karsten Wiese # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:02:56+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel # Removed the obsoleted init for boot parameters. # # Signed-off-by: Takashi Iwai # # sound/core/pcm_memory.c # 2004/06/18 08:38:26+02:00 perex@suse.cz +0 -15 # ALSA CVS update # D:2004/06/18 14:38:26 # C:PCM Midlevel # F:core/pcm_memory.c:1.27->1.28 # L:Removed the obsoleted init for boot parameters. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 13:01:38+02:00 perex@suse.cz # ALSA CVS update # CS46xx driver,MIXART driver # reduce stack usage # # Signed-off-by: Clemens Ladisch # # sound/pci/mixart/mixart.c # 2004/06/16 08:32:20+02:00 perex@suse.cz +27 -19 # ALSA CVS update # D:2004/06/16 14:35:18 # C:CS46xx driver,MIXART driver # F:pci/cs46xx/dsp_spos.c:1.23->1.24 # F:pci/mixart/mixart.c:1.8->1.9 # L:reduce stack usage # Signed-off-by: Clemens Ladisch # # sound/pci/cs46xx/dsp_spos.c # 2004/06/16 08:35:18+02:00 perex@suse.cz +16 -11 # ALSA CVS update # D:2004/06/16 14:35:18 # C:CS46xx driver,MIXART driver # F:pci/cs46xx/dsp_spos.c:1.23->1.24 # F:pci/mixart/mixart.c:1.8->1.9 # L:reduce stack usage # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 12:58:32+02:00 perex@suse.cz # ALSA CVS update # OSS sequencer emulation # # Use separate functions for some ioctls to reduce stack usage. # # Signed-off-by: Clemens Ladisch # Signed-off-by: Jaroslav Kysela # # sound/core/seq/oss/seq_oss_ioctl.c # 2004/06/23 12:58:02+02:00 perex@suse.cz +46 -28 # ALSA CVS update # D:2004/06/16 14:28:13 # C:ALSA<-OSS sequencer # F:core/seq/oss/seq_oss_ioctl.c:1.5->1.6 # L:use separate functions for some ioctls to reduce stack usage # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 12:44:07+02:00 perex@suse.cz # ALSA CVS update # OPL4 # add newline at end of file # # Signed-off-by: Clemens Ladisch # # sound/drivers/opl4/Makefile # 2004/06/16 04:46:02+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/16 10:46:02 # C:OPL4 # F:drivers/opl4/Makefile:1.3->1.4 # L:add newline at end of file # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 12:42:44+02:00 perex@suse.cz # ALSA CVS update # Opti9xx drivers # Fixed spin deadlocks. # # Signed-off-by: Takashi Iwai # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/06/15 05:39:57+02:00 perex@suse.cz +2 -19 # ALSA CVS update # D:2004/06/15 11:39:57 # C:Opti9xx drivers # F:isa/opti9xx/opti92x-ad1848.c:1.44->1.45 # L:Fixed spin deadlocks. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 12:41:27+02:00 perex@suse.cz # ALSA CVS update # USB generic driver # Quattro USB: handle the different endianness of playback and recording sample data # # Signed-off-by: Clemens Ladisch # # sound/usb/usbquirks.h # 2004/06/14 12:12:05+02:00 perex@suse.cz +36 -5 # ALSA CVS update # D:2004/06/14 18:12:05 # C:USB generic driver # F:usb/usbaudio.c:1.100->1.101 # F:usb/usbquirks.h:1.33->1.34 # L:Quattro USB: handle the different endianness of playback and recording sample data # Signed-off-by: Clemens Ladisch # # sound/usb/usbaudio.c # 2004/06/14 12:12:05+02:00 perex@suse.cz +20 -6 # ALSA CVS update # D:2004/06/14 18:12:05 # C:USB generic driver # F:usb/usbaudio.c:1.100->1.101 # F:usb/usbquirks.h:1.33->1.34 # L:Quattro USB: handle the different endianness of playback and recording sample data # Signed-off-by: Clemens Ladisch # # ChangeSet # 2004/06/23 12:40:10+02:00 perex@suse.cz # ALSA CVS update # PCM Midlevel,ALSA<-OSS emulation # Clean up and optimization of PCM format-specific functions. # # - Use array indexing instead of huge swith/case. # - Removed superfluous handling of floats. # - Use memcpy for silencing to simplify the codes. # # Signed-off-by: Takashi Iwai # # sound/core/pcm_misc.c # 2004/06/09 12:36:14+02:00 perex@suse.cz +249 -459 # ALSA CVS update # D:2004/06/09 18:36:14 # C:PCM Midlevel,ALSA<-OSS emulation # F:core/pcm_misc.c:1.13->1.14 # F:core/oss/pcm_plugin.c:1.18->1.19 # F:include/pcm.h:1.40->1.41 # L:Clean up and optimization of PCM format-specific functions. # L: # L:- Use array indexing instead of huge swith/case. # L:- Removed superfluous handling of floats. # L:- Use memcpy for silencing to simplify the codes. # Signed-off-by: Takashi Iwai # # sound/core/oss/pcm_plugin.c # 2004/06/09 12:36:14+02:00 perex@suse.cz +27 -96 # ALSA CVS update # D:2004/06/09 18:36:14 # C:PCM Midlevel,ALSA<-OSS emulation # F:core/pcm_misc.c:1.13->1.14 # F:core/oss/pcm_plugin.c:1.18->1.19 # F:include/pcm.h:1.40->1.41 # L:Clean up and optimization of PCM format-specific functions. # L: # L:- Use array indexing instead of huge swith/case. # L:- Removed superfluous handling of floats. # L:- Use memcpy for silencing to simplify the codes. # Signed-off-by: Takashi Iwai # # include/sound/pcm.h # 2004/06/09 12:36:15+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/06/09 18:36:14 # C:PCM Midlevel,ALSA<-OSS emulation # F:core/pcm_misc.c:1.13->1.14 # F:core/oss/pcm_plugin.c:1.18->1.19 # F:include/pcm.h:1.40->1.41 # L:Clean up and optimization of PCM format-specific functions. # L: # L:- Use array indexing instead of huge swith/case. # L:- Removed superfluous handling of floats. # L:- Use memcpy for silencing to simplify the codes. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 12:38:51+02:00 perex@suse.cz # ALSA CVS update # Intel8x0 driver # Added the PCI ID for nVidia CK8. # # Signed-off-by: Takashi Iwai # # sound/pci/intel8x0.c # 2004/06/09 12:02:00+02:00 perex@suse.cz +5 -0 # ALSA CVS update # D:2004/06/09 18:02:00 # C:Intel8x0 driver # F:pci/intel8x0.c:1.137->1.138 # L:Added the PCI ID for nVidia CK8. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 12:37:24+02:00 perex@suse.cz # ALSA CVS update # ATIIXP driver,VIA82xx driver # Added the missing RESUME info bits to pcm. # # Signed-off-by: Takashi Iwai # # sound/pci/via82xx.c # 2004/06/09 12:01:05+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/06/09 18:01:05 # C:ATIIXP driver,VIA82xx driver # F:pci/atiixp.c:1.10->1.11 # F:pci/via82xx.c:1.103->1.104 # L:Added the missing RESUME info bits to pcm. # Signed-off-by: Takashi Iwai # # sound/pci/atiixp.c # 2004/06/09 12:01:05+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/06/09 18:01:05 # C:ATIIXP driver,VIA82xx driver # F:pci/atiixp.c:1.10->1.11 # F:pci/via82xx.c:1.103->1.104 # L:Added the missing RESUME info bits to pcm. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 12:33:49+02:00 perex@suse.cz # ALSA CVS update # ICE1724 driver # SPDIF output fixes # # - Fixed the encoding of SPDIF status bits in the consumer mode. # - Change the SPDIF status bits according to the current sample rate. # # Signed-off-by: Takashi Iwai # # sound/pci/ice1712/ice1724.c # 2004/06/08 11:15:26+02:00 perex@suse.cz +40 -11 # ALSA CVS update # D:2004/06/08 17:15:26 # C:ICE1724 driver # F:pci/ice1712/ice1724.c:1.33->1.34 # L:SPDIF output fixes # L: # L:- Fixed the encoding of SPDIF status bits in the consumer mode. # L:- Change the SPDIF status bits according to the current sample rate. # Signed-off-by: Takashi Iwai # # ChangeSet # 2004/06/23 12:28:34+02:00 perex@suse.cz # ALSA CVS update # Documentation # Added snd-fm801 tuner parameter description # Signed-off-by: Jaroslav Kysela # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/06/01 02:56:20+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/06/01 08:56:20 # C:Documentation # F:Documentation/ALSA-Configuration.txt:1.45->1.46 # L:Added snd-fm801 tuner parameter description # Signed-off-by: Jaroslav Kysela # # ChangeSet # 2004/06/16 11:59:16+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/isa/wavefront/wavefront_synth.c # 2004/06/16 11:58:53+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/core/seq/seq_clientmgr.c # 2004/06/16 11:58:53+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/vx_core.h # 2004/06/16 11:58:53+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/seq_kernel.h # 2004/06/16 11:58:53+02:00 perex@suse.cz +0 -0 # Auto merged # # include/sound/core.h # 2004/06/16 11:58:53+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/05/31 08:49:28+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # Fixed mutex deadlocks. # # sound/pci/ac97/ac97_patch.c # 2004/05/30 11:40:05+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/30 17:40:04 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.135->1.136 # F:pci/ac97/ac97_patch.c:1.52->1.53 # L:Fixed mutex deadlocks. # # sound/pci/ac97/ac97_codec.c # 2004/05/30 11:40:04+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/30 17:40:04 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.135->1.136 # F:pci/ac97/ac97_patch.c:1.52->1.53 # L:Fixed mutex deadlocks. # # ChangeSet # 2004/05/30 14:01:08+02:00 perex@suse.cz # ALSA 1.0.5 # # include/sound/version.h # 2004/05/30 14:00:09+02:00 perex@suse.cz +2 -2 # ALSA 1.0.5 # # ChangeSet # 2004/05/30 13:57:33+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # ALSA Core # Fixed warnings for pci PM callbacks when not CONFIG_PCI # # include/sound/core.h # 2004/05/30 06:50:15+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/05/30 12:50:15 # C:ALSA Core # A:Jaroslav Kysela # F:include/core.h:1.51->1.52 # L:Fixed warnings for pci PM callbacks when not CONFIG_PCI # # ChangeSet # 2004/05/28 15:04:32+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # - Added the single mixer control with AC97 2.3 paging. # - Handle the paging for some ALC655/658 registers. # - Added the experimental support for ALC850. # # sound/pci/ac97/ac97_patch.h # 2004/05/28 04:27:09+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/28 10:27:09 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.134->1.135 # F:pci/ac97/ac97_id.h:1.8->1.9 # F:pci/ac97/ac97_local.h:1.6->1.7 # F:pci/ac97/ac97_patch.c:1.51->1.52 # F:pci/ac97/ac97_patch.h:1.15->1.16 # L:- Added the single mixer control with AC97 2.3 paging. # L:- Handle the paging for some ALC655/658 registers. # L:- Added the experimental support for ALC850. # # sound/pci/ac97/ac97_patch.c # 2004/05/28 04:27:09+02:00 perex@suse.cz +148 -28 # ALSA CVS update # D:2004/05/28 10:27:09 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.134->1.135 # F:pci/ac97/ac97_id.h:1.8->1.9 # F:pci/ac97/ac97_local.h:1.6->1.7 # F:pci/ac97/ac97_patch.c:1.51->1.52 # F:pci/ac97/ac97_patch.h:1.15->1.16 # L:- Added the single mixer control with AC97 2.3 paging. # L:- Handle the paging for some ALC655/658 registers. # L:- Added the experimental support for ALC850. # # sound/pci/ac97/ac97_local.h # 2004/05/28 04:27:09+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/05/28 10:27:09 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.134->1.135 # F:pci/ac97/ac97_id.h:1.8->1.9 # F:pci/ac97/ac97_local.h:1.6->1.7 # F:pci/ac97/ac97_patch.c:1.51->1.52 # F:pci/ac97/ac97_patch.h:1.15->1.16 # L:- Added the single mixer control with AC97 2.3 paging. # L:- Handle the paging for some ALC655/658 registers. # L:- Added the experimental support for ALC850. # # sound/pci/ac97/ac97_id.h # 2004/05/28 04:27:09+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/05/28 10:27:09 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.134->1.135 # F:pci/ac97/ac97_id.h:1.8->1.9 # F:pci/ac97/ac97_local.h:1.6->1.7 # F:pci/ac97/ac97_patch.c:1.51->1.52 # F:pci/ac97/ac97_patch.h:1.15->1.16 # L:- Added the single mixer control with AC97 2.3 paging. # L:- Handle the paging for some ALC655/658 registers. # L:- Added the experimental support for ALC850. # # sound/pci/ac97/ac97_codec.c # 2004/05/28 04:27:09+02:00 perex@suse.cz +61 -18 # ALSA CVS update # D:2004/05/28 10:27:09 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.134->1.135 # F:pci/ac97/ac97_id.h:1.8->1.9 # F:pci/ac97/ac97_local.h:1.6->1.7 # F:pci/ac97/ac97_patch.c:1.51->1.52 # F:pci/ac97/ac97_patch.h:1.15->1.16 # L:- Added the single mixer control with AC97 2.3 paging. # L:- Handle the paging for some ALC655/658 registers. # L:- Added the experimental support for ALC850. # # ChangeSet # 2004/05/28 15:04:07+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # Avoid warning message during codec probing in case SKIP_AUDIO flag is not set. # # sound/pci/ac97/ac97_codec.c # 2004/05/27 13:15:54+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/05/27 19:15:54 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.133->1.134 # L:Avoid warning message during codec probing in case SKIP_AUDIO flag is not set. # # ChangeSet # 2004/05/28 15:03:42+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PARISC Harmony driver # fixed typos. # # sound/parisc/harmony.c # 2004/05/26 11:02:12+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/05/26 17:02:12 # C:PARISC Harmony driver # A:Takashi Iwai # F:parisc/harmony.c:1.11->1.12 # L:fixed typos. # # ChangeSet # 2004/05/28 15:03:20+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # AC97 Codec Core # Signed-off-by: Kevin Mack # For Gateway M675 notebook - this will direct mixer # output to speaker, headphone and line-out instead # of just the front(DAC-A) signal. # # sound/pci/ac97/ac97_patch.c # 2004/05/26 02:34:55+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/26 08:34:55 # C:AC97 Codec Core # A:Jaroslav Kysela # F:pci/ac97/ac97_patch.c:1.50->1.51 # L:Signed-off-by: Kevin Mack # L:For Gateway M675 notebook - this will direct mixer # L:output to speaker, headphone and line-out instead # L:of just the front(DAC-A) signal. # # ChangeSet # 2004/05/28 15:02:56+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # - use snd_pcm_limit_hw_rates() and removed redundant codes. # - fixed the rate constraints when 'IEC958 Output Switch' is on. # - check the SPDIF support on AC97 and don't build IEC958 stuffs if not available. # # sound/pci/via82xx.c # 2004/05/25 12:54:55+02:00 perex@suse.cz +15 -38 # ALSA CVS update # D:2004/05/25 18:54:55 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.102->1.103 # L:- use snd_pcm_limit_hw_rates() and removed redundant codes. # L:- fixed the rate constraints when 'IEC958 Output Switch' is on. # L:- check the SPDIF support on AC97 and don't build IEC958 stuffs if not available. # # ChangeSet # 2004/05/28 15:02:35+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # added ac97_can_spdif() for checking the SPDIF support. # # include/sound/ac97_codec.h # 2004/05/25 12:52:57+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/05/25 18:52:57 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.45->1.46 # L:added ac97_can_spdif() for checking the SPDIF support. # # ChangeSet # 2004/05/28 15:02:13+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # added the DXS entry for Mitac/Vobis/Yakumo laptop. # # sound/pci/via82xx.c # 2004/05/25 10:10:38+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/25 16:10:38 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.101->1.102 # L:added the DXS entry for Mitac/Vobis/Yakumo laptop. # # ChangeSet # 2004/05/28 15:01:53+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # Wavefront drivers # fix possible buffer overflow in wavefront_download_firmware() # # sound/isa/wavefront/wavefront_synth.c # 2004/05/25 07:10:48+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/05/25 13:10:48 # C:Wavefront drivers # A:Clemens Ladisch # F:isa/wavefront/wavefront_synth.c:1.17->1.18 # L:fix possible buffer overflow in wavefront_download_firmware() # # ChangeSet # 2004/05/28 14:20:37+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ICE1724 driver # avoid to change the AC97 rate registers. this seems conflicting # with the rate conversion on VT172x. # # sound/pci/ice1712/ice1724.c # 2004/05/25 04:56:22+02:00 perex@suse.cz +2 -17 # ALSA CVS update # D:2004/05/25 10:56:22 # C:ICE1724 driver # A:Takashi Iwai # F:pci/ice1712/ice1724.c:1.32->1.33 # L:avoid to change the AC97 rate registers. this seems conflicting # L:with the rate conversion on VT172x. # # ChangeSet # 2004/05/28 14:20:17+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Digigram VX core # added 'Clock Mode' control to choose the clock source. # # sound/drivers/vx/vx_uer.c # 2004/05/24 12:12:43+02:00 perex@suse.cz +8 -7 # ALSA CVS update # D:2004/05/24 18:12:43 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_core.c:1.7->1.8 # F:drivers/vx/vx_mixer.c:1.2->1.3 # F:drivers/vx/vx_uer.c:1.1->1.2 # F:include/vx_core.h:1.1->1.2 # L:added 'Clock Mode' control to choose the clock source. # # sound/drivers/vx/vx_mixer.c # 2004/05/24 12:12:43+02:00 perex@suse.cz +51 -0 # ALSA CVS update # D:2004/05/24 18:12:43 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_core.c:1.7->1.8 # F:drivers/vx/vx_mixer.c:1.2->1.3 # F:drivers/vx/vx_uer.c:1.1->1.2 # F:include/vx_core.h:1.1->1.2 # L:added 'Clock Mode' control to choose the clock source. # # sound/drivers/vx/vx_core.c # 2004/05/24 12:12:43+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/05/24 18:12:43 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_core.c:1.7->1.8 # F:drivers/vx/vx_mixer.c:1.2->1.3 # F:drivers/vx/vx_uer.c:1.1->1.2 # F:include/vx_core.h:1.1->1.2 # L:added 'Clock Mode' control to choose the clock source. # # include/sound/vx_core.h # 2004/05/24 12:12:43+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/05/24 18:12:43 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_core.c:1.7->1.8 # F:drivers/vx/vx_mixer.c:1.2->1.3 # F:drivers/vx/vx_uer.c:1.1->1.2 # F:include/vx_core.h:1.1->1.2 # L:added 'Clock Mode' control to choose the clock source. # # ChangeSet # 2004/05/28 14:19:53+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Digigram VX core # fixed the compile warnings due to the last change. # # sound/drivers/vx/vx_pcm.c # 2004/05/24 12:11:58+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/05/24 18:11:58 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_pcm.c:1.4->1.5 # L:fixed the compile warnings due to the last change. # # ChangeSet # 2004/05/28 14:19:28+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PARISC Harmony driver # - fixed the buffer handling without dma_alloc_coherent support. # # sound/parisc/harmony.c # 2004/05/24 09:51:51+02:00 perex@suse.cz +31 -9 # ALSA CVS update # D:2004/05/24 15:51:51 # C:PARISC Harmony driver # A:Takashi Iwai # F:parisc/harmony.c:1.10->1.11 # L:- fixed the buffer handling without dma_alloc_coherent support. # # ChangeSet # 2004/05/28 14:19:07+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Digigram VX core # fixed sleep while atomic in the trigger callback. # # sound/drivers/vx/vx_pcm.c # 2004/05/24 09:06:17+02:00 perex@suse.cz +2 -8 # ALSA CVS update # D:2004/05/24 15:06:17 # C:Digigram VX core # A:Takashi Iwai # F:drivers/vx/vx_pcm.c:1.3->1.4 # L:fixed sleep while atomic in the trigger callback. # # ChangeSet # 2004/05/28 14:14:19+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # - added the global mutex for ac97_t (ad18xx mutex is removed). # used to protect paging and AD18xx multi-codecs. # - set PAGE_INT register explicitly before accessing (for STAC9758). # - moved ALC650 revision check to patch_alc650(). # - support stereo Mic playback. # - moved STAC9708 quirk to patch_stac9708(). # - don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # - avoid the unnecessary RESET-waiting for audio/modem codec. # - fixed the evaluation of modem codec to call mpatch callback properly. # - determine the SPDIF rate in the build path. # - added suffix argument to snd_ac97_rename|remove|swap_ctl(). # - added snd_ac97_rename_vol_ctl(). # # sound/pci/ac97/ac97_proc.c # 2004/05/24 08:24:42+02:00 perex@suse.cz +6 -4 # ALSA CVS update # D:2004/05/24 14:24:42 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.44->1.45 # F:pci/ac97/ac97_codec.c:1.132->1.133 # F:pci/ac97/ac97_local.h:1.5->1.6 # F:pci/ac97/ac97_patch.c:1.49->1.50 # F:pci/ac97/ac97_proc.c:1.7->1.8 # L:- added the global mutex for ac97_t (ad18xx mutex is removed). # L: used to protect paging and AD18xx multi-codecs. # L:- set PAGE_INT register explicitly before accessing (for STAC9758). # L:- moved ALC650 revision check to patch_alc650(). # L:- support stereo Mic playback. # L:- moved STAC9708 quirk to patch_stac9708(). # L:- don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # L:- avoid the unnecessary RESET-waiting for audio/modem codec. # L:- fixed the evaluation of modem codec to call mpatch callback properly. # L:- determine the SPDIF rate in the build path. # L:- added suffix argument to snd_ac97_rename|remove|swap_ctl(). # L:- added snd_ac97_rename_vol_ctl(). # # sound/pci/ac97/ac97_patch.c # 2004/05/24 08:24:42+02:00 perex@suse.cz +75 -30 # ALSA CVS update # D:2004/05/24 14:24:42 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.44->1.45 # F:pci/ac97/ac97_codec.c:1.132->1.133 # F:pci/ac97/ac97_local.h:1.5->1.6 # F:pci/ac97/ac97_patch.c:1.49->1.50 # F:pci/ac97/ac97_proc.c:1.7->1.8 # L:- added the global mutex for ac97_t (ad18xx mutex is removed). # L: used to protect paging and AD18xx multi-codecs. # L:- set PAGE_INT register explicitly before accessing (for STAC9758). # L:- moved ALC650 revision check to patch_alc650(). # L:- support stereo Mic playback. # L:- moved STAC9708 quirk to patch_stac9708(). # L:- don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # L:- avoid the unnecessary RESET-waiting for audio/modem codec. # L:- fixed the evaluation of modem codec to call mpatch callback properly. # L:- determine the SPDIF rate in the build path. # L:- added suffix argument to snd_ac97_rename|remove|swap_ctl(). # L:- added snd_ac97_rename_vol_ctl(). # # sound/pci/ac97/ac97_local.h # 2004/05/24 08:24:42+02:00 perex@suse.cz +4 -3 # ALSA CVS update # D:2004/05/24 14:24:42 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.44->1.45 # F:pci/ac97/ac97_codec.c:1.132->1.133 # F:pci/ac97/ac97_local.h:1.5->1.6 # F:pci/ac97/ac97_patch.c:1.49->1.50 # F:pci/ac97/ac97_proc.c:1.7->1.8 # L:- added the global mutex for ac97_t (ad18xx mutex is removed). # L: used to protect paging and AD18xx multi-codecs. # L:- set PAGE_INT register explicitly before accessing (for STAC9758). # L:- moved ALC650 revision check to patch_alc650(). # L:- support stereo Mic playback. # L:- moved STAC9708 quirk to patch_stac9708(). # L:- don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # L:- avoid the unnecessary RESET-waiting for audio/modem codec. # L:- fixed the evaluation of modem codec to call mpatch callback properly. # L:- determine the SPDIF rate in the build path. # L:- added suffix argument to snd_ac97_rename|remove|swap_ctl(). # L:- added snd_ac97_rename_vol_ctl(). # # sound/pci/ac97/ac97_codec.c # 2004/05/24 08:24:42+02:00 perex@suse.cz +93 -70 # ALSA CVS update # D:2004/05/24 14:24:42 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.44->1.45 # F:pci/ac97/ac97_codec.c:1.132->1.133 # F:pci/ac97/ac97_local.h:1.5->1.6 # F:pci/ac97/ac97_patch.c:1.49->1.50 # F:pci/ac97/ac97_proc.c:1.7->1.8 # L:- added the global mutex for ac97_t (ad18xx mutex is removed). # L: used to protect paging and AD18xx multi-codecs. # L:- set PAGE_INT register explicitly before accessing (for STAC9758). # L:- moved ALC650 revision check to patch_alc650(). # L:- support stereo Mic playback. # L:- moved STAC9708 quirk to patch_stac9708(). # L:- don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # L:- avoid the unnecessary RESET-waiting for audio/modem codec. # L:- fixed the evaluation of modem codec to call mpatch callback properly. # L:- determine the SPDIF rate in the build path. # L:- added suffix argument to snd_ac97_rename|remove|swap_ctl(). # L:- added snd_ac97_rename_vol_ctl(). # # include/sound/ac97_codec.h # 2004/05/24 08:24:42+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/24 14:24:42 # C:AC97 Codec Core # A:Takashi Iwai # F:include/ac97_codec.h:1.44->1.45 # F:pci/ac97/ac97_codec.c:1.132->1.133 # F:pci/ac97/ac97_local.h:1.5->1.6 # F:pci/ac97/ac97_patch.c:1.49->1.50 # F:pci/ac97/ac97_proc.c:1.7->1.8 # L:- added the global mutex for ac97_t (ad18xx mutex is removed). # L: used to protect paging and AD18xx multi-codecs. # L:- set PAGE_INT register explicitly before accessing (for STAC9758). # L:- moved ALC650 revision check to patch_alc650(). # L:- support stereo Mic playback. # L:- moved STAC9708 quirk to patch_stac9708(). # L:- don't clear PC_BEEP high bits (ac97 2.3 sets frequency there). # L:- avoid the unnecessary RESET-waiting for audio/modem codec. # L:- fixed the evaluation of modem codec to call mpatch callback properly. # L:- determine the SPDIF rate in the build path. # L:- added suffix argument to snd_ac97_rename|remove|swap_ctl(). # L:- added snd_ac97_rename_vol_ctl(). # # ChangeSet # 2004/05/28 14:13:55+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Memalloc module # - added ifdef CONFIG_PCI around the enable module option to avoid the compile # warnings without PCI support. # # sound/core/memalloc.c # 2004/05/24 08:19:55+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/05/24 14:19:55 # C:Memalloc module # A:Takashi Iwai # F:core/memalloc.c:1.31->1.32 # L:- added ifdef CONFIG_PCI around the enable module option to avoid the compile # L: warnings without PCI support. # # ChangeSet # 2004/05/28 14:13:31+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,ICE1712 driver,ICE1724 driver # - fixed the description of model module parameters for ice1712 and ice1724 # drivers. # - added the support of VT1720-based mobo. # (still experimental and supporting AC97 only) # # sound/pci/ice1712/vt1720_mobo.h # 2004/05/28 13:46:26+02:00 perex@suse.cz +35 -0 # ALSA CVS update # D:2004/05/24 14:18:20 # C:Documentation,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.44->1.45 # F:pci/ice1712/Makefile:1.11->1.12 # F:pci/ice1712/ice1724.c:1.31->1.32 # F:pci/ice1712/vt1720_mobo.c:INITIAL->1.1 # F:pci/ice1712/vt1720_mobo.h:INITIAL->1.1 # L:- fixed the description of model module parameters for ice1712 and ice1724 # L: drivers. # L:- added the support of VT1720-based mobo. # L: (still experimental and supporting AC97 only) # # sound/pci/ice1712/vt1720_mobo.h # 2004/05/28 13:46:26+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/pci/ice1712/vt1720_mobo.h # # sound/pci/ice1712/vt1720_mobo.c # 2004/05/28 13:46:21+02:00 perex@suse.cz +97 -0 # ALSA CVS update # D:2004/05/24 14:18:20 # C:Documentation,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.44->1.45 # F:pci/ice1712/Makefile:1.11->1.12 # F:pci/ice1712/ice1724.c:1.31->1.32 # F:pci/ice1712/vt1720_mobo.c:INITIAL->1.1 # F:pci/ice1712/vt1720_mobo.h:INITIAL->1.1 # L:- fixed the description of model module parameters for ice1712 and ice1724 # L: drivers. # L:- added the support of VT1720-based mobo. # L: (still experimental and supporting AC97 only) # # sound/pci/ice1712/ice1724.c # 2004/05/24 08:18:20+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/05/24 14:18:20 # C:Documentation,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.44->1.45 # F:pci/ice1712/Makefile:1.11->1.12 # F:pci/ice1712/ice1724.c:1.31->1.32 # F:pci/ice1712/vt1720_mobo.c:INITIAL->1.1 # F:pci/ice1712/vt1720_mobo.h:INITIAL->1.1 # L:- fixed the description of model module parameters for ice1712 and ice1724 # L: drivers. # L:- added the support of VT1720-based mobo. # L: (still experimental and supporting AC97 only) # # sound/pci/ice1712/Makefile # 2004/05/24 08:18:20+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/24 14:18:20 # C:Documentation,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.44->1.45 # F:pci/ice1712/Makefile:1.11->1.12 # F:pci/ice1712/ice1724.c:1.31->1.32 # F:pci/ice1712/vt1720_mobo.c:INITIAL->1.1 # F:pci/ice1712/vt1720_mobo.h:INITIAL->1.1 # L:- fixed the description of model module parameters for ice1712 and ice1724 # L: drivers. # L:- added the support of VT1720-based mobo. # L: (still experimental and supporting AC97 only) # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/24 08:18:20+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/05/24 14:18:20 # C:Documentation,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.44->1.45 # F:pci/ice1712/Makefile:1.11->1.12 # F:pci/ice1712/ice1724.c:1.31->1.32 # F:pci/ice1712/vt1720_mobo.c:INITIAL->1.1 # F:pci/ice1712/vt1720_mobo.h:INITIAL->1.1 # L:- fixed the description of model module parameters for ice1712 and ice1724 # L: drivers. # L:- added the support of VT1720-based mobo. # L: (still experimental and supporting AC97 only) # # sound/pci/ice1712/vt1720_mobo.c # 2004/05/28 13:46:21+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/sound/pci/ice1712/vt1720_mobo.c # # ChangeSet # 2004/05/28 14:13:07+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ATIIXP driver # - continue to probe other codecs even if a codec returns error # (instead of breaking the probing). # this will fix some cases with both AC97 and MC97 codecs. # # sound/pci/atiixp.c # 2004/05/24 08:16:43+02:00 perex@suse.cz +4 -12 # ALSA CVS update # D:2004/05/24 14:16:43 # C:ATIIXP driver # A:Takashi Iwai # F:pci/atiixp.c:1.9->1.10 # L:- continue to probe other codecs even if a codec returns error # L: (instead of breaking the probing). # L: this will fix some cases with both AC97 and MC97 codecs. # # ChangeSet # 2004/05/28 14:12:17+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # ALSA sequencer,ALSA<-OSS sequencer # export snd_seq_set_queue_tempo() for OSS to prevent calling # snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt # context # # sound/core/seq/seq_clientmgr.c # 2004/05/24 07:31:18+02:00 perex@suse.cz +9 -9 # ALSA CVS update # D:2004/05/24 13:31:18 # C:ALSA sequencer,ALSA<-OSS sequencer # A:Clemens Ladisch # F:core/seq/seq.c:1.12->1.13 # F:core/seq/seq_clientmgr.c:1.28->1.29 # F:core/seq/oss/seq_oss_timer.c:1.5->1.6 # F:include/seq_kernel.h:1.9->1.10 # L:export snd_seq_set_queue_tempo() for OSS to prevent calling # L:snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt # L:context # # sound/core/seq/seq.c # 2004/05/24 07:31:18+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/24 13:31:18 # C:ALSA sequencer,ALSA<-OSS sequencer # A:Clemens Ladisch # F:core/seq/seq.c:1.12->1.13 # F:core/seq/seq_clientmgr.c:1.28->1.29 # F:core/seq/oss/seq_oss_timer.c:1.5->1.6 # F:include/seq_kernel.h:1.9->1.10 # L:export snd_seq_set_queue_tempo() for OSS to prevent calling # L:snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt # L:context # # sound/core/seq/oss/seq_oss_timer.c # 2004/05/24 07:31:19+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/24 13:31:18 # C:ALSA sequencer,ALSA<-OSS sequencer # A:Clemens Ladisch # F:core/seq/seq.c:1.12->1.13 # F:core/seq/seq_clientmgr.c:1.28->1.29 # F:core/seq/oss/seq_oss_timer.c:1.5->1.6 # F:include/seq_kernel.h:1.9->1.10 # L:export snd_seq_set_queue_tempo() for OSS to prevent calling # L:snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt # L:context # # include/sound/seq_kernel.h # 2004/05/24 07:31:18+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/05/24 13:31:18 # C:ALSA sequencer,ALSA<-OSS sequencer # A:Clemens Ladisch # F:core/seq/seq.c:1.12->1.13 # F:core/seq/seq_clientmgr.c:1.28->1.29 # F:core/seq/oss/seq_oss_timer.c:1.5->1.6 # F:include/seq_kernel.h:1.9->1.10 # L:export snd_seq_set_queue_tempo() for OSS to prevent calling # L:snd_seq_kernel_client_ctl() (using copy_from_user()) in interrupt # L:context # diff -Nru a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt --- a/Documentation/sound/alsa/ALSA-Configuration.txt 2004-08-25 19:27:40 -07:00 +++ b/Documentation/sound/alsa/ALSA-Configuration.txt 2004-08-25 19:27:40 -07:00 @@ -188,6 +188,13 @@ This module supports up to 8 cards and autoprobe. + Module snd-atiixp-modem + ----------------------- + + Module for ATI IXP 150/200/250 AC97 modem controllers. + + Module supports up to 8 cards. + Module snd-au8810, snd-au8820, snd-au8830 ----------------------------------------- @@ -516,6 +523,13 @@ Module for ForteMedia FM801 based PCI soundcards. + tea575x_tuner - Enable TEA575x tuner + - 1 = MediaForte 256-PCS + - 2 = MediaForte 256-PCPR + - 3 = MediaForte 64-PCR + - High 16-bits are video (radio) device number + 1 + - example: 0x10002 (MediaForte 256-PCPR, device 1) + Module supports up to 8 cards and autoprobe. Module snd-gusclassic @@ -613,7 +627,7 @@ model - Use the given board model, one of the following: delta1010, dio2496, delta66, delta44, audiophile, delta410, delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, - dmx6fire, dsp24, dsp24_71, ez8 + dmx6fire, dsp24, dsp24_value, dsp24_71, ez8 omni - Omni I/O support for MidiMan M-Audio Delta44/66 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever) in msec resolution, default value is 500 (0.5 sec) @@ -631,7 +645,8 @@ * TerraTec Aureon Sky-5.1, Space-7.1 model - Use the given board model, one of the following: - revo71, amp2000, prodigy71, aureon51, aureon71 + revo71, amp2000, prodigy71, aureon51, aureon71, + k8x800 Module supports up to 8 cards and autoprobe. @@ -655,6 +670,8 @@ 2 = swap headphone and master controls 3 = for AD1985, turn on OMS bit and use headphone 4 = for ALC65x, turn on the jack sense mode + buggy_irq - Enable workaround for buggy interrupts on some + motherboards (default off) Module supports autoprobe and multiple bus-master chips (max 8). @@ -1102,6 +1119,16 @@ pid - Product ID for the device (optional) This module supports up to 8 cards, autoprobe and hotplugging. + + Module snd-usb-usx2y + -------------------- + + Module for Tascam USB US-122, US-224 and US-428 devices. + + This module supports up to 8 cards, autoprobe and hotplugging. + + Note: you need to load the firmware via usx2yloader utility included + in alsa-tools and alsa-firmware packages. Module snd-via82xx ------------------ diff -Nru a/Documentation/sound/alsa/DocBook/alsa-driver-api.tmpl b/Documentation/sound/alsa/DocBook/alsa-driver-api.tmpl --- a/Documentation/sound/alsa/DocBook/alsa-driver-api.tmpl 2004-08-25 19:27:40 -07:00 +++ b/Documentation/sound/alsa/DocBook/alsa-driver-api.tmpl 2004-08-25 19:27:40 -07:00 @@ -47,7 +47,6 @@ Memory Management Helpers !Esound/core/memory.c -!Iinclude/sound/sndmagic.h !Esound/core/memalloc.c diff -Nru a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 2004-08-25 19:27:40 -07:00 +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 2004-08-25 19:27:40 -07:00 @@ -18,8 +18,8 @@ - Mar. 6, 2004 - 0.3.1 + July 11, 2004 + 0.3.3 @@ -395,7 +395,6 @@ #include #include #include - #define SNDRV_GET_ID #include // module parameters (see "Module Parameters") @@ -411,10 +410,6 @@ // "PCI Resource Managements" }; - // this should be go into - // (see "Management of Cards and Components") - #define mychip_t_magic 0xa15a4501 - // chip-specific destructor // (see "PCI Resource Managements") static int snd_mychip_free(mychip_t *chip) @@ -426,8 +421,7 @@ // (see "Management of Cards and Components") static int snd_mychip_dev_free(snd_device_t *device) { - mychip_t *chip = snd_magic_cast(mychip_t, - device->device_data, return -ENXIO); + mychip_t *chip = device->device_data; return snd_mychip_free(chip); } @@ -448,8 +442,8 @@ // check PCI availability here // (see "PCI Resource Managements") - // allocate a chip-specific data with magic-alloc - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + // allocate a chip-specific data with zero filled + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -744,7 +738,6 @@ #include #include #include - #define SNDRV_GET_ID #include ]]> @@ -906,13 +899,6 @@ - You might have objections against such a typedef, but this - typedef is necessary if you use a magic-cast - (explained later). - - - In general, there are two ways to allocate the chip record. @@ -943,9 +929,8 @@ - With this method, you don't have to allocate twice. But you - cannot use magic-cast for this record pointer, - instead. + With this method, you don't have to allocate twice. + The record is released together with the card instance. @@ -956,7 +941,7 @@ After allocating a card instance via snd_card_new() (with NULL on the 4th arg), call - snd_magic_kcalloc(). + kcalloc(). @@ -965,13 +950,10 @@ mychip_t *chip; card = snd_card_new(index[dev], id[dev], THIS_MODULE, NULL); ..... - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); ]]> - - Once when the record is allocated via snd_magic stuff, you - can use magic-cast for the void pointer. @@ -1003,21 +985,6 @@ - Also, you need to define a magic-value for mychip_t. - - - - - - - (the detail will be described in the - - next subsection). - - - Next, initialize the fields, and register this chip record as a low-level device with a specified ops, @@ -1045,8 +1012,7 @@ device_data, - return -ENXIO); + mychip_t *chip = device->device_data; return snd_mychip_free(chip); } ]]> @@ -1056,126 +1022,6 @@ where snd_mychip_free() is the real destructor. - -
- Not a magic but a logic - - Now, you might have a question: What is the advantage of the - second method? Obviously, it looks far more complicated. - - As I wrote many times, the second method allows a - magic-cast for mychip_t. If you - have a void pointer (such as - pcm->private_data), the pointer type - is unknown at the compile time, and you cannot know even if a - wrong pointer type is passed. The compiler would accept - it. The magic-cast checks the pointer type at the runtime (and - whether it's a null pointer, too). Hence, the cast will be - much safer and good for debugging. - - - - As you have already seen, allocation with a magic-header can - be done via snd_magic_kmalloc() or - snd_magic_kcalloc(). - - - - - - - - The difference of these two functions is whether the area is - zero-cleared (kcalloc) or not - (kmalloc). - - - - The first argument of the allocator is the type of the - record. The magic-constant has to be defined for this type - beforehand. In this case, we'll need to define - mychip_t_magic, for example, as already - seen, - - - - - - - - The value is arbitrary but should be unique. - This is usually defined in - <include/sndmagic.h> or - <include/amagic.h> for alsa-driver tree, - but you may define it locally in the code at the early - development stage, since changing - sndmagic.h will lead to the recompilation - of the whole driver codes. - - - - The second argument is the extra-data length. It is usually - zero. The third argument is the flags to be passed to kernel - memory allocator, GFP_XXX. Normally, - GFP_KERNEL is passed. - - - - For casting a pointer, use - snd_magic_cast() macro: - - - - - - - - where source_pointer is the pointer to - be casted (e.g. pcm->private_data), and - action is the action to do if the cast - fails (e.g. return -EINVAL). - - - - For releasing the magic-allocated data, you need to call - snd_magic_kfree() function instead of - kfree(). - - - - - - - - - - If you call kfree() for the - magic-allocated value, it will lead to memory leaks. - When the ALSA drivers are compiled with - CONFIG_SND_DEBUG_MEMORY kernel config (or - configured with ), the - non-matching free will be checked and you'll see warning - messages. - - - - If you are 100% sure that your code is bug-free, you can - compile the driver without - CONFIG_SND_DEBUG_MEMORY kernel config, - so that the magic-allocator and the magic-cast will be - replaced to the normal kmalloc and cast. - -
@@ -1238,8 +1084,6 @@ struct pci_dev *pci; unsigned long port; - struct resource *res_port; - int irq; }; @@ -1248,16 +1092,13 @@ // disable hardware here if any // (not implemented in this document) - // release the i/o port - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } // release the irq if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + // release the i/o ports + pci_release_regions(chip->pci); // release the data - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -1283,7 +1124,7 @@ return -ENXIO; } - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -1293,18 +1134,16 @@ chip->irq = -1; // (1) PCI resource allocation - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 8, - "My Chip")) == NULL) { - snd_mychip_free(chip); - printk(KERN_ERR "cannot allocate the port\n"); - return -EBUSY; + if ((err = pci_request_regions(pci, "My Chip")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_mychip_interrupt, SA_INTERRUPT|SA_SHIRQ, "My Chip", (void *)chip)) { + printk(KERN_ERR "cannot grab irq %d\n", pci->irq); snd_mychip_free(chip); - printk(KERN_ERR "cannot grab irq\n"); return -EBUSY; } chip->irq = pci->irq; @@ -1420,8 +1259,6 @@ snd_card_t *card; unsigned long port; - struct resource *res_port; - int irq; }; ]]> @@ -1436,7 +1273,7 @@ need to initialize this number as -1 before actual allocation, since irq 0 is valid. The port address and its resource pointer can be initialized as null by - snd_magic_kcalloc() automatically, so you + kcalloc() automatically, so you don't have to take care of resetting them. @@ -1446,14 +1283,11 @@ port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 8, - "My Chip")) == NULL) { - printk(KERN_ERR "cannot allocate the port 0x%lx\n", - chip->port); - snd_mychip_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "My Chip")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); ]]> @@ -1477,8 +1311,8 @@ if (request_irq(pci->irq, snd_mychip_interrupt, SA_INTERRUPT|SA_SHIRQ, "My Chip", (void *)chip)) { - snd_mychip_free(chip); printk(KERN_ERR "cannot grab irq %d\n", pci->irq); + snd_mychip_free(chip); return -EBUSY; } chip->irq = pci->irq; @@ -1517,16 +1351,13 @@ static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; .... return IRQ_HANDLED; } ]]> - - Again the magic-cast is used here to get the correct pointer - from the second argument. @@ -1538,7 +1369,45 @@ For releasing the resources, check-and-release - method is a safer way. For the i/o port, do like this: + method is a safer way. For the interrupt, do like this: + + + +irq >= 0) + free_irq(chip->irq, (void *)chip); +]]> + + + + Since the irq number can start from 0, you should initialize + chip->irq with a negative value (e.g. -1), so that you can + check the validity of the irq number as above. + + + + When you requested I/O ports or memory regions via + pci_request_region() or + pci_request_regions() like this example, + release the resource(s) using the corresponding function, + pci_release_region() or + pci_release_regions(). + + + +pci); +]]> + + + + + + When you requested manually via request_region() + or request_mem_region, you can release it via + release_resource(). Suppose that you keep + the resource pointer returned from request_region() + in chip->res_port, the release procedure looks like below: @@ -1550,10 +1419,8 @@ ]]> - - - As you can see, the i/o resource pointer is also to be freed + As you can see, the resource pointer is also to be freed via kfree_nocheck() after release_resource() is called. You cannot use kfree() here, because on ALSA, @@ -1567,35 +1434,19 @@ - For releasing the interrupt, do like this: - - - -irq >= 0) - free_irq(chip->irq, (void *)chip); -]]> - - - And finally, release the chip-specific record. - The chip instance is freed via - snd_magic_kfree(). Please use this function - for the object allocated by - snd_magic_kmalloc(). If you free it with - kfree(), it won't work properly and will - result in the memory leak. Also, again, remember that you cannot + Again, remember that you cannot set __devexit prefix for this destructor. @@ -1629,7 +1480,6 @@ .... unsigned long iobase_phys; unsigned long iobase_virt; - struct resource *res_iobase; }; ]]> @@ -1640,15 +1490,14 @@ iobase_phys = pci_resource_start(pci, 0); chip->iobase_virt = (unsigned long) - ioremap_nocache(chip->iobase_phys, 512); - if ((chip->res_port = request_mem_region(chip->iobase_phys, 512, - "My Chip")) == NULL) { - printk(KERN_ERR "cannot allocate the memory region\n"); - snd_mychip_free(chip); - return -EBUSY; - } + ioremap_nocache(chip->iobase_phys, + pci_resource_len(pci, 0)); ]]> @@ -1663,10 +1512,8 @@ .... if (chip->iobase_virt) iounmap((void *)chip->iobase_virt); - if (chip->res_iobase) { - release_resource(chip->res_iobase); - kfree_nocheck(chip->res_iobase); - } + .... + pci_release_regions(chip->pci); .... } ]]> @@ -1857,9 +1704,6 @@ #include .... - #define chip_t mychip_t - .... - /* hardware definition */ static snd_pcm_hardware_t snd_mychip_playback_hw = { .info = (SNDRV_PCM_INFO_MMAP | @@ -2224,8 +2068,7 @@ private_data, return); + mychip_t *chip = snd_pcm_chip(pcm); // free your own data kfree(chip->my_private_pcm_data); // do what you like else... @@ -2653,8 +2496,11 @@ done in the open callback. - Since it's a void pointer, you should use magic-kmalloc and - magic-cast for such an object. + Don't mix this with pcm->private_data. + The pcm->private_data usually points the + chip instance assigned statically at the creation of PCM, while the + runtime->private_data points a dynamic + data created at the PCM open callback. @@ -2663,7 +2509,7 @@ { my_pcm_data_t *data; .... - data = snd_magic_kmalloc(my_pcm_data_t, 0, GFP_KERNEL); + data = kmalloc(sizeof(*data), GFP_KERNEL); substream->runtime->private_data = data; .... } @@ -2710,8 +2556,6 @@ - - - It's expanded with a magic-cast, so the cast-error is - automatically checked. You should define chip_t at - the beginning of the code, since this will be referred in many - places of pcm and control interfaces. + The macro reads substream->private_data, + which is a copy of pcm->private_data. + You can override the former if you need to assign different data + records per PCM substream. For example, cmi8330 driver assigns + different private_data for playback and capture directions, + because it uses two different codecs (SB- and AD-compatible) for + different directions.
@@ -2803,7 +2648,7 @@ static int snd_xxx_close(snd_pcm_substream_t *substream) { .... - snd_magic_kfree(substream->runtime->private_data); + kfree(substream->runtime->private_data); .... } ]]> @@ -2887,10 +2732,10 @@ Another note is that this callback is non-atomic (schedulable). This is important, because the - prepare callback + trigger callback is atomic (non-schedulable). That is, mutex or any - schedule-related functions are available only in - hw_params callback. + schedule-related functions are not available in + trigger callback. Please see the subsection Atomicity for details. @@ -2956,7 +2801,8 @@ - As mentioned above, this callback is atomic. + Note that this callback became non-atomic since the recent version. + You can use schedule-related fucntions safely in this callback now. @@ -3041,7 +2887,12 @@ - This callback is also atomic. + As mentioned, this callback is atomic. You cannot call + the function going to sleep. + The trigger callback should be as minimal as possible, + just really triggering the DMA. The other stuff should be + initialized hw_params and prepare callbacks properly + beforehand.
@@ -3176,7 +3027,7 @@ static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; spin_lock(&chip->lock); .... if (pcm_irq_invoked(chip)) { @@ -3220,7 +3071,7 @@ static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; spin_lock(&chip->lock); .... if (pcm_irq_invoked(chip)) { @@ -3287,7 +3138,7 @@ As already seen, some pcm callbacks are atomic and some are not. For example, hw_params callback is - non-atomic, while prepare callback is + non-atomic, while trigger callback is atomic. This means, the latter is called already in a spinlock held by the PCM middle layer. Please take this atomicity into account when you use a spinlock or a semaphore in the callbacks. @@ -3298,7 +3149,7 @@ schedule or go to sleep. The semaphore and mutex do sleep, and hence they cannot be used inside the atomic callbacks - (e.g. prepare callback). + (e.g. trigger callback). For taking a certain delay in such a callback, please use udelay() or mdelay(). @@ -3325,7 +3176,7 @@ static unsigned int rates[] = {4000, 10000, 22050, 44100}; static snd_pcm_hw_constraint_list_t constraints_rates = { - .count = sizeof(rates) / sizeof(rates[0]), + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -3988,8 +3839,7 @@ static unsigned short snd_mychip_ac97_read(ac97_t *ac97, unsigned short reg) { - mychip_t *chip = snd_magic_cast(mychip_t, - ac97->private_data, return 0); + mychip_t *chip = ac97->private_data; .... // read a register value here from the codec return the_register_value; @@ -3998,26 +3848,26 @@ static void snd_mychip_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - mychip_t *chip = snd_magic_cast(mychip_t, - ac97->private_data, return 0); + mychip_t *chip = ac97->private_data; .... // write the given register value to the codec } static int snd_mychip_ac97(mychip_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *bus; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_mychip_ac97_write, + .read = snd_mychip_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_mychip_ac97_write; - bus.read = snd_mychip_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; - return snd_ac97_mixer(pbus, &ac97, &chip->ac97); + return snd_ac97_mixer(bus, &ac97, &chip->ac97); } ]]> @@ -4030,18 +3880,18 @@ Constructor For creating an ac97 instance, first call snd_ac97_bus - with ac97_bus_t record including callback functions. + with an ac97_bus_ops_t record with callback functions. @@ -4050,13 +3900,13 @@ - And then call snd_ac97_mixer() with an ac97_t + And then call snd_ac97_mixer() with an ac97_template_t record together with the bus pointer created above. private_data, return 0); + mychip_t *chip = ac97->private_data; .... return the_register_value; } @@ -4241,7 +4090,7 @@ On some chip, the clock of the codec isn't 48000 but using a PCI clock (to save a quartz!). In this case, change the field - ac97->clock to the corresponding + bus->clock to the corresponding value. For example, intel8x0 and es1968 drivers have the auto-measurement function of the clock. @@ -4375,7 +4224,7 @@ private_data, ); + mpu = rmidi->private_data; ]]> @@ -4546,16 +4395,15 @@ You can then pass any pointer value to the - private_data. Again, it should be a - magic-allocated record, so that the cast can be checked more - safely. If you assign a private data, you should define the + private_data. + If you assign a private data, you should define the destructor, too. The destructor function is set to private_free field. private_data = p; hw->private_free = mydata_free; ]]> @@ -4569,9 +4417,8 @@ private_data, return); - snd_magic_kfree(p); + mydata_t *p = hw->private_data; + kfree(p); } ]]> @@ -5097,8 +4944,7 @@ static void my_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - chip_t *cm = snd_magic_cast(mychip_t, - entry->private_data, return); + chip_t *chip = entry->private_data; snd_iprintf(buffer, "This is my chip!\n"); snd_iprintf(buffer, "Port = %ld\n", chip->port); @@ -5267,8 +5113,7 @@ static int mychip_suspend(snd_card_t *card, unsigned int state) { // (1) - mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, - return -ENXIO); + mychip_t *chip = card->pm_private_data; // (2) snd_pcm_suspend_all(chip->pcm); // (3) @@ -5310,8 +5155,7 @@ static void mychip_resume(mychip_t *chip) { // (1) - mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, - return -ENXIO); + mychip_t *chip = card->pm_private_data; // (2) pci_enable_device(chip->pci); // (3) @@ -5428,19 +5272,7 @@ The module parameters must be declared with the standard module_param()(), module_param_array()() and - MODULE_PARM_DESC() macros. The ALSA provides - an additional macro, MODULE_PARM_SYNTAX(), - for describing its syntax. The strings will be written to - /lib/modules/XXX/modules.generic_string - file. - - - - For convenience, the typical string arguments given to - MODULE_PARM_SYNTAX() are defined in - <sound/initval.h>, such as - SNDRV_ID_DESC or - SNDRV_ENABLED. + MODULE_PARM_DESC() macros. @@ -5454,13 +5286,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); ]]> @@ -5479,9 +5308,8 @@ @@ -5636,14 +5464,14 @@ SND_TOPDIR=../.. endif - include $(TOPDIR)/toplevel.config - include $(TOPDIR)/Makefile.conf + include $(SND_TOPDIR)/toplevel.config + include $(SND_TOPDIR)/Makefile.conf snd-xyz-objs := xyz.o abc.o def.o obj-$(CONFIG_SND_XYZ) += snd-xyz.o - include $(TOPDIR)/Rules.make + include $(SND_TOPDIR)/Rules.make ]]> diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h --- a/include/linux/pci_ids.h 2004-08-25 19:27:40 -07:00 +++ b/include/linux/pci_ids.h 2004-08-25 19:27:40 -07:00 @@ -1077,6 +1077,7 @@ #define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2 0x0055 #define PCI_DEVICE_ID_NVIDIA_NVENET_8 0x0056 #define PCI_DEVICE_ID_NVIDIA_NVENET_9 0x0057 +#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 0x0059 #define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065 #define PCI_DEVICE_ID_NVIDIA_NVENET_2 0x0066 #define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a diff -Nru a/include/linux/slab.h b/include/linux/slab.h --- a/include/linux/slab.h 2004-08-25 19:27:40 -07:00 +++ b/include/linux/slab.h 2004-08-25 19:27:40 -07:00 @@ -98,6 +98,7 @@ return __kmalloc(size, flags); } +extern void *kcalloc(size_t, size_t, int); extern void kfree(const void *); extern unsigned int ksize(const void *); diff -Nru a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h --- a/include/sound/ac97_codec.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/ac97_codec.h 2004-08-25 19:27:40 -07:00 @@ -364,11 +364,21 @@ #define AC97_RATES_MIC_ADC 4 #define AC97_RATES_SPDIF 5 +/* shared controllers */ +enum { + AC97_SHARED_TYPE_NONE, + AC97_SHARED_TYPE_ICH, + AC97_SHARED_TYPE_ATIIXP, + AC97_SHARED_TYPES +}; + /* * */ typedef struct _snd_ac97_bus ac97_bus_t; +typedef struct _snd_ac97_bus_ops ac97_bus_ops_t; +typedef struct _snd_ac97_template ac97_template_t; typedef struct _snd_ac97 ac97_t; enum ac97_pcm_cfg { @@ -405,29 +415,45 @@ int (*build_post_spdif) (ac97_t *ac97); }; -struct _snd_ac97_bus { - /* -- lowlevel (hardware) driver specific -- */ +struct _snd_ac97_bus_ops { void (*reset) (ac97_t *ac97); void (*write) (ac97_t *ac97, unsigned short reg, unsigned short val); unsigned short (*read) (ac97_t *ac97, unsigned short reg); void (*wait) (ac97_t *ac97); void (*init) (ac97_t *ac97); +}; + +struct _snd_ac97_bus { + /* -- lowlevel (hardware) driver specific -- */ + ac97_bus_ops_t *ops; void *private_data; void (*private_free) (ac97_bus_t *bus); /* --- */ snd_card_t *card; unsigned short num; /* bus number */ - unsigned short vra: 1, /* bridge supports VRA */ + unsigned short no_vra: 1, /* bridge doesn't support VRA */ isdin: 1;/* independent SDIN */ unsigned int clock; /* AC'97 base clock (usually 48000Hz) */ spinlock_t bus_lock; /* used mainly for slot allocation */ unsigned short used_slots[2][4]; /* actually used PCM slots */ unsigned short pcms_count; /* count of PCMs */ struct ac97_pcm *pcms; + unsigned int shared_type; /* type of shared controller betwen audio and modem */ ac97_t *codec[4]; snd_info_entry_t *proc; }; +struct _snd_ac97_template { + void *private_data; + void (*private_free) (ac97_t *ac97); + struct pci_dev *pci; /* assigned PCI device - used for quirks */ + unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ + unsigned short addr; /* physical address of codec [0-3] */ + unsigned int scaps; /* driver capabilities */ + unsigned int limited_regs; /* allow limited registers only */ + DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ +}; + struct _snd_ac97 { /* -- lowlevel (hardware) driver specific -- */ struct snd_ac97_build_ops * build_ops; @@ -441,6 +467,7 @@ unsigned short subsystem_vendor; unsigned short subsystem_device; spinlock_t reg_lock; + struct semaphore mutex; /* mutex for AD18xx multi-codecs and paging (2.3) */ unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ unsigned short addr; /* physical address of codec [0-3] */ unsigned int id; /* identification of codec */ @@ -461,7 +488,6 @@ unsigned short id[3]; // codec IDs (lower 16-bit word) unsigned short pcmreg[3]; // PCM registers unsigned short codec_cfg[3]; // CODEC_CFG bits - struct semaphore mutex; } ad18xx; unsigned int dev_flags; /* device specific */ } spec; @@ -484,10 +510,14 @@ { return (ac97->ext_id & AC97_EI_AMAP) != 0; } +static inline int ac97_can_spdif(ac97_t * ac97) +{ + return (ac97->ext_id & AC97_EI_SPDIF) != 0; +} /* functions */ -int snd_ac97_bus(snd_card_t * card, ac97_bus_t * _bus, ac97_bus_t ** rbus); /* create new AC97 bus */ -int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97); /* create mixer controls */ +int snd_ac97_bus(snd_card_t *card, int num, ac97_bus_ops_t *ops, void *private_data, ac97_bus_t **rbus); /* create new AC97 bus */ +int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97); /* create mixer controls */ void snd_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short value); unsigned short snd_ac97_read(ac97_t *ac97, unsigned short reg); diff -Nru a/include/sound/asequencer.h b/include/sound/asequencer.h --- a/include/sound/asequencer.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/asequencer.h 2004-08-25 19:27:40 -07:00 @@ -177,7 +177,7 @@ /* 150-151: kernel events with quote - DO NOT use in user clients */ #define SNDRV_SEQ_EVENT_KERNEL_ERROR 150 -#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 +#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 /* obsolete */ /* 152-191: reserved */ diff -Nru a/include/sound/asound.h b/include/sound/asound.h --- a/include/sound/asound.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/asound.h 2004-08-25 19:27:40 -07:00 @@ -275,7 +275,7 @@ #define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 /* only half duplex */ #define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 /* playback and capture stream are somewhat correlated */ #define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */ -#define SNDRV_PCM_INFO_NONATOMIC_OPS 0x00800000 /* non-atomic prepare callback */ +#define SNDRV_PCM_INFO_MMAP_IOMEM 0x01000000 /* mmap on IO memory */ enum sndrv_pcm_state { SNDRV_PCM_STATE_OPEN = 0, /* stream is open */ diff -Nru a/include/sound/control.h b/include/sound/control.h --- a/include/sound/control.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/control.h 2004-08-25 19:27:40 -07:00 @@ -35,8 +35,7 @@ typedef enum sndrv_ctl_event_type snd_ctl_event_type_t; typedef struct sndrv_ctl_event snd_ctl_event_t; -#define _snd_kcontrol_chip(kcontrol) ((kcontrol)->private_data) -#define snd_kcontrol_chip(kcontrol) snd_magic_cast1(chip_t, _snd_kcontrol_chip(kcontrol), return -ENXIO) +#define snd_kcontrol_chip(kcontrol) ((kcontrol)->private_data) typedef int (snd_kcontrol_info_t) (snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo); typedef int (snd_kcontrol_get_t) (snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); diff -Nru a/include/sound/core.h b/include/sound/core.h --- a/include/sound/core.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/core.h 2004-08-25 19:27:40 -07:00 @@ -211,23 +211,27 @@ void *private_data); #define snd_card_set_isa_pm_callback(card,suspend,resume,data) \ snd_card_set_dev_pm_callback(card, PM_ISA_DEV, suspend, resume, data) +#ifdef CONFIG_PCI #ifndef SND_PCI_PM_CALLBACKS int snd_card_pci_suspend(struct pci_dev *dev, u32 state); int snd_card_pci_resume(struct pci_dev *dev); #define SND_PCI_PM_CALLBACKS \ .suspend = snd_card_pci_suspend, .resume = snd_card_pci_resume #endif +#endif #else #define snd_power_lock(card) do { (void)(card); } while (0) #define snd_power_unlock(card) do { (void)(card); } while (0) static inline int snd_power_wait(snd_card_t *card, unsigned int state, struct file *file) { return 0; } #define snd_power_get_state(card) SNDRV_CTL_POWER_D0 #define snd_power_change_state(card, state) do { (void)(card); } while (0) -#define snd_card_set_pm_callback(card,suspend,resume,data) -EINVAL -#define snd_card_set_dev_pm_callback(card,suspend,resume,data) -EINVAL -#define snd_card_set_isa_pm_callback(card,suspend,resume,data) -EINVAL +#define snd_card_set_pm_callback(card,suspend,resume,data) +#define snd_card_set_dev_pm_callback(card,suspend,resume,data) +#define snd_card_set_isa_pm_callback(card,suspend,resume,data) +#ifdef CONFIG_PCI #define SND_PCI_PM_CALLBACKS #endif +#endif /* device.c */ @@ -268,7 +272,7 @@ #else #define snd_minor_info_oss_init() /*NOP*/ #define snd_minor_info_oss_done() /*NOP*/ -#define snd_oss_init_module() /*NOP*/ +#define snd_oss_init_module() 0 #endif /* memory.c */ @@ -279,10 +283,12 @@ int snd_memory_info_init(void); int snd_memory_info_done(void); void *snd_hidden_kmalloc(size_t size, int flags); +void *snd_hidden_kcalloc(size_t n, size_t size, int flags); void snd_hidden_kfree(const void *obj); void *snd_hidden_vmalloc(unsigned long size); void snd_hidden_vfree(void *obj); #define kmalloc(size, flags) snd_hidden_kmalloc(size, flags) +#define kcalloc(n, size, flags) snd_hidden_kcalloc(n, size, flags) #define kfree(obj) snd_hidden_kfree(obj) #define vmalloc(size) snd_hidden_vmalloc(size) #define vfree(obj) snd_hidden_vfree(obj) @@ -300,7 +306,6 @@ #define kfree_nocheck(obj) kfree(obj) #define vfree_nocheck(obj) vfree(obj) #endif -void *snd_kcalloc(size_t size, int flags); char *snd_kmalloc_strdup(const char *string, int flags); int copy_to_user_fromio(void __user *dst, unsigned long src, size_t count); int copy_from_user_toio(unsigned long dst, const void __user *src, size_t count); @@ -411,7 +416,7 @@ * not checked. */ #define snd_assert(expr, args...) do {\ - if (!(expr)) {\ + if (unlikely(!(expr))) { \ snd_printk("BUG? (%s) (called from %p)\n", __ASTRING__(expr), __builtin_return_address(0));\ args;\ }\ @@ -427,7 +432,7 @@ * CONFIG_SND_DEBUG is not set but without any error messages. */ #define snd_runtime_check(expr, args...) do {\ - if (!(expr)) {\ + if (unlikely(!(expr))) { \ snd_printk("ERROR (%s) (called from %p)\n", __ASTRING__(expr), __builtin_return_address(0));\ args;\ }\ diff -Nru a/include/sound/cs46xx.h b/include/sound/cs46xx.h --- a/include/sound/cs46xx.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/cs46xx.h 2004-08-25 19:27:40 -07:00 @@ -24,6 +24,7 @@ */ #include "pcm.h" +#include "pcm-indirect.h" #include "rawmidi.h" #include "ac97_codec.h" #include "cs46xx_dsp_spos.h" @@ -1650,14 +1651,7 @@ unsigned int ctl; unsigned int shift; /* Shift count to trasform frames in bytes */ - unsigned int sw_bufsize; - unsigned int sw_data; /* Offset to next dst (or src) in sw ring buffer */ - unsigned int sw_io; - int sw_ready; /* Bytes ready to be transferred to/from hw */ - unsigned int hw_data; /* Offset to next dst (or src) in hw ring buffer */ - unsigned int hw_io; /* Ring buffer hw pointer */ - int hw_ready; /* Bytes ready for play (or captured) in hw ring buffer */ - size_t appl_ptr; /* Last seen appl_ptr */ + snd_pcm_indirect_t pcm_rec; snd_pcm_substream_t *substream; pcm_channel_descriptor_t * pcm_channel; @@ -1695,14 +1689,7 @@ unsigned int ctl; unsigned int shift; /* Shift count to trasform frames in bytes */ - unsigned int sw_bufsize; - unsigned int sw_data; /* Offset to next dst (or src) in sw ring buffer */ - unsigned int sw_io; - int sw_ready; /* Bytes ready to be transferred to/from hw */ - unsigned int hw_data; /* Offset to next dst (or src) in hw ring buffer */ - unsigned int hw_io; /* Ring buffer hw pointer */ - int hw_ready; /* Bytes ready for play (or captured) in hw ring buffer */ - size_t appl_ptr; /* Last seen appl_ptr */ + snd_pcm_indirect_t pcm_rec; snd_pcm_substream_t *substream; } capt; @@ -1722,8 +1709,6 @@ spinlock_t reg_lock; unsigned int midcr; unsigned int uartm; - - struct snd_dma_device dma_dev; int amplifier; void (*amplifier_ctrl)(cs46xx_t *, int); diff -Nru a/include/sound/driver.h b/include/sound/driver.h --- a/include/sound/driver.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/driver.h 2004-08-25 19:27:40 -07:00 @@ -61,6 +61,4 @@ #undef vfree #endif -#include "sndmagic.h" - #endif /* __SOUND_DRIVER_H */ diff -Nru a/include/sound/emu10k1.h b/include/sound/emu10k1.h --- a/include/sound/emu10k1.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/emu10k1.h 2004-08-25 19:27:40 -07:00 @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -887,10 +888,7 @@ unsigned char gpr_trigger; /* GPR containing trigger (activate) information (host) */ unsigned char gpr_running; /* GPR containing info if PCM is running (FX8010) */ unsigned char etram[32]; /* external TRAM address & data */ - unsigned int sw_data, hw_data; - unsigned int sw_io, hw_io; - unsigned int sw_ready, hw_ready; - unsigned int appl_ptr; + snd_pcm_indirect_t pcm_rec; unsigned int tram_pos; unsigned int tram_shift; snd_emu10k1_fx8010_irq_t *irq; @@ -935,11 +933,11 @@ int irq; unsigned long port; /* I/O port number */ - struct resource *res_port; int APS: 1, /* APS flag */ no_ac97: 1, /* no AC'97 */ tos_link: 1, /* tos link detected */ - rear_ac97: 1; /* rear channels are on AC'97 */ + rear_ac97: 1, /* rear channels are on AC'97 */ + spk71:1; /* 7.1 configuration (Audigy 2 ZS) */ unsigned int audigy; /* is Audigy? */ unsigned int revision; /* chip revision */ unsigned int serial; /* serial number */ @@ -947,7 +945,6 @@ unsigned int card_type; /* EMU10K1_CARD_* */ unsigned int ecard_ctrl; /* ecard control bits */ unsigned long dma_mask; /* PCI DMA mask */ - struct snd_dma_device dma_dev; /* DMA device description */ int max_cache_pages; /* max memory size / PAGE_SIZE */ struct snd_dma_buffer silent_page; /* silent page */ struct snd_dma_buffer ptb_pages; /* page table pages */ @@ -972,7 +969,6 @@ snd_pcm_t *pcm; snd_pcm_t *pcm_mic; snd_pcm_t *pcm_efx; - snd_pcm_t *pcm_fx8010; spinlock_t synth_lock; void *synth; @@ -1069,6 +1065,15 @@ /* proc interface */ int snd_emu10k1_proc_init(emu10k1_t * emu); +/* fx8010 irq handler */ +int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, + snd_fx8010_irq_handler_t *handler, + unsigned char gpr_running, + void *private_data, + snd_emu10k1_fx8010_irq_t **r_irq); +int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, + snd_emu10k1_fx8010_irq_t *irq); + #endif /* __KERNEL__ */ /* @@ -1162,6 +1167,8 @@ #define FXBUS_PCM_RIGHT_FRONT 0x09 #define FXBUS_MIDI_REVERB 0x0c #define FXBUS_MIDI_CHORUS 0x0d +#define FXBUS_PCM_LEFT_SIDE 0x0e +#define FXBUS_PCM_RIGHT_SIDE 0x0f #define FXBUS_PT_LEFT 0x14 #define FXBUS_PT_RIGHT 0x15 @@ -1227,8 +1234,8 @@ #define A_EXTOUT_AFRONT_R 0x09 /* right */ #define A_EXTOUT_ACENTER 0x0a /* analog center */ #define A_EXTOUT_ALFE 0x0b /* analog LFE */ -/* 0x0c ?? */ -/* 0x0d ?? */ +#define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */ +#define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */ #define A_EXTOUT_AREAR_L 0x0e /* analog rear left */ #define A_EXTOUT_AREAR_R 0x0f /* right */ #define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */ diff -Nru a/include/sound/es1688.h b/include/sound/es1688.h --- a/include/sound/es1688.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/es1688.h 2004-08-25 19:27:40 -07:00 @@ -55,8 +55,6 @@ typedef struct _snd_es1688 es1688_t; -#define chip_t es1688_t - /* I/O ports */ #define ES1688P(codec, x) ((codec)->port + e_s_s_ESS1688##x) diff -Nru a/include/sound/info.h b/include/sound/info.h --- a/include/sound/info.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/info.h 2004-08-25 19:27:40 -07:00 @@ -91,9 +91,12 @@ extern int snd_info_check_reserved_words(const char *str); -#ifdef CONFIG_SND_OSSEMUL +#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) extern int snd_info_minor_register(void); extern int snd_info_minor_unregister(void); +#else +#define snd_info_minor_register() /* NOP */ +#define snd_info_minor_unregister() /* NOP */ #endif diff -Nru a/include/sound/initval.h b/include/sound/initval.h --- a/include/sound/initval.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/initval.h 2004-08-25 19:27:40 -07:00 @@ -21,20 +21,6 @@ * */ -#ifndef MODULE_GENERIC_STRING -#ifdef MODULE -#define MODULE_GENERIC_STRING(name, string) \ -static const char __module_generic_string_##name [] \ - __attribute__ ((unused, __section__(".modstring"))) = #name "=" string; -#else -#define MODULE_GENERIC_STRING(name, string) -#endif -#endif - -#define MODULE_CLASSES(val) MODULE_GENERIC_STRING(info_classes, val) -#define MODULE_DEVICES(val) MODULE_GENERIC_STRING(info_devices, val) -#define MODULE_PARM_SYNTAX(id, val) MODULE_GENERIC_STRING(info_parm_##id, val) - #define SNDRV_AUTO_PORT 1 #define SNDRV_AUTO_IRQ 0xffff #define SNDRV_AUTO_DMA 0xffff @@ -63,25 +49,6 @@ #define SNDRV_DEFAULT_DMA { [0 ... (SNDRV_CARDS-1)] = SNDRV_AUTO_DMA } #define SNDRV_DEFAULT_DMA_SIZE { [0 ... (SNDRV_CARDS-1)] = SNDRV_AUTO_DMA_SIZE } #define SNDRV_DEFAULT_PTR SNDRV_DEFAULT_STR - -#define SNDRV_BOOLEAN_TRUE_DESC "allows:{{0,Disabled},{1,Enabled}},default:1,dialog:check" -#define SNDRV_BOOLEAN_FALSE_DESC "allows:{{0,Disabled},{1,Enabled}},default:0,dialog:check" - -#define SNDRV_ENABLED "enable:(enable)" - -#define SNDRV_INDEX_DESC SNDRV_ENABLED ",allows:{{0,7}},unique,skill:required,dialog:list" -#define SNDRV_ID_DESC SNDRV_ENABLED ",unique" -#define SNDRV_ENABLE_DESC SNDRV_BOOLEAN_FALSE_DESC -#define SNDRV_ISAPNP_DESC SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC -#define SNDRV_DMA8_DESC SNDRV_ENABLED ",allows:{{0,1},{3}},dialog:list" -#define SNDRV_DMA16_DESC SNDRV_ENABLED ",allows:{{5,7}},dialog:list" -#define SNDRV_DMA_DESC SNDRV_ENABLED ",allows:{{0,1},{3},{5,7}},dialog:list" -#define SNDRV_IRQ_DESC SNDRV_ENABLED ",allows:{{5},{7},{9},{10,12},{14,15}},dialog:list" -#define SNDRV_DMA_SIZE_DESC SNDRV_ENABLED ",allows:{{4,128}},default:64,skill:advanced" -#define SNDRV_DMA8_SIZE_DESC SNDRV_ENABLED ",allows:{{4, 64}},default:64,skill:advanced" -#define SNDRV_DMA16_SIZE_DESC SNDRV_ENABLED ",allows:{{4,128}},default:64,skill:advanced" -#define SNDRV_PORT12_DESC SNDRV_ENABLED ",allows:{{0,0x3fff}},base:16" -#define SNDRV_PORT_DESC SNDRV_ENABLED ",allows:{{0,0xffff}},base:16" #ifdef SNDRV_LEGACY_AUTO_PROBE static int snd_legacy_auto_probe(unsigned long *ports, int (*probe)(unsigned long port)) diff -Nru a/include/sound/memalloc.h b/include/sound/memalloc.h --- a/include/sound/memalloc.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/memalloc.h 2004-08-25 19:27:40 -07:00 @@ -30,9 +30,8 @@ * buffer device info */ struct snd_dma_device { - int type; /* SNDRV_MEM_TYPE_XXX */ + int type; /* SNDRV_DMA_TYPE_XXX */ struct device *dev; /* generic device */ - unsigned int id; /* a unique ID */ }; #ifndef snd_dma_pci_data @@ -56,6 +55,7 @@ * info for buffer allocation */ struct snd_dma_buffer { + struct snd_dma_device dev; /* device type */ unsigned char *area; /* virtual pointer */ dma_addr_t addr; /* physical address */ size_t bytes; /* buffer size in bytes */ @@ -76,7 +76,7 @@ int tblsize; /* allocated table size */ struct snd_sg_page *table; /* address table */ struct page **page_table; /* page table (for vmap/vunmap) */ - struct snd_dma_device dev; + struct device *dev; }; /* @@ -97,20 +97,21 @@ /* allocate/release a buffer */ -int snd_dma_alloc_pages(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages(int type, struct device *dev, size_t size, struct snd_dma_buffer *dmab); -int snd_dma_alloc_pages_fallback(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages_fallback(int type, struct device *dev, size_t size, struct snd_dma_buffer *dmab); -void snd_dma_free_pages(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab); +void snd_dma_free_pages(struct snd_dma_buffer *dmab); /* buffer-preservation managements */ -size_t snd_dma_get_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab); -int snd_dma_free_reserved(const struct snd_dma_device *dev); -int snd_dma_set_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab); + +#define snd_dma_pci_buf_id(pci) (((unsigned int)(pci)->vendor << 16) | (pci)->device) + +size_t snd_dma_get_reserved_buf(struct snd_dma_buffer *dmab, unsigned int id); +int snd_dma_reserve_buf(struct snd_dma_buffer *dmab, unsigned int id); /* basic memory allocation functions */ void *snd_malloc_pages(size_t size, unsigned int gfp_flags); -void *snd_malloc_pages_fallback(size_t size, unsigned int gfp_flags, size_t *res_size); void snd_free_pages(void *ptr, size_t size); #endif /* __SOUND_MEMALLOC_H */ diff -Nru a/include/sound/pcm-indirect.h b/include/sound/pcm-indirect.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/include/sound/pcm-indirect.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,177 @@ +/* + * Helper functions for indirect PCM data transfer + * + * Copyright (c) by Takashi Iwai + * Jaroslav Kysela + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __SOUND_PCM_INDIRECT_H +#define __SOUND_PCM_INDIRECT_H + +#include + +typedef struct sndrv_pcm_indirect { + unsigned int hw_buffer_size; /* Byte size of hardware buffer */ + unsigned int hw_queue_size; /* Max queue size of hw buffer (0 = buffer size) */ + unsigned int hw_data; /* Offset to next dst (or src) in hw ring buffer */ + unsigned int hw_io; /* Ring buffer hw pointer */ + int hw_ready; /* Bytes ready for play (or captured) in hw ring buffer */ + unsigned int sw_buffer_size; /* Byte size of software buffer */ + unsigned int sw_data; /* Offset to next dst (or src) in sw ring buffer */ + unsigned int sw_io; /* Current software pointer in bytes */ + int sw_ready; /* Bytes ready to be transferred to/from hw */ + snd_pcm_uframes_t appl_ptr; /* Last seen appl_ptr */ +} snd_pcm_indirect_t; + +typedef void (*snd_pcm_indirect_copy_t)(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes); + +/* + * helper function for playback ack callback + */ +static inline void +snd_pcm_indirect_playback_transfer(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, + snd_pcm_indirect_copy_t copy) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; + snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr; + int qsize; + + if (diff) { + if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) + diff += runtime->boundary; + rec->sw_ready += (int)frames_to_bytes(runtime, diff); + rec->appl_ptr = appl_ptr; + } + qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size; + while (rec->hw_ready < qsize && rec->sw_ready > 0) { + unsigned int hw_to_end = rec->hw_buffer_size - rec->hw_data; + unsigned int sw_to_end = rec->sw_buffer_size - rec->sw_data; + unsigned int bytes = qsize - rec->hw_ready; + if (rec->sw_ready < (int)bytes) + bytes = rec->sw_ready; + if (hw_to_end < bytes) + bytes = hw_to_end; + if (sw_to_end < bytes) + bytes = sw_to_end; + if (! bytes) + break; + copy(substream, rec, bytes); + rec->hw_data += bytes; + if (rec->hw_data == rec->hw_buffer_size) + rec->hw_data = 0; + rec->sw_data += bytes; + if (rec->sw_data == rec->sw_buffer_size) + rec->sw_data = 0; + rec->hw_ready += bytes; + rec->sw_ready -= bytes; + } +} + +/* + * helper function for playback pointer callback + * ptr = current byte pointer + */ +static inline snd_pcm_uframes_t +snd_pcm_indirect_playback_pointer(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, unsigned int ptr) +{ + int bytes = ptr - rec->hw_io; + if (bytes < 0) + bytes += rec->hw_buffer_size; + rec->hw_io = ptr; + rec->hw_ready -= bytes; + rec->sw_io += bytes; + if (rec->sw_io >= rec->sw_buffer_size) + rec->sw_io -= rec->sw_buffer_size; + if (substream->ops->ack) + substream->ops->ack(substream); + return bytes_to_frames(substream->runtime, rec->sw_io); +} + + +/* + * helper function for capture ack callback + */ +static inline void +snd_pcm_indirect_capture_transfer(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, + snd_pcm_indirect_copy_t copy) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; + snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr; + + if (diff) { + if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) + diff += runtime->boundary; + rec->sw_ready -= frames_to_bytes(runtime, diff); + rec->appl_ptr = appl_ptr; + } + while (rec->hw_ready > 0 && + rec->sw_ready < (int)rec->sw_buffer_size) { + size_t hw_to_end = rec->hw_buffer_size - rec->hw_data; + size_t sw_to_end = rec->sw_buffer_size - rec->sw_data; + size_t bytes = rec->sw_buffer_size - rec->sw_ready; + if (rec->hw_ready < (int)bytes) + bytes = rec->hw_ready; + if (hw_to_end < bytes) + bytes = hw_to_end; + if (sw_to_end < bytes) + bytes = sw_to_end; + if (! bytes) + break; + copy(substream, rec, bytes); + rec->hw_data += bytes; + if ((int)rec->hw_data == rec->hw_buffer_size) + rec->hw_data = 0; + rec->sw_data += bytes; + if (rec->sw_data == rec->sw_buffer_size) + rec->sw_data = 0; + rec->hw_ready -= bytes; + rec->sw_ready += bytes; + } +} + +/* + * helper function for capture pointer callback, + * ptr = current byte pointer + */ +static inline snd_pcm_uframes_t +snd_pcm_indirect_capture_pointer(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, unsigned int ptr) +{ + int qsize; + int bytes = ptr - rec->hw_io; + if (bytes < 0) + bytes += rec->hw_buffer_size; + rec->hw_io = ptr; + rec->hw_ready += bytes; + qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size; + if (rec->hw_ready > qsize) + return SNDRV_PCM_POS_XRUN; + rec->sw_io += bytes; + if (rec->sw_io >= rec->sw_buffer_size) + rec->sw_io -= rec->sw_buffer_size; + if (substream->ops->ack) + substream->ops->ack(substream); + return bytes_to_frames(substream->runtime, rec->sw_io); +} + +#endif /* __SOUND_PCM_INDIRECT_H */ diff -Nru a/include/sound/pcm.h b/include/sound/pcm.h --- a/include/sound/pcm.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/pcm.h 2004-08-25 19:27:40 -07:00 @@ -52,10 +52,8 @@ typedef struct sndrv_mask snd_mask_t; typedef struct snd_sg_buf snd_pcm_sgbuf_t; -#define _snd_pcm_substream_chip(substream) ((substream)->private_data) -#define snd_pcm_substream_chip(substream) snd_magic_cast1(chip_t, _snd_pcm_substream_chip(substream), return -ENXIO) -#define _snd_pcm_chip(pcm) ((pcm)->private_data) -#define snd_pcm_chip(pcm) snd_magic_cast1(chip_t, _snd_pcm_chip(pcm), return -ENXIO) +#define snd_pcm_substream_chip(substream) ((substream)->private_data) +#define snd_pcm_chip(pcm) ((pcm)->private_data) typedef struct _snd_pcm_file snd_pcm_file_t; typedef struct _snd_pcm_runtime snd_pcm_runtime_t; @@ -123,6 +121,8 @@ #define SNDRV_PCM_TRIGGER_SUSPEND 5 #define SNDRV_PCM_TRIGGER_RESUME 6 +#define SNDRV_PCM_POS_XRUN ((snd_pcm_uframes_t)-1) + /* If you change this don't forget to change rates[] table in pcm_native.c */ #define SNDRV_PCM_RATE_5512 (1<<0) /* 5512Hz */ #define SNDRV_PCM_RATE_8000 (1<<1) /* 8000Hz */ @@ -351,7 +351,8 @@ unsigned char *dma_area; /* DMA area */ dma_addr_t dma_addr; /* physical bus address (not accessible from main CPU) */ size_t dma_bytes; /* size of DMA area */ - void *dma_private; /* private DMA data for the memory allocator */ + + struct snd_dma_buffer *dma_buffer_p; /* allocated buffer */ #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) /* -- OSS things -- */ @@ -372,8 +373,8 @@ char name[32]; /* substream name */ int stream; /* stream (direction) */ size_t buffer_bytes_max; /* limit ring buffer size */ - struct snd_dma_device dma_device; struct snd_dma_buffer dma_buffer; + unsigned int dma_buf_id; size_t dma_max; /* -- hardware operations -- */ unsigned int open_flag: 1; /* lowlevel device has been opened */ @@ -851,7 +852,7 @@ int snd_pcm_format_big_endian(snd_pcm_format_t format); int snd_pcm_format_width(snd_pcm_format_t format); /* in bits */ int snd_pcm_format_physical_width(snd_pcm_format_t format); /* in bits */ -u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format); +const unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format); int snd_pcm_format_set_silence(snd_pcm_format_t format, void *buf, unsigned int frames); snd_pcm_format_t snd_pcm_build_linear_format(int width, int unsignd, int big_endian); ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples); @@ -892,6 +893,22 @@ int snd_pcm_limit_hw_rates(snd_pcm_runtime_t *runtime); +static inline void snd_pcm_set_runtime_buffer(snd_pcm_substream_t *substream, + struct snd_dma_buffer *bufp) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + if (bufp) { + runtime->dma_buffer_p = bufp; + runtime->dma_area = bufp->area; + runtime->dma_addr = bufp->addr; + runtime->dma_bytes = bufp->bytes; + } else { + runtime->dma_buffer_p = NULL; + runtime->dma_area = NULL; + runtime->dma_addr = 0; + runtime->dma_bytes = 0; + } +} /* * Timer interface @@ -916,7 +933,7 @@ int snd_pcm_lib_malloc_pages(snd_pcm_substream_t *substream, size_t size); int snd_pcm_lib_free_pages(snd_pcm_substream_t *substream); -#define snd_pcm_substream_sgbuf(substream) ((substream)->runtime->dma_private) +#define snd_pcm_substream_sgbuf(substream) ((substream)->runtime->dma_buffer_p->private_data) #define snd_pcm_sgbuf_pages(size) snd_sgbuf_aligned_pages(size) #define snd_pcm_sgbuf_get_addr(sgbuf,ofs) snd_sgbuf_get_addr(sgbuf,ofs) struct page *snd_pcm_sgbuf_ops_page(snd_pcm_substream_t *substream, unsigned long offset); diff -Nru a/include/sound/seq_kernel.h b/include/sound/seq_kernel.h --- a/include/sound/seq_kernel.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/seq_kernel.h 2004-08-25 19:27:40 -07:00 @@ -168,6 +168,9 @@ int snd_seq_expand_var_event(const snd_seq_event_t *event, int count, char *buf, int in_kernel, int size_aligned); int snd_seq_dump_var_event(const snd_seq_event_t *event, snd_seq_dump_func_t func, void *private_data); +/* interface for OSS emulation */ +int snd_seq_set_queue_tempo(int client, snd_seq_queue_tempo_t *tempo); + /* port callback routines */ void snd_port_init_callback(snd_seq_port_callback_t *p); snd_seq_port_callback_t *snd_port_alloc_callback(void); diff -Nru a/include/sound/sndmagic.h b/include/sound/sndmagic.h --- a/include/sound/sndmagic.h 2004-08-25 19:27:40 -07:00 +++ /dev/null Wed Dec 31 16:00:00 196900 @@ -1,218 +0,0 @@ -#ifndef __SOUND_SNDMAGIC_H -#define __SOUND_SNDMAGIC_H - -/* - * Magic allocation, deallocation, check - * Copyright (c) 2000 by Abramo Bagnara - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - - -#ifdef CONFIG_SND_DEBUG_MEMORY - -void *_snd_magic_kcalloc(unsigned long magic, size_t size, int flags); -void *_snd_magic_kmalloc(unsigned long magic, size_t size, int flags); - -/** - * snd_magic_kmalloc - allocate a record with a magic-prefix - * @type: the type to allocate a record (like xxx_t) - * @extra: the extra size to allocate in bytes - * @flags: the allocation condition (GFP_XXX) - * - * Allocates a record of the given type with the extra space and - * returns its pointer. The allocated record has a secret magic-key - * to be checked via snd_magic_cast() for safe casts. - * - * The allocated pointer must be released via snd_magic_kfree(). - * - * The "struct xxx" style cannot be used as the type argument - * because the magic-key constant is generated from the type-name - * string. - */ -#define snd_magic_kmalloc(type, extra, flags) \ - (type *) _snd_magic_kmalloc(type##_magic, sizeof(type) + extra, flags) -/** - * snd_magic_kcalloc - allocate a record with a magic-prefix and initialize - * @type: the type to allocate a record (like xxx_t) - * @extra: the extra size to allocate in bytes - * @flags: the allocation condition (GFP_XXX) - * - * Works like snd_magic_kmalloc() but this clears the area with zero - * automatically. - */ -#define snd_magic_kcalloc(type, extra, flags) \ - (type *) _snd_magic_kcalloc(type##_magic, sizeof(type) + extra, flags) - -/** - * snd_magic_kfree - release the allocated area - * @ptr: the pointer allocated via snd_magic_kmalloc() or snd_magic_kcalloc() - * - * Releases the memory area allocated via snd_magic_kmalloc() or - * snd_magic_kcalloc() function. - */ -void snd_magic_kfree(void *ptr); - -static inline unsigned long _snd_magic_value(void *obj) -{ - return obj == NULL ? (unsigned long)-1 : *(((unsigned long *)obj) - 1); -} - -static inline int _snd_magic_bad(void *obj, unsigned long magic) -{ - return _snd_magic_value(obj) != magic; -} - -#define snd_magic_cast1(t, expr, cmd) snd_magic_cast(t, expr, cmd) - -/** - * snd_magic_cast - check and cast the magic-allocated pointer - * @type: the type of record to cast - * @ptr: the magic-allocated pointer - * @action...: the action to do if failed - * - * This macro provides a safe cast for the given type, which was - * allocated via snd_magic_kmalloc() or snd_magic_kcallc(). - * If the pointer is invalid, i.e. the cast-type doesn't match, - * the action arguments are called with a debug message. - */ -#define snd_magic_cast(type, ptr, action...) \ - (type *) ({\ - void *__ptr = ptr;\ - unsigned long __magic = _snd_magic_value(__ptr);\ - if (__magic != type##_magic) {\ - snd_printk("bad MAGIC (0x%lx)\n", __magic);\ - action;\ - }\ - __ptr;\ -}) - -#define snd_device_t_magic 0xa15a00ff -#define snd_pcm_t_magic 0xa15a0101 -#define snd_pcm_file_t_magic 0xa15a0102 -#define snd_pcm_substream_t_magic 0xa15a0103 -#define snd_pcm_proc_private_t_magic 0xa15a0104 -#define snd_pcm_oss_file_t_magic 0xa15a0105 -#define snd_mixer_oss_t_magic 0xa15a0106 -// #define snd_pcm_sgbuf_t_magic 0xa15a0107 - -#define snd_info_private_data_t_magic 0xa15a0201 -#define snd_info_entry_t_magic 0xa15a0202 -#define snd_ctl_file_t_magic 0xa15a0301 -#define snd_kcontrol_t_magic 0xa15a0302 -#define snd_rawmidi_t_magic 0xa15a0401 -#define snd_rawmidi_file_t_magic 0xa15a0402 -#define snd_virmidi_t_magic 0xa15a0403 -#define snd_virmidi_dev_t_magic 0xa15a0404 -#define snd_timer_t_magic 0xa15a0501 -#define snd_timer_user_t_magic 0xa15a0502 -#define snd_hwdep_t_magic 0xa15a0601 -#define snd_seq_device_t_magic 0xa15a0701 - -#define es18xx_t_magic 0xa15a1101 -#define trident_t_magic 0xa15a1201 -#define es1938_t_magic 0xa15a1301 -#define cs46xx_t_magic 0xa15a1401 -#define cs46xx_pcm_t_magic 0xa15a1402 -#define ensoniq_t_magic 0xa15a1501 -#define sonicvibes_t_magic 0xa15a1601 -#define mpu401_t_magic 0xa15a1701 -#define fm801_t_magic 0xa15a1801 -#define ac97_t_magic 0xa15a1901 -#define ac97_bus_t_magic 0xa15a1902 -#define ak4531_t_magic 0xa15a1a01 -#define snd_uart16550_t_magic 0xa15a1b01 -#define emu10k1_t_magic 0xa15a1c01 -#define emu10k1_pcm_t_magic 0xa15a1c02 -#define emu10k1_midi_t_magic 0xa15a1c03 -#define snd_gus_card_t_magic 0xa15a1d01 -#define gus_pcm_private_t_magic 0xa15a1d02 -#define gus_proc_private_t_magic 0xa15a1d03 -#define tea6330t_t_magic 0xa15a1e01 -#define ad1848_t_magic 0xa15a1f01 -#define cs4231_t_magic 0xa15a2001 -#define es1688_t_magic 0xa15a2101 -#define opti93x_t_magic 0xa15a2201 -#define emu8000_t_magic 0xa15a2301 -#define emu8000_proc_private_t_magic 0xa15a2302 -#define snd_emux_t_magic 0xa15a2303 -#define snd_emux_port_t_magic 0xa15a2304 -#define sb_t_magic 0xa15a2401 -#define snd_sb_csp_t_magic 0xa15a2402 -#define snd_card_dummy_t_magic 0xa15a2501 -#define snd_card_dummy_pcm_t_magic 0xa15a2502 -#define opl3_t_magic 0xa15a2601 -#define opl4_t_magic 0xa15a2602 -#define snd_seq_dummy_port_t_magic 0xa15a2701 -#define ice1712_t_magic 0xa15a2801 -#define ad1816a_t_magic 0xa15a2901 -#define intel8x0_t_magic 0xa15a2a01 -#define es1968_t_magic 0xa15a2b01 -#define esschan_t_magic 0xa15a2b02 -#define via82xx_t_magic 0xa15a2c01 -#define pdplus_t_magic 0xa15a2d01 -#define cmipci_t_magic 0xa15a2e01 -#define ymfpci_t_magic 0xa15a2f01 -#define ymfpci_pcm_t_magic 0xa15a2f02 -#define cs4281_t_magic 0xa15a3001 -#define snd_i2c_bus_t_magic 0xa15a3101 -#define snd_i2c_device_t_magic 0xa15a3102 -#define cs8427_t_magic 0xa15a3111 -#define m3_t_magic 0xa15a3201 -#define m3_dma_t_magic 0xa15a3202 -#define nm256_t_magic 0xa15a3301 -#define nm256_dma_t_magic 0xa15a3302 -#define sam9407_t_magic 0xa15a3401 -#define pmac_t_magic 0xa15a3501 -#define ali_t_magic 0xa15a3601 -#define mtpav_t_magic 0xa15a3701 -#define mtpav_port_t_magic 0xa15a3702 -#define korg1212_t_magic 0xa15a3800 -#define opl3sa2_t_magic 0xa15a3900 -#define serialmidi_t_magic 0xa15a3a00 -#define sa11xx_uda1341_t_magic 0xa15a3b00 -#define uda1341_t_magic 0xa15a3c00 -#define l3_client_t_magic 0xa15a3d00 -#define snd_usb_audio_t_magic 0xa15a3e01 -#define usb_mixer_elem_info_t_magic 0xa15a3e02 -#define snd_usb_stream_t_magic 0xa15a3e03 -#define snd_usb_midi_t_magic 0xa15a3f01 -#define snd_usb_midi_out_endpoint_t_magic 0xa15a3f02 -#define snd_usb_midi_in_endpoint_t_magic 0xa15a3f03 -#define ak4117_t_magic 0xa15a4000 -#define psic_t_magic 0xa15a4100 -#define vx_core_t_magic 0xa15a4110 -#define vx_pipe_t_magic 0xa15a4112 -#define azf3328_t_magic 0xa15a4200 -#define snd_card_harmony_t_magic 0xa15a4300 -#define bt87x_t_magic 0xa15a4400 -#define pdacf_t_magic 0xa15a4500 -#define vortex_t_magic 0xa15a4601 -#define atiixp_t_magic 0xa15a4701 -#define amd7930_t_magic 0xa15a4801 - -#else - -#define snd_magic_kcalloc(type, extra, flags) (type *) snd_kcalloc(sizeof(type) + extra, flags) -#define snd_magic_kmalloc(type, extra, flags) (type *) kmalloc(sizeof(type) + extra, flags) -#define snd_magic_cast(type, ptr, retval) (type *) ptr -#define snd_magic_cast1(type, ptr, retval) snd_magic_cast(type, ptr, retval) -#define snd_magic_kfree kfree - -#endif - -#endif /* __SOUND_SNDMAGIC_H */ diff -Nru a/include/sound/soundfont.h b/include/sound/soundfont.h --- a/include/sound/soundfont.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/soundfont.h 2004-08-25 19:27:40 -07:00 @@ -95,6 +95,7 @@ int zone_locked; /* locked time for zone */ int sample_locked; /* locked time for sample */ snd_sf_callback_t callback; /* callback functions */ + int presets_locked; struct semaphore presets_mutex; spinlock_t lock; snd_util_memhdr_t *memhdr; diff -Nru a/include/sound/timer.h b/include/sound/timer.h --- a/include/sound/timer.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/timer.h 2004-08-25 19:27:40 -07:00 @@ -40,8 +40,7 @@ typedef struct sndrv_timer_read snd_timer_read_t; typedef struct sndrv_timer_tread snd_timer_tread_t; -#define _snd_timer_chip(timer) ((timer)->private_data) -#define snd_timer_chip(timer) snd_magic_cast1(chip_t, _snd_timer_chip(timer), return -ENXIO) +#define snd_timer_chip(timer) ((timer)->private_data) #define SNDRV_TIMER_DEVICES 16 diff -Nru a/include/sound/trident.h b/include/sound/trident.h --- a/include/sound/trident.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/trident.h 2004-08-25 19:27:40 -07:00 @@ -398,7 +398,6 @@ unsigned char bDMAStart; unsigned long port; - struct resource *res_port; unsigned long midi_port; unsigned int spurious_irq_count; diff -Nru a/include/sound/version.h b/include/sound/version.h --- a/include/sound/version.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/version.h 2004-08-25 19:27:40 -07:00 @@ -1,3 +1,3 @@ /* include/version.h. Generated by configure. */ -#define CONFIG_SND_VERSION "1.0.4" -#define CONFIG_SND_DATE " (Mon May 17 14:31:44 2004 UTC)" +#define CONFIG_SND_VERSION "1.0.6" +#define CONFIG_SND_DATE " (Sun Aug 15 07:17:53 2004 UTC)" diff -Nru a/include/sound/vx_core.h b/include/sound/vx_core.h --- a/include/sound/vx_core.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/vx_core.h 2004-08-25 19:27:40 -07:00 @@ -182,6 +182,7 @@ /* clock and audio sources */ unsigned int audio_source; /* current audio input source */ unsigned int audio_source_target; + unsigned int clock_mode; /* clock mode (VX_CLOCK_MODE_XXX) */ unsigned int clock_source; /* current clock source (INTERNAL_QUARTZ or UER_SYNC) */ unsigned int freq; /* current frequency */ unsigned int freq_detected; /* detected frequency from digital in */ @@ -362,6 +363,13 @@ enum { INTERNAL_QUARTZ, UER_SYNC +}; + +/* clock mode */ +enum { + VX_CLOCK_MODE_AUTO, /* depending on the current audio source */ + VX_CLOCK_MODE_INTERNAL, /* fixed to internal quartz */ + VX_CLOCK_MODE_EXTERNAL /* fixed to UER sync */ }; /* SPDIF/UER type */ diff -Nru a/include/sound/ymfpci.h b/include/sound/ymfpci.h --- a/include/sound/ymfpci.h 2004-08-25 19:27:40 -07:00 +++ b/include/sound/ymfpci.h 2004-08-25 19:27:40 -07:00 @@ -316,7 +316,6 @@ struct gameport gameport; #endif - struct snd_dma_device dma_dev; struct snd_dma_buffer work_ptr; unsigned int bank_size_playback; diff -Nru a/mm/slab.c b/mm/slab.c --- a/mm/slab.c 2004-08-25 19:27:40 -07:00 +++ b/mm/slab.c 2004-08-25 19:27:40 -07:00 @@ -2479,6 +2479,27 @@ EXPORT_SYMBOL(kmem_cache_free); /** + * kcalloc - allocate memory for an array. The memory is set to zero. + * @n: number of elements. + * @size: element size. + * @flags: the type of memory to allocate. + */ +void *kcalloc(size_t n, size_t size, int flags) +{ + void *ret = NULL; + + if (n != 0 && size > INT_MAX / n) + return ret; + + ret = kmalloc(n * size, flags); + if (ret) + memset(ret, 0, n * size); + return ret; +} + +EXPORT_SYMBOL(kcalloc); + +/** * kfree - free previously allocated memory * @objp: pointer returned by kmalloc. * diff -Nru a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c --- a/sound/arm/sa11xx-uda1341.c 2004-08-25 19:27:40 -07:00 +++ b/sound/arm/sa11xx-uda1341.c 2004-08-25 19:27:40 -07:00 @@ -21,7 +21,7 @@ * merged HAL layer (patches from Brian) */ -/* $Id: sa11xx-uda1341.c,v 1.15 2004/05/03 17:36:50 tiwai Exp $ */ +/* $Id: sa11xx-uda1341.c,v 1.18 2004/07/20 15:54:09 cladisch Exp $ */ /*************************************************************************************************** * @@ -108,16 +108,13 @@ MODULE_AUTHOR("Tomas Kasparek "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("SA1100/SA1111 + UDA1341TS driver for ALSA"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{UDA1341,iPAQ H3600 UDA1341TS}}"); +MODULE_SUPPORTED_DEVICE("{{UDA1341,iPAQ H3600 UDA1341TS}}"); static char *id = NULL; /* ID for this card */ module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for SA1100/SA1111 + UDA1341TS soundcard."); -#define chip_t sa11xx_uda1341_t - typedef struct audio_stream { char *id; /* identification string */ int stream_id; /* numeric identification */ @@ -152,10 +149,8 @@ 29400, 32000, 44100, 48000, }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -869,7 +864,7 @@ static int snd_sa11xx_uda1341_suspend(snd_card_t *card, unsigned int state) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11x_uda1341_t, card->pm_private_data, return -EINVAL); + sa11xx_uda1341_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); #ifdef HH_VERSION @@ -886,7 +881,7 @@ static int snd_sa11xx_uda1341_resume(snd_card_t *card, unsigned int state) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11x_uda1341_t, card->pm_private_data, return -EINVAL); + sa11xx_uda1341_t *chip = card->pm_private_data; sa11xx_uda1341_audio_init(chip); l3_command(chip->uda1341, CMD_RESUME, NULL); @@ -903,7 +898,7 @@ void snd_sa11xx_uda1341_free(snd_card_t *card) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11xx_uda1341_t, card->private_data, return); + sa11xx_uda1341_t *chip = card->private_data; audio_dma_free(&chip->s[SNDRV_PCM_STREAM_PLAYBACK]); audio_dma_free(&chip->s[SNDRV_PCM_STREAM_CAPTURE]); @@ -925,7 +920,7 @@ if (card == NULL) return -ENOMEM; - sa11xx_uda1341 = snd_magic_kcalloc(sa11xx_uda1341_t, 0, GFP_KERNEL); + sa11xx_uda1341 = kcalloc(1, sizeof(*sa11xx_uda1341), GFP_KERNEL); if (sa11xx_uda1341 == NULL) return -ENOMEM; spin_lock_init(&chip->s[0].dma_lock); diff -Nru a/sound/core/control.c b/sound/core/control.c --- a/sound/core/control.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/control.c 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -62,7 +63,7 @@ err = -EFAULT; goto __error2; } - ctl = snd_magic_kcalloc(snd_ctl_file_t, 0, GFP_KERNEL); + ctl = kcalloc(1, sizeof(*ctl), GFP_KERNEL); if (ctl == NULL) { err = -ENOMEM; goto __error; @@ -108,7 +109,7 @@ snd_kcontrol_t *control; unsigned int idx; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; fasync_helper(-1, file, 0, &ctl->fasync); file->private_data = NULL; card = ctl->card; @@ -124,7 +125,7 @@ } up_write(&card->controls_rwsem); snd_ctl_empty_read_queue(ctl); - snd_magic_kfree(ctl); + kfree(ctl); module_put(card->module); snd_card_file_remove(card, file); return 0; @@ -155,7 +156,7 @@ goto _found; } } - ev = snd_kcalloc(sizeof(*ev), GFP_ATOMIC); + ev = kcalloc(1, sizeof(*ev), GFP_ATOMIC); if (ev) { ev->id = *id; ev->mask = mask; @@ -188,9 +189,7 @@ snd_runtime_check(control != NULL, return NULL); snd_runtime_check(control->count > 0, return NULL); - kctl = (snd_kcontrol_t *)snd_magic_kcalloc(snd_kcontrol_t, - sizeof(snd_kcontrol_volatile_t) * control->count, - GFP_KERNEL); + kctl = kcalloc(1, sizeof(*kctl) + sizeof(snd_kcontrol_volatile_t) * control->count, GFP_KERNEL); if (kctl == NULL) return NULL; *kctl = *control; @@ -249,7 +248,7 @@ if (kcontrol) { if (kcontrol->private_free) kcontrol->private_free(kcontrol); - snd_magic_kfree(kcontrol); + kfree(kcontrol); } } @@ -927,7 +926,7 @@ if (!(info.access & SNDRV_CTL_ELEM_ACCESS_DINDIRECT)) for (idx = 0; idx < 4 && info.dimen.d[idx]; idx++) dimen_size += sizeof(unsigned short); - ue = snd_kcalloc(sizeof(struct user_element) + dimen_size + private_size + extra_size, GFP_KERNEL); + ue = kcalloc(1, sizeof(struct user_element) + dimen_size + private_size + extra_size, GFP_KERNEL); if (ue == NULL) return -ENOMEM; ue->type = info.type; @@ -1022,8 +1021,8 @@ } #endif -static int snd_ctl_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_ctl_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_ctl_file_t *ctl; snd_card_t *card; @@ -1033,7 +1032,7 @@ int __user *ip = argp; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; card = ctl->card; snd_assert(card != NULL, return -ENXIO); switch (cmd) { @@ -1096,13 +1095,24 @@ return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_ctl_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_ctl_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count, loff_t * offset) { snd_ctl_file_t *ctl; int err = 0; ssize_t result = 0; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; snd_assert(ctl != NULL && ctl->card != NULL, return -ENXIO); if (!ctl->subscribed) return -EBADFD; @@ -1116,7 +1126,7 @@ wait_queue_t wait; if ((file->f_flags & O_NONBLOCK) != 0 || result > 0) { err = -EAGAIN; - goto __end; + goto __end_lock; } init_waitqueue_entry(&wait, current); add_wait_queue(&ctl->change_sleep, &wait); @@ -1137,16 +1147,16 @@ kfree(kev); if (copy_to_user(buffer, &ev, sizeof(snd_ctl_event_t))) { err = -EFAULT; - goto out; + goto __end; } spin_lock_irq(&ctl->read_lock); buffer += sizeof(snd_ctl_event_t); count -= sizeof(snd_ctl_event_t); result += sizeof(snd_ctl_event_t); } -__end: + __end_lock: spin_unlock_irq(&ctl->read_lock); -out: + __end: return result > 0 ? result : err; } @@ -1155,7 +1165,7 @@ unsigned int mask; snd_ctl_file_t *ctl; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return 0); + ctl = file->private_data; if (!ctl->subscribed) return 0; poll_wait(file, &ctl->change_sleep, wait); @@ -1175,8 +1185,7 @@ { snd_kctl_ioctl_t *pn; - pn = (snd_kctl_ioctl_t *) - snd_kcalloc(sizeof(snd_kctl_ioctl_t), GFP_KERNEL); + pn = kcalloc(1, sizeof(snd_kctl_ioctl_t), GFP_KERNEL); if (pn == NULL) return -ENOMEM; pn->fioctl = fcn; @@ -1214,7 +1223,7 @@ { snd_ctl_file_t *ctl; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; err = fasync_helper(fd, file, on, &ctl->fasync); if (err < 0) return err; diff -Nru a/sound/core/device.c b/sound/core/device.c --- a/sound/core/device.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/device.c 2004-08-25 19:27:40 -07:00 @@ -47,7 +47,7 @@ snd_device_t *dev; snd_assert(card != NULL && device_data != NULL && ops != NULL, return -ENXIO); - dev = (snd_device_t *) snd_magic_kcalloc(snd_device_t, 0, GFP_KERNEL); + dev = kcalloc(1, sizeof(*dev), GFP_KERNEL); if (dev == NULL) return -ENOMEM; dev->card = card; @@ -94,7 +94,7 @@ snd_printk(KERN_ERR "device free failure\n"); } } - snd_magic_kfree(dev); + kfree(dev); return 0; } snd_printd("device free %p (from %p), not found\n", device_data, __builtin_return_address(0)); diff -Nru a/sound/core/hwdep.c b/sound/core/hwdep.c --- a/sound/core/hwdep.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/hwdep.c 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -49,7 +50,7 @@ static loff_t snd_hwdep_llseek(struct file * file, loff_t offset, int orig) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; if (hw->ops.llseek) return hw->ops.llseek(hw, file, offset, orig); return -ENXIO; @@ -57,7 +58,7 @@ static ssize_t snd_hwdep_read(struct file * file, char __user *buf, size_t count, loff_t *offset) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; if (hw->ops.read) return hw->ops.read(hw, buf, count, offset); return -ENXIO; @@ -65,7 +66,7 @@ static ssize_t snd_hwdep_write(struct file * file, const char __user *buf, size_t count, loff_t *offset) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; if (hw->ops.write) return hw->ops.write(hw, buf, count, offset); return -ENXIO; @@ -157,7 +158,7 @@ static int snd_hwdep_release(struct inode *inode, struct file * file) { int err = -ENXIO; - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; down(&hw->open_mutex); if (hw->ops.release) { err = hw->ops.release(hw, file); @@ -173,7 +174,7 @@ static unsigned int snd_hwdep_poll(struct file * file, poll_table * wait) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return 0); + snd_hwdep_t *hw = file->private_data; if (hw->ops.poll) return hw->ops.poll(hw, file, wait); return 0; @@ -231,10 +232,10 @@ return 0; } -static int snd_hwdep_ioctl(struct inode *inode, struct file * file, - unsigned int cmd, unsigned long arg) +static inline int _snd_hwdep_ioctl(struct inode *inode, struct file * file, + unsigned int cmd, unsigned long arg) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; void __user *argp = (void __user *)arg; switch (cmd) { case SNDRV_HWDEP_IOCTL_PVERSION: @@ -251,9 +252,20 @@ return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_hwdep_ioctl(struct inode *inode, struct file * file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_hwdep_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static int snd_hwdep_mmap(struct file * file, struct vm_area_struct * vma) { - snd_hwdep_t *hw = snd_magic_cast(snd_hwdep_t, file->private_data, return -ENXIO); + snd_hwdep_t *hw = file->private_data; if (hw->ops.mmap) return hw->ops.mmap(hw, file, vma); return -ENXIO; @@ -352,7 +364,7 @@ snd_assert(rhwdep != NULL, return -EINVAL); *rhwdep = NULL; snd_assert(card != NULL, return -ENXIO); - hwdep = snd_magic_kcalloc(snd_hwdep_t, 0, GFP_KERNEL); + hwdep = kcalloc(1, sizeof(*hwdep), GFP_KERNEL); if (hwdep == NULL) return -ENOMEM; hwdep->card = card; @@ -378,19 +390,19 @@ snd_assert(hwdep != NULL, return -ENXIO); if (hwdep->private_free) hwdep->private_free(hwdep); - snd_magic_kfree(hwdep); + kfree(hwdep); return 0; } static int snd_hwdep_dev_free(snd_device_t *device) { - snd_hwdep_t *hwdep = snd_magic_cast(snd_hwdep_t, device->device_data, return -ENXIO); + snd_hwdep_t *hwdep = device->device_data; return snd_hwdep_free(hwdep); } static int snd_hwdep_dev_register(snd_device_t *device) { - snd_hwdep_t *hwdep = snd_magic_cast(snd_hwdep_t, device->device_data, return -ENXIO); + snd_hwdep_t *hwdep = device->device_data; int idx, err; char name[32]; @@ -433,7 +445,7 @@ static int snd_hwdep_dev_unregister(snd_device_t *device) { - snd_hwdep_t *hwdep = snd_magic_cast(snd_hwdep_t, device->device_data, return -ENXIO); + snd_hwdep_t *hwdep = device->device_data; int idx; snd_assert(hwdep != NULL, return -ENXIO); diff -Nru a/sound/core/info.c b/sound/core/info.c --- a/sound/core/info.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/info.c 2004-08-25 19:27:40 -07:00 @@ -139,7 +139,7 @@ struct snd_info_entry *entry; loff_t ret; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; entry = data->entry; lock_kernel(); switch (entry->content) { @@ -183,7 +183,7 @@ size_t size = 0; loff_t pos; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; snd_assert(data != NULL, return -ENXIO); pos = *offset; if (pos < 0 || (long) pos != pos || (ssize_t) count < 0) @@ -224,7 +224,7 @@ size_t size = 0; loff_t pos; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; snd_assert(data != NULL, return -ENXIO); entry = data->entry; pos = *offset; @@ -296,7 +296,7 @@ goto __error; } } - data = snd_magic_kcalloc(snd_info_private_data_t, 0, GFP_KERNEL); + data = kcalloc(1, sizeof(*data), GFP_KERNEL); if (data == NULL) { err = -ENOMEM; goto __error; @@ -305,10 +305,9 @@ switch (entry->content) { case SNDRV_INFO_CONTENT_TEXT: if (mode == O_RDONLY || mode == O_RDWR) { - buffer = (snd_info_buffer_t *) - snd_kcalloc(sizeof(snd_info_buffer_t), GFP_KERNEL); + buffer = kcalloc(1, sizeof(*buffer), GFP_KERNEL); if (buffer == NULL) { - snd_magic_kfree(data); + kfree(data); err = -ENOMEM; goto __error; } @@ -317,7 +316,7 @@ buffer->buffer = vmalloc(buffer->len); if (buffer->buffer == NULL) { kfree(buffer); - snd_magic_kfree(data); + kfree(data); err = -ENOMEM; goto __error; } @@ -325,14 +324,13 @@ data->rbuffer = buffer; } if (mode == O_WRONLY || mode == O_RDWR) { - buffer = (snd_info_buffer_t *) - snd_kcalloc(sizeof(snd_info_buffer_t), GFP_KERNEL); + buffer = kcalloc(1, sizeof(*buffer), GFP_KERNEL); if (buffer == NULL) { if (mode == O_RDWR) { vfree(data->rbuffer->buffer); kfree(data->rbuffer); } - snd_magic_kfree(data); + kfree(data); err = -ENOMEM; goto __error; } @@ -345,7 +343,7 @@ kfree(data->rbuffer); } kfree(buffer); - snd_magic_kfree(data); + kfree(data); err = -ENOMEM; goto __error; } @@ -357,7 +355,7 @@ if (entry->c.ops->open) { if ((err = entry->c.ops->open(entry, mode, &data->file_private_data)) < 0) { - snd_magic_kfree(data); + kfree(data); goto __error; } } @@ -389,7 +387,7 @@ int mode; mode = file->f_flags & O_ACCMODE; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; entry = data->entry; switch (entry->content) { case SNDRV_INFO_CONTENT_TEXT: @@ -417,7 +415,7 @@ break; } module_put(entry->module); - snd_magic_kfree(data); + kfree(data); return 0; } @@ -427,7 +425,7 @@ struct snd_info_entry *entry; unsigned int mask; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; if (data == NULL) return 0; entry = data->entry; @@ -447,13 +445,13 @@ return mask; } -static int snd_info_entry_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_info_entry_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_info_private_data_t *data; struct snd_info_entry *entry; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; if (data == NULL) return 0; entry = data->entry; @@ -468,13 +466,24 @@ return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_info_entry_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_info_entry_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static int snd_info_entry_mmap(struct file *file, struct vm_area_struct *vma) { struct inode *inode = file->f_dentry->d_inode; snd_info_private_data_t *data; struct snd_info_entry *entry; - data = snd_magic_cast(snd_info_private_data_t, file->private_data, return -ENXIO); + data = file->private_data; if (data == NULL) return 0; entry = data->entry; @@ -744,12 +753,12 @@ static snd_info_entry_t *snd_info_create_entry(const char *name) { snd_info_entry_t *entry; - entry = snd_magic_kcalloc(snd_info_entry_t, 0, GFP_KERNEL); + entry = kcalloc(1, sizeof(*entry), GFP_KERNEL); if (entry == NULL) return NULL; entry->name = snd_kmalloc_strdup(name, GFP_KERNEL); if (entry->name == NULL) { - snd_magic_kfree(entry); + kfree(entry); return NULL; } entry->mode = S_IFREG | S_IRUGO; @@ -805,27 +814,27 @@ static int snd_info_dev_free_entry(snd_device_t *device) { - snd_info_entry_t *entry = snd_magic_cast(snd_info_entry_t, device->device_data, return -ENXIO); + snd_info_entry_t *entry = device->device_data; snd_info_free_entry(entry); return 0; } static int snd_info_dev_register_entry(snd_device_t *device) { - snd_info_entry_t *entry = snd_magic_cast(snd_info_entry_t, device->device_data, return -ENXIO); + snd_info_entry_t *entry = device->device_data; return snd_info_register(entry); } static int snd_info_dev_disconnect_entry(snd_device_t *device) { - snd_info_entry_t *entry = snd_magic_cast(snd_info_entry_t, device->device_data, return -ENXIO); + snd_info_entry_t *entry = device->device_data; entry->disconnected = 1; return 0; } static int snd_info_dev_unregister_entry(snd_device_t *device) { - snd_info_entry_t *entry = snd_magic_cast(snd_info_entry_t, device->device_data, return -ENXIO); + snd_info_entry_t *entry = device->device_data; return snd_info_unregister(entry); } @@ -887,7 +896,7 @@ kfree((char *)entry->name); if (entry->private_free) entry->private_free(entry); - snd_magic_kfree(entry); + kfree(entry); } /** diff -Nru a/sound/core/info_oss.c b/sound/core/info_oss.c --- a/sound/core/info_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/info_oss.c 2004-08-25 19:27:40 -07:00 @@ -134,16 +134,4 @@ return 0; } -#else - -int snd_info_minor_register(void) -{ - return 0; -} - -int snd_info_minor_unregister(void) -{ - return 0; -} - #endif /* CONFIG_SND_OSSEMUL */ diff -Nru a/sound/core/init.c b/sound/core/init.c --- a/sound/core/init.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/init.c 2004-08-25 19:27:40 -07:00 @@ -73,7 +73,7 @@ if (extra_size < 0) extra_size = 0; - card = (snd_card_t *) snd_kcalloc(sizeof(snd_card_t) + extra_size, GFP_KERNEL); + card = kcalloc(1, sizeof(*card) + extra_size, GFP_KERNEL); if (card == NULL) return NULL; if (xid) { @@ -800,6 +800,8 @@ return 0; if (card->power_state == SNDRV_CTL_POWER_D0) return 0; + /* restore the PCI config space */ + pci_restore_state(dev, dev->saved_config_space); /* FIXME: correct state value? */ return card->pm_resume(card, 0); } diff -Nru a/sound/core/ioctl32/ioctl32.c b/sound/core/ioctl32/ioctl32.c --- a/sound/core/ioctl32/ioctl32.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/ioctl32/ioctl32.c 2004-08-25 19:27:40 -07:00 @@ -257,7 +257,7 @@ snd_ctl_elem_info_t info; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; down_read(&ctl->card->controls_rwsem); kctl = snd_ctl_find_id(ctl->card, id); diff -Nru a/sound/core/ioctl32/pcm32.c b/sound/core/ioctl32/pcm32.c --- a/sound/core/ioctl32/pcm32.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/ioctl32/pcm32.c 2004-08-25 19:27:40 -07:00 @@ -69,7 +69,7 @@ unsigned char reserved[64]; } __attribute__((packed)); -#define numberof(array) (sizeof(array)/sizeof(array[0])) +#define numberof(array) ARRAY_SIZE(array) #define CVT_sndrv_pcm_hw_params()\ {\ @@ -235,7 +235,7 @@ /* FIXME: need to check whether fop->ioctl is sane */ - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL && substream->runtime, return -ENXIO); @@ -313,7 +313,7 @@ memset(params, 0, sizeof(*params)); params->flags = oparams->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) params->masks[i].bits[0] = oparams->masks[i]; memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); @@ -331,7 +331,7 @@ memset(oparams, 0, sizeof(*oparams)); oparams->flags = params->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) oparams->masks[i] = params->masks[i].bits[0]; memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); @@ -350,8 +350,8 @@ mm_segment_t oldseg; int err; - data32 = snd_kcalloc(sizeof(*data32), GFP_KERNEL); - data = snd_kcalloc(sizeof(*data), GFP_KERNEL); + data32 = kcalloc(1, sizeof(*data32), GFP_KERNEL); + data = kcalloc(1, sizeof(*data), GFP_KERNEL); if (data32 == NULL || data == NULL) { err = -ENOMEM; goto __end; @@ -379,6 +379,45 @@ return err; } +struct sndrv_pcm_mmap_status32 { + s32 state; + s32 pad1; + u32 hw_ptr; + struct compat_timespec tstamp; + s32 suspended_state; +} __attribute__((packed)); + +struct sndrv_pcm_mmap_control32 { + u32 appl_ptr; + u32 avail_min; +} __attribute__((packed)); + +struct sndrv_pcm_sync_ptr32 { + u32 flags; + union { + struct sndrv_pcm_mmap_status32 status; + unsigned char reserved[64]; + } s; + union { + struct sndrv_pcm_mmap_control32 control; + unsigned char reserved[64]; + } c; +} __attribute__((packed)); + +#define CVT_sndrv_pcm_sync_ptr()\ +{\ + COPY(flags);\ + COPY(s.status.state);\ + COPY(s.status.pad1);\ + COPY(s.status.hw_ptr);\ + COPY(s.status.tstamp.tv_sec);\ + COPY(s.status.tstamp.tv_nsec);\ + COPY(s.status.suspended_state);\ + COPY(c.control.appl_ptr);\ + COPY(c.control.avail_min);\ +} + +DEFINE_ALSA_IOCTL_BIG(pcm_sync_ptr); /* */ @@ -396,6 +435,7 @@ DEFINE_ALSA_IOCTL_ENTRY(pcm_writei, xferi, SNDRV_PCM_IOCTL_WRITEI_FRAMES); DEFINE_ALSA_IOCTL_ENTRY(pcm_readn, xfern, SNDRV_PCM_IOCTL_READN_FRAMES); DEFINE_ALSA_IOCTL_ENTRY(pcm_writen, xfern, SNDRV_PCM_IOCTL_WRITEN_FRAMES); +DEFINE_ALSA_IOCTL_ENTRY(pcm_sync_ptr, pcm_sync_ptr, SNDRV_PCM_IOCTL_SYNC_PTR); /* @@ -416,6 +456,7 @@ SNDRV_PCM_IOCTL_READN_FRAMES32 = _IOR('A', 0x53, struct sndrv_xfern32), SNDRV_PCM_IOCTL_HW_REFINE_OLD32 = _IOWR('A', 0x10, struct sndrv_pcm_hw_params_old32), SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 = _IOWR('A', 0x11, struct sndrv_pcm_hw_params_old32), + SNDRV_PCM_IOCTL_SYNC_PTR32 = _IOWR('A', 0x23, struct sndrv_pcm_sync_ptr), }; @@ -431,6 +472,8 @@ { SNDRV_PCM_IOCTL_SW_PARAMS32, AP(pcm_sw_params) }, { SNDRV_PCM_IOCTL_STATUS32, AP(pcm_status) }, { SNDRV_PCM_IOCTL_DELAY32, AP(pcm_delay) }, + MAP_COMPAT(SNDRV_PCM_IOCTL_HWSYNC), + { SNDRV_PCM_IOCTL_SYNC_PTR32, AP(pcm_sync_ptr) }, { SNDRV_PCM_IOCTL_CHANNEL_INFO32, AP(pcm_channel_info) }, MAP_COMPAT(SNDRV_PCM_IOCTL_PREPARE), MAP_COMPAT(SNDRV_PCM_IOCTL_RESET), diff -Nru a/sound/core/memalloc.c b/sound/core/memalloc.c --- a/sound/core/memalloc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/memalloc.c 2004-08-25 19:27:40 -07:00 @@ -45,15 +45,19 @@ #ifndef SNDRV_CARDS #define SNDRV_CARDS 8 #endif + +/* FIXME: so far only some PCI devices have the preallocation table */ +#ifdef CONFIG_PCI static int enable[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = 1}; static int boot_devs; module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable cards to allocate buffers."); +#endif /* */ -void *snd_malloc_sgbuf_pages(const struct snd_dma_device *dev, +void *snd_malloc_sgbuf_pages(struct device *device, size_t size, struct snd_dma_buffer *dmab, size_t *res_size); int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab); @@ -66,9 +70,8 @@ /* buffer preservation list */ struct snd_mem_list { - struct snd_dma_device dev; struct snd_dma_buffer buffer; - int used; + unsigned int id; struct list_head list; }; @@ -148,6 +151,10 @@ #endif /* arch */ +#if ! defined(__arm__) +#define NEED_RESERVE_PAGES +#endif + /* * * Generic memory allocators @@ -156,22 +163,28 @@ static long snd_allocated_pages; /* holding the number of allocated pages */ -static void mark_pages(void *res, int order) +static inline void inc_snd_pages(int order) +{ + snd_allocated_pages += 1 << order; +} + +static inline void dec_snd_pages(int order) +{ + snd_allocated_pages -= 1 << order; +} + +static void mark_pages(struct page *page, int order) { - struct page *page = virt_to_page(res); struct page *last_page = page + (1 << order); while (page < last_page) SetPageReserved(page++); - snd_allocated_pages += 1 << order; } -static void unmark_pages(void *res, int order) +static void unmark_pages(struct page *page, int order) { - struct page *page = virt_to_page(res); struct page *last_page = page + (1 << order); while (page < last_page) ClearPageReserved(page++); - snd_allocated_pages -= 1 << order; } /** @@ -190,43 +203,15 @@ snd_assert(size > 0, return NULL); snd_assert(gfp_flags != 0, return NULL); - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); + pg = get_order(size); if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL) { - mark_pages(res, pg); + mark_pages(virt_to_page(res), pg); + inc_snd_pages(pg); } return res; } /** - * snd_malloc_pages_fallback - allocate pages with the given size with fallback - * @size: the requested size to allocate in bytes - * @gfp_flags: the allocation conditions, GFP_XXX - * @res_size: the pointer to store the size of buffer actually allocated - * - * Allocates the physically contiguous pages with the given request - * size. When no space is left, this function reduces the size and - * tries to allocate again. The size actually allocated is stored in - * res_size argument. - * - * Returns the pointer of the buffer, or NULL if no enoguh memory. - */ -void *snd_malloc_pages_fallback(size_t size, unsigned int gfp_flags, size_t *res_size) -{ - void *res; - - snd_assert(size > 0, return NULL); - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_pages(size, gfp_flags)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - -/** * snd_free_pages - release the pages * @ptr: the buffer pointer to release * @size: the allocated buffer size @@ -239,8 +224,9 @@ if (ptr == NULL) return; - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); - unmark_pages(ptr, pg); + pg = get_order(size); + dec_snd_pages(pg); + unmark_pages(virt_to_page(ptr), pg); free_pages((unsigned long) ptr, pg); } @@ -250,6 +236,7 @@ * */ +/* allocate the coherent DMA pages */ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma) { int pg; @@ -263,28 +250,17 @@ if (pg > 0) gfp_flags |= __GFP_NOWARN; res = dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags); - if (res != NULL) - mark_pages(res, pg); + if (res != NULL) { +#ifdef NEED_RESERVE_PAGES + mark_pages(virt_to_page(res), pg); /* should be dma_to_page() */ +#endif + inc_snd_pages(pg); + } return res; } -static void *snd_malloc_dev_pages_fallback(struct device *dev, size_t size, - dma_addr_t *dma, size_t *res_size) -{ - void *res; - - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_dev_pages(dev, size, dma)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - +/* free the coherent DMA pages */ static void snd_free_dev_pages(struct device *dev, size_t size, void *ptr, dma_addr_t dma) { @@ -293,7 +269,10 @@ if (ptr == NULL) return; pg = get_order(size); - unmark_pages(ptr, pg); + dec_snd_pages(pg); +#ifdef NEED_RESERVE_PAGES + unmark_pages(virt_to_page(ptr), pg); /* should be dma_to_page() */ +#endif dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma); } @@ -308,30 +287,13 @@ snd_assert(size > 0, return NULL); snd_assert(dma_addr != NULL, return NULL); - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); + pg = get_order(size); res = sbus_alloc_consistent(sdev, PAGE_SIZE * (1 << pg), dma_addr); - if (res != NULL) { - mark_pages(res, pg); - } + if (res != NULL) + inc_snd_pages(pg); return res; } -static void *snd_malloc_sbus_pages_fallback(struct device *dev, size_t size, - dma_addr_t *dma_addr, size_t *res_size) -{ - void *res; - - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_sbus_pages(dev, size, dma_addr)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - static void snd_free_sbus_pages(struct device *dev, size_t size, void *ptr, dma_addr_t dma_addr) { @@ -340,8 +302,8 @@ if (ptr == NULL) return; - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); - unmark_pages(ptr, pg); + pg = get_order(size); + dec_snd_pages(pg); sbus_free_consistent(sdev, PAGE_SIZE * (1 << pg), ptr, dma_addr); } @@ -354,24 +316,10 @@ */ -/* - * compare the two devices - * returns non-zero if matched. - */ -static int compare_device(const struct snd_dma_device *a, const struct snd_dma_device *b, int allow_unused) -{ - if (a->type != b->type) - return 0; - if (a->id != b->id) { - if (! allow_unused || (a->id != SNDRV_DMA_DEVICE_UNUSED && b->id != SNDRV_DMA_DEVICE_UNUSED)) - return 0; - } - return a->dev == b->dev; -} - /** * snd_dma_alloc_pages - allocate the buffer area according to the given type - * @dev: the buffer device info + * @type: the DMA buffer type + * @device: the device pointer * @size: the buffer size to allocate * @dmab: buffer allocation record to store the allocated data * @@ -381,32 +329,33 @@ * Returns zero if the buffer with the given size is allocated successfuly, * other a negative value at error. */ -int snd_dma_alloc_pages(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages(int type, struct device *device, size_t size, struct snd_dma_buffer *dmab) { - snd_assert(dev != NULL, return -ENXIO); snd_assert(size > 0, return -ENXIO); snd_assert(dmab != NULL, return -ENXIO); + dmab->dev.type = type; + dmab->dev.dev = device; dmab->bytes = 0; - switch (dev->type) { + switch (type) { case SNDRV_DMA_TYPE_CONTINUOUS: - dmab->area = snd_malloc_pages(size, (unsigned long)dev->dev); + dmab->area = snd_malloc_pages(size, (unsigned long)device); dmab->addr = 0; break; #ifdef CONFIG_SBUS case SNDRV_DMA_TYPE_SBUS: - dmab->area = snd_malloc_sbus_pages(dev->dev, size, &dmab->addr); + dmab->area = snd_malloc_sbus_pages(device, size, &dmab->addr); break; #endif case SNDRV_DMA_TYPE_DEV: - dmab->area = snd_malloc_dev_pages(dev->dev, size, &dmab->addr); + dmab->area = snd_malloc_dev_pages(device, size, &dmab->addr); break; case SNDRV_DMA_TYPE_DEV_SG: - snd_malloc_sgbuf_pages(dev, size, dmab, NULL); + snd_malloc_sgbuf_pages(device, size, dmab, NULL); break; default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); + printk(KERN_ERR "snd-malloc: invalid device type %d\n", type); dmab->area = NULL; dmab->addr = 0; return -ENXIO; @@ -419,7 +368,8 @@ /** * snd_dma_alloc_pages_fallback - allocate the buffer area according to the given type with fallback - * @dev: the buffer device info + * @type: the DMA buffer type + * @device: the device pointer * @size: the buffer size to allocate * @dmab: buffer allocation record to store the allocated data * @@ -431,35 +381,20 @@ * Returns zero if the buffer with the given size is allocated successfuly, * other a negative value at error. */ -int snd_dma_alloc_pages_fallback(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages_fallback(int type, struct device *device, size_t size, struct snd_dma_buffer *dmab) { - snd_assert(dev != NULL, return -ENXIO); + int err; + snd_assert(size > 0, return -ENXIO); snd_assert(dmab != NULL, return -ENXIO); - dmab->bytes = 0; - switch (dev->type) { - case SNDRV_DMA_TYPE_CONTINUOUS: - dmab->area = snd_malloc_pages_fallback(size, (unsigned long)dev->dev, &dmab->bytes); - dmab->addr = 0; - break; -#ifdef CONFIG_SBUS - case SNDRV_DMA_TYPE_SBUS: - dmab->area = snd_malloc_sbus_pages_fallback(dev->dev, size, &dmab->addr, &dmab->bytes); - break; -#endif - case SNDRV_DMA_TYPE_DEV: - dmab->area = snd_malloc_dev_pages_fallback(dev->dev, size, &dmab->addr, &dmab->bytes); - break; - case SNDRV_DMA_TYPE_DEV_SG: - snd_malloc_sgbuf_pages(dev, size, dmab, &dmab->bytes); - break; - default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); - dmab->area = NULL; - dmab->addr = 0; - return -ENXIO; + while ((err = snd_dma_alloc_pages(type, device, size, dmab)) < 0) { + if (err != -ENOMEM) + return err; + size >>= 1; + if (size <= PAGE_SIZE) + return -ENOMEM; } if (! dmab->area) return -ENOMEM; @@ -469,152 +404,87 @@ /** * snd_dma_free_pages - release the allocated buffer - * @dev: the buffer device info - * @dmbab: the buffer allocation record to release + * @dmab: the buffer allocation record to release * * Releases the allocated buffer via snd_dma_alloc_pages(). */ -void snd_dma_free_pages(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +void snd_dma_free_pages(struct snd_dma_buffer *dmab) { - switch (dev->type) { + switch (dmab->dev.type) { case SNDRV_DMA_TYPE_CONTINUOUS: snd_free_pages(dmab->area, dmab->bytes); break; #ifdef CONFIG_SBUS case SNDRV_DMA_TYPE_SBUS: - snd_free_sbus_pages(dev->dev, dmab->bytes, dmab->area, dmab->addr); + snd_free_sbus_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); break; #endif case SNDRV_DMA_TYPE_DEV: - snd_free_dev_pages(dev->dev, dmab->bytes, dmab->area, dmab->addr); + snd_free_dev_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); break; case SNDRV_DMA_TYPE_DEV_SG: snd_free_sgbuf_pages(dmab); break; default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); + printk(KERN_ERR "snd-malloc: invalid device type %d\n", dmab->dev.type); } } -/* - * search for the device - */ -static struct snd_mem_list *mem_list_find(const struct snd_dma_device *dev, int search_empty) -{ - struct list_head *p; - struct snd_mem_list *mem; - - list_for_each(p, &mem_list_head) { - mem = list_entry(p, struct snd_mem_list, list); - if (mem->used && search_empty) - continue; - if (compare_device(&mem->dev, dev, search_empty)) - return mem; - } - return NULL; -} - /** * snd_dma_get_reserved - get the reserved buffer for the given device - * @dev: the buffer device info * @dmab: the buffer allocation record to store + * @id: the buffer id * * Looks for the reserved-buffer list and re-uses if the same buffer - * is found in the list. When the buffer is found, it's marked as used. - * For unmarking the buffer, call snd_dma_free_reserved(). + * is found in the list. When the buffer is found, it's removed from the free list. * * Returns the size of buffer if the buffer is found, or zero if not found. */ -size_t snd_dma_get_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +size_t snd_dma_get_reserved_buf(struct snd_dma_buffer *dmab, unsigned int id) { + struct list_head *p; struct snd_mem_list *mem; - snd_assert(dev && dmab, return 0); + snd_assert(dmab, return 0); down(&list_mutex); - mem = mem_list_find(dev, 1); - if (mem) { - mem->used = 1; - mem->dev = *dev; - *dmab = mem->buffer; - up(&list_mutex); - return dmab->bytes; + list_for_each(p, &mem_list_head) { + mem = list_entry(p, struct snd_mem_list, list); + if (mem->id == id && + ! memcmp(&mem->buffer.dev, &dmab->dev, sizeof(dmab->dev))) { + list_del(p); + *dmab = mem->buffer; + kfree(mem); + up(&list_mutex); + return dmab->bytes; + } } up(&list_mutex); return 0; } /** - * snd_dma_free_reserved - unmark the reserved buffer - * @dev: the buffer device info - * - * Looks for the matching reserved buffer and erases the mark on it - * if found. - * - * Returns zero. - */ -int snd_dma_free_reserved(const struct snd_dma_device *dev) -{ - struct snd_mem_list *mem; - - snd_assert(dev, return -EINVAL); - down(&list_mutex); - mem = mem_list_find(dev, 0); - if (mem) - mem->used = 0; - up(&list_mutex); - return 0; -} - -/** - * snd_dma_set_reserved - reserve the buffer - * @dev: the buffer device info + * snd_dma_reserve_buf - reserve the buffer * @dmab: the buffer to reserve + * @id: the buffer id * * Reserves the given buffer as a reserved buffer. - * When an old reserved buffer already exists, the old one is released - * and replaced with the new one. - * - * When NULL buffer pointer or zero buffer size is given, the existing - * buffer is released and the entry is removed. * * Returns zero if successful, or a negative code at error. */ -int snd_dma_set_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +int snd_dma_reserve_buf(struct snd_dma_buffer *dmab, unsigned int id) { struct snd_mem_list *mem; - snd_assert(dev, return -EINVAL); + snd_assert(dmab, return -EINVAL); + mem = kmalloc(sizeof(*mem), GFP_KERNEL); + if (! mem) + return -ENOMEM; down(&list_mutex); - mem = mem_list_find(dev, 0); - if (mem) { - if (mem->used) - printk(KERN_WARNING "snd-page-alloc: releasing the used block (type=%d, id=0x%x\n", mem->dev.type, mem->dev.id); - snd_dma_free_pages(dev, &mem->buffer); - if (! dmab || ! dmab->bytes) { - /* remove the entry */ - list_del(&mem->list); - kfree(mem); - up(&list_mutex); - return 0; - } - } else { - if (! dmab || ! dmab->bytes) { - up(&list_mutex); - return 0; - } - mem = kmalloc(sizeof(*mem), GFP_KERNEL); - if (! mem) { - up(&list_mutex); - return -ENOMEM; - } - mem->dev = *dev; - list_add_tail(&mem->list, &mem_list_head); - } - /* store the entry */ - mem->used = 1; mem->buffer = *dmab; + mem->id = id; + list_add_tail(&mem->list, &mem_list_head); up(&list_mutex); return 0; } @@ -632,7 +502,7 @@ p = mem_list_head.next; mem = list_entry(p, struct snd_mem_list, list); list_del(p); - snd_dma_free_pages(&mem->dev, &mem->buffer); + snd_dma_free_pages(&mem->buffer); kfree(mem); } up(&list_mutex); @@ -654,7 +524,7 @@ unsigned int buffers; }; -#define HAMMERFALL_BUFFER_SIZE (16*1024*4*(26+1)) +#define HAMMERFALL_BUFFER_SIZE (16*1024*4*(26+1)+0x10000) static struct prealloc_dev prealloc_devices[] __initdata = { { @@ -676,17 +546,6 @@ { }, /* terminator */ }; -/* - * compose a snd_dma_device struct for the PCI device - */ -static inline void snd_dma_device_pci(struct snd_dma_device *dev, struct pci_dev *pci, unsigned int id) -{ - memset(dev, 0, sizeof(*dev)); - dev->type = SNDRV_DMA_TYPE_DEV; - dev->dev = snd_dma_pci_data(pci); - dev->id = id; -} - static void __init preallocate_cards(void) { struct pci_dev *pci = NULL; @@ -716,22 +575,13 @@ continue; } for (i = 0; i < dev->buffers; i++) { - struct snd_mem_list *mem; - mem = kmalloc(sizeof(*mem), GFP_KERNEL); - if (! mem) { - printk(KERN_WARNING "snd-page-alloc: can't malloc memlist\n"); - break; - } - memset(mem, 0, sizeof(*mem)); - snd_dma_device_pci(&mem->dev, pci, SNDRV_DMA_DEVICE_UNUSED); - if (snd_dma_alloc_pages(&mem->dev, dev->size, &mem->buffer) < 0) { + struct snd_dma_buffer dmab; + memset(&dmab, 0, sizeof(dmab)); + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + dev->size, &dmab) < 0) printk(KERN_WARNING "snd-page-alloc: cannot allocate buffer pages (size = %d)\n", dev->size); - kfree(mem); - } else { - down(&list_mutex); - list_add_tail(&mem->list, &mem_list_head); - up(&list_mutex); - } + else + snd_dma_reserve_buf(&dmab, snd_dma_pci_buf_id(pci)); } } } @@ -752,48 +602,22 @@ struct list_head *p; struct snd_mem_list *mem; int devno; + static char *types[] = { "UNKNOWN", "CONT", "DEV", "DEV-SG", "SBUS" }; down(&list_mutex); - len += sprintf(page + len, "pages : %li bytes (%li pages per %likB)\n", - pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); + len += snprintf(page + len, count - len, + "pages : %li bytes (%li pages per %likB)\n", + pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); devno = 0; list_for_each(p, &mem_list_head) { mem = list_entry(p, struct snd_mem_list, list); devno++; - len += sprintf(page + len, "buffer %d : ", devno); - if (mem->dev.id == SNDRV_DMA_DEVICE_UNUSED) - len += sprintf(page + len, "UNUSED"); - else - len += sprintf(page + len, "ID %08x", mem->dev.id); - len += sprintf(page + len, " : type "); - switch (mem->dev.type) { - case SNDRV_DMA_TYPE_CONTINUOUS: - len += sprintf(page + len, "CONT [%p]", mem->dev.dev); - break; -#ifdef CONFIG_SBUS - case SNDRV_DMA_TYPE_SBUS: - { - struct sbus_dev *sdev = (struct sbus_dev *)(mem->dev.dev); - len += sprintf(page + len, "SBUS [%x]", sdev->slot); - } - break; -#endif - case SNDRV_DMA_TYPE_DEV: - case SNDRV_DMA_TYPE_DEV_SG: - if (mem->dev.dev) { - len += sprintf(page + len, "%s [%s]", - mem->dev.type == SNDRV_DMA_TYPE_DEV_SG ? "DEV-SG" : "DEV", - mem->dev.dev->bus_id); - } else - len += sprintf(page + len, "ISA"); - break; - default: - len += sprintf(page + len, "UNKNOWN"); - break; - } - len += sprintf(page + len, "\n addr = 0x%lx, size = %d bytes, used = %s\n", - (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes, - mem->used ? "yes" : "no"); + len += snprintf(page + len, count - len, + "buffer %d : ID %08x : type %s\n", + devno, mem->id, types[mem->buffer.dev.type]); + len += snprintf(page + len, count - len, + " addr = 0x%lx, size = %d bytes\n", + (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes); } up(&list_mutex); return len; @@ -833,10 +657,8 @@ EXPORT_SYMBOL(snd_dma_alloc_pages_fallback); EXPORT_SYMBOL(snd_dma_free_pages); -EXPORT_SYMBOL(snd_dma_get_reserved); -EXPORT_SYMBOL(snd_dma_free_reserved); -EXPORT_SYMBOL(snd_dma_set_reserved); +EXPORT_SYMBOL(snd_dma_get_reserved_buf); +EXPORT_SYMBOL(snd_dma_reserve_buf); EXPORT_SYMBOL(snd_malloc_pages); -EXPORT_SYMBOL(snd_malloc_pages_fallback); EXPORT_SYMBOL(snd_free_pages); diff -Nru a/sound/core/memory.c b/sound/core/memory.c --- a/sound/core/memory.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/memory.c 2004-08-25 19:27:40 -07:00 @@ -71,8 +71,7 @@ snd_printk(KERN_ERR "Not freed snd_alloc_kmalloc = %li\n", snd_alloc_kmalloc); if (snd_alloc_vmalloc > 0) snd_printk(KERN_ERR "Not freed snd_alloc_vmalloc = %li\n", snd_alloc_vmalloc); - for (head = snd_alloc_kmalloc_list.prev; - head != &snd_alloc_kmalloc_list; head = head->prev) { + list_for_each_prev(head, &snd_alloc_kmalloc_list) { t = list_entry(head, struct snd_alloc_track, list); if (t->magic != KMALLOC_MAGIC) { snd_printk(KERN_ERR "Corrupted kmalloc\n"); @@ -80,8 +79,7 @@ } snd_printk(KERN_ERR "kmalloc(%ld) from %p not freed\n", (long) t->size, t->caller); } - for (head = snd_alloc_vmalloc_list.prev; - head != &snd_alloc_vmalloc_list; head = head->prev) { + list_for_each_prev(head, &snd_alloc_vmalloc_list) { t = list_entry(head, struct snd_alloc_track, list); if (t->magic != VMALLOC_MAGIC) { snd_printk(KERN_ERR "Corrupted vmalloc\n"); @@ -118,6 +116,17 @@ return _snd_kmalloc(size, flags); } +void *snd_hidden_kcalloc(size_t n, size_t size, int flags) +{ + void *ret = NULL; + if (n != 0 && size > INT_MAX / n) + return ret; + ret = _snd_kmalloc(n * size, flags); + if (ret) + memset(ret, 0, n * size); + return ret; +} + void snd_hidden_kfree(const void *obj) { unsigned long flags; @@ -140,46 +149,6 @@ snd_wrapper_kfree(obj); } -void *_snd_magic_kcalloc(unsigned long magic, size_t size, int flags) -{ - unsigned long *ptr; - ptr = _snd_kmalloc(size + sizeof(unsigned long), flags); - if (ptr) { - *ptr++ = magic; - memset(ptr, 0, size); - } - return ptr; -} - -void *_snd_magic_kmalloc(unsigned long magic, size_t size, int flags) -{ - unsigned long *ptr; - ptr = _snd_kmalloc(size + sizeof(unsigned long), flags); - if (ptr) - *ptr++ = magic; - return ptr; -} - -void snd_magic_kfree(void *_ptr) -{ - unsigned long *ptr = _ptr; - if (ptr == NULL) { - snd_printk(KERN_WARNING "null snd_magic_kfree (called from %p)\n", __builtin_return_address(0)); - return; - } - *--ptr = 0; - { - struct snd_alloc_track *t; - t = snd_alloc_track_entry(ptr); - if (t->magic != KMALLOC_MAGIC) { - snd_printk(KERN_ERR "bad snd_magic_kfree (called from %p)\n", __builtin_return_address(0)); - return; - } - } - snd_hidden_kfree(ptr); - return; -} - void *snd_hidden_vmalloc(unsigned long size) { void *ptr; @@ -254,25 +223,6 @@ #define _snd_kmalloc kmalloc #endif /* CONFIG_SND_DEBUG_MEMORY */ - -/** - * snd_kcalloc - memory allocation and zero-clear - * @size: the size to allocate in bytes - * @flags: allocation conditions, GFP_XXX - * - * Allocates a memory chunk via kmalloc() and initializes it to zero. - * - * Returns the pointer, or NULL if no enoguh memory. - */ -void *snd_kcalloc(size_t size, int flags) -{ - void *ptr; - - ptr = _snd_kmalloc(size, flags); - if (ptr) - memset(ptr, 0, size); - return ptr; -} /** * snd_kmalloc_strdup - copy the string diff -Nru a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c --- a/sound/core/oss/mixer_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/oss/mixer_oss.c 2004-08-25 19:27:40 -07:00 @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -51,7 +52,7 @@ err = snd_card_file_add(card, file); if (err < 0) return err; - fmixer = (snd_mixer_oss_file_t *)snd_kcalloc(sizeof(*fmixer), GFP_KERNEL); + fmixer = kcalloc(1, sizeof(*fmixer), GFP_KERNEL); if (fmixer == NULL) { snd_card_file_remove(card, file); return -ENOMEM; @@ -358,10 +359,16 @@ return -ENXIO; } +/* FIXME: need to unlock BKL to allow preemption */ int snd_mixer_oss_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { - return snd_mixer_oss_ioctl1((snd_mixer_oss_file_t *) file->private_data, cmd, arg); + int err; + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_mixer_oss_ioctl1((snd_mixer_oss_file_t *) file->private_data, cmd, arg); + lock_kernel(); + return err; } int snd_mixer_oss_ioctl_card(snd_card_t *card, unsigned int cmd, unsigned long arg) @@ -508,8 +515,8 @@ up_read(&card->controls_rwsem); return; } - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) goto __unalloc; snd_runtime_check(!kctl->info(kctl, uinfo), goto __unalloc); @@ -544,8 +551,8 @@ up_read(&card->controls_rwsem); return; } - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) goto __unalloc; snd_runtime_check(!kctl->info(kctl, uinfo), goto __unalloc); @@ -607,8 +614,8 @@ down_read(&card->controls_rwsem); if ((kctl = snd_ctl_find_numid(card, numid)) == NULL) return; - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) goto __unalloc; snd_runtime_check(!kctl->info(kctl, uinfo), goto __unalloc); @@ -646,8 +653,8 @@ up_read(&fmixer->card->controls_rwsem); return; } - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) goto __unalloc; snd_runtime_check(!kctl->info(kctl, uinfo), goto __unalloc); @@ -767,8 +774,8 @@ snd_ctl_elem_value_t *uctl; int err, idx; - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) { err = -ENOMEM; goto __unlock; @@ -814,8 +821,8 @@ int err; unsigned int idx; - uinfo = snd_kcalloc(sizeof(*uinfo), GFP_KERNEL); - uctl = snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uinfo = kcalloc(1, sizeof(*uinfo), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (uinfo == NULL || uctl == NULL) { err = -ENOMEM; goto __unlock; @@ -968,8 +975,10 @@ snd_ctl_elem_info_t uinfo; memset(&uinfo, 0, sizeof(uinfo)); - if (kctl->info(kctl, &uinfo)) + if (kctl->info(kctl, &uinfo)) { + up_read(&mixer->card->controls_rwsem); return 0; + } strcpy(str, ptr->name); if (!strcmp(str, "Master")) strcpy(str, "Mix"); @@ -1060,7 +1069,7 @@ static void snd_mixer_oss_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - snd_mixer_oss_t *mixer = snd_magic_cast(snd_mixer_oss_t, entry->private_data, return); + snd_mixer_oss_t *mixer = entry->private_data; int i; down(&mixer->reg_mutex); @@ -1084,7 +1093,7 @@ static void snd_mixer_oss_proc_write(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - snd_mixer_oss_t *mixer = snd_magic_cast(snd_mixer_oss_t, entry->private_data, return); + snd_mixer_oss_t *mixer = entry->private_data; char line[128], str[32], idxstr[16], *cptr; int ch, idx; struct snd_mixer_oss_assign_table *tbl; @@ -1210,7 +1219,7 @@ }; unsigned int idx; - for (idx = 0; idx < sizeof(table) / sizeof(struct snd_mixer_oss_assign_table); idx++) + for (idx = 0; idx < ARRAY_SIZE(table); idx++) snd_mixer_oss_build_input(mixer, &table[idx], 0, 0); if (mixer->mask_recsrc) { mixer->get_recsrc = snd_mixer_oss_get_recsrc2; @@ -1224,7 +1233,7 @@ static int snd_mixer_oss_free1(void *private) { - snd_mixer_oss_t *mixer = snd_magic_cast(snd_mixer_oss_t, private, return -ENXIO); + snd_mixer_oss_t *mixer = private; snd_card_t * card; int idx; @@ -1237,7 +1246,7 @@ if (chn->private_free) chn->private_free(chn); } - snd_magic_kfree(mixer); + kfree(mixer); return 0; } @@ -1249,7 +1258,7 @@ char name[128]; int idx, err; - mixer = snd_magic_kcalloc(snd_mixer_oss_t, sizeof(snd_mixer_oss_t), GFP_KERNEL); + mixer = kcalloc(2, sizeof(*mixer), GFP_KERNEL); if (mixer == NULL) return -ENOMEM; init_MUTEX(&mixer->reg_mutex); @@ -1259,7 +1268,7 @@ &snd_mixer_oss_reg, name)) < 0) { snd_printk("unable to register OSS mixer device %i:%i\n", card->number, 0); - snd_magic_kfree(mixer); + kfree(mixer); return err; } mixer->oss_dev_alloc = 1; diff -Nru a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c --- a/sound/core/oss/pcm_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/oss/pcm_oss.c 2004-08-25 19:27:40 -07:00 @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -53,13 +54,10 @@ MODULE_LICENSE("GPL"); module_param_array(dsp_map, int, boot_devs, 0444); MODULE_PARM_DESC(dsp_map, "PCM device number assigned to 1st OSS device."); -MODULE_PARM_SYNTAX(dsp_map, "default:0,skill:advanced"); module_param_array(adsp_map, int, boot_devs, 0444); MODULE_PARM_DESC(adsp_map, "PCM device number assigned to 2nd OSS device."); -MODULE_PARM_SYNTAX(adsp_map, "default:1,skill:advanced"); module_param(nonblock_open, bool, 0644); MODULE_PARM_DESC(nonblock_open, "Don't block opening busy PCM devices."); -MODULE_PARM_SYNTAX(nonblock_open, "default:0,skill:advanced"); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM1); @@ -1177,10 +1175,11 @@ snd_pcm_substream_t *substream; int err; int direct; - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; unsigned int formats = 0; snd_mask_t format_mask; int fmt; + if ((err = snd_pcm_oss_get_active_substream(pcm_oss_file, &substream)) < 0) return err; if (atomic_read(&substream->runtime->mmap_count)) { @@ -1194,10 +1193,14 @@ AFMT_S16_LE | AFMT_S16_BE | AFMT_S8 | AFMT_U16_LE | AFMT_U16_BE; - _snd_pcm_hw_params_any(¶ms); - err = snd_pcm_hw_refine(substream, ¶ms); + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) + return -ENOMEM; + _snd_pcm_hw_params_any(params); + err = snd_pcm_hw_refine(substream, params); + format_mask = *hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); + kfree(params); snd_assert(err >= 0, return err); - format_mask = *hw_param_mask(¶ms, SNDRV_PCM_HW_PARAM_FORMAT); for (fmt = 0; fmt < 32; ++fmt) { if (snd_mask_test(&format_mask, fmt)) { int f = snd_pcm_oss_format_to(fmt); @@ -1693,7 +1696,7 @@ snd_pcm_oss_release_substream(substream); snd_pcm_release_substream(substream); } - snd_magic_kfree(pcm_oss_file); + kfree(pcm_oss_file); return 0; } @@ -1712,7 +1715,7 @@ snd_assert(rpcm_oss_file != NULL, return -EINVAL); *rpcm_oss_file = NULL; - pcm_oss_file = snd_magic_kcalloc(snd_pcm_oss_file_t, 0, GFP_KERNEL); + pcm_oss_file = kcalloc(1, sizeof(*pcm_oss_file), GFP_KERNEL); if (pcm_oss_file == NULL) return -ENOMEM; @@ -1892,7 +1895,7 @@ snd_pcm_substream_t *substream; snd_pcm_oss_file_t *pcm_oss_file; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; if (substream == NULL) substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; @@ -1908,14 +1911,14 @@ return 0; } -static int snd_pcm_oss_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_pcm_oss_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_pcm_oss_file_t *pcm_oss_file; int __user *p = (int __user *)arg; int res; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; if (cmd == OSS_GETVERSION) return put_user(SNDRV_OSS_VERSION, p); if (cmd == OSS_ALSAEMULVER) @@ -2068,12 +2071,23 @@ return -EINVAL; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_pcm_oss_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_pcm_oss_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static ssize_t snd_pcm_oss_read(struct file *file, char __user *buf, size_t count, loff_t *offset) { snd_pcm_oss_file_t *pcm_oss_file; snd_pcm_substream_t *substream; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; if (substream == NULL) return -ENXIO; @@ -2094,7 +2108,7 @@ snd_pcm_substream_t *substream; long result; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; if (substream == NULL) return -ENXIO; @@ -2131,7 +2145,7 @@ unsigned int mask; snd_pcm_substream_t *psubstream = NULL, *csubstream = NULL; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return 0); + pcm_oss_file = file->private_data; psubstream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; csubstream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; @@ -2178,7 +2192,7 @@ #ifdef OSS_DEBUG printk("pcm_oss: mmap begin\n"); #endif - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; switch ((area->vm_flags & (VM_READ | VM_WRITE))) { case VM_READ | VM_WRITE: substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; @@ -2280,7 +2294,7 @@ snd_info_buffer_t * buffer) { snd_pcm_str_t *pstr = (snd_pcm_str_t *)entry->private_data; - char line[512], str[32], task_name[32], *ptr; + char line[256], str[32], task_name[32], *ptr; int idx1; snd_pcm_oss_setup_t *setup, *setup1, template; diff -Nru a/sound/core/oss/pcm_plugin.c b/sound/core/oss/pcm_plugin.c --- a/sound/core/oss/pcm_plugin.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/oss/pcm_plugin.c 2004-08-25 19:27:40 -07:00 @@ -172,7 +172,7 @@ snd_assert(plug != NULL, return -ENXIO); snd_assert(src_format != NULL && dst_format != NULL, return -ENXIO); - plugin = (snd_pcm_plugin_t *)snd_kcalloc(sizeof(*plugin) + extra, GFP_KERNEL); + plugin = kcalloc(1, sizeof(*plugin) + extra, GFP_KERNEL); if (plugin == NULL) return -ENOMEM; plugin->name = name; @@ -189,7 +189,7 @@ channels = src_format->channels; else channels = dst_format->channels; - plugin->buf_channels = snd_kcalloc(channels * sizeof(*plugin->buf_channels), GFP_KERNEL); + plugin->buf_channels = kcalloc(channels, sizeof(*plugin->buf_channels), GFP_KERNEL); if (plugin->buf_channels == NULL) { snd_pcm_plugin_free(plugin); return -ENOMEM; @@ -370,7 +370,7 @@ unsigned int i; switch (format) { case SNDRV_PCM_FORMAT_MU_LAW: - for (i = 0; i < sizeof(preferred_formats) / sizeof(preferred_formats[0]); ++i) { + for (i = 0; i < ARRAY_SIZE(preferred_formats); ++i) { int format1 = preferred_formats[i]; if (snd_mask_test(format_mask, format1)) return format1; @@ -468,7 +468,7 @@ if (srcformat.channels > dstformat.channels) { int sv = srcformat.channels; int dv = dstformat.channels; - route_ttable_entry_t *ttable = snd_kcalloc(dv*sv*sizeof(*ttable), GFP_KERNEL); + route_ttable_entry_t *ttable = kcalloc(dv * sv, sizeof(*ttable), GFP_KERNEL); if (ttable == NULL) return -ENOMEM; #if 1 @@ -531,7 +531,7 @@ if (srcformat.channels < dstformat.channels) { int sv = srcformat.channels; int dv = dstformat.channels; - route_ttable_entry_t *ttable = snd_kcalloc(dv * sv * sizeof(*ttable), GFP_KERNEL); + route_ttable_entry_t *ttable = kcalloc(dv * sv, sizeof(*ttable), GFP_KERNEL); if (ttable == NULL) return -ENOMEM; #if 0 @@ -846,41 +846,31 @@ size_t samples, int format) { /* FIXME: sub byte resolution and odd dst_offset */ - char *dst; + unsigned char *dst; unsigned int dst_step; int width; - u_int64_t silence; + const unsigned char *silence; if (!dst_area->addr) return 0; dst = dst_area->addr + (dst_area->first + dst_area->step * dst_offset) / 8; width = snd_pcm_format_physical_width(format); + if (width <= 0) + return -EINVAL; + if (dst_area->step == (unsigned int) width && width >= 8) + return snd_pcm_format_set_silence(format, dst, samples); silence = snd_pcm_format_silence_64(format); - if (dst_area->step == (unsigned int) width) { - size_t dwords = samples * width / 64; - u_int64_t *dst64 = (u_int64_t *)dst; - - samples -= dwords * 64 / width; - while (dwords-- > 0) - *dst64++ = silence; - if (samples == 0) - return 0; - dst = (char *)dst64; - } + if (! silence) + return -EINVAL; dst_step = dst_area->step / 8; - switch (width) { - case 4: { - u_int8_t s0 = silence & 0xf0; - u_int8_t s1 = silence & 0x0f; + if (width == 4) { + /* Ima ADPCM */ int dstbit = dst_area->first % 8; int dstbit_step = dst_area->step % 8; while (samples-- > 0) { - if (dstbit) { + if (dstbit) *dst &= 0xf0; - *dst |= s1; - } else { + else *dst &= 0x0f; - *dst |= s0; - } dst += dst_step; dstbit += dstbit_step; if (dstbit == 8) { @@ -888,41 +878,12 @@ dstbit = 0; } } - break; - } - case 8: { - u_int8_t sil = silence; - while (samples-- > 0) { - *dst = sil; - dst += dst_step; - } - break; - } - case 16: { - u_int16_t sil = silence; - while (samples-- > 0) { - *(u_int16_t*)dst = sil; - dst += dst_step; - } - break; - } - case 32: { - u_int32_t sil = silence; - while (samples-- > 0) { - *(u_int32_t*)dst = sil; - dst += dst_step; - } - break; - } - case 64: { + } else { + width /= 8; while (samples-- > 0) { - *(u_int64_t*)dst = silence; + memcpy(dst, silence, width); dst += dst_step; } - break; - } - default: - snd_BUG(); } return 0; } @@ -942,18 +903,18 @@ if (!dst_area->addr) return 0; width = snd_pcm_format_physical_width(format); + if (width <= 0) + return -EINVAL; if (src_area->step == (unsigned int) width && - dst_area->step == (unsigned int) width) { + dst_area->step == (unsigned int) width && width >= 8) { size_t bytes = samples * width / 8; - samples -= bytes * 8 / width; memcpy(dst, src, bytes); - if (samples == 0) - return 0; + return 0; } src_step = src_area->step / 8; dst_step = dst_area->step / 8; - switch (width) { - case 4: { + if (width == 4) { + /* Ima ADPCM */ int srcbit = src_area->first % 8; int srcbit_step = src_area->step % 8; int dstbit = dst_area->first % 8; @@ -963,12 +924,11 @@ if (srcbit) srcval = *src & 0x0f; else - srcval = *src & 0xf0; + srcval = (*src & 0xf0) >> 4; if (dstbit) - *dst &= 0xf0; + *dst = (*dst & 0xf0) | srcval; else - *dst &= 0x0f; - *dst |= srcval; + *dst = (*dst & 0x0f) | (srcval << 4); src += src_step; srcbit += srcbit_step; if (srcbit == 8) { @@ -982,42 +942,13 @@ dstbit = 0; } } - break; - } - case 8: { - while (samples-- > 0) { - *dst = *src; - src += src_step; - dst += dst_step; - } - break; - } - case 16: { - while (samples-- > 0) { - *(u_int16_t*)dst = *(u_int16_t*)src; - src += src_step; - dst += dst_step; - } - break; - } - case 32: { - while (samples-- > 0) { - *(u_int32_t*)dst = *(u_int32_t*)src; - src += src_step; - dst += dst_step; - } - break; - } - case 64: { + } else { + width /= 8; while (samples-- > 0) { - *(u_int64_t*)dst = *(u_int64_t*)src; + memcpy(dst, src, width); src += src_step; dst += dst_step; } - break; - } - default: - snd_BUG(); } return 0; } diff -Nru a/sound/core/oss/pcm_plugin.h b/sound/core/oss/pcm_plugin.h --- a/sound/core/oss/pcm_plugin.h 2004-08-25 19:27:40 -07:00 +++ b/sound/core/oss/pcm_plugin.h 2004-08-25 19:27:40 -07:00 @@ -35,7 +35,7 @@ static inline bitset_t *bitset_alloc(int nbits) { - return snd_kcalloc(bitset_size(nbits) * sizeof(bitset_t), GFP_KERNEL); + return kcalloc(bitset_size(nbits), sizeof(bitset_t), GFP_KERNEL); } static inline void bitset_set(bitset_t *bitmap, unsigned int pos) diff -Nru a/sound/core/oss/route.c b/sound/core/oss/route.c --- a/sound/core/oss/route.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/oss/route.c 2004-08-25 19:27:40 -07:00 @@ -458,7 +458,7 @@ dptr->func = route_to_channel; if (nsrcs > 0) { int srcidx; - dptr->srcs = snd_kcalloc(nsrcs * sizeof(*srcs), GFP_KERNEL); + dptr->srcs = kcalloc(nsrcs, sizeof(*srcs), GFP_KERNEL); for(srcidx = 0; srcidx < nsrcs; srcidx++) dptr->srcs[srcidx] = srcs[srcidx]; } else diff -Nru a/sound/core/pcm.c b/sound/core/pcm.c --- a/sound/core/pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm.c 2004-08-25 19:27:40 -07:00 @@ -585,7 +585,7 @@ } prev = NULL; for (idx = 0, prev = NULL; idx < substream_count; idx++) { - substream = snd_magic_kcalloc(snd_pcm_substream_t, 0, GFP_KERNEL); + substream = kcalloc(1, sizeof(*substream), GFP_KERNEL); if (substream == NULL) return -ENOMEM; substream->pcm = pcm; @@ -600,7 +600,7 @@ prev->next = substream; err = snd_pcm_substream_proc_init(substream); if (err < 0) { - snd_magic_kfree(substream); + kfree(substream); return err; } substream->group = &substream->self_group; @@ -645,7 +645,7 @@ snd_assert(rpcm != NULL, return -EINVAL); *rpcm = NULL; snd_assert(card != NULL, return -ENXIO); - pcm = snd_magic_kcalloc(snd_pcm_t, 0, GFP_KERNEL); + pcm = kcalloc(1, sizeof(*pcm), GFP_KERNEL); if (pcm == NULL) return -ENOMEM; pcm->card = card; @@ -681,7 +681,7 @@ while (substream) { substream_next = substream->next; snd_pcm_substream_proc_done(substream); - snd_magic_kfree(substream); + kfree(substream); substream = substream_next; } snd_pcm_stream_proc_done(pstr); @@ -702,13 +702,13 @@ snd_pcm_lib_preallocate_free_for_all(pcm); snd_pcm_free_stream(&pcm->streams[SNDRV_PCM_STREAM_PLAYBACK]); snd_pcm_free_stream(&pcm->streams[SNDRV_PCM_STREAM_CAPTURE]); - snd_magic_kfree(pcm); + kfree(pcm); return 0; } static int snd_pcm_dev_free(snd_device_t *device) { - snd_pcm_t *pcm = snd_magic_cast(snd_pcm_t, device->device_data, return -ENXIO); + snd_pcm_t *pcm = device->device_data; return snd_pcm_free(pcm); } @@ -783,7 +783,7 @@ if (substream == NULL) return -EAGAIN; - runtime = snd_kcalloc(sizeof(snd_pcm_runtime_t), GFP_KERNEL); + runtime = kcalloc(1, sizeof(*runtime), GFP_KERNEL); if (runtime == NULL) return -ENOMEM; @@ -843,7 +843,7 @@ snd_pcm_substream_t *substream; struct list_head *list; char str[16]; - snd_pcm_t *pcm = snd_magic_cast(snd_pcm_t, device->device_data, return -ENXIO); + snd_pcm_t *pcm = device->device_data; snd_assert(pcm != NULL && device != NULL, return -ENXIO); down(®ister_mutex); @@ -888,7 +888,7 @@ static int snd_pcm_dev_disconnect(snd_device_t *device) { - snd_pcm_t *pcm = snd_magic_cast(snd_pcm_t, device->device_data, return -ENXIO); + snd_pcm_t *pcm = device->device_data; struct list_head *list; snd_pcm_substream_t *substream; int idx, cidx; @@ -914,7 +914,7 @@ int idx, cidx, devtype; snd_pcm_substream_t *substream; struct list_head *list; - snd_pcm_t *pcm = snd_magic_cast(snd_pcm_t, device->device_data, return -ENXIO); + snd_pcm_t *pcm = device->device_data; snd_assert(pcm != NULL, return -ENXIO); down(®ister_mutex); diff -Nru a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c --- a/sound/core/pcm_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm_lib.c 2004-08-25 19:27:40 -07:00 @@ -128,12 +128,29 @@ } } +static void xrun(snd_pcm_substream_t *substream) +{ + snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); +#ifdef CONFIG_SND_DEBUG + if (substream->pstr->xrun_debug) { + snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", + substream->pcm->card->number, + substream->pcm->device, + substream->stream ? 'c' : 'p'); + if (substream->pstr->xrun_debug > 1) + dump_stack(); + } +#endif +} + static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(snd_pcm_substream_t *substream, snd_pcm_runtime_t *runtime) { snd_pcm_uframes_t pos; pos = substream->ops->pointer(substream); + if (pos == SNDRV_PCM_POS_XRUN) + return pos; /* XRUN */ if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) snd_timestamp_now((snd_timestamp_t*)&runtime->status->tstamp, runtime->tstamp_timespec); #ifdef CONFIG_SND_DEBUG @@ -158,19 +175,10 @@ if (avail > runtime->avail_max) runtime->avail_max = avail; if (avail >= runtime->stop_threshold) { - snd_pcm_stop(substream, - runtime->status->state == SNDRV_PCM_STATE_DRAINING ? - SNDRV_PCM_STATE_SETUP : SNDRV_PCM_STATE_XRUN); -#ifdef CONFIG_SND_DEBUG - if (substream->pstr->xrun_debug) { - snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", - substream->pcm->card->number, - substream->pcm->device, - substream->stream ? 'c' : 'p'); - if (substream->pstr->xrun_debug > 1) - dump_stack(); - } -#endif + if (substream->runtime->status->state == SNDRV_PCM_STATE_DRAINING) + snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP); + else + xrun(substream); return -EPIPE; } if (avail >= runtime->control->avail_min) @@ -186,6 +194,10 @@ snd_pcm_sframes_t delta; pos = snd_pcm_update_hw_ptr_pos(substream, runtime); + if (pos == SNDRV_PCM_POS_XRUN) { + xrun(substream); + return -EPIPE; + } if (runtime->period_size == runtime->buffer_size) goto __next_buf; new_hw_ptr = runtime->hw_ptr_base + pos; @@ -230,6 +242,10 @@ old_hw_ptr = runtime->status->hw_ptr; pos = snd_pcm_update_hw_ptr_pos(substream, runtime); + if (pos == SNDRV_PCM_POS_XRUN) { + xrun(substream); + return -EPIPE; + } new_hw_ptr = runtime->hw_ptr_base + pos; delta = old_hw_ptr - new_hw_ptr; @@ -887,22 +903,18 @@ va_list args; va_start(args, dep); if (constrs->rules_num >= constrs->rules_all) { - snd_pcm_hw_rule_t *old = constrs->rules; - if (constrs->rules_all == 0) - constrs->rules_all = 32; - else { - old = constrs->rules; - constrs->rules_all += 10; - } - constrs->rules = snd_kcalloc(constrs->rules_all * sizeof(*c), - GFP_KERNEL); - if (!constrs->rules) + snd_pcm_hw_rule_t *new; + unsigned int new_rules = constrs->rules_all + 16; + new = kcalloc(new_rules, sizeof(*c), GFP_KERNEL); + if (!new) return -ENOMEM; - if (old) { - memcpy(constrs->rules, old, + if (constrs->rules) { + memcpy(new, constrs->rules, constrs->rules_num * sizeof(*c)); - kfree(old); + kfree(constrs->rules); } + constrs->rules = new; + constrs->rules_all = new_rules; } c = &constrs->rules[constrs->rules_num]; c->cond = cond; @@ -911,7 +923,7 @@ c->private = private; k = 0; while (1) { - snd_assert(k < sizeof(c->deps) / sizeof(c->deps[0]), return -EINVAL); + snd_assert(k < ARRAY_SIZE(c->deps), return -EINVAL); c->deps[k++] = dep; if (dep < 0) break; @@ -1109,7 +1121,7 @@ 1<<24, 1<<25, 1<<26, 1<<27, 1<<28, 1<<29, 1<<30 }; return snd_interval_list(hw_param_interval(params, rule->var), - sizeof(pow2_sizes)/sizeof(int), pow2_sizes, 0); + ARRAY_SIZE(pow2_sizes), pow2_sizes, 0); } /** @@ -1769,12 +1781,14 @@ void *arg) { snd_pcm_runtime_t *runtime = substream->runtime; + unsigned long flags; + snd_pcm_stream_lock_irqsave(substream, flags); if (snd_pcm_running(substream) && - snd_pcm_update_hw_ptr(substream) >= 0) { + snd_pcm_update_hw_ptr(substream) >= 0) runtime->status->hw_ptr %= runtime->buffer_size; - return 0; - } - runtime->status->hw_ptr = 0; + else + runtime->status->hw_ptr = 0; + snd_pcm_stream_unlock_irqrestore(substream, flags); return 0; } diff -Nru a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c --- a/sound/core/pcm_memory.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm_memory.c 2004-08-25 19:27:40 -07:00 @@ -32,12 +32,10 @@ static int preallocate_dma = 1; module_param(preallocate_dma, int, 0444); MODULE_PARM_DESC(preallocate_dma, "Preallocate DMA memory when the PCM devices are initialized."); -MODULE_PARM_SYNTAX(preallocate_dma, SNDRV_BOOLEAN_TRUE_DESC); static int maximum_substreams = 4; module_param(maximum_substreams, int, 0444); MODULE_PARM_DESC(maximum_substreams, "Maximum substreams with preallocated DMA memory."); -MODULE_PARM_SYNTAX(maximum_substreams, SNDRV_BOOLEAN_TRUE_DESC); const static size_t snd_minimum_buffer = 16384; @@ -56,26 +54,21 @@ snd_assert(size > 0, return -EINVAL); /* already reserved? */ - if (snd_dma_get_reserved(&substream->dma_device, dmab) > 0) { + if (snd_dma_get_reserved_buf(dmab, substream->dma_buf_id) > 0) { if (dmab->bytes >= size) return 0; /* yes */ - /* no, reset the reserved block */ - /* if we can find bigger pages below, this block will be - * automatically removed in snd_dma_set_reserved(). - */ - snd_dma_free_reserved(&substream->dma_device); + /* no, free the reserved block */ + snd_dma_free_pages(dmab); dmab->bytes = 0; } do { - if ((err = snd_dma_alloc_pages(&substream->dma_device, size, dmab)) < 0) { + if ((err = snd_dma_alloc_pages(dmab->dev.type, dmab->dev.dev, + size, dmab)) < 0) { if (err != -ENOMEM) return err; /* fatal error */ - } else { - /* remember this one */ - snd_dma_set_reserved(&substream->dma_device, dmab); + } else return 0; - } size >>= 1; } while (size >= snd_minimum_buffer); dmab->bytes = 0; /* tell error */ @@ -89,7 +82,10 @@ { if (substream->dma_buffer.area == NULL) return; - snd_dma_free_reserved(&substream->dma_device); + if (substream->dma_buf_id) + snd_dma_reserve_buf(&substream->dma_buffer, substream->dma_buf_id); + else + snd_dma_free_pages(&substream->dma_buffer); substream->dma_buffer.area = NULL; } @@ -108,7 +104,6 @@ snd_info_unregister(substream->proc_prealloc_entry); substream->proc_prealloc_entry = NULL; } - substream->dma_device.type = SNDRV_DMA_TYPE_UNKNOWN; return 0; } @@ -170,18 +165,20 @@ if (substream->dma_buffer.bytes == size) return; memset(&new_dmab, 0, sizeof(new_dmab)); + new_dmab.dev = substream->dma_buffer.dev; if (size > 0) { - - if (snd_dma_alloc_pages(&substream->dma_device, size, &new_dmab) < 0) { + if (snd_dma_alloc_pages(substream->dma_buffer.dev.type, + substream->dma_buffer.dev.dev, + size, &new_dmab) < 0) { buffer->error = -ENOMEM; return; } substream->buffer_bytes_max = size; - snd_dma_free_reserved(&substream->dma_device); } else { substream->buffer_bytes_max = UINT_MAX; } - snd_dma_set_reserved(&substream->dma_device, &new_dmab); + if (substream->dma_buffer.area) + snd_dma_free_pages(&substream->dma_buffer); substream->dma_buffer = new_dmab; } else { buffer->error = -EINVAL; @@ -196,7 +193,6 @@ { snd_info_entry_t *entry; - memset(&substream->dma_buffer, 0, sizeof(substream->dma_buffer)); if (size > 0 && preallocate_dma && substream->number < maximum_substreams) preallocate_pcm_pages(substream, size); @@ -219,20 +215,6 @@ } -/* - * set up the unique pcm id - */ -static inline void setup_pcm_id(snd_pcm_substream_t *subs) -{ - if (! subs->dma_device.id) { - subs->dma_device.id = subs->pcm->device << 16 | - subs->stream << 8 | (subs->number + 1); - if (subs->dma_device.type == SNDRV_DMA_TYPE_CONTINUOUS || - subs->dma_device.dev == NULL) - subs->dma_device.id |= (subs->pcm->card->number + 1) << 24; - } -} - /** * snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type * @substream: the pcm substream instance @@ -241,7 +223,12 @@ * @size: the requested pre-allocation size in bytes * @max: the max. allowed pre-allocation size * - * Do pre-allocation for the given DMA type. + * Do pre-allocation for the given DMA buffer type. + * + * When substream->dma_buf_id is set, the function tries to look for + * the reserved buffer, and the buffer is not freed but reserved at + * destruction time. The dma_buf_id must be unique for all systems + * (in the same DMA buffer type) e.g. using snd_dma_pci_buf_id(). * * Returns zero if successful, or a negative error code on failure. */ @@ -249,9 +236,8 @@ int type, struct device *data, size_t size, size_t max) { - substream->dma_device.type = type; - substream->dma_device.dev = data; - setup_pcm_id(substream); + substream->dma_buffer.dev.type = type; + substream->dma_buffer.dev.dev = data; return snd_pcm_lib_preallocate_pages1(substream, size, max); } @@ -314,31 +300,38 @@ int snd_pcm_lib_malloc_pages(snd_pcm_substream_t *substream, size_t size) { snd_pcm_runtime_t *runtime; - struct snd_dma_buffer dmab; + struct snd_dma_buffer *dmab = NULL; - snd_assert(substream->dma_device.type != SNDRV_DMA_TYPE_UNKNOWN, return -EINVAL); + snd_assert(substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_UNKNOWN, return -EINVAL); snd_assert(substream != NULL, return -EINVAL); runtime = substream->runtime; - snd_assert(runtime != NULL, return -EINVAL); + snd_assert(runtime != NULL, return -EINVAL); - if (runtime->dma_area != NULL) { + if (runtime->dma_buffer_p) { /* perphaps, we might free the large DMA memory region to save some space here, but the actual solution costs us less time */ - if (runtime->dma_bytes >= size) + if (runtime->dma_buffer_p->bytes >= size) { + runtime->dma_bytes = size; return 0; /* ok, do not change */ + } snd_pcm_lib_free_pages(substream); } if (substream->dma_buffer.area != NULL && substream->dma_buffer.bytes >= size) { - dmab = substream->dma_buffer; /* use the pre-allocated buffer */ + dmab = &substream->dma_buffer; /* use the pre-allocated buffer */ } else { - memset(&dmab, 0, sizeof(dmab)); /* allocate a new buffer */ - if (snd_dma_alloc_pages(&substream->dma_device, size, &dmab) < 0) + dmab = kcalloc(1, sizeof(*dmab), GFP_KERNEL); + if (! dmab) + return -ENOMEM; + dmab->dev = substream->dma_buffer.dev; + if (snd_dma_alloc_pages(substream->dma_buffer.dev.type, + substream->dma_buffer.dev.dev, + size, dmab) < 0) { + kfree(dmab); return -ENOMEM; + } } - runtime->dma_area = dmab.area; - runtime->dma_addr = dmab.addr; - runtime->dma_private = dmab.private_data; + snd_pcm_set_runtime_buffer(substream, dmab); runtime->dma_bytes = size; return 1; /* area was changed */ } @@ -360,34 +353,11 @@ snd_assert(runtime != NULL, return -EINVAL); if (runtime->dma_area == NULL) return 0; - if (runtime->dma_area != substream->dma_buffer.area) { + if (runtime->dma_buffer_p != &substream->dma_buffer) { /* it's a newly allocated buffer. release it now. */ - struct snd_dma_buffer dmab; - memset(&dmab, 0, sizeof(dmab)); - dmab.area = runtime->dma_area; - dmab.addr = runtime->dma_addr; - dmab.bytes = runtime->dma_bytes; - dmab.private_data = runtime->dma_private; - snd_dma_free_pages(&substream->dma_device, &dmab); + snd_dma_free_pages(runtime->dma_buffer_p); + kfree(runtime->dma_buffer_p); } - runtime->dma_area = NULL; - runtime->dma_addr = 0UL; - runtime->dma_bytes = 0; - runtime->dma_private = NULL; + snd_pcm_set_runtime_buffer(substream, NULL); return 0; } - -#ifndef MODULE - -/* format is: snd-pcm=preallocate_dma,maximum_substreams */ - -static int __init alsa_pcm_setup(char *str) -{ - (void)(get_option(&str,&preallocate_dma) == 2 && - get_option(&str,&maximum_substreams) == 2); - return 1; -} - -__setup("snd-pcm=", alsa_pcm_setup); - -#endif /* ifndef MODULE */ diff -Nru a/sound/core/pcm_misc.c b/sound/core/pcm_misc.c --- a/sound/core/pcm_misc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm_misc.c 2004-08-25 19:27:40 -07:00 @@ -23,12 +23,169 @@ #include #include #include -#define bswap_16 swab16 -#define bswap_32 swab32 -#define bswap_64 swab64 #define SND_PCM_FORMAT_UNKNOWN (-1) -#define snd_enum_to_int(v) (v) -#define snd_int_to_enum(v) (v) + +struct pcm_format_data { + char width; /* bit width */ + char phys; /* physical bit width */ + char le; /* 0 = big-endian, 1 = little-endian, -1 = others */ + char signd; /* 0 = unsigned, 1 = signed, -1 = others */ + unsigned char silence[8]; /* silence data to fill */ +}; + +static struct pcm_format_data pcm_formats[SNDRV_PCM_FORMAT_LAST+1] = { + [SNDRV_PCM_FORMAT_S8] = { + .width = 8, .phys = 8, .le = -1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U8] = { + .width = 8, .phys = 8, .le = -1, .signd = 0, + .silence = { 0x80 }, + }, + [SNDRV_PCM_FORMAT_S16_LE] = { + .width = 16, .phys = 16, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S16_BE] = { + .width = 16, .phys = 16, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U16_LE] = { + .width = 16, .phys = 16, .le = 1, .signd = 0, + .silence = { 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U16_BE] = { + .width = 16, .phys = 16, .le = 0, .signd = 0, + .silence = { 0x80, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S24_LE] = { + .width = 24, .phys = 32, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S24_BE] = { + .width = 24, .phys = 32, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U24_LE] = { + .width = 24, .phys = 32, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U24_BE] = { + .width = 24, .phys = 32, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S32_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S32_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U32_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U32_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_FLOAT_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT64_LE] = { + .width = 64, .phys = 64, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT64_BE] = { + .width = 64, .phys = 64, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_MU_LAW] = { + .width = 8, .phys = 8, .le = -1, .signd = -1, + .silence = { 0x7f }, + }, + [SNDRV_PCM_FORMAT_A_LAW] = { + .width = 8, .phys = 8, .le = -1, .signd = -1, + .silence = { 0x55 }, + }, + [SNDRV_PCM_FORMAT_IMA_ADPCM] = { + .width = 4, .phys = 4, .le = -1, .signd = -1, + .silence = {}, + }, + /* FIXME: the following three formats are not defined properly yet */ + [SNDRV_PCM_FORMAT_MPEG] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_GSM] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_SPECIAL] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_S24_3LE] = { + .width = 24, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S24_3BE] = { + .width = 24, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U24_3LE] = { + .width = 24, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U24_3BE] = { + .width = 24, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S20_3LE] = { + .width = 20, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S20_3BE] = { + .width = 20, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U20_3LE] = { + .width = 20, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x08 }, + }, + [SNDRV_PCM_FORMAT_U20_3BE] = { + .width = 20, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x08, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S18_3LE] = { + .width = 18, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S18_3BE] = { + .width = 18, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U18_3LE] = { + .width = 18, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x02 }, + }, + [SNDRV_PCM_FORMAT_U18_3BE] = { + .width = 18, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x02, 0x00, 0x00 }, + }, +}; + /** * snd_pcm_format_signed - Check the PCM format is signed linear @@ -39,38 +196,12 @@ */ int snd_pcm_format_signed(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - return 1; - case SNDRV_PCM_FORMAT_U8: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 0; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].signd) < 0) + return -EINVAL; + return val; } /** @@ -110,42 +241,12 @@ */ int snd_pcm_format_little_endian(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U18_3LE: - return 1; - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_BE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U24_3BE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 0; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].le) < 0) + return -EINVAL; + return val; } /** @@ -190,55 +291,12 @@ */ int snd_pcm_format_width(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return 8; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return 16; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 18; - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - return 20; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return 24; - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - return 32; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return 64; - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 32; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return 8; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - return 4; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].width) == 0) + return -EINVAL; + return val; } /** @@ -250,52 +308,12 @@ */ int snd_pcm_format_physical_width(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return 8; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return 16; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return 24; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 32; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return 64; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return 8; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - return 4; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].phys) == 0) + return -EINVAL; + return val; } /** @@ -307,216 +325,25 @@ */ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return samples; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return samples * 2; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return samples * 3; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - return samples * 4; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return samples * 8; - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return samples * 4; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return samples; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - if (samples & 1) - return -EINVAL; - return samples / 2; - default: + int phys_width = snd_pcm_format_physical_width(format); + if (phys_width < 0) return -EINVAL; - } + return samples * phys_width / 8; } /** - * snd_pcm_format_silence_64 - return the silent data in 64bit integer + * snd_pcm_format_silence_64 - return the silent data in 8 bytes array * @format: the format to check * - * Returns the silent data in 64bit integer for the given format. + * Returns the format pattern to fill or NULL if error. */ -u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format) +const unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - return 0; - case SNDRV_PCM_FORMAT_U8: - return 0x8080808080808080ULL; -#ifdef SNDRV_LITTLE_ENDIAN - case SNDRV_PCM_FORMAT_U16_LE: - return 0x8000800080008000ULL; - case SNDRV_PCM_FORMAT_U24_LE: - return 0x0080000000800000ULL; - case SNDRV_PCM_FORMAT_U32_LE: - return 0x8000000080000000ULL; - case SNDRV_PCM_FORMAT_U16_BE: - return 0x0080008000800080ULL; - case SNDRV_PCM_FORMAT_U24_BE: - return 0x0000800000008000ULL; - case SNDRV_PCM_FORMAT_U32_BE: - return 0x0000008000000080ULL; - case SNDRV_PCM_FORMAT_U24_3LE: - return 0x0000800000800000ULL; - case SNDRV_PCM_FORMAT_U24_3BE: - return 0x0080000080000080ULL; - case SNDRV_PCM_FORMAT_U20_3LE: - return 0x0000080000080000ULL; - case SNDRV_PCM_FORMAT_U20_3BE: - return 0x0008000008000008ULL; - case SNDRV_PCM_FORMAT_U18_3LE: - return 0x0000020000020000ULL; - case SNDRV_PCM_FORMAT_U18_3BE: - return 0x0002000002000002ULL; -#else - case SNDRV_PCM_FORMAT_U16_LE: - return 0x0080008000800080ULL; - case SNDRV_PCM_FORMAT_U24_LE: - return 0x0000800000008000ULL; - case SNDRV_PCM_FORMAT_U32_LE: - return 0x0000008000000080ULL; - case SNDRV_PCM_FORMAT_U16_BE: - return 0x8000800080008000ULL; - case SNDRV_PCM_FORMAT_U24_BE: - return 0x0080000000800000ULL; - case SNDRV_PCM_FORMAT_U32_BE: - return 0x8000000080000000ULL; - case SNDRV_PCM_FORMAT_U24_3LE: - return 0x0080000080000080ULL; - case SNDRV_PCM_FORMAT_U24_3BE: - return 0x0000800000800000ULL; - case SNDRV_PCM_FORMAT_U20_3LE: - return 0x0008000008000008ULL; - case SNDRV_PCM_FORMAT_U20_3BE: - return 0x0000080000080000ULL; - case SNDRV_PCM_FORMAT_U18_3LE: - return 0x0002000002000002ULL; - case SNDRV_PCM_FORMAT_U18_3BE: - return 0x0000020000020000ULL; -#endif - case SNDRV_PCM_FORMAT_FLOAT_LE: - { - union { - float f; - u_int32_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return u.i; -#else - return bswap_32(u.i); -#endif - } - case SNDRV_PCM_FORMAT_FLOAT64_LE: - { - union { - double f; - u_int64_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return u.i; -#else - return bswap_64(u.i); -#endif - } - case SNDRV_PCM_FORMAT_FLOAT_BE: - { - union { - float f; - u_int32_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return bswap_32(u.i); -#else - return u.i; -#endif - } - case SNDRV_PCM_FORMAT_FLOAT64_BE: - { - union { - double f; - u_int64_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return bswap_64(u.i); -#else - return u.i; -#endif - } - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 0; - case SNDRV_PCM_FORMAT_MU_LAW: - return 0x7f7f7f7f7f7f7f7fULL; - case SNDRV_PCM_FORMAT_A_LAW: - return 0x5555555555555555ULL; - case SNDRV_PCM_FORMAT_IMA_ADPCM: /* special case */ - case SNDRV_PCM_FORMAT_MPEG: - case SNDRV_PCM_FORMAT_GSM: - case SNDRV_PCM_FORMAT_SPECIAL: - return 0; - default: - return -EINVAL; - } - return 0; -} - -u_int32_t snd_pcm_format_silence_32(snd_pcm_format_t format) -{ - return (u_int32_t)snd_pcm_format_silence_64(format); -} - -u_int16_t snd_pcm_format_silence_16(snd_pcm_format_t format) -{ - return (u_int16_t)snd_pcm_format_silence_64(format); -} - -u_int8_t snd_pcm_format_silence(snd_pcm_format_t format) -{ - return (u_int8_t)snd_pcm_format_silence_64(format); + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) + return NULL; + if (! pcm_formats[format].phys) + return NULL; + return pcm_formats[format].silence; } /** @@ -531,99 +358,73 @@ */ int snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int samples) { + int width; + unsigned char *dst, *pat; + + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) + return -EINVAL; if (samples == 0) return 0; - switch (snd_pcm_format_width(format)) { - case 4: { - u_int8_t silence = snd_pcm_format_silence_64(format); - unsigned int samples1; - if (samples % 2 != 0) - return -EINVAL; - samples1 = samples / 2; - memset(data, silence, samples1); - break; + width = pcm_formats[format].phys; /* physical width */ + pat = pcm_formats[format].silence; + if (! width) + return -EINVAL; + /* signed or 1 byte data */ + if (pcm_formats[format].signd == 1 || width <= 8) { + unsigned int bytes = samples * width / 8; + memset(data, *pat, bytes); + return 0; } - case 8: { - u_int8_t silence = snd_pcm_format_silence_64(format); - memset(data, silence, samples); - break; + /* non-zero samples, fill using a loop */ + width /= 8; + dst = data; +#if 0 + while (samples--) { + memcpy(dst, pat, width); + dst += width; } - case 16: { - u_int16_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 2); - else { - u_int16_t *data16 = data; - while (samples-- > 0) - *data16++ = silence; +#else + /* a bit optimization for constant width */ + switch (width) { + case 2: + while (samples--) { + memcpy(dst, pat, 2); + dst += 2; } break; - } - case 24: { - u_int32_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 3); - else { - while (samples-- > 0) { - u_int8_t *data8 = data; -#ifdef SNDRV_LITTLE_ENDIAN - *data8++ = silence >> 0; - *data8++ = silence >> 8; - *data8++ = silence >> 16; -#else - *data8++ = silence >> 16; - *data8++ = silence >> 8; - *data8++ = silence >> 0; -#endif - } + case 3: + while (samples--) { + memcpy(dst, pat, 3); + dst += 3; } break; - } - case 32: { - u_int32_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 4); - else { - u_int32_t *data32 = data; - while (samples-- > 0) - *data32++ = silence; + case 4: + while (samples--) { + memcpy(dst, pat, 4); + dst += 4; } break; - } - case 64: { - u_int64_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 8); - else { - u_int64_t *data64 = data; - while (samples-- > 0) - *data64++ = silence; + case 8: + while (samples--) { + memcpy(dst, pat, 8); + dst += 8; } break; } - default: - return -EINVAL; - } +#endif return 0; } -static int linear_formats[4*2*2] = { - SNDRV_PCM_FORMAT_S8, - SNDRV_PCM_FORMAT_S8, - SNDRV_PCM_FORMAT_U8, - SNDRV_PCM_FORMAT_U8, - SNDRV_PCM_FORMAT_S16_LE, - SNDRV_PCM_FORMAT_S16_BE, - SNDRV_PCM_FORMAT_U16_LE, - SNDRV_PCM_FORMAT_U16_BE, - SNDRV_PCM_FORMAT_S24_LE, - SNDRV_PCM_FORMAT_S24_BE, - SNDRV_PCM_FORMAT_U24_LE, - SNDRV_PCM_FORMAT_U24_BE, - SNDRV_PCM_FORMAT_S32_LE, - SNDRV_PCM_FORMAT_S32_BE, - SNDRV_PCM_FORMAT_U32_LE, - SNDRV_PCM_FORMAT_U32_BE +/* [width][unsigned][bigendian] */ +static int linear_formats[4][2][2] = { + {{ SNDRV_PCM_FORMAT_S8, SNDRV_PCM_FORMAT_S8}, + { SNDRV_PCM_FORMAT_U8, SNDRV_PCM_FORMAT_U8}}, + {{SNDRV_PCM_FORMAT_S16_LE, SNDRV_PCM_FORMAT_S16_BE}, + {SNDRV_PCM_FORMAT_U16_LE, SNDRV_PCM_FORMAT_U16_BE}}, + {{SNDRV_PCM_FORMAT_S24_LE, SNDRV_PCM_FORMAT_S24_BE}, + {SNDRV_PCM_FORMAT_U24_LE, SNDRV_PCM_FORMAT_U24_BE}}, + {{SNDRV_PCM_FORMAT_S32_LE, SNDRV_PCM_FORMAT_S32_BE}, + {SNDRV_PCM_FORMAT_U32_LE, SNDRV_PCM_FORMAT_U32_BE}} }; /** @@ -636,23 +437,12 @@ */ snd_pcm_format_t snd_pcm_build_linear_format(int width, int unsignd, int big_endian) { - switch (width) { - case 8: - width = 0; - break; - case 16: - width = 1; - break; - case 24: - width = 2; - break; - case 32: - width = 3; - break; - default: + if (width & 7) return SND_PCM_FORMAT_UNKNOWN; - } - return snd_int_to_enum(((int(*)[2][2])linear_formats)[width][!!unsignd][!!big_endian]); + width = (width / 8) - 1; + if (width < 0 || width >= 4) + return SND_PCM_FORMAT_UNKNOWN; + return linear_formats[width][!!unsignd][!!big_endian]; } /** diff -Nru a/sound/core/pcm_native.c b/sound/core/pcm_native.c --- a/sound/core/pcm_native.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm_native.c 2004-08-25 19:27:40 -07:00 @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -64,6 +65,7 @@ */ rwlock_t snd_pcm_link_rwlock = RW_LOCK_UNLOCKED; +static DECLARE_RWSEM(snd_pcm_link_rwsem); static inline mm_segment_t snd_enter_user(void) @@ -304,13 +306,25 @@ static int snd_pcm_hw_refine_user(snd_pcm_substream_t * substream, snd_pcm_hw_params_t __user * _params) { - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; int err; - if (copy_from_user(¶ms, _params, sizeof(params))) - return -EFAULT; - err = snd_pcm_hw_refine(substream, ¶ms); - if (copy_to_user(_params, ¶ms, sizeof(params))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(params, _params, sizeof(*params))) { + err = -EFAULT; + goto out; + } + err = snd_pcm_hw_refine(substream, params); + if (copy_to_user(_params, params, sizeof(*params))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); return err; } @@ -325,14 +339,17 @@ snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); + snd_pcm_stream_lock_irq(substream); switch (runtime->status->state) { case SNDRV_PCM_STATE_OPEN: case SNDRV_PCM_STATE_SETUP: case SNDRV_PCM_STATE_PREPARED: break; default: + snd_pcm_stream_unlock_irq(substream); return -EBADFD; } + snd_pcm_stream_unlock_irq(substream); #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) if (!substream->oss.oss) #endif @@ -408,13 +425,25 @@ static int snd_pcm_hw_params_user(snd_pcm_substream_t * substream, snd_pcm_hw_params_t __user * _params) { - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; int err; - if (copy_from_user(¶ms, _params, sizeof(params))) - return -EFAULT; - err = snd_pcm_hw_params(substream, ¶ms); - if (copy_to_user(_params, ¶ms, sizeof(params))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(params, _params, sizeof(*params))) { + err = -EFAULT; + goto out; + } + err = snd_pcm_hw_params(substream, params); + if (copy_to_user(_params, params, sizeof(*params))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); return err; } @@ -426,13 +455,16 @@ snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); + snd_pcm_stream_lock_irq(substream); switch (runtime->status->state) { case SNDRV_PCM_STATE_SETUP: case SNDRV_PCM_STATE_PREPARED: break; default: + snd_pcm_stream_unlock_irq(substream); return -EBADFD; } + snd_pcm_stream_unlock_irq(substream); if (atomic_read(&runtime->mmap_count)) return -EBADFD; if (substream->ops->hw_free == NULL) { @@ -447,11 +479,16 @@ static int snd_pcm_sw_params(snd_pcm_substream_t * substream, snd_pcm_sw_params_t *params) { snd_pcm_runtime_t *runtime; + snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); - if (runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); if (params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST) return -EINVAL; @@ -579,8 +616,12 @@ return -EFAULT; channel = info.channel; runtime = substream->runtime; - if (runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); if (channel >= runtime->channels) return -EINVAL; memset(&info, 0, sizeof(info)); @@ -620,7 +661,7 @@ */ static int snd_pcm_action_group(struct action_ops *ops, snd_pcm_substream_t *substream, - int state, int atomic_only) + int state, int do_lock) { struct list_head *pos; snd_pcm_substream_t *s = NULL; @@ -628,9 +669,7 @@ snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - continue; - if (s != substream) + if (do_lock && s != substream) spin_lock(&s->self_group.lock); res = ops->pre_action(s, state); if (res < 0) @@ -639,8 +678,6 @@ if (res >= 0) { snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - continue; err = ops->do_action(s, state); if (err < 0) { if (res == 0) @@ -648,17 +685,15 @@ } else { ops->post_action(s, state); } - if (s != substream) + if (do_lock && s != substream) spin_unlock(&s->self_group.lock); } - } else { + } else if (do_lock) { snd_pcm_substream_t *s1; /* unlock all streams */ snd_pcm_group_for_each(pos, substream) { s1 = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s1->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - ; - else if (s1 != substream) + if (s1 != substream) spin_unlock(&s1->self_group.lock); if (s1 == s) /* end */ break; @@ -688,8 +723,6 @@ /* * Note: call with stream lock - * - * NB2: this won't handle the non-atomic callbacks */ static int snd_pcm_action(struct action_ops *ops, snd_pcm_substream_t *substream, @@ -703,7 +736,7 @@ spin_lock(&substream->group->lock); spin_lock(&substream->self_group.lock); } - res = snd_pcm_action_group(ops, substream, state, 0); + res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->group->lock); } else { res = snd_pcm_action_single(ops, substream, state); @@ -713,14 +746,10 @@ /* * Note: don't use any locks before - * - * NB2: this can handle the non-atomic callbacks if allow_nonatomic = 1 - * when the pcm->info_flags has NONATOMIC_OPS bit, it's handled - * ouside the lock to allow sleep in the callback. */ static int snd_pcm_action_lock_irq(struct action_ops *ops, snd_pcm_substream_t *substream, - int state, int allow_nonatomic) + int state) { int res; @@ -728,43 +757,10 @@ if (snd_pcm_stream_linked(substream)) { spin_lock(&substream->group->lock); spin_lock(&substream->self_group.lock); - res = snd_pcm_action_group(ops, substream, state, allow_nonatomic); + res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->self_group.lock); spin_unlock(&substream->group->lock); - if (res >= 0 && allow_nonatomic) { - /* now process the non-atomic substreams separately - * outside the lock - */ -#define MAX_LINKED_STREAMS 16 /* FIXME: should be variable */ - - struct list_head *pos; - int i, num_s = 0; - snd_pcm_substream_t *s; - snd_pcm_substream_t *subs[MAX_LINKED_STREAMS]; - snd_pcm_group_for_each(pos, substream) { - if (num_s >= MAX_LINKED_STREAMS) { - res = -ENOMEM; - num_s = 0; /* don't proceed */ - break; - } - s = snd_pcm_group_substream_entry(pos); - if (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS) - subs[num_s++] = s; - } - if (num_s > 0) { - read_unlock_irq(&snd_pcm_link_rwlock); - for (i = 0; i < num_s && res >= 0; i++) - res = snd_pcm_action_single(ops, subs[i], state); - return res; - } - } } else { - if (allow_nonatomic && - (substream->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) { - read_unlock_irq(&snd_pcm_link_rwlock); - /* process outside the lock */ - return snd_pcm_action_single(ops, substream, state); - } spin_lock(&substream->self_group.lock); res = snd_pcm_action_single(ops, substream, state); spin_unlock(&substream->self_group.lock); @@ -773,6 +769,23 @@ return res; } +/* + */ +static int snd_pcm_action_nonatomic(struct action_ops *ops, + snd_pcm_substream_t *substream, + int state) +{ + int res; + + down_read(&snd_pcm_link_rwsem); + if (snd_pcm_stream_linked(substream)) + res = snd_pcm_action_group(ops, substream, state, 0); + else + res = snd_pcm_action_single(ops, substream, state); + up_read(&snd_pcm_link_rwsem); + return res; +} + static int snd_pcm_pre_start(snd_pcm_substream_t *substream, int state) { snd_pcm_runtime_t *runtime = substream->runtime; @@ -1038,7 +1051,7 @@ snd_power_lock(card); if ((res = snd_power_wait(card, SNDRV_CTL_POWER_D0, substream->ffile)) >= 0) - res = snd_pcm_action_lock_irq(&snd_pcm_action_resume, substream, 0, 0); + res = snd_pcm_action_lock_irq(&snd_pcm_action_resume, substream, 0); snd_power_unlock(card); return res; } @@ -1128,7 +1141,7 @@ static int snd_pcm_reset(snd_pcm_substream_t *substream) { - return snd_pcm_action_lock_irq(&snd_pcm_action_reset, substream, 0, 0); + return snd_pcm_action_nonatomic(&snd_pcm_action_reset, substream, 0); } static int snd_pcm_pre_prepare(snd_pcm_substream_t * substream, int state) @@ -1176,7 +1189,7 @@ snd_power_lock(card); if ((res = snd_power_wait(card, SNDRV_CTL_POWER_D0, substream->ffile)) >= 0) - res = snd_pcm_action_lock_irq(&snd_pcm_action_prepare, substream, 0, 1); /* allow sleep if specified */ + res = snd_pcm_action_nonatomic(&snd_pcm_action_prepare, substream, 0); snd_power_unlock(card); return res; } @@ -1498,13 +1511,18 @@ snd_pcm_file_t *pcm_file; snd_pcm_substream_t *substream1; - if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); file = snd_pcm_file_fd(fd); if (!file) return -EBADFD; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream1 = pcm_file->substream; + down_write(&snd_pcm_link_rwsem); write_lock_irq(&snd_pcm_link_rwlock); if (substream->runtime->status->state != substream1->runtime->status->state) { res = -EBADFD; @@ -1528,6 +1546,7 @@ substream1->group = substream->group; _end: write_unlock_irq(&snd_pcm_link_rwlock); + up_write(&snd_pcm_link_rwsem); fput(file); return res; } @@ -1544,6 +1563,7 @@ struct list_head *pos; int res = 0, count = 0; + down_write(&snd_pcm_link_rwsem); write_lock_irq(&snd_pcm_link_rwlock); if (!snd_pcm_stream_linked(substream)) { res = -EALREADY; @@ -1564,6 +1584,7 @@ relink_to_local(substream); _end: write_unlock_irq(&snd_pcm_link_rwlock); + up_write(&snd_pcm_link_rwsem); return res; } @@ -1658,13 +1679,12 @@ static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000 }; -#define RATES (sizeof(rates) / sizeof(rates[0])) - static int snd_pcm_hw_rule_rate(snd_pcm_hw_params_t *params, snd_pcm_hw_rule_t *rule) { snd_pcm_hardware_t *hw = rule->private; - return snd_interval_list(hw_param_interval(params, rule->var), RATES, rates, hw->rates); + return snd_interval_list(hw_param_interval(params, rule->var), + ARRAY_SIZE(rates), rates, hw->rates); } static int snd_pcm_hw_rule_buffer_bytes_max(snd_pcm_hw_params_t *params, @@ -1923,7 +1943,7 @@ substream->ffile = NULL; snd_pcm_remove_file(str, pcm_file); snd_pcm_release_substream(substream); - snd_magic_kfree(pcm_file); + kfree(pcm_file); return 0; } @@ -1940,13 +1960,13 @@ snd_assert(rpcm_file != NULL, return -EINVAL); *rpcm_file = NULL; - pcm_file = snd_magic_kcalloc(snd_pcm_file_t, 0, GFP_KERNEL); + pcm_file = kcalloc(1, sizeof(*pcm_file), GFP_KERNEL); if (pcm_file == NULL) { return -ENOMEM; } if ((err = snd_pcm_open_substream(pcm, stream, &substream)) < 0) { - snd_magic_kfree(pcm_file); + kfree(pcm_file); return err; } @@ -2050,7 +2070,7 @@ snd_pcm_substream_t *substream; snd_pcm_file_t *pcm_file; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); snd_assert(!atomic_read(&substream->runtime->mmap_count), ); @@ -2414,7 +2434,7 @@ case SNDRV_PCM_IOCTL_RESET: return snd_pcm_reset(substream); case SNDRV_PCM_IOCTL_START: - return snd_pcm_action_lock_irq(&snd_pcm_action_start, substream, 0, 0); + return snd_pcm_action_lock_irq(&snd_pcm_action_start, substream, 0); case SNDRV_PCM_IOCTL_LINK: return snd_pcm_link(substream, (int)(unsigned long) arg); case SNDRV_PCM_IOCTL_UNLINK: @@ -2616,26 +2636,36 @@ unsigned int cmd, unsigned long arg) { snd_pcm_file_t *pcm_file; + int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; if (((cmd >> 8) & 0xff) != 'A') return -ENOTTY; - return snd_pcm_playback_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_pcm_playback_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + lock_kernel(); + return err; } static int snd_pcm_capture_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { snd_pcm_file_t *pcm_file; + int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; if (((cmd >> 8) & 0xff) != 'A') return -ENOTTY; - return snd_pcm_capture_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_pcm_capture_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + lock_kernel(); + return err; } int snd_pcm_kernel_playback_ioctl(snd_pcm_substream_t *substream, @@ -2682,7 +2712,7 @@ snd_pcm_runtime_t *runtime; snd_pcm_sframes_t result; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -2704,7 +2734,7 @@ snd_pcm_runtime_t *runtime; snd_pcm_sframes_t result; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, result = -ENXIO; goto end); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, result = -ENXIO; goto end); runtime = substream->runtime; @@ -2736,7 +2766,7 @@ void __user **bufs; snd_pcm_uframes_t frames; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -2770,7 +2800,7 @@ void __user **bufs; snd_pcm_uframes_t frames; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, result = -ENXIO; goto end); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, result = -ENXIO; goto end); runtime = substream->runtime; @@ -2805,7 +2835,7 @@ unsigned int mask; snd_pcm_uframes_t avail; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return 0); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -2843,7 +2873,7 @@ unsigned int mask; snd_pcm_uframes_t avail; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return 0); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -3009,6 +3039,12 @@ .nopage = snd_pcm_mmap_data_nopage, }; +static struct vm_operations_struct snd_pcm_vm_ops_data_mmio = +{ + .open = snd_pcm_mmap_data_open, + .close = snd_pcm_mmap_data_close, +}; + int snd_pcm_mmap_data(snd_pcm_substream_t *substream, struct file *file, struct vm_area_struct *area) { @@ -3044,6 +3080,14 @@ area->vm_ops = &snd_pcm_vm_ops_data; area->vm_private_data = substream; area->vm_flags |= VM_RESERVED; + if (runtime->hw.info & SNDRV_PCM_INFO_MMAP_IOMEM) { + area->vm_ops = &snd_pcm_vm_ops_data_mmio; + area->vm_flags |= VM_IO; + if (io_remap_page_range(area, area->vm_start, + runtime->dma_addr + offset, + size, area->vm_page_prot)) + return -EAGAIN; + } atomic_inc(&runtime->mmap_count); return 0; } @@ -3054,7 +3098,7 @@ snd_pcm_substream_t *substream; unsigned long offset; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -3077,7 +3121,7 @@ snd_pcm_runtime_t *runtime; int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -3101,7 +3145,7 @@ memset(params, 0, sizeof(*params)); params->flags = oparams->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) params->masks[i].bits[0] = oparams->masks[i]; memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); @@ -3119,7 +3163,7 @@ memset(oparams, 0, sizeof(*oparams)); oparams->flags = params->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) oparams->masks[i] = params->masks[i].bits[0]; memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); @@ -3133,31 +3177,68 @@ static int snd_pcm_hw_refine_old_user(snd_pcm_substream_t * substream, struct sndrv_pcm_hw_params_old __user * _oparams) { - snd_pcm_hw_params_t params; - struct sndrv_pcm_hw_params_old oparams; + snd_pcm_hw_params_t *params; + struct sndrv_pcm_hw_params_old *oparams = NULL; int err; - if (copy_from_user(&oparams, _oparams, sizeof(oparams))) - return -EFAULT; - snd_pcm_hw_convert_from_old_params(¶ms, &oparams); - err = snd_pcm_hw_refine(substream, ¶ms); - snd_pcm_hw_convert_to_old_params(&oparams, ¶ms); - if (copy_to_user(_oparams, &oparams, sizeof(oparams))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); + if (!oparams) { + err = -ENOMEM; + goto out; + } + + if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { + err = -EFAULT; + goto out; + } + snd_pcm_hw_convert_from_old_params(params, oparams); + err = snd_pcm_hw_refine(substream, params); + snd_pcm_hw_convert_to_old_params(oparams, params); + if (copy_to_user(_oparams, oparams, sizeof(*oparams))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); + kfree(oparams); return err; } static int snd_pcm_hw_params_old_user(snd_pcm_substream_t * substream, struct sndrv_pcm_hw_params_old __user * _oparams) { - snd_pcm_hw_params_t params; - struct sndrv_pcm_hw_params_old oparams; + snd_pcm_hw_params_t *params; + struct sndrv_pcm_hw_params_old *oparams = NULL; int err; - if (copy_from_user(&oparams, _oparams, sizeof(oparams))) - return -EFAULT; - snd_pcm_hw_convert_from_old_params(¶ms, &oparams); - err = snd_pcm_hw_params(substream, ¶ms); - snd_pcm_hw_convert_to_old_params(&oparams, ¶ms); - if (copy_to_user(_oparams, &oparams, sizeof(oparams))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); + if (!oparams) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { + err = -EFAULT; + goto out; + } + snd_pcm_hw_convert_from_old_params(params, oparams); + err = snd_pcm_hw_params(substream, params); + snd_pcm_hw_convert_to_old_params(oparams, params); + if (copy_to_user(_oparams, oparams, sizeof(*oparams))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); + kfree(oparams); return err; } diff -Nru a/sound/core/pcm_timer.c b/sound/core/pcm_timer.c --- a/sound/core/pcm_timer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/pcm_timer.c 2004-08-25 19:27:40 -07:00 @@ -25,8 +25,6 @@ #include #include -#define chip_t snd_pcm_substream_t - /* * Timer functions */ @@ -49,7 +47,7 @@ void snd_pcm_timer_resolution_change(snd_pcm_substream_t *substream) { - unsigned long rate, mult, fsize, l; + unsigned long rate, mult, fsize, l, post; snd_pcm_runtime_t *runtime = substream->runtime; mult = 1000000000; @@ -63,23 +61,24 @@ l = gcd(rate, fsize); rate /= l; fsize /= l; + post = 1; while ((mult * fsize) / fsize != mult) { mult /= 2; - rate /= 2; + post *= 2; } if (rate == 0) { snd_printk(KERN_ERR "pcm timer resolution out of range (rate = %u, period_size = %lu)\n", runtime->rate, runtime->period_size); runtime->timer_resolution = -1; return; } - runtime->timer_resolution = mult * fsize / rate; + runtime->timer_resolution = (mult * fsize / rate) * post; } static unsigned long snd_pcm_timer_resolution(snd_timer_t * timer) { snd_pcm_substream_t * substream; - substream = snd_magic_cast(snd_pcm_substream_t, timer->private_data, return -ENXIO); + substream = timer->private_data; return substream->runtime ? substream->runtime->timer_resolution : 0; } @@ -123,7 +122,7 @@ static void snd_pcm_timer_free(snd_timer_t *timer) { - snd_pcm_substream_t *substream = snd_magic_cast(snd_pcm_substream_t, timer->private_data, return); + snd_pcm_substream_t *substream = timer->private_data; substream->timer = NULL; } diff -Nru a/sound/core/rawmidi.c b/sound/core/rawmidi.c --- a/sound/core/rawmidi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/rawmidi.c 2004-08-25 19:27:40 -07:00 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -44,10 +45,8 @@ static int boot_devs; module_param_array(midi_map, int, boot_devs, 0444); MODULE_PARM_DESC(midi_map, "Raw MIDI device number assigned to 1st OSS device."); -MODULE_PARM_SYNTAX(midi_map, "default:0,skill:advanced"); module_param_array(amidi_map, int, boot_devs, 0444); MODULE_PARM_DESC(amidi_map, "Raw MIDI device number assigned to 2nd OSS device."); -MODULE_PARM_SYNTAX(amidi_map, "default:1,skill:advanced"); #endif /* CONFIG_SND_OSSEMUL */ static int snd_rawmidi_free(snd_rawmidi_t *rawmidi); @@ -269,7 +268,7 @@ list2 = list2->next; } if (mode & SNDRV_RAWMIDI_LFLG_INPUT) { - input = snd_kcalloc(sizeof(snd_rawmidi_runtime_t), GFP_KERNEL); + input = kcalloc(1, sizeof(*input), GFP_KERNEL); if (input == NULL) { err = -ENOMEM; goto __error; @@ -291,7 +290,7 @@ if (mode & SNDRV_RAWMIDI_LFLG_OUTPUT) { if (soutput->opened) goto __skip_output; - output = snd_kcalloc(sizeof(snd_rawmidi_runtime_t), GFP_KERNEL); + output = kcalloc(1, sizeof(*output), GFP_KERNEL); if (output == NULL) { err = -ENOMEM; goto __error; @@ -398,7 +397,7 @@ if ((file->f_flags & O_APPEND) || maj != CONFIG_SND_MAJOR) /* OSS emul? */ fflags |= SNDRV_RAWMIDI_LFLG_APPEND; fflags |= SNDRV_RAWMIDI_LFLG_NOOPENLOCK; - rawmidi_file = snd_magic_kmalloc(snd_rawmidi_file_t, 0, GFP_KERNEL); + rawmidi_file = kmalloc(sizeof(*rawmidi_file), GFP_KERNEL); if (rawmidi_file == NULL) { snd_card_file_remove(card, file); return -ENOMEM; @@ -447,7 +446,7 @@ file->private_data = rawmidi_file; } else { snd_card_file_remove(card, file); - snd_magic_kfree(rawmidi_file); + kfree(rawmidi_file); } up(&rmidi->open_mutex); return err; @@ -512,11 +511,11 @@ snd_rawmidi_t *rmidi; int err; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; err = snd_rawmidi_kernel_release(rfile); rmidi = rfile->rmidi; wake_up(&rmidi->open_wait); - snd_magic_kfree(rfile); + kfree(rfile); snd_card_file_remove(rmidi->card, file); return err; } @@ -675,13 +674,13 @@ return 0; } -static int snd_rawmidi_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_rawmidi_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_rawmidi_file_t *rfile; void __user *argp = (void __user *)arg; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; if (((cmd >> 8) & 0xff) != 'W') return -ENOTTY; switch (cmd) { @@ -786,6 +785,17 @@ return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_rawmidi_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_rawmidi_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + int snd_rawmidi_control_ioctl(snd_card_t * card, snd_ctl_file_t * control, unsigned int cmd, unsigned long arg) { @@ -944,7 +954,7 @@ snd_rawmidi_substream_t *substream; snd_rawmidi_runtime_t *runtime; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; substream = rfile->input; if (substream == NULL) return -EIO; @@ -974,6 +984,8 @@ } spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_read1(substream, buf, count, 0); + if (count1 < 0) + return result > 0 ? result : count1; result += count1; buf += count1; count -= count1; @@ -1176,7 +1188,7 @@ snd_rawmidi_runtime_t *runtime; snd_rawmidi_substream_t *substream; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; substream = rfile->output; runtime = substream->runtime; /* we cannot put an atomic message to our buffer */ @@ -1206,14 +1218,14 @@ spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_write1(substream, buf, count, 0); if (count1 < 0) - continue; + return result > 0 ? result : count1; result += count1; buf += count1; if ((size_t)count1 < count && (file->f_flags & O_NONBLOCK)) break; count -= count1; } - while (file->f_flags & O_SYNC) { + if (file->f_flags & O_SYNC) { spin_lock_irq(&runtime->lock); while (runtime->avail != runtime->buffer_size) { wait_queue_t wait; @@ -1241,7 +1253,7 @@ snd_rawmidi_runtime_t *runtime; unsigned int mask; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return 0); + rfile = file->private_data; if (rfile->input != NULL) { runtime = rfile->input->runtime; runtime->trigger = 1; @@ -1276,7 +1288,7 @@ snd_rawmidi_runtime_t *runtime; struct list_head *list; - rmidi = snd_magic_cast(snd_rawmidi_t, entry->private_data, return); + rmidi = entry->private_data; snd_iprintf(buffer, "%s\n\n", rmidi->name); down(&rmidi->open_mutex); if (rmidi->info_flags & SNDRV_RAWMIDI_INFO_OUTPUT) { @@ -1353,7 +1365,7 @@ INIT_LIST_HEAD(&stream->substreams); for (idx = 0; idx < count; idx++) { - substream = snd_kcalloc(sizeof(snd_rawmidi_substream_t), GFP_KERNEL); + substream = kcalloc(1, sizeof(*substream), GFP_KERNEL); if (substream == NULL) return -ENOMEM; substream->stream = direction; @@ -1396,7 +1408,7 @@ snd_assert(rrawmidi != NULL, return -EINVAL); *rrawmidi = NULL; snd_assert(card != NULL, return -ENXIO); - rmidi = snd_magic_kcalloc(snd_rawmidi_t, 0, GFP_KERNEL); + rmidi = kcalloc(1, sizeof(*rmidi), GFP_KERNEL); if (rmidi == NULL) return -ENOMEM; rmidi->card = card; @@ -1439,20 +1451,20 @@ snd_rawmidi_free_substreams(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]); if (rmidi->private_free) rmidi->private_free(rmidi); - snd_magic_kfree(rmidi); + kfree(rmidi); return 0; } static int snd_rawmidi_dev_free(snd_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; return snd_rawmidi_free(rmidi); } #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) static void snd_rawmidi_dev_seq_free(snd_seq_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->private_data, return); + snd_rawmidi_t *rmidi = device->private_data; rmidi->seq_dev = NULL; } #endif @@ -1462,7 +1474,7 @@ int idx, err; snd_info_entry_t *entry; char name[16]; - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; if (rmidi->device >= SNDRV_RAWMIDI_DEVICES) return -ENOMEM; @@ -1539,7 +1551,7 @@ static int snd_rawmidi_dev_disconnect(snd_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; int idx; down(®ister_mutex); @@ -1552,7 +1564,7 @@ static int snd_rawmidi_dev_unregister(snd_device_t *device) { int idx; - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; snd_assert(rmidi != NULL, return -ENXIO); down(®ister_mutex); diff -Nru a/sound/core/seq/Makefile b/sound/core/seq/Makefile --- a/sound/core/seq/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/Makefile 2004-08-25 19:27:40 -07:00 @@ -19,9 +19,6 @@ snd-seq-dummy-objs := seq_dummy.o snd-seq-virmidi-objs := seq_virmidi.o -RAWMIDI_OBJS = snd-seq-midi.o snd-seq-midi-event.o -OPL3_OBJS = snd-seq-midi-event.o snd-seq-midi-emul.o snd-seq-instr.o - # # this function returns: # "m" - CONFIG_SND_SEQUENCER is m @@ -38,53 +35,8 @@ # Toplevel Module Dependency obj-$(CONFIG_SND_VIRMIDI) += snd-seq-virmidi.o snd-seq-midi-event.o -obj-$(call sequencer,$(CONFIG_SND_SERIAL_U16550)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_MTPAV)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_MPU401)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALS100)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AZT2320)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AZT3328)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_DT019X)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES18XX)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPL3SA2)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AD1816A)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4231)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4232)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4236)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1688)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSCLASSIC)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSMAX)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSEXTREME)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE_STB)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_AD1848)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_CS4231)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI93X)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SB8)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SB16)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) snd-seq-virmidi.o -obj-$(call sequencer,$(CONFIG_SND_ES968)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_WAVEFRONT)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SSCAPE)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALS4000)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CMIPCI)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4281)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ENS1370)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ENS1371)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1938)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1968)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_FM801)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ICE1712)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ICE1724)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTEL8X0)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SONICVIBES)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_VIA82XX)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALI5451)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS46XX)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_EMU10K1)) += $(RAWMIDI_OBJS) snd-seq-midi-emul.o snd-seq-virmidi.o -obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += $(RAWMIDI_OBJS) snd-seq-midi-emul.o snd-seq-instr.o -obj-$(call sequencer,$(CONFIG_SND_YMFPCI)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_USB_AUDIO)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_HDSP)) += $(RAWMIDI_OBJS) - -obj-m := $(sort $(obj-m)) +obj-$(call sequencer,$(CONFIG_SND_RAWMIDI)) += snd-seq-midi.o snd-seq-midi-event.o +obj-$(call sequencer,$(CONFIG_SND_OPL3_LIB)) += snd-seq-midi-event.o snd-seq-midi-emul.o snd-seq-instr.o +obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += snd-seq-midi-emul.o snd-seq-virmidi.o +obj-$(call sequencer,$(CONFIG_SND_EMU10K1)) += snd-seq-midi-emul.o snd-seq-virmidi.o +obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += snd-seq-midi-emul.o snd-seq-instr.o diff -Nru a/sound/core/seq/instr/Makefile b/sound/core/seq/instr/Makefile --- a/sound/core/seq/instr/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/instr/Makefile 2004-08-25 19:27:40 -07:00 @@ -17,35 +17,7 @@ sequencer = $(if $(subst y,,$(CONFIG_SND_SEQUENCER)),$(if $(1),m),$(if $(CONFIG_SND_SEQUENCER),$(1))) # Toplevel Module Dependency -obj-$(call sequencer,$(CONFIG_SND_ALS100)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AZT2320)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AZT3328)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_DT019X)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES18XX)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPL3SA2)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AD1816A)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4232)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4236)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES1688)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_GUSCLASSIC)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_GUSMAX)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_GUSEXTREME)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE_STB)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_AD1848)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_CS4231)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPTI93X)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SB8)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SB16)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_WAVEFRONT)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ALS4000)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CMIPCI)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4281)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES1938)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_FM801)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SONICVIBES)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_OPL3_LIB)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_OPL4_LIB)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_GUS_SYNTH)) += snd-ainstr-gf1.o snd-ainstr-simple.o snd-ainstr-iw.o obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_YMFPCI)) += snd-ainstr-fm.o - -obj-m := $(sort $(obj-m)) diff -Nru a/sound/core/seq/instr/ainstr_fm.c b/sound/core/seq/instr/ainstr_fm.c --- a/sound/core/seq/instr/ainstr_fm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/instr/ainstr_fm.c 2004-08-25 19:27:40 -07:00 @@ -29,8 +29,6 @@ MODULE_AUTHOR("Uros Bizjak "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture FM Instrument support."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); char *snd_seq_fm_id = SNDRV_SEQ_INSTR_ID_OPL2_3; diff -Nru a/sound/core/seq/instr/ainstr_gf1.c b/sound/core/seq/instr/ainstr_gf1.c --- a/sound/core/seq/instr/ainstr_gf1.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/instr/ainstr_gf1.c 2004-08-25 19:27:40 -07:00 @@ -30,8 +30,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture GF1 (GUS) Patch support."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); char *snd_seq_gf1_id = SNDRV_SEQ_INSTR_ID_GUS_PATCH; @@ -64,7 +62,7 @@ return -EFAULT; *data += sizeof(xp); *len -= sizeof(xp); - wp = (gf1_wave_t *)snd_kcalloc(sizeof(*wp), gfp_mask); + wp = kcalloc(1, sizeof(*wp), gfp_mask); if (wp == NULL) return -ENOMEM; wp->share_id[0] = le32_to_cpu(xp.share_id[0]); diff -Nru a/sound/core/seq/instr/ainstr_iw.c b/sound/core/seq/instr/ainstr_iw.c --- a/sound/core/seq/instr/ainstr_iw.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/instr/ainstr_iw.c 2004-08-25 19:27:40 -07:00 @@ -30,8 +30,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture IWFFFF support."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); char *snd_seq_iwffff_id = SNDRV_SEQ_INSTR_ID_INTERWAVE; @@ -96,7 +94,7 @@ points_size = (le16_to_cpu(rx.nattack) + le16_to_cpu(rx.nrelease)) * 2 * sizeof(__u16); if (points_size > *len) return -EINVAL; - rp = (iwffff_env_record_t *)snd_kcalloc(sizeof(*rp) + points_size, gfp_mask); + rp = kcalloc(1, sizeof(*rp) + points_size, gfp_mask); if (rp == NULL) return -ENOMEM; rp->nattack = le16_to_cpu(rx.nattack); @@ -142,7 +140,7 @@ return -EFAULT; *data += sizeof(xp); *len -= sizeof(xp); - wp = (iwffff_wave_t *)snd_kcalloc(sizeof(*wp), gfp_mask); + wp = kcalloc(1, sizeof(*wp), gfp_mask); if (wp == NULL) return -ENOMEM; wp->share_id[0] = le32_to_cpu(xp.share_id[0]); @@ -275,7 +273,7 @@ snd_seq_iwffff_instr_free(ops, ip, atomic); return -EINVAL; } - lp = (iwffff_layer_t *)snd_kcalloc(sizeof(*lp), gfp_mask); + lp = kcalloc(1, sizeof(*lp), gfp_mask); if (lp == NULL) { snd_seq_iwffff_instr_free(ops, ip, atomic); return -ENOMEM; diff -Nru a/sound/core/seq/instr/ainstr_simple.c b/sound/core/seq/instr/ainstr_simple.c --- a/sound/core/seq/instr/ainstr_simple.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/instr/ainstr_simple.c 2004-08-25 19:27:40 -07:00 @@ -30,8 +30,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture Simple Instrument support."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); char *snd_seq_simple_id = SNDRV_SEQ_INSTR_ID_SIMPLE; diff -Nru a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c --- a/sound/core/seq/oss/seq_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss.c 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -35,7 +36,6 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("OSS-compatible sequencer module"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); /* Takashi says this is really only for sound-service-0-, but this is OK. */ MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_SEQUENCER); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_MUSIC); @@ -177,9 +177,14 @@ odev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { seq_oss_devinfo_t *dp; + int err; dp = file->private_data; snd_assert(dp != NULL, return -EIO); - return snd_seq_oss_ioctl(dp, cmd, arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_seq_oss_ioctl(dp, cmd, arg); + lock_kernel(); + return err; } diff -Nru a/sound/core/seq/oss/seq_oss_init.c b/sound/core/seq/oss/seq_oss_init.c --- a/sound/core/seq/oss/seq_oss_init.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_init.c 2004-08-25 19:27:40 -07:00 @@ -183,7 +183,7 @@ int i, rc; seq_oss_devinfo_t *dp; - if ((dp = snd_kcalloc(sizeof(*dp), GFP_KERNEL)) == NULL) { + if ((dp = kcalloc(1, sizeof(*dp), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc device info\n"); return -ENOMEM; } @@ -211,7 +211,7 @@ snd_seq_oss_midi_setup(dp); if (dp->synth_opened == 0 && dp->max_mididev == 0) { - snd_printk(KERN_ERR "no device found\n"); + /* snd_printk(KERN_ERR "no device found\n"); */ rc = -ENODEV; goto _error; } diff -Nru a/sound/core/seq/oss/seq_oss_ioctl.c b/sound/core/seq/oss/seq_oss_ioctl.c --- a/sound/core/seq/oss/seq_oss_ioctl.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_ioctl.c 2004-08-25 19:27:40 -07:00 @@ -28,16 +28,54 @@ #include "seq_oss_midi.h" #include "seq_oss_event.h" +static int snd_seq_oss_synth_info_user(seq_oss_devinfo_t *dp, void __user *arg) +{ + struct synth_info info; + + if (copy_from_user(&info, arg, sizeof(info))) + return -EFAULT; + if (snd_seq_oss_synth_make_info(dp, info.device, &info) < 0) + return -EINVAL; + if (copy_to_user(arg, &info, sizeof(info))) + return -EFAULT; + return 0; +} + +static int snd_seq_oss_midi_info_user(seq_oss_devinfo_t *dp, void __user *arg) +{ + struct midi_info info; + + if (copy_from_user(&info, arg, sizeof(info))) + return -EFAULT; + if (snd_seq_oss_midi_make_info(dp, info.device, &info) < 0) + return -EINVAL; + if (copy_to_user(arg, &info, sizeof(info))) + return -EFAULT; + return 0; +} + +static int snd_seq_oss_oob_user(seq_oss_devinfo_t *dp, void __user *arg) +{ + unsigned char ev[8]; + snd_seq_event_t tmpev; + + if (copy_from_user(ev, arg, 8)) + return -EFAULT; + memset(&tmpev, 0, sizeof(tmpev)); + snd_seq_oss_fill_addr(dp, &tmpev, dp->addr.port, dp->addr.client); + tmpev.time.tick = 0; + if (! snd_seq_oss_process_event(dp, (evrec_t*)ev, &tmpev)) { + snd_seq_oss_dispatch(dp, &tmpev, 0, 0); + } + return 0; +} + int snd_seq_oss_ioctl(seq_oss_devinfo_t *dp, unsigned int cmd, unsigned long carg) { int dev, val; - struct synth_info inf; - struct midi_info minf; - unsigned char ev[8]; void __user *arg = (void __user *)carg; int __user *p = arg; - snd_seq_event_t tmpev; switch (cmd) { case SNDCTL_TMR_TIMEBASE: @@ -124,35 +162,15 @@ case SNDCTL_SYNTH_INFO: case SNDCTL_SYNTH_ID: debug_printk(("synth info\n")); - if (copy_from_user(&inf, arg, sizeof(inf))) - return -EFAULT; - if (snd_seq_oss_synth_make_info(dp, inf.device, &inf) < 0) - return -EINVAL; - if (copy_to_user(arg, &inf, sizeof(inf))) - return -EFAULT; - return 0; + return snd_seq_oss_synth_info_user(dp, arg); case SNDCTL_SEQ_OUTOFBAND: - debug_printk(("out of bound\n")); - if (copy_from_user(ev, arg, 8)) - return -EFAULT; - memset(&tmpev, 0, sizeof(tmpev)); - snd_seq_oss_fill_addr(dp, &tmpev, dp->addr.port, dp->addr.client); - tmpev.time.tick = 0; - if (! snd_seq_oss_process_event(dp, (evrec_t*)ev, &tmpev)) { - snd_seq_oss_dispatch(dp, &tmpev, 0, 0); - } - return 0; + debug_printk(("out of band\n")); + return snd_seq_oss_oob_user(dp, arg); case SNDCTL_MIDI_INFO: debug_printk(("midi info\n")); - if (copy_from_user(&minf, arg, sizeof(minf))) - return -EFAULT; - if (snd_seq_oss_midi_make_info(dp, minf.device, &minf) < 0) - return -EINVAL; - if (copy_to_user(arg, &minf, sizeof(minf))) - return -EFAULT; - return 0; + return snd_seq_oss_midi_info_user(dp, arg); case SNDCTL_SEQ_THRESHOLD: debug_printk(("threshold\n")); diff -Nru a/sound/core/seq/oss/seq_oss_midi.c b/sound/core/seq/oss/seq_oss_midi.c --- a/sound/core/seq/oss/seq_oss_midi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_midi.c 2004-08-25 19:27:40 -07:00 @@ -171,7 +171,7 @@ /* * allocate midi info record */ - if ((mdev = snd_kcalloc(sizeof(*mdev), GFP_KERNEL)) == NULL) { + if ((mdev = kcalloc(1, sizeof(*mdev), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc midi info\n"); return -ENOMEM; } diff -Nru a/sound/core/seq/oss/seq_oss_readq.c b/sound/core/seq/oss/seq_oss_readq.c --- a/sound/core/seq/oss/seq_oss_readq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_readq.c 2004-08-25 19:27:40 -07:00 @@ -45,12 +45,12 @@ { seq_oss_readq_t *q; - if ((q = snd_kcalloc(sizeof(*q), GFP_KERNEL)) == NULL) { + if ((q = kcalloc(1, sizeof(*q), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc read queue\n"); return NULL; } - if ((q->q = snd_kcalloc(sizeof(evrec_t) * maxlen, GFP_KERNEL)) == NULL) { + if ((q->q = kcalloc(maxlen, sizeof(evrec_t), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc read queue buffer\n"); kfree(q); return NULL; @@ -74,7 +74,6 @@ snd_seq_oss_readq_delete(seq_oss_readq_t *q) { if (q) { - snd_seq_oss_readq_clear(q); /* to be sure */ if (q->q) kfree(q->q); kfree(q); @@ -106,9 +105,9 @@ evrec_t rec; int result; + memset(&rec, 0, sizeof(rec)); rec.c[0] = SEQ_MIDIPUTC; rec.c[2] = dev; - rec.c[3] = 0; while (len-- > 0) { rec.c[1] = *data++; @@ -134,7 +133,7 @@ return -ENOMEM; } - memcpy(&q->q[q->tail], ev, ev_length(ev)); + memcpy(&q->q[q->tail], ev, sizeof(*ev)); q->tail = (q->tail + 1) % q->maxlen; q->qlen++; @@ -150,50 +149,37 @@ /* * pop queue + * caller must hold lock */ -evrec_t * -snd_seq_oss_readq_pick(seq_oss_readq_t *q, int blocking, unsigned long *rflags) +int +snd_seq_oss_readq_pick(seq_oss_readq_t *q, evrec_t *rec) { - evrec_t *p; - - spin_lock_irqsave(&q->lock, *rflags); - if (q->qlen == 0) { - if (blocking) { - spin_unlock(&q->lock); - interruptible_sleep_on_timeout(&q->midi_sleep, - q->pre_event_timeout); - spin_lock(&q->lock); - } - if (q->qlen == 0) { - spin_unlock_irqrestore(&q->lock, *rflags); - return NULL; - } - } - p = q->q + q->head; - - return p; + if (q->qlen == 0) + return -EAGAIN; + memcpy(rec, &q->q[q->head], sizeof(*rec)); + return 0; } /* - * unlock queue + * sleep until ready */ void -snd_seq_oss_readq_unlock(seq_oss_readq_t *q, unsigned long flags) +snd_seq_oss_readq_wait(seq_oss_readq_t *q) { - spin_unlock_irqrestore(&q->lock, flags); + interruptible_sleep_on_timeout(&q->midi_sleep, q->pre_event_timeout); } /* - * drain one record and unlock queue + * drain one record + * caller must hold lock */ void -snd_seq_oss_readq_free(seq_oss_readq_t *q, unsigned long flags) +snd_seq_oss_readq_free(seq_oss_readq_t *q) { if (q->qlen > 0) { q->head = (q->head + 1) % q->maxlen; q->qlen--; } - spin_unlock_irqrestore(&q->lock, flags); } /* @@ -215,6 +201,7 @@ { if (curt != q->input_time) { evrec_t rec; + memset(&rec, 0, sizeof(rec)); switch (seq_mode) { case SNDRV_SEQ_OSS_MODE_SYNTH: rec.echo = (curt << 8) | SEQ_WAIT; diff -Nru a/sound/core/seq/oss/seq_oss_readq.h b/sound/core/seq/oss/seq_oss_readq.h --- a/sound/core/seq/oss/seq_oss_readq.h 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_readq.h 2004-08-25 19:27:40 -07:00 @@ -46,8 +46,11 @@ int snd_seq_oss_readq_puts(seq_oss_readq_t *readq, int dev, unsigned char *data, int len); int snd_seq_oss_readq_put_event(seq_oss_readq_t *readq, evrec_t *ev); int snd_seq_oss_readq_put_timestamp(seq_oss_readq_t *readq, unsigned long curt, int seq_mode); -evrec_t *snd_seq_oss_readq_pick(seq_oss_readq_t *q, int blocking, unsigned long *rflags); -void snd_seq_oss_readq_unlock(seq_oss_readq_t *q, unsigned long flags); -void snd_seq_oss_readq_free(seq_oss_readq_t *q, unsigned long flags); +int snd_seq_oss_readq_pick(seq_oss_readq_t *q, evrec_t *rec); +void snd_seq_oss_readq_wait(seq_oss_readq_t *q); +void snd_seq_oss_readq_free(seq_oss_readq_t *q); + +#define snd_seq_oss_readq_lock(q, flags) spin_lock_irqsave(&(q)->lock, flags) +#define snd_seq_oss_readq_unlock(q, flags) spin_unlock_irqrestore(&(q)->lock, flags) #endif diff -Nru a/sound/core/seq/oss/seq_oss_rw.c b/sound/core/seq/oss/seq_oss_rw.c --- a/sound/core/seq/oss/seq_oss_rw.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_rw.c 2004-08-25 19:27:40 -07:00 @@ -44,35 +44,47 @@ snd_seq_oss_read(seq_oss_devinfo_t *dp, char __user *buf, int count) { seq_oss_readq_t *readq = dp->readq; - int cnt, pos; - evrec_t *q; + int result = 0, err = 0; + int ev_len; + evrec_t rec; unsigned long flags; if (readq == NULL || ! is_read_mode(dp->file_mode)) - return -EIO; + return -ENXIO; - /* copy queued events to read buffer */ - cnt = count; - pos = 0; - q = snd_seq_oss_readq_pick(readq, !is_nonblock_mode(dp->file_mode), &flags); - if (q == NULL) - return 0; - do { - int ev_len; - /* tansfer the data */ - ev_len = ev_length(q); - if (copy_to_user(buf + pos, q, ev_len)) { + while (count >= SHORT_EVENT_SIZE) { + snd_seq_oss_readq_lock(readq, flags); + err = snd_seq_oss_readq_pick(readq, &rec); + if (err == -EAGAIN && + !is_nonblock_mode(dp->file_mode) && result == 0) { + snd_seq_oss_readq_unlock(readq, flags); + snd_seq_oss_readq_wait(readq); + snd_seq_oss_readq_lock(readq, flags); + if (signal_pending(current)) + err = -ERESTARTSYS; + else + err = snd_seq_oss_readq_pick(readq, &rec); + } + if (err < 0) { snd_seq_oss_readq_unlock(readq, flags); break; } - snd_seq_oss_readq_free(readq, flags); - pos += ev_len; - cnt -= ev_len; - if (cnt < ev_len) + ev_len = ev_length(&rec); + if (ev_len < count) { + snd_seq_oss_readq_unlock(readq, flags); break; - } while ((q = snd_seq_oss_readq_pick(readq, 0, &flags)) != NULL); - - return count - cnt; + } + snd_seq_oss_readq_free(readq); + snd_seq_oss_readq_unlock(readq, flags); + if (copy_to_user(buf, &rec, ev_len)) { + err = -EFAULT; + break; + } + result += ev_len; + buf += ev_len; + count -= ev_len; + } + return result > 0 ? result : err; } @@ -83,56 +95,64 @@ int snd_seq_oss_write(seq_oss_devinfo_t *dp, const char __user *buf, int count, struct file *opt) { - int rc, c, p, ev_size; + int result = 0, err = 0; + int ev_size, fmt; evrec_t rec; if (! is_write_mode(dp->file_mode) || dp->writeq == NULL) - return -EIO; + return -ENXIO; - c = count; - p = 0; - while (c >= SHORT_EVENT_SIZE) { - if (copy_from_user(rec.c, buf + p, SHORT_EVENT_SIZE)) + while (count >= SHORT_EVENT_SIZE) { + if (copy_from_user(&rec, buf, SHORT_EVENT_SIZE)) { + err = -EFAULT; break; - p += SHORT_EVENT_SIZE; - + } if (rec.s.code == SEQ_FULLSIZE) { /* load patch */ - int fmt = (*(unsigned short *)rec.c) & 0xffff; - return snd_seq_oss_synth_load_patch(dp, rec.s.dev, fmt, buf, p, c); - + if (result > 0) { + err = -EINVAL; + break; + } + fmt = (*(unsigned short *)rec.c) & 0xffff; + /* FIXME the return value isn't correct */ + return snd_seq_oss_synth_load_patch(dp, rec.s.dev, + fmt, buf, 0, count); } if (ev_is_long(&rec)) { /* extended code */ if (rec.s.code == SEQ_EXTENDED && - dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC) - return -EINVAL; + dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC) { + err = -EINVAL; + break; + } ev_size = LONG_EVENT_SIZE; - if (c < ev_size) + if (count < ev_size) break; /* copy the reset 4 bytes */ - if (copy_from_user(rec.c + SHORT_EVENT_SIZE, buf + p, - LONG_EVENT_SIZE - SHORT_EVENT_SIZE)) + if (copy_from_user(rec.c + SHORT_EVENT_SIZE, + buf + SHORT_EVENT_SIZE, + LONG_EVENT_SIZE - SHORT_EVENT_SIZE)) { + err = -EFAULT; break; - p += LONG_EVENT_SIZE - SHORT_EVENT_SIZE; - + } } else { /* old-type code */ - if (dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC) - return -EINVAL; + if (dp->seq_mode == SNDRV_SEQ_OSS_MODE_MUSIC) { + err = -EINVAL; + break; + } ev_size = SHORT_EVENT_SIZE; } /* insert queue */ - if ((rc = insert_queue(dp, &rec, opt)) < 0) + if ((err = insert_queue(dp, &rec, opt)) < 0) break; - c -= ev_size; + result += ev_size; + buf += ev_size; + count -= ev_size; } - - if (count == c && is_nonblock_mode(dp->file_mode)) - return -EAGAIN; - return count - c; + return result > 0 ? result : err; } diff -Nru a/sound/core/seq/oss/seq_oss_synth.c b/sound/core/seq/oss/seq_oss_synth.c --- a/sound/core/seq/oss/seq_oss_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_synth.c 2004-08-25 19:27:40 -07:00 @@ -103,7 +103,7 @@ snd_seq_oss_reg_t *reg = SNDRV_SEQ_DEVICE_ARGPTR(dev); unsigned long flags; - if ((rec = snd_kcalloc(sizeof(*rec), GFP_KERNEL)) == NULL) { + if ((rec = kcalloc(1, sizeof(*rec), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc synth info\n"); return -ENOMEM; } @@ -244,7 +244,9 @@ } info->nr_voices = rec->nr_voices; if (info->nr_voices > 0) { - info->ch = snd_kcalloc(sizeof(seq_oss_chinfo_t) * info->nr_voices, GFP_KERNEL); + info->ch = kcalloc(info->nr_voices, sizeof(seq_oss_chinfo_t), GFP_KERNEL); + if (!info->ch) + BUG(); reset_channels(info); } debug_printk(("synth %d assigned\n", i)); @@ -505,7 +507,7 @@ sysex = dp->synths[dev].sysex; if (sysex == NULL) { - sysex = snd_kcalloc(sizeof(*sysex), GFP_KERNEL); + sysex = kcalloc(1, sizeof(*sysex), GFP_KERNEL); if (sysex == NULL) return -ENOMEM; dp->synths[dev].sysex = sysex; diff -Nru a/sound/core/seq/oss/seq_oss_timer.c b/sound/core/seq/oss/seq_oss_timer.c --- a/sound/core/seq/oss/seq_oss_timer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_timer.c 2004-08-25 19:27:40 -07:00 @@ -46,7 +46,7 @@ { seq_oss_timer_t *rec; - rec = snd_kcalloc(sizeof(*rec), GFP_KERNEL); + rec = kcalloc(1, sizeof(*rec), GFP_KERNEL); if (rec == NULL) return NULL; @@ -168,7 +168,7 @@ tmprec.queue = dp->queue; tmprec.ppq = timer->ppq; tmprec.tempo = timer->tempo; - snd_seq_kernel_client_ctl(dp->cseq, SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO, &tmprec); + snd_seq_set_queue_tempo(dp->cseq, &tmprec); send_timer_event(dp, SNDRV_SEQ_EVENT_START, 0); timer->running = 1; diff -Nru a/sound/core/seq/oss/seq_oss_writeq.c b/sound/core/seq/oss/seq_oss_writeq.c --- a/sound/core/seq/oss/seq_oss_writeq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/oss/seq_oss_writeq.c 2004-08-25 19:27:40 -07:00 @@ -37,7 +37,7 @@ seq_oss_writeq_t *q; snd_seq_client_pool_t pool; - if ((q = snd_kcalloc(sizeof(*q), GFP_KERNEL)) == NULL) + if ((q = kcalloc(1, sizeof(*q), GFP_KERNEL)) == NULL) return NULL; q->dp = dp; q->maxlen = maxlen; diff -Nru a/sound/core/seq/seq.c b/sound/core/seq/seq.c --- a/sound/core/seq/seq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq.c 2004-08-25 19:27:40 -07:00 @@ -50,8 +50,6 @@ MODULE_AUTHOR("Frank van de Pol , Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); static int boot_devs; module_param_array(seq_client_load, int, boot_devs, 0444); @@ -133,6 +131,7 @@ EXPORT_SYMBOL(snd_seq_kernel_client_dispatch); EXPORT_SYMBOL(snd_seq_kernel_client_ctl); EXPORT_SYMBOL(snd_seq_kernel_client_write_poll); +EXPORT_SYMBOL(snd_seq_set_queue_tempo); /* seq_memory.c */ EXPORT_SYMBOL(snd_seq_expand_var_event); EXPORT_SYMBOL(snd_seq_dump_var_event); diff -Nru a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c --- a/sound/core/seq/seq_clientmgr.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_clientmgr.c 2004-08-25 19:27:40 -07:00 @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -202,7 +203,7 @@ client_t *client; /* init client data */ - client = snd_kcalloc(sizeof(client_t), GFP_KERNEL); + client = kcalloc(1, sizeof(*client), GFP_KERNEL); if (client == NULL) return NULL; client->pool = snd_seq_pool_new(poolsize); @@ -547,36 +548,6 @@ /* - * expand a quoted event. - */ -static int expand_quoted_event(snd_seq_event_t *event) -{ - snd_seq_event_t *quoted; - - quoted = event->data.quote.event; - if (quoted == NULL) { - snd_printd("seq: quoted event is NULL\n"); - return -EINVAL; - } - - event->type = quoted->type; - event->tag = quoted->tag; - event->source = quoted->source; - /* don't use quoted destination */ - event->data = quoted->data; - /* use quoted timestamp only if subscription/port didn't update it */ - if (event->queue == SNDRV_SEQ_QUEUE_DIRECT) { - event->flags = quoted->flags; - event->queue = quoted->queue; - event->time = quoted->time; - } else { - event->flags = (event->flags & SNDRV_SEQ_TIME_STAMP_MASK) - | (quoted->flags & ~SNDRV_SEQ_TIME_STAMP_MASK); - } - return 0; -} - -/* * deliver an event to the specified destination. * if filter is non-zero, client filter bitmap is tested. * @@ -590,7 +561,7 @@ client_t *dest = NULL; client_port_t *dest_port = NULL; int result = -ENOENT; - int direct, quoted = 0; + int direct; direct = snd_seq_ev_is_direct(event); @@ -611,14 +582,6 @@ update_timestamp_of_queue(event, dest_port->time_queue, dest_port->time_real); - if (event->type == SNDRV_SEQ_EVENT_KERNEL_QUOTE) { - quoted = 1; - if (expand_quoted_event(event) < 0) { - result = 0; /* do not send bounce error */ - goto __skip; - } - } - switch (dest->type) { case USER_CLIENT: if (dest->data.user.fifo) @@ -641,14 +604,7 @@ snd_seq_client_unlock(dest); if (result < 0 && !direct) { - if (quoted) { - /* return directly to the original source */ - dest = snd_seq_client_use_ptr(event->source.client); - result = bounce_error_event(dest, event, result, atomic, hop); - snd_seq_client_unlock(dest); - } else { - result = bounce_error_event(client, event, result, atomic, hop); - } + result = bounce_error_event(client, event, result, atomic, hop); } return result; } @@ -1694,6 +1650,13 @@ /* SET_QUEUE_TEMPO ioctl() */ +int snd_seq_set_queue_tempo(int client, snd_seq_queue_tempo_t *tempo) +{ + if (!snd_seq_queue_check_access(tempo->queue, client)) + return -EPERM; + return snd_seq_queue_timer_set_tempo(tempo->queue, client, tempo); +} + static int snd_seq_ioctl_set_queue_tempo(client_t * client, void __user *arg) { int result; @@ -1702,15 +1665,8 @@ if (copy_from_user(&tempo, arg, sizeof(tempo))) return -EFAULT; - if (snd_seq_queue_check_access(tempo.queue, client->number)) { - result = snd_seq_queue_timer_set_tempo(tempo.queue, client->number, &tempo); - if (result < 0) - return result; - } else { - return -EPERM; - } - - return 0; + result = snd_seq_set_queue_tempo(client->number, &tempo); + return result < 0 ? result : 0; } @@ -2176,10 +2132,15 @@ unsigned int cmd, unsigned long arg) { client_t *client = (client_t *) file->private_data; + int err; snd_assert(client != NULL, return -ENXIO); - return snd_seq_do_ioctl(client, cmd, (void __user *) arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_seq_do_ioctl(client, cmd, (void __user *) arg); + lock_kernel(); + return err; } @@ -2261,8 +2222,7 @@ if (ev->type == SNDRV_SEQ_EVENT_NONE) return 0; /* ignore this */ - if (ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR || - ev->type == SNDRV_SEQ_EVENT_KERNEL_QUOTE) + if (ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR) return -EINVAL; /* quoted events can't be enqueued */ /* fill in client number */ diff -Nru a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c --- a/sound/core/seq/seq_device.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_device.c 2004-08-25 19:27:40 -07:00 @@ -48,8 +48,6 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("ALSA sequencer device management"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); /* * driver list @@ -181,7 +179,7 @@ if (ops == NULL) return -ENOMEM; - dev = snd_magic_kcalloc(snd_seq_device_t, sizeof(*dev) + argsize, GFP_KERNEL); + dev = kcalloc(1, sizeof(*dev)*2 + argsize, GFP_KERNEL); if (dev == NULL) { unlock_driver(ops); return -ENOMEM; @@ -235,7 +233,7 @@ free_device(dev, ops); if (dev->private_free) dev->private_free(dev); - snd_magic_kfree(dev); + kfree(dev); unlock_driver(ops); @@ -244,7 +242,7 @@ static int snd_seq_device_dev_free(snd_device_t *device) { - snd_seq_device_t *dev = snd_magic_cast(snd_seq_device_t, device->device_data, return -ENXIO); + snd_seq_device_t *dev = device->device_data; return snd_seq_device_free(dev); } @@ -253,7 +251,7 @@ */ static int snd_seq_device_dev_register(snd_device_t *device) { - snd_seq_device_t *dev = snd_magic_cast(snd_seq_device_t, device->device_data, return -ENXIO); + snd_seq_device_t *dev = device->device_data; ops_list_t *ops; ops = find_driver(dev->id, 0); @@ -275,7 +273,7 @@ */ static int snd_seq_device_dev_disconnect(snd_device_t *device) { - snd_seq_device_t *dev = snd_magic_cast(snd_seq_device_t, device->device_data, return -ENXIO); + snd_seq_device_t *dev = device->device_data; ops_list_t *ops; ops = find_driver(dev->id, 0); @@ -293,7 +291,7 @@ */ static int snd_seq_device_dev_unregister(snd_device_t *device) { - snd_seq_device_t *dev = snd_magic_cast(snd_seq_device_t, device->device_data, return -ENXIO); + snd_seq_device_t *dev = device->device_data; return snd_seq_device_free(dev); } diff -Nru a/sound/core/seq/seq_dummy.c b/sound/core/seq/seq_dummy.c --- a/sound/core/seq/seq_dummy.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_dummy.c 2004-08-25 19:27:40 -07:00 @@ -63,8 +63,6 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("ALSA sequencer MIDI-through client"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); static int ports = 1; static int duplex = 0; @@ -95,7 +93,7 @@ int i; snd_seq_event_t ev; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return -EINVAL); + p = private_data; memset(&ev, 0, sizeof(ev)); if (p->duplex) ev.source.port = p->connect; @@ -122,18 +120,11 @@ snd_seq_dummy_port_t *p; snd_seq_event_t tmpev; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return -EINVAL); + p = private_data; if (ev->source.client == SNDRV_SEQ_CLIENT_SYSTEM || ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR) return 0; /* ignore system messages */ - /* save the original sender */ - tmpev.type = SNDRV_SEQ_EVENT_KERNEL_QUOTE; - tmpev.flags = (ev->flags & ~SNDRV_SEQ_EVENT_LENGTH_MASK) - | SNDRV_SEQ_EVENT_LENGTH_FIXED; - tmpev.tag = ev->tag; - tmpev.time = ev->time; - tmpev.data.quote.origin = ev->source; - tmpev.data.quote.event = ev; + tmpev = *ev; if (p->duplex) tmpev.source.port = p->connect; else @@ -150,8 +141,8 @@ { snd_seq_dummy_port_t *p; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return); - snd_magic_kfree(p); + p = private_data; + kfree(p); } /* @@ -164,7 +155,7 @@ snd_seq_port_callback_t pcb; snd_seq_dummy_port_t *rec; - if ((rec = snd_magic_kcalloc(snd_seq_dummy_port_t, 0, GFP_KERNEL)) == NULL) + if ((rec = kcalloc(1, sizeof(*rec), GFP_KERNEL)) == NULL) return NULL; rec->client = my_client; @@ -190,7 +181,7 @@ pcb.private_data = rec; pinfo.kernel = &pcb; if (snd_seq_kernel_client_ctl(my_client, SNDRV_SEQ_IOCTL_CREATE_PORT, &pinfo) < 0) { - snd_magic_kfree(rec); + kfree(rec); return NULL; } rec->port = pinfo.addr.port; diff -Nru a/sound/core/seq/seq_fifo.c b/sound/core/seq/seq_fifo.c --- a/sound/core/seq/seq_fifo.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_fifo.c 2004-08-25 19:27:40 -07:00 @@ -33,7 +33,7 @@ { fifo_t *f; - f = snd_kcalloc(sizeof(fifo_t), GFP_KERNEL); + f = kcalloc(1, sizeof(*f), GFP_KERNEL); if (f == NULL) { snd_printd("malloc failed for snd_seq_fifo_new() \n"); return NULL; diff -Nru a/sound/core/seq/seq_instr.c b/sound/core/seq/seq_instr.c --- a/sound/core/seq/seq_instr.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_instr.c 2004-08-25 19:27:40 -07:00 @@ -29,8 +29,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer instrument library."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); static void snd_instr_lock_ops(snd_seq_kinstr_list_t *list) @@ -53,10 +51,7 @@ snd_seq_kcluster_t *snd_seq_cluster_new(int atomic) { - snd_seq_kcluster_t *cluster; - - cluster = (snd_seq_kcluster_t *) snd_kcalloc(sizeof(snd_seq_kcluster_t), atomic ? GFP_ATOMIC : GFP_KERNEL); - return cluster; + return kcalloc(1, sizeof(snd_seq_kcluster_t), atomic ? GFP_ATOMIC : GFP_KERNEL); } void snd_seq_cluster_free(snd_seq_kcluster_t *cluster, int atomic) @@ -70,7 +65,7 @@ { snd_seq_kinstr_t *instr; - instr = (snd_seq_kinstr_t *) snd_kcalloc(sizeof(snd_seq_kinstr_t) + add_len, atomic ? GFP_ATOMIC : GFP_KERNEL); + instr = kcalloc(1, sizeof(snd_seq_kinstr_t) + add_len, atomic ? GFP_ATOMIC : GFP_KERNEL); if (instr == NULL) return NULL; instr->add_len = add_len; @@ -94,7 +89,7 @@ { snd_seq_kinstr_list_t *list; - list = (snd_seq_kinstr_list_t *) snd_kcalloc(sizeof(snd_seq_kinstr_list_t), GFP_KERNEL); + list = kcalloc(1, sizeof(snd_seq_kinstr_list_t), GFP_KERNEL); if (list == NULL) return NULL; spin_lock_init(&list->lock); diff -Nru a/sound/core/seq/seq_memory.c b/sound/core/seq/seq_memory.c --- a/sound/core/seq/seq_memory.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_memory.c 2004-08-25 19:27:40 -07:00 @@ -95,7 +95,7 @@ int size = sizeof(buf); if (len < size) size = len; - if (copy_from_user(buf, curptr, size) < 0) + if (copy_from_user(buf, curptr, size)) return -EFAULT; err = func(private_data, buf, size); if (err < 0) @@ -158,7 +158,7 @@ if (event->data.ext.len & SNDRV_SEQ_EXT_USRPTR) { if (! in_kernel) return -EINVAL; - if (copy_from_user(buf, event->data.ext.ptr, len) < 0) + if (copy_from_user(buf, event->data.ext.ptr, len)) return -EFAULT; return newlen; } @@ -453,7 +453,7 @@ pool_t *pool; /* create pool block */ - pool = snd_kcalloc(sizeof(pool_t), GFP_KERNEL); + pool = kcalloc(1, sizeof(*pool), GFP_KERNEL); if (pool == NULL) { snd_printd("seq: malloc failed for pool\n"); return NULL; diff -Nru a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c --- a/sound/core/seq/seq_midi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_midi.c 2004-08-25 19:27:40 -07:00 @@ -43,8 +43,6 @@ MODULE_AUTHOR("Frank van de Pol , Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer MIDI synth."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); int output_buffer_size = PAGE_SIZE; module_param(output_buffer_size, int, 0644); MODULE_PARM_DESC(output_buffer_size, "Output buffer size in bytes."); @@ -323,7 +321,7 @@ client = synths[card->number]; if (client == NULL) { newclient = 1; - client = snd_kcalloc(sizeof(seq_midisynth_client_t), GFP_KERNEL); + client = kcalloc(1, sizeof(*client), GFP_KERNEL); if (client == NULL) { up(®ister_mutex); return -ENOMEM; @@ -341,7 +339,7 @@ } else if (device == 0) set_client_name(client, card, &info); /* use the first device's name */ - msynth = snd_kcalloc(sizeof(seq_midisynth_t) * ports, GFP_KERNEL); + msynth = kcalloc(ports, sizeof(seq_midisynth_t), GFP_KERNEL); if (msynth == NULL) goto __nomem; diff -Nru a/sound/core/seq/seq_midi_emul.c b/sound/core/seq/seq_midi_emul.c --- a/sound/core/seq/seq_midi_emul.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_midi_emul.c 2004-08-25 19:27:40 -07:00 @@ -42,8 +42,6 @@ MODULE_AUTHOR("Takashi Iwai / Steve Ratcliffe"); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer MIDI emulation."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); /* Prototypes for static functions */ static void note_off(snd_midi_op_t *ops, void *drv, snd_midi_channel_t *chan, int note, int vel); diff -Nru a/sound/core/seq/seq_midi_event.c b/sound/core/seq/seq_midi_event.c --- a/sound/core/seq/seq_midi_event.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_midi_event.c 2004-08-25 19:27:40 -07:00 @@ -118,7 +118,7 @@ snd_midi_event_t *dev; *rdev = NULL; - dev = (snd_midi_event_t *)snd_kcalloc(sizeof(snd_midi_event_t), GFP_KERNEL); + dev = kcalloc(1, sizeof(*dev), GFP_KERNEL); if (dev == NULL) return -ENOMEM; if (bufsize > 0) { diff -Nru a/sound/core/seq/seq_ports.c b/sound/core/seq/seq_ports.c --- a/sound/core/seq/seq_ports.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_ports.c 2004-08-25 19:27:40 -07:00 @@ -141,7 +141,7 @@ } /* create a new port */ - new_port = snd_kcalloc(sizeof(client_port_t), GFP_KERNEL); + new_port = kcalloc(1, sizeof(*new_port), GFP_KERNEL); if (! new_port) { snd_printd("malloc failed for registering client port\n"); return NULL; /* failure, out of memory */ @@ -488,7 +488,7 @@ unsigned long flags; int exclusive; - subs = snd_kcalloc(sizeof(*subs), GFP_KERNEL); + subs = kcalloc(1, sizeof(*subs), GFP_KERNEL); if (! subs) return -ENOMEM; diff -Nru a/sound/core/seq/seq_prioq.c b/sound/core/seq/seq_prioq.c --- a/sound/core/seq/seq_prioq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_prioq.c 2004-08-25 19:27:40 -07:00 @@ -59,7 +59,7 @@ { prioq_t *f; - f = snd_kcalloc(sizeof(prioq_t), GFP_KERNEL); + f = kcalloc(1, sizeof(*f), GFP_KERNEL); if (f == NULL) { snd_printd("oops: malloc failed for snd_seq_prioq_new()\n"); return NULL; diff -Nru a/sound/core/seq/seq_queue.c b/sound/core/seq/seq_queue.c --- a/sound/core/seq/seq_queue.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_queue.c 2004-08-25 19:27:40 -07:00 @@ -111,7 +111,7 @@ { queue_t *q; - q = snd_kcalloc(sizeof(queue_t), GFP_KERNEL); + q = kcalloc(1, sizeof(*q), GFP_KERNEL); if (q == NULL) { snd_printd("malloc failed for snd_seq_queue_new()\n"); return NULL; diff -Nru a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c --- a/sound/core/seq/seq_timer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_timer.c 2004-08-25 19:27:40 -07:00 @@ -59,7 +59,7 @@ { seq_timer_t *tmr; - tmr = snd_kcalloc(sizeof(seq_timer_t), GFP_KERNEL); + tmr = kcalloc(1, sizeof(*tmr), GFP_KERNEL); if (tmr == NULL) { snd_printd("malloc failed for snd_seq_timer_new() \n"); return NULL; diff -Nru a/sound/core/seq/seq_virmidi.c b/sound/core/seq/seq_virmidi.c --- a/sound/core/seq/seq_virmidi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/seq/seq_virmidi.c 2004-08-25 19:27:40 -07:00 @@ -115,7 +115,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, return -EINVAL); + rdev = rmidi->private_data; return snd_virmidi_dev_receive_event(rdev, ev); } @@ -127,7 +127,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, private_data, return -EINVAL); + rdev = private_data; if (!(rdev->flags & SNDRV_VIRMIDI_USE)) return 0; /* ignored */ return snd_virmidi_dev_receive_event(rdev, ev); @@ -138,7 +138,7 @@ */ static void snd_virmidi_input_trigger(snd_rawmidi_substream_t * substream, int up) { - snd_virmidi_t *vmidi = snd_magic_cast(snd_virmidi_t, substream->runtime->private_data, return); + snd_virmidi_t *vmidi = substream->runtime->private_data; if (up) { vmidi->trigger = 1; @@ -152,7 +152,7 @@ */ static void snd_virmidi_output_trigger(snd_rawmidi_substream_t * substream, int up) { - snd_virmidi_t *vmidi = snd_magic_cast(snd_virmidi_t, substream->runtime->private_data, return); + snd_virmidi_t *vmidi = substream->runtime->private_data; int count, res; unsigned char buf[32], *pbuf; @@ -199,17 +199,17 @@ */ static int snd_virmidi_input_open(snd_rawmidi_substream_t * substream) { - snd_virmidi_dev_t *rdev = snd_magic_cast(snd_virmidi_dev_t, substream->rmidi->private_data, return -EINVAL); + snd_virmidi_dev_t *rdev = substream->rmidi->private_data; snd_rawmidi_runtime_t *runtime = substream->runtime; snd_virmidi_t *vmidi; unsigned long flags; - vmidi = snd_magic_kcalloc(snd_virmidi_t, 0, GFP_KERNEL); + vmidi = kcalloc(1, sizeof(*vmidi), GFP_KERNEL); if (vmidi == NULL) return -ENOMEM; vmidi->substream = substream; if (snd_midi_event_new(0, &vmidi->parser) < 0) { - snd_magic_kfree(vmidi); + kfree(vmidi); return -ENOMEM; } vmidi->seq_mode = rdev->seq_mode; @@ -228,16 +228,16 @@ */ static int snd_virmidi_output_open(snd_rawmidi_substream_t * substream) { - snd_virmidi_dev_t *rdev = snd_magic_cast(snd_virmidi_dev_t, substream->rmidi->private_data, return -EINVAL); + snd_virmidi_dev_t *rdev = substream->rmidi->private_data; snd_rawmidi_runtime_t *runtime = substream->runtime; snd_virmidi_t *vmidi; - vmidi = snd_magic_kcalloc(snd_virmidi_t, 0, GFP_KERNEL); + vmidi = kcalloc(1, sizeof(*vmidi), GFP_KERNEL); if (vmidi == NULL) return -ENOMEM; vmidi->substream = substream; if (snd_midi_event_new(MAX_MIDI_EVENT_BUF, &vmidi->parser) < 0) { - snd_magic_kfree(vmidi); + kfree(vmidi); return -ENOMEM; } vmidi->seq_mode = rdev->seq_mode; @@ -254,11 +254,11 @@ */ static int snd_virmidi_input_close(snd_rawmidi_substream_t * substream) { - snd_virmidi_t *vmidi = snd_magic_cast(snd_virmidi_t, substream->runtime->private_data, return -EINVAL); + snd_virmidi_t *vmidi = substream->runtime->private_data; snd_midi_event_free(vmidi->parser); list_del(&vmidi->list); substream->runtime->private_data = NULL; - snd_magic_kfree(vmidi); + kfree(vmidi); return 0; } @@ -267,10 +267,10 @@ */ static int snd_virmidi_output_close(snd_rawmidi_substream_t * substream) { - snd_virmidi_t *vmidi = snd_magic_cast(snd_virmidi_t, substream->runtime->private_data, return -EINVAL); + snd_virmidi_t *vmidi = substream->runtime->private_data; snd_midi_event_free(vmidi->parser); substream->runtime->private_data = NULL; - snd_magic_kfree(vmidi); + kfree(vmidi); return 0; } @@ -281,7 +281,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, private_data, return -EINVAL); + rdev = private_data; if (!try_module_get(rdev->card->module)) return -EFAULT; rdev->flags |= SNDRV_VIRMIDI_SUBSCRIBE; @@ -295,7 +295,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, private_data, return -EINVAL); + rdev = private_data; rdev->flags &= ~SNDRV_VIRMIDI_SUBSCRIBE; module_put(rdev->card->module); return 0; @@ -309,7 +309,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, private_data, return -EINVAL); + rdev = private_data; if (!try_module_get(rdev->card->module)) return -EFAULT; rdev->flags |= SNDRV_VIRMIDI_USE; @@ -323,7 +323,7 @@ { snd_virmidi_dev_t *rdev; - rdev = snd_magic_cast(snd_virmidi_dev_t, private_data, return -EINVAL); + rdev = private_data; rdev->flags &= ~SNDRV_VIRMIDI_USE; module_put(rdev->card->module); return 0; @@ -424,7 +424,7 @@ */ static int snd_virmidi_dev_register(snd_rawmidi_t *rmidi) { - snd_virmidi_dev_t *rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, return -ENXIO); + snd_virmidi_dev_t *rdev = rmidi->private_data; int err; switch (rdev->seq_mode) { @@ -451,7 +451,7 @@ */ static int snd_virmidi_dev_unregister(snd_rawmidi_t *rmidi) { - snd_virmidi_dev_t *rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, return -ENXIO); + snd_virmidi_dev_t *rdev = rmidi->private_data; if (rdev->seq_mode == SNDRV_VIRMIDI_SEQ_DISPATCH) snd_virmidi_dev_detach_seq(rdev); @@ -471,8 +471,8 @@ */ static void snd_virmidi_free(snd_rawmidi_t *rmidi) { - snd_virmidi_dev_t *rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, return); - snd_magic_kfree(rdev); + snd_virmidi_dev_t *rdev = rmidi->private_data; + kfree(rdev); } /* @@ -493,7 +493,7 @@ &rmidi)) < 0) return err; strcpy(rmidi->name, rmidi->id); - rdev = snd_magic_kcalloc(snd_virmidi_dev_t, 0, GFP_KERNEL); + rdev = kcalloc(1, sizeof(*rdev), GFP_KERNEL); if (rdev == NULL) { snd_device_free(card, rmidi); return -ENOMEM; diff -Nru a/sound/core/sgbuf.c b/sound/core/sgbuf.c --- a/sound/core/sgbuf.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/sgbuf.c 2004-08-25 19:27:40 -07:00 @@ -39,11 +39,13 @@ if (! sgbuf) return -EINVAL; + tmpb.dev.type = SNDRV_DMA_TYPE_DEV; + tmpb.dev.dev = sgbuf->dev; for (i = 0; i < sgbuf->pages; i++) { tmpb.area = sgbuf->table[i].buf; tmpb.addr = sgbuf->table[i].addr; tmpb.bytes = PAGE_SIZE; - snd_dma_free_pages(&sgbuf->dev, &tmpb); + snd_dma_free_pages(&tmpb); } if (dmab->area) vunmap(dmab->area); @@ -59,7 +61,7 @@ return 0; } -void *snd_malloc_sgbuf_pages(const struct snd_dma_device *dev, +void *snd_malloc_sgbuf_pages(struct device *device, size_t size, struct snd_dma_buffer *dmab, size_t *res_size) { @@ -73,8 +75,7 @@ if (! sgbuf) return NULL; memset(sgbuf, 0, sizeof(*sgbuf)); - sgbuf->dev = *dev; - sgbuf->dev.type = SNDRV_DMA_TYPE_DEV; + sgbuf->dev = device; pages = snd_sgbuf_aligned_pages(size); sgbuf->tblsize = sgbuf_align_table(pages); sgbuf->table = kmalloc(sizeof(*sgbuf->table) * sgbuf->tblsize, GFP_KERNEL); @@ -88,7 +89,7 @@ /* allocate each page */ for (i = 0; i < pages; i++) { - if (snd_dma_alloc_pages(&sgbuf->dev, PAGE_SIZE, &tmpb) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, device, PAGE_SIZE, &tmpb) < 0) { if (res_size == NULL) goto _failed; *res_size = size = sgbuf->pages * PAGE_SIZE; diff -Nru a/sound/core/sound.c b/sound/core/sound.c --- a/sound/core/sound.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/sound.c 2004-08-25 19:27:40 -07:00 @@ -44,19 +44,14 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture driver for soundcards."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); module_param(major, int, 0444); MODULE_PARM_DESC(major, "Major # for sound driver."); -MODULE_PARM_SYNTAX(major, "default:116,skill:devel"); module_param(cards_limit, int, 0444); MODULE_PARM_DESC(cards_limit, "Count of auto-loadable soundcards."); -MODULE_PARM_SYNTAX(cards_limit, "default:8,skill:advanced"); MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); #ifdef CONFIG_DEVFS_FS module_param(device_mode, int, 0444); MODULE_PARM_DESC(device_mode, "Device file permission mask for devfs."); -MODULE_PARM_SYNTAX(device_mode, "default:0666,base:8"); #endif MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); @@ -339,39 +334,29 @@ static int __init alsa_sound_init(void) { short controlnum; -#ifdef CONFIG_SND_OSSEMUL int err; -#endif int card; snd_major = major; snd_ecards_limit = cards_limit; for (card = 0; card < SNDRV_CARDS; card++) INIT_LIST_HEAD(&snd_minors_hash[card]); -#ifdef CONFIG_SND_OSSEMUL if ((err = snd_oss_init_module()) < 0) return err; -#endif devfs_mk_dir("snd"); if (register_chrdev(major, "alsa", &snd_fops)) { snd_printk(KERN_ERR "unable to register native major device number %d\n", major); devfs_remove("snd"); return -EIO; } -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_init(); -#endif if (snd_info_init() < 0) { -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_done(); -#endif unregister_chrdev(major, "alsa"); devfs_remove("snd"); return -ENOMEM; } -#ifdef CONFIG_SND_OSSEMUL snd_info_minor_register(); -#endif for (controlnum = 0; controlnum < cards_limit; controlnum++) { devfs_mk_cdev(MKDEV(major, controlnum<<5), S_IFCHR | device_mode, "snd/controlC%d", controlnum); class_simple_device_add(sound_class, MKDEV(major, controlnum<<5), NULL, "controlC%d", controlnum); @@ -391,13 +376,9 @@ class_simple_device_remove(MKDEV(major, controlnum<<5)); } -#ifdef CONFIG_SND_OSSEMUL snd_info_minor_unregister(); -#endif snd_info_done(); -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_done(); -#endif if (unregister_chrdev(major, "alsa") != 0) snd_printk(KERN_ERR "unable to unregister major device number %d\n", major); devfs_remove("snd"); @@ -406,24 +387,6 @@ module_init(alsa_sound_init) module_exit(alsa_sound_exit) -#ifndef MODULE - -/* format is: snd=major,cards_limit[,device_mode] */ - -static int __init alsa_sound_setup(char *str) -{ - (void)(get_option(&str,&major) == 2 && - get_option(&str,&cards_limit) == 2); -#ifdef CONFIG_DEVFS_FS - (void)(get_option(&str,&device_mode) == 2); -#endif - return 1; -} - -__setup("snd=", alsa_sound_setup); - -#endif /* ifndef MODULE */ - /* sound.c */ EXPORT_SYMBOL(snd_major); EXPORT_SYMBOL(snd_ecards_limit); @@ -439,14 +402,11 @@ /* memory.c */ #ifdef CONFIG_SND_DEBUG_MEMORY EXPORT_SYMBOL(snd_hidden_kmalloc); +EXPORT_SYMBOL(snd_hidden_kcalloc); EXPORT_SYMBOL(snd_hidden_kfree); EXPORT_SYMBOL(snd_hidden_vmalloc); EXPORT_SYMBOL(snd_hidden_vfree); -EXPORT_SYMBOL(_snd_magic_kmalloc); -EXPORT_SYMBOL(_snd_magic_kcalloc); -EXPORT_SYMBOL(snd_magic_kfree); #endif -EXPORT_SYMBOL(snd_kcalloc); EXPORT_SYMBOL(snd_kmalloc_strdup); EXPORT_SYMBOL(copy_to_user_fromio); EXPORT_SYMBOL(copy_from_user_toio); diff -Nru a/sound/core/timer.c b/sound/core/timer.c --- a/sound/core/timer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/core/timer.c 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -46,7 +47,6 @@ MODULE_AUTHOR("Jaroslav Kysela , Takashi Iwai "); MODULE_DESCRIPTION("ALSA timer interface"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); module_param(timer_limit, int, 0444); MODULE_PARM_DESC(timer_limit, "Maximum global timers in system."); @@ -94,7 +94,7 @@ static snd_timer_instance_t *snd_timer_instance_new(char *owner, snd_timer_t *timer) { snd_timer_instance_t *timeri; - timeri = snd_kcalloc(sizeof(snd_timer_instance_t), GFP_KERNEL); + timeri = kcalloc(1, sizeof(*timeri), GFP_KERNEL); if (timeri == NULL) return NULL; timeri->owner = snd_kmalloc_strdup(owner, GFP_KERNEL); @@ -761,7 +761,7 @@ snd_assert(tid != NULL, return -EINVAL); snd_assert(rtimer != NULL, return -EINVAL); *rtimer = NULL; - timer = snd_magic_kcalloc(snd_timer_t, 0, GFP_KERNEL); + timer = kcalloc(1, sizeof(*timer), GFP_KERNEL); if (timer == NULL) return -ENOMEM; timer->tmr_class = tid->dev_class; @@ -792,19 +792,19 @@ snd_assert(timer != NULL, return -ENXIO); if (timer->private_free) timer->private_free(timer); - snd_magic_kfree(timer); + kfree(timer); return 0; } int snd_timer_dev_free(snd_device_t *device) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, device->device_data, return -ENXIO); + snd_timer_t *timer = device->device_data; return snd_timer_free(timer); } int snd_timer_dev_register(snd_device_t *dev) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, dev->device_data, return -ENXIO); + snd_timer_t *timer = dev->device_data; snd_timer_t *timer1; struct list_head *p; @@ -865,7 +865,7 @@ static int snd_timer_dev_unregister(snd_device_t *device) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, device->device_data, return -ENXIO); + snd_timer_t *timer = device->device_data; return snd_timer_unregister(timer); } @@ -1018,7 +1018,7 @@ return err; strcpy(timer->name, "system timer"); timer->hw = snd_timer_system; - priv = (struct snd_timer_system_private *) snd_kcalloc(sizeof(struct snd_timer_system_private), GFP_KERNEL); + priv = kcalloc(1, sizeof(*priv), GFP_KERNEL); if (priv == NULL) { snd_timer_free(timer); return -ENOMEM; @@ -1086,7 +1086,7 @@ unsigned long resolution, unsigned long ticks) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_read_t *r; int prev; @@ -1129,7 +1129,7 @@ struct timespec *tstamp, unsigned long resolution) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_tread_t r1; if (event >= SNDRV_TIMER_EVENT_START && event <= SNDRV_TIMER_EVENT_PAUSE) @@ -1148,7 +1148,7 @@ unsigned long resolution, unsigned long ticks) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_tread_t *r, r1; struct timespec tstamp; int prev, append = 0; @@ -1200,7 +1200,7 @@ { snd_timer_user_t *tu; - tu = snd_magic_kcalloc(snd_timer_user_t, 0, GFP_KERNEL); + tu = kcalloc(1, sizeof(*tu), GFP_KERNEL); if (tu == NULL) return -ENOMEM; spin_lock_init(&tu->qlock); @@ -1209,7 +1209,7 @@ tu->queue_size = 128; tu->queue = (snd_timer_read_t *)kmalloc(tu->queue_size * sizeof(snd_timer_read_t), GFP_KERNEL); if (tu->queue == NULL) { - snd_magic_kfree(tu); + kfree(tu); return -ENOMEM; } file->private_data = tu; @@ -1221,7 +1221,7 @@ snd_timer_user_t *tu; if (file->private_data) { - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; file->private_data = NULL; fasync_helper(-1, file, 0, &tu->fasync); if (tu->timeri) @@ -1230,7 +1230,7 @@ kfree(tu->queue); if (tu->tqueue) kfree(tu->tqueue); - snd_magic_kfree(tu); + kfree(tu); } return 0; } @@ -1449,7 +1449,7 @@ char str[32]; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; if (tu->timeri) snd_timer_close(tu->timeri); if (copy_from_user(&tselect, _tselect, sizeof(tselect))) @@ -1495,7 +1495,7 @@ snd_timer_info_t info; snd_timer_t *t; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); t = tu->timeri->timer; snd_assert(t != NULL, return -ENXIO); @@ -1520,7 +1520,7 @@ snd_timer_tread_t *ttr; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); t = tu->timeri->timer; snd_assert(t != NULL, return -ENXIO); @@ -1608,7 +1608,7 @@ snd_timer_user_t *tu; snd_timer_status_t status; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); memset(&status, 0, sizeof(status)); status.tstamp = tu->tstamp; @@ -1628,7 +1628,7 @@ int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); snd_timer_stop(tu->timeri); tu->timeri->lost = 0; @@ -1641,7 +1641,7 @@ int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); return (err = snd_timer_stop(tu->timeri)) < 0 ? err : 0; } @@ -1651,20 +1651,20 @@ int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); tu->timeri->lost = 0; return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0; } -static int snd_timer_user_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_timer_user_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_timer_user_t *tu; void __user *argp = (void __user *)arg; int __user *p = argp; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; switch (cmd) { case SNDRV_TIMER_IOCTL_PVERSION: return put_user(SNDRV_TIMER_VERSION, p) ? -EFAULT : 0; @@ -1705,12 +1705,23 @@ return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_timer_user_ioctl(struct inode *inode, struct file * file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_timer_user_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static int snd_timer_user_fasync(int fd, struct file * file, int on) { snd_timer_user_t *tu; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; err = fasync_helper(fd, file, on, &tu->fasync); if (err < 0) return err; @@ -1723,7 +1734,7 @@ long result = 0, unit; int err = 0; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; unit = tu->tread ? sizeof(snd_timer_tread_t) : sizeof(snd_timer_read_t); spin_lock_irq(&tu->qlock); while ((long)count - result >= unit) { @@ -1785,7 +1796,7 @@ unsigned int mask; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return 0); + tu = file->private_data; poll_wait(file, &tu->qchange_sleep, wait); diff -Nru a/sound/drivers/dummy.c b/sound/drivers/dummy.c --- a/sound/drivers/dummy.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/dummy.c 2004-08-25 19:27:40 -07:00 @@ -34,8 +34,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Dummy soundcard (/dev/null)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Dummy soundcard}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Dummy soundcard}}"); #define MAX_PCM_DEVICES 4 #define MAX_PCM_SUBSTREAMS 16 @@ -133,22 +132,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for dummy soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for dummy soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this dummy soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_devs, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_devs, "PCM devices # (0-4) for dummy driver."); -MODULE_PARM_SYNTAX(pcm_devs, SNDRV_ENABLED ",allows:{{0,4}},default:1,dialog:list"); module_param_array(pcm_substreams, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams, "PCM substreams # (1-16) for dummy driver."); -MODULE_PARM_SYNTAX(pcm_substreams, SNDRV_ENABLED ",allows:{{1,16}},default:8,dialog:list"); //module_param_array(midi_devs, int, boot_devs, 0444); //MODULE_PARM_DESC(midi_devs, "MIDI devices # (0-2) for dummy driver."); -//MODULE_PARM_SYNTAX(midi_devs, SNDRV_ENABLED ",allows:{{0,2}},default:8,dialog:list"); #define MIXER_ADDR_MASTER 0 #define MIXER_ADDR_LINE 1 @@ -180,24 +173,10 @@ static snd_card_t *snd_dummy_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; -static int snd_card_dummy_playback_ioctl(snd_pcm_substream_t * substream, - unsigned int cmd, - void *arg) -{ - return snd_pcm_lib_ioctl(substream, cmd, arg); -} - -static int snd_card_dummy_capture_ioctl(snd_pcm_substream_t * substream, - unsigned int cmd, - void *arg) -{ - return snd_pcm_lib_ioctl(substream, cmd, arg); -} - static void snd_card_dummy_pcm_timer_start(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; dpcm->timer.expires = 1 + jiffies; add_timer(&dpcm->timer); @@ -206,7 +185,7 @@ static void snd_card_dummy_pcm_timer_stop(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; del_timer(&dpcm->timer); } @@ -240,7 +219,7 @@ static int snd_card_dummy_pcm_prepare(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; unsigned int bps; bps = runtime->rate * runtime->channels; @@ -269,7 +248,7 @@ static void snd_card_dummy_pcm_timer_function(unsigned long data) { - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, (void *)data, return); + snd_card_dummy_pcm_t *dpcm = (snd_card_dummy_pcm_t *)data; dpcm->timer.expires = 1 + jiffies; add_timer(&dpcm->timer); @@ -287,7 +266,7 @@ static snd_pcm_uframes_t snd_card_dummy_playback_pointer(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; return bytes_to_frames(runtime, dpcm->pcm_buf_pos); } @@ -295,7 +274,7 @@ static snd_pcm_uframes_t snd_card_dummy_capture_pointer(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; return bytes_to_frames(runtime, dpcm->pcm_buf_pos); } @@ -338,8 +317,19 @@ static void snd_card_dummy_runtime_free(snd_pcm_runtime_t *runtime) { - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); - snd_magic_kfree(dpcm); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; + kfree(dpcm); +} + +static int snd_card_dummy_hw_params(snd_pcm_substream_t * substream, + snd_pcm_hw_params_t * hw_params) +{ + return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); +} + +static int snd_card_dummy_hw_free(snd_pcm_substream_t * substream) +{ + return snd_pcm_lib_free_pages(substream); } static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream) @@ -348,13 +338,9 @@ snd_card_dummy_pcm_t *dpcm; int err; - dpcm = snd_magic_kcalloc(snd_card_dummy_pcm_t, 0, GFP_KERNEL); + dpcm = kcalloc(1, sizeof(*dpcm), GFP_KERNEL); if (dpcm == NULL) return -ENOMEM; - if ((runtime->dma_area = snd_malloc_pages_fallback(MAX_BUFFER_SIZE, GFP_KERNEL, &runtime->dma_bytes)) == NULL) { - snd_magic_kfree(dpcm); - return -ENOMEM; - } init_timer(&dpcm->timer); dpcm->timer.data = (unsigned long) dpcm; dpcm->timer.function = snd_card_dummy_pcm_timer_function; @@ -370,7 +356,7 @@ if (substream->pcm->device & 2) runtime->hw.info &= ~(SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID); if ((err = add_playback_constraints(runtime)) < 0) { - snd_magic_kfree(dpcm); + kfree(dpcm); return err; } @@ -383,14 +369,9 @@ snd_card_dummy_pcm_t *dpcm; int err; - dpcm = snd_magic_kcalloc(snd_card_dummy_pcm_t, 0, GFP_KERNEL); + dpcm = kcalloc(1, sizeof(*dpcm), GFP_KERNEL); if (dpcm == NULL) return -ENOMEM; - if ((runtime->dma_area = snd_malloc_pages_fallback(MAX_BUFFER_SIZE, GFP_KERNEL, &runtime->dma_bytes)) == NULL) { - snd_magic_kfree(dpcm); - return -ENOMEM; - } - memset(runtime->dma_area, 0, runtime->dma_bytes); init_timer(&dpcm->timer); dpcm->timer.data = (unsigned long) dpcm; dpcm->timer.function = snd_card_dummy_pcm_timer_function; @@ -406,7 +387,7 @@ if (substream->pcm->device & 2) runtime->hw.info &= ~(SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID); if ((err = add_capture_constraints(runtime)) < 0) { - snd_magic_kfree(dpcm); + kfree(dpcm); return err; } @@ -415,24 +396,20 @@ static int snd_card_dummy_playback_close(snd_pcm_substream_t * substream) { - snd_pcm_runtime_t *runtime = substream->runtime; - - snd_free_pages(runtime->dma_area, runtime->dma_bytes); return 0; } static int snd_card_dummy_capture_close(snd_pcm_substream_t * substream) { - snd_pcm_runtime_t *runtime = substream->runtime; - - snd_free_pages(runtime->dma_area, runtime->dma_bytes); return 0; } static snd_pcm_ops_t snd_card_dummy_playback_ops = { .open = snd_card_dummy_playback_open, .close = snd_card_dummy_playback_close, - .ioctl = snd_card_dummy_playback_ioctl, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_card_dummy_hw_params, + .hw_free = snd_card_dummy_hw_free, .prepare = snd_card_dummy_playback_prepare, .trigger = snd_card_dummy_playback_trigger, .pointer = snd_card_dummy_playback_pointer, @@ -441,7 +418,9 @@ static snd_pcm_ops_t snd_card_dummy_capture_ops = { .open = snd_card_dummy_capture_open, .close = snd_card_dummy_capture_close, - .ioctl = snd_card_dummy_capture_ioctl, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_card_dummy_hw_params, + .hw_free = snd_card_dummy_hw_free, .prepare = snd_card_dummy_capture_prepare, .trigger = snd_card_dummy_capture_trigger, .pointer = snd_card_dummy_capture_pointer, @@ -459,6 +438,9 @@ pcm->private_data = dummy; pcm->info_flags = 0; strcpy(pcm->name, "Dummy PCM"); + snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, 64*1024); return 0; } @@ -479,7 +461,7 @@ static int snd_dummy_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int addr = kcontrol->private_value; @@ -488,11 +470,11 @@ ucontrol->value.integer.value[1] = dummy->mixer_volume[addr][1]; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return 0; -} +} static int snd_dummy_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int change, addr = kcontrol->private_value; int left, right; @@ -514,7 +496,7 @@ dummy->mixer_volume[addr][1] = right; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return change; -} +} #define DUMMY_CAPSRC(xname, xindex, addr) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ @@ -533,7 +515,7 @@ static int snd_dummy_capsrc_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int addr = kcontrol->private_value; @@ -546,7 +528,7 @@ static int snd_dummy_capsrc_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int change, addr = kcontrol->private_value; int left, right; @@ -560,9 +542,7 @@ dummy->capture_source[addr][1] = right; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return change; -} - -#define DUMMY_CONTROLS (sizeof(snd_dummy_controls)/sizeof(snd_kcontrol_new_t)) +} static snd_kcontrol_new_t snd_dummy_controls[] = { DUMMY_VOLUME("Master Volume", 0, MIXER_ADDR_MASTER), @@ -587,7 +567,7 @@ spin_lock_init(&dummy->mixer_lock); strcpy(card->mixername, "Dummy Mixer"); - for (idx = 0; idx < DUMMY_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_dummy_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_dummy_controls[idx], dummy))) < 0) return err; } diff -Nru a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c --- a/sound/drivers/mpu401/mpu401.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/mpu401/mpu401.c 2004-08-25 19:27:40 -07:00 @@ -28,7 +28,7 @@ #include #include #ifdef CONFIG_ACPI_BUS -#include +#include #endif #include #include @@ -42,7 +42,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("MPU-401 UART"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -56,24 +55,18 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for MPU-401 device."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for MPU-401 device."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable MPU-401 device."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef USE_ACPI_PNP module_param_array(acpipnp, bool, boot_devs, 0444); MODULE_PARM_DESC(acpipnp, "ACPI PnP detection for MPU-401 device."); -MODULE_PARM_SYNTAX(acpipnp, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for MPU-401 device."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for MPU-401 device."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); #ifndef CONFIG_ACPI_BUS struct acpi_device; @@ -98,13 +91,9 @@ if (res->id == ACPI_RSTYPE_IRQ) { if (res->data.irq.number_of_interrupts > 0) { -#ifdef CONFIG_IA64 - resources->irq = acpi_register_irq(res->data.irq.interrupts[0], - res->data.irq.active_high_low, - res->data.irq.edge_level); -#else - resources->irq = res->data.irq.interrupts[0]; -#endif + resources->irq = acpi_register_gsi(res->data.irq.interrupts[0], + res->data.irq.edge_level, + res->data.irq.active_high_low); } } else if (res->id == ACPI_RSTYPE_IO) { if (res->data.io.range_length >= 2) { @@ -175,7 +164,7 @@ } #ifdef USE_ACPI_PNP if (device) { - strcat(card->longname, ", bus id "); + strcat(card->longname, ", ACPI id "); strlcat(card->longname, acpi_device_bid(device), sizeof(card->longname)); } #endif diff -Nru a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c --- a/sound/drivers/mpu401/mpu401_uart.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/mpu401/mpu401_uart.c 2004-08-25 19:27:40 -07:00 @@ -123,7 +123,7 @@ */ irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mpu401_t *mpu = snd_magic_cast(mpu401_t, dev_id, return IRQ_NONE); + mpu401_t *mpu = dev_id; if (mpu == NULL) return IRQ_NONE; @@ -137,7 +137,7 @@ */ static void snd_mpu401_uart_timer(unsigned long data) { - mpu401_t *mpu = snd_magic_cast(mpu401_t, (void *)data, return); + mpu401_t *mpu = (mpu401_t *)data; spin_lock(&mpu->timer_lock); /*mpu->mode |= MPU401_MODE_TIMER;*/ @@ -235,7 +235,7 @@ mpu401_t *mpu; int err; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return -ENXIO); + mpu = substream->rmidi->private_data; if (mpu->open_input && (err = mpu->open_input(mpu)) < 0) return err; if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) { @@ -253,7 +253,7 @@ mpu401_t *mpu; int err; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return -ENXIO); + mpu = substream->rmidi->private_data; if (mpu->open_output && (err = mpu->open_output(mpu)) < 0) return err; if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) { @@ -270,7 +270,7 @@ { mpu401_t *mpu; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return -ENXIO); + mpu = substream->rmidi->private_data; clear_bit(MPU401_MODE_BIT_INPUT, &mpu->mode); mpu->substream_input = NULL; if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) @@ -284,7 +284,7 @@ { mpu401_t *mpu; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return -ENXIO); + mpu = substream->rmidi->private_data; clear_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode); mpu->substream_output = NULL; if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) @@ -303,7 +303,7 @@ mpu401_t *mpu; int max = 64; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return); + mpu = substream->rmidi->private_data; if (up) { if (! test_and_set_bit(MPU401_MODE_BIT_INPUT_TRIGGER, &mpu->mode)) { /* first time - flush FIFO */ @@ -394,7 +394,7 @@ unsigned long flags; mpu401_t *mpu; - mpu = snd_magic_cast(mpu401_t, substream->rmidi->private_data, return); + mpu = substream->rmidi->private_data; if (up) { set_bit(MPU401_MODE_BIT_OUTPUT_TRIGGER, &mpu->mode); @@ -441,14 +441,14 @@ static void snd_mpu401_uart_free(snd_rawmidi_t *rmidi) { - mpu401_t *mpu = snd_magic_cast(mpu401_t, rmidi->private_data, return); + mpu401_t *mpu = rmidi->private_data; if (mpu->irq_flags && mpu->irq >= 0) free_irq(mpu->irq, (void *) mpu); if (mpu->res) { release_resource(mpu->res); kfree_nocheck(mpu->res); } - snd_magic_kfree(mpu); + kfree(mpu); } /** @@ -484,7 +484,7 @@ *rrawmidi = NULL; if ((err = snd_rawmidi_new(card, "MPU-401U", device, 1, 1, &rmidi)) < 0) return err; - mpu = snd_magic_kcalloc(mpu401_t, 0, GFP_KERNEL); + mpu = kcalloc(1, sizeof(*mpu), GFP_KERNEL); if (mpu == NULL) { snd_device_free(card, rmidi); return -ENOMEM; diff -Nru a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c --- a/sound/drivers/mtpav.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/mtpav.c 2004-08-25 19:27:40 -07:00 @@ -69,8 +69,7 @@ MODULE_AUTHOR("Michael T. Mayers"); MODULE_DESCRIPTION("MOTU MidiTimePiece AV multiport MIDI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{MOTU,MidiTimePiece AV multiport MIDI}}"); +MODULE_SUPPORTED_DEVICE("{{MOTU,MidiTimePiece AV multiport MIDI}}"); // io resources #define MTPAV_IOBASE 0x378 @@ -85,19 +84,14 @@ module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param(port, long, 0444); MODULE_PARM_DESC(port, "Parallel port # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x378},{0x278}},dialog:list"); module_param(irq, int, 0444); MODULE_PARM_DESC(irq, "Parallel IRQ # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{7},{5}},dialog:list"); module_param(hwports, int, 0444); MODULE_PARM_DESC(hwports, "Hardware ports # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(hwports, SNDRV_ENABLED ",allows:{{1,8}},dialog:list"); /* * defines @@ -419,7 +413,7 @@ static void snd_mtpav_output_timer(unsigned long data) { - mtpav_t *chip = snd_magic_cast(mtpav_t, (void *)data, return); + mtpav_t *chip = (mtpav_t *)data; int p; spin_lock(&chip->spinlock); @@ -587,7 +581,7 @@ static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id, struct pt_regs *regs) { - mtpav_t *mcard = snd_magic_cast(mtpav_t, dev_id, return IRQ_NONE); + mtpav_t *mcard = dev_id; //printk("irqh()\n"); spin_lock(&mcard->spinlock); @@ -695,7 +689,7 @@ static mtpav_t *new_mtpav(void) { - mtpav_t *ncrd = (mtpav_t *) snd_magic_kcalloc(mtpav_t, 0, GFP_KERNEL); + mtpav_t *ncrd = kcalloc(1, sizeof(*ncrd), GFP_KERNEL); if (ncrd != NULL) { spin_lock_init(&ncrd->spinlock); @@ -728,7 +722,7 @@ release_resource(crd->res_port); kfree_nocheck(crd->res_port); } - snd_magic_kfree(crd); + kfree(crd); } /* diff -Nru a/sound/drivers/opl3/opl3_lib.c b/sound/drivers/opl3/opl3_lib.c --- a/sound/drivers/opl3/opl3_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl3/opl3_lib.c 2004-08-25 19:27:40 -07:00 @@ -35,8 +35,6 @@ MODULE_DESCRIPTION("Routines for control of AdLib FM cards (OPL2/OPL3/OPL4 chips)"); MODULE_LICENSE("GPL"); -#define chip_t opl3_t - extern char snd_opl3_regmap[MAX_OPL2_VOICES][4]; void snd_opl2_command(opl3_t * opl3, unsigned short cmd, unsigned char val) @@ -322,7 +320,7 @@ if (hw == NULL) return; - opl3 = snd_magic_cast(opl3_t, hw->private_data, return); + opl3 = hw->private_data; status = inb(opl3->l_port); #if 0 snd_printk("AdLib IRQ status = 0x%x\n", status); @@ -354,13 +352,13 @@ release_resource(opl3->res_r_port); kfree_nocheck(opl3->res_r_port); } - snd_magic_kfree(opl3); + kfree(opl3); return 0; } static int snd_opl3_dev_free(snd_device_t *device) { - opl3_t *opl3 = snd_magic_cast(opl3_t, device->device_data, return -ENXIO); + opl3_t *opl3 = device->device_data; return snd_opl3_free(opl3); } @@ -379,7 +377,7 @@ *ropl3 = NULL; - opl3 = snd_magic_kcalloc(opl3_t, 0, GFP_KERNEL); + opl3 = kcalloc(1, sizeof(*opl3), GFP_KERNEL); if (opl3 == NULL) return -ENOMEM; diff -Nru a/sound/drivers/opl3/opl3_midi.c b/sound/drivers/opl3/opl3_midi.c --- a/sound/drivers/opl3/opl3_midi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl3/opl3_midi.c 2004-08-25 19:27:40 -07:00 @@ -313,7 +313,7 @@ fm_instrument_t *fm; unsigned long flags; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("Note on, ch %i, inst %i, note %i, vel %i\n", @@ -672,7 +672,7 @@ unsigned long flags; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("Note off, ch %i, inst %i, note %i\n", @@ -712,7 +712,7 @@ { opl3_t *opl3; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("Key pressure, ch#: %i, inst#: %i\n", chan->number, chan->midi_program); @@ -726,7 +726,7 @@ { opl3_t *opl3; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("Terminate note, ch#: %i, inst#: %i\n", chan->number, chan->midi_program); @@ -814,7 +814,7 @@ { opl3_t *opl3; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("Controller, TYPE = %i, ch#: %i, inst#: %i\n", type, chan->number, chan->midi_program); @@ -851,7 +851,7 @@ { opl3_t *opl3; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("NRPN, ch#: %i, inst#: %i\n", chan->number, chan->midi_program); @@ -866,7 +866,7 @@ { opl3_t *opl3; - opl3 = snd_magic_cast(opl3_t, p, return); + opl3 = p; #ifdef DEBUG_MIDI snd_printk("SYSEX\n"); #endif diff -Nru a/sound/drivers/opl3/opl3_oss.c b/sound/drivers/opl3/opl3_oss.c --- a/sound/drivers/opl3/opl3_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl3/opl3_oss.c 2004-08-25 19:27:40 -07:00 @@ -57,7 +57,7 @@ static int snd_opl3_oss_event_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int hop) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -EINVAL); + opl3_t *opl3 = private_data; if (ev->type != SNDRV_SEQ_EVENT_OSS) snd_midi_process_event(&opl3_ops, ev, opl3->oss_chset); @@ -68,7 +68,7 @@ static void snd_opl3_oss_free_port(void *private_data) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return); + opl3_t *opl3 = private_data; snd_midi_channel_free_set(opl3->oss_chset); } @@ -156,7 +156,7 @@ /* open OSS sequencer */ static int snd_opl3_open_seq_oss(snd_seq_oss_arg_t *arg, void *closure) { - opl3_t *opl3 = snd_magic_cast(opl3_t, closure, return -EINVAL); + opl3_t *opl3 = closure; int err; snd_assert(arg != NULL, return -ENXIO); @@ -182,7 +182,7 @@ opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; snd_opl3_synth_cleanup(opl3); @@ -213,7 +213,7 @@ int err = -EINVAL; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; if ((format == FM_PATCH) || (format == OPL3_PATCH)) { struct sbi_instrument sbi; @@ -241,7 +241,7 @@ } size = sizeof(*put) + sizeof(fm_xinstrument_t); - put = (snd_seq_instr_header_t *)snd_kcalloc(size, GFP_KERNEL); + put = kcalloc(1, size, GFP_KERNEL); if (put == NULL) return -ENOMEM; /* build header */ @@ -325,7 +325,7 @@ opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; switch (cmd) { case SNDCTL_FM_LOAD_INSTR: snd_printk("OPL3: Obsolete ioctl(SNDCTL_FM_LOAD_INSTR) used. Fix the program.\n"); @@ -350,7 +350,7 @@ opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; return 0; } diff -Nru a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c --- a/sound/drivers/opl3/opl3_seq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl3/opl3_seq.c 2004-08-25 19:27:40 -07:00 @@ -30,7 +30,6 @@ MODULE_AUTHOR("Uros Bizjak "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("ALSA driver for OPL3 FM synth"); -MODULE_CLASSES("{sound}"); int use_internal_drums = 0; module_param(use_internal_drums, bool, 0444); @@ -99,7 +98,7 @@ int snd_opl3_synth_use(void *private_data, snd_seq_port_subscribe_t * info) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -ENXIO); + opl3_t *opl3 = private_data; int err; if ((err = snd_opl3_synth_setup(opl3)) < 0) @@ -126,7 +125,7 @@ int snd_opl3_synth_unuse(void *private_data, snd_seq_port_subscribe_t * info) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -ENXIO); + opl3_t *opl3 = private_data; snd_opl3_synth_cleanup(opl3); @@ -151,7 +150,7 @@ static int snd_opl3_synth_event_input(snd_seq_event_t * ev, int direct, void *private_data, int atomic, int hop) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -EINVAL); + opl3_t *opl3 = private_data; if (ev->type >= SNDRV_SEQ_EVENT_INSTR_BEGIN && ev->type <= SNDRV_SEQ_EVENT_INSTR_CHANGE) { @@ -169,7 +168,7 @@ static void snd_opl3_synth_free_port(void *private_data) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return); + opl3_t *opl3 = private_data; snd_midi_channel_free_set(opl3->chset); } diff -Nru a/sound/drivers/opl3/opl3_synth.c b/sound/drivers/opl3/opl3_synth.c --- a/sound/drivers/opl3/opl3_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl3/opl3_synth.c 2004-08-25 19:27:40 -07:00 @@ -74,7 +74,7 @@ */ int snd_opl3_open(snd_hwdep_t * hw, struct file *file) { - opl3_t *opl3 = snd_magic_cast(opl3_t, hw->private_data, return -ENXIO); + opl3_t *opl3 = hw->private_data; down(&opl3->access_mutex); if (opl3->used) { @@ -93,7 +93,7 @@ int snd_opl3_ioctl(snd_hwdep_t * hw, struct file *file, unsigned int cmd, unsigned long arg) { - opl3_t *opl3 = snd_magic_cast(opl3_t, hw->private_data, return -ENXIO); + opl3_t *opl3 = hw->private_data; void __user *argp = (void __user *)arg; snd_assert(opl3 != NULL, return -EINVAL); @@ -176,7 +176,7 @@ */ int snd_opl3_release(snd_hwdep_t * hw, struct file *file) { - opl3_t *opl3 = snd_magic_cast(opl3_t, hw->private_data, return -ENXIO); + opl3_t *opl3 = hw->private_data; snd_opl3_reset(opl3); down(&opl3->access_mutex); diff -Nru a/sound/drivers/opl4/Makefile b/sound/drivers/opl4/Makefile --- a/sound/drivers/opl4/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/Makefile 2004-08-25 19:27:40 -07:00 @@ -15,4 +15,4 @@ sequencer = $(if $(subst y,,$(CONFIG_SND_SEQUENCER)),$(if $(1),m),$(if $(CONFIG_SND_SEQUENCER),$(1))) obj-$(CONFIG_SND_OPL4_LIB) += snd-opl4-lib.o -obj-$(call sequencer,$(CONFIG_SND_OPL4_LIB)) += snd-opl4-synth.o \ No newline at end of file +obj-$(call sequencer,$(CONFIG_SND_OPL4_LIB)) += snd-opl4-synth.o diff -Nru a/sound/drivers/opl4/opl4_lib.c b/sound/drivers/opl4/opl4_lib.c --- a/sound/drivers/opl4/opl4_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_lib.c 2004-08-25 19:27:40 -07:00 @@ -26,7 +26,6 @@ MODULE_AUTHOR("Clemens Ladisch "); MODULE_DESCRIPTION("OPL4 driver"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); static void inline snd_opl4_wait(opl4_t *opl4) { @@ -37,62 +36,68 @@ void snd_opl4_write(opl4_t *opl4, u8 reg, u8 value) { - unsigned long flags; - - spin_lock_irqsave(&opl4->reg_lock, flags); - snd_opl4_wait(opl4); outb(reg, opl4->pcm_port); snd_opl4_wait(opl4); outb(value, opl4->pcm_port + 1); - - spin_unlock_irqrestore(&opl4->reg_lock, flags); } u8 snd_opl4_read(opl4_t *opl4, u8 reg) { - unsigned long flags; - u8 value; - - spin_lock_irqsave(&opl4->reg_lock, flags); - snd_opl4_wait(opl4); outb(reg, opl4->pcm_port); snd_opl4_wait(opl4); - value = inb(opl4->pcm_port + 1); - - spin_unlock_irqrestore(&opl4->reg_lock, flags); - return value; + return inb(opl4->pcm_port + 1); } void snd_opl4_read_memory(opl4_t *opl4, char *buf, int offset, int size) { - u8 memcfg = snd_opl4_read(opl4, OPL4_REG_MEMORY_CONFIGURATION); + unsigned long flags; + u8 memcfg; + + spin_lock_irqsave(&opl4->reg_lock, flags); + + memcfg = snd_opl4_read(opl4, OPL4_REG_MEMORY_CONFIGURATION); snd_opl4_write(opl4, OPL4_REG_MEMORY_CONFIGURATION, memcfg | OPL4_MODE_BIT); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_HIGH, offset >> 16); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_MID, offset >> 8); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_LOW, offset); - for (; size > 0; size--) - *buf++ = snd_opl4_read(opl4, OPL4_REG_MEMORY_DATA); + + snd_opl4_wait(opl4); + outb(OPL4_REG_MEMORY_DATA, opl4->pcm_port); + snd_opl4_wait(opl4); + insb(opl4->pcm_port + 1, buf, size); snd_opl4_write(opl4, OPL4_REG_MEMORY_CONFIGURATION, memcfg); + + spin_unlock_irqrestore(&opl4->reg_lock, flags); } void snd_opl4_write_memory(opl4_t *opl4, const char *buf, int offset, int size) { - u8 memcfg = snd_opl4_read(opl4, OPL4_REG_MEMORY_CONFIGURATION); + unsigned long flags; + u8 memcfg; + + spin_lock_irqsave(&opl4->reg_lock, flags); + + memcfg = snd_opl4_read(opl4, OPL4_REG_MEMORY_CONFIGURATION); snd_opl4_write(opl4, OPL4_REG_MEMORY_CONFIGURATION, memcfg | OPL4_MODE_BIT); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_HIGH, offset >> 16); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_MID, offset >> 8); snd_opl4_write(opl4, OPL4_REG_MEMORY_ADDRESS_LOW, offset); - for (; size > 0; size--) - snd_opl4_write(opl4, OPL4_REG_MEMORY_DATA, *buf++); + + snd_opl4_wait(opl4); + outb(OPL4_REG_MEMORY_DATA, opl4->pcm_port); + snd_opl4_wait(opl4); + outsb(opl4->pcm_port + 1, buf, size); snd_opl4_write(opl4, OPL4_REG_MEMORY_CONFIGURATION, memcfg); + + spin_unlock_irqrestore(&opl4->reg_lock, flags); } static void snd_opl4_enable_opl4(opl4_t *opl4) @@ -141,7 +146,7 @@ #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) static void snd_opl4_seq_dev_free(snd_seq_device_t *seq_dev) { - opl4_t *opl4 = snd_magic_cast(opl4_t, seq_dev->private_data, return); + opl4_t *opl4 = seq_dev->private_data; opl4->seq_dev = NULL; } @@ -172,12 +177,12 @@ release_resource(opl4->res_pcm_port); kfree_nocheck(opl4->res_pcm_port); } - snd_magic_kfree(opl4); + kfree(opl4); } static int snd_opl4_dev_free(snd_device_t *device) { - opl4_t *opl4 = snd_magic_cast(opl4_t, device->device_data, return -ENXIO); + opl4_t *opl4 = device->device_data; snd_opl4_free(opl4); return 0; } @@ -199,7 +204,7 @@ if (ropl4) *ropl4 = NULL; - opl4 = snd_magic_kcalloc(opl4_t, 0, GFP_KERNEL); + opl4 = kcalloc(1, sizeof(*opl4), GFP_KERNEL); if (!opl4) return -ENOMEM; @@ -231,7 +236,7 @@ } /* opl3 initialization disabled opl4, so reenable */ - snd_opl4_enable_opl4(opl4); + snd_opl4_enable_opl4(opl4); err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, opl4, &ops); if (err < 0) { diff -Nru a/sound/drivers/opl4/opl4_local.h b/sound/drivers/opl4/opl4_local.h --- a/sound/drivers/opl4/opl4_local.h 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_local.h 2004-08-25 19:27:40 -07:00 @@ -195,7 +195,6 @@ opl4_voice_t voices[OPL4_MAX_VOICES]; struct list_head off_voices; struct list_head on_voices; - spinlock_t voices_lock; #endif }; diff -Nru a/sound/drivers/opl4/opl4_mixer.c b/sound/drivers/opl4/opl4_mixer.c --- a/sound/drivers/opl4/opl4_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_mixer.c 2004-08-25 19:27:40 -07:00 @@ -20,8 +20,6 @@ #include "opl4_local.h" #include -#define chip_t opl4_t - static int snd_opl4_ctl_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; @@ -34,10 +32,13 @@ static int snd_opl4_ctl_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { opl4_t *opl4 = snd_kcontrol_chip(kcontrol); + unsigned long flags; u8 reg = kcontrol->private_value; u8 value; + spin_lock_irqsave(&opl4->reg_lock, flags); value = snd_opl4_read(opl4, reg); + spin_unlock_irqrestore(&opl4->reg_lock, flags); ucontrol->value.integer.value[0] = 7 - (value & 7); ucontrol->value.integer.value[1] = 7 - ((value >> 3) & 7); return 0; @@ -46,13 +47,16 @@ static int snd_opl4_ctl_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { opl4_t *opl4 = snd_kcontrol_chip(kcontrol); + unsigned long flags; u8 reg = kcontrol->private_value; u8 value, old_value; value = (7 - (ucontrol->value.integer.value[0] & 7)) | ((7 - (ucontrol->value.integer.value[1] & 7)) << 3); + spin_lock_irqsave(&opl4->reg_lock, flags); old_value = snd_opl4_read(opl4, reg); snd_opl4_write(opl4, reg, value); + spin_unlock_irqrestore(&opl4->reg_lock, flags); return value != old_value; } @@ -80,9 +84,7 @@ snd_card_t *card = opl4->card; int i, err; -#if 0 /* already set by the codec driver */ - strcpy(card->mixername, "OPL4 Mixer"); -#endif + strcat(card->mixername, ",OPL4"); for (i = 0; i < 2; ++i) { err = snd_ctl_add(card, snd_ctl_new1(&snd_opl4_controls[i], opl4)); diff -Nru a/sound/drivers/opl4/opl4_proc.c b/sound/drivers/opl4/opl4_proc.c --- a/sound/drivers/opl4/opl4_proc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_proc.c 2004-08-25 19:27:40 -07:00 @@ -26,7 +26,7 @@ static int snd_opl4_mem_proc_open(snd_info_entry_t *entry, unsigned short mode, void **file_private_data) { - opl4_t *opl4 = snd_magic_cast(opl4_t, entry->private_data, return -ENXIO); + opl4_t *opl4 = entry->private_data; down(&opl4->access_mutex); if (opl4->memory_access) { @@ -41,7 +41,7 @@ static int snd_opl4_mem_proc_release(snd_info_entry_t *entry, unsigned short mode, void *file_private_data) { - opl4_t *opl4 = snd_magic_cast(opl4_t, entry->private_data, return -ENXIO); + opl4_t *opl4 = entry->private_data; down(&opl4->access_mutex); opl4->memory_access--; @@ -53,7 +53,7 @@ struct file *file, char __user *_buf, unsigned long count, unsigned long pos) { - opl4_t *opl4 = snd_magic_cast(opl4_t, entry->private_data, return -ENXIO); + opl4_t *opl4 = entry->private_data; long size; char* buf; @@ -79,7 +79,7 @@ struct file *file, const char __user *_buf, unsigned long count, unsigned long pos) { - opl4_t *opl4 = snd_magic_cast(opl4_t, entry->private_data, return -ENXIO); + opl4_t *opl4 = entry->private_data; long size; char *buf; diff -Nru a/sound/drivers/opl4/opl4_seq.c b/sound/drivers/opl4/opl4_seq.c --- a/sound/drivers/opl4/opl4_seq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_seq.c 2004-08-25 19:27:40 -07:00 @@ -39,13 +39,11 @@ MODULE_AUTHOR("Clemens Ladisch "); MODULE_DESCRIPTION("OPL4 wavetable synth driver"); MODULE_LICENSE("Dual BSD/GPL"); -MODULE_CLASSES("{sound}"); int volume_boost = 8; module_param(volume_boost, int, 0644); MODULE_PARM_DESC(volume_boost, "Additional volume for OPL4 wavetable sounds."); -MODULE_PARM_SYNTAX(volume_boost, "default:8"); static int snd_opl4_seq_use_inc(opl4_t *opl4) { @@ -61,7 +59,7 @@ static int snd_opl4_seq_use(void *private_data, snd_seq_port_subscribe_t *info) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; int err; down(&opl4->access_mutex); @@ -88,7 +86,7 @@ static int snd_opl4_seq_unuse(void *private_data, snd_seq_port_subscribe_t *info) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; snd_opl4_synth_shutdown(opl4); @@ -112,7 +110,7 @@ static int snd_opl4_seq_event_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int hop) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; snd_midi_process_event(&opl4_ops, ev, opl4->chset); return 0; @@ -120,7 +118,7 @@ static void snd_opl4_seq_free_port(void *private_data) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; snd_midi_channel_free_set(opl4->chset); } diff -Nru a/sound/drivers/opl4/opl4_synth.c b/sound/drivers/opl4/opl4_synth.c --- a/sound/drivers/opl4/opl4_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/opl4/opl4_synth.c 2004-08-25 19:27:40 -07:00 @@ -272,12 +272,14 @@ */ void snd_opl4_synth_reset(opl4_t *opl4) { + unsigned long flags; int i; + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < OPL4_MAX_VOICES; i++) snd_opl4_write(opl4, OPL4_REG_MISC + i, OPL4_DAMP_BIT); + spin_unlock_irqrestore(&opl4->reg_lock, flags); - spin_lock_init(&opl4->voices_lock); INIT_LIST_HEAD(&opl4->off_voices); INIT_LIST_HEAD(&opl4->on_voices); memset(opl4->voices, 0, sizeof(opl4->voices)); @@ -294,11 +296,14 @@ */ void snd_opl4_synth_shutdown(opl4_t *opl4) { + unsigned long flags; int i; + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < OPL4_MAX_VOICES; i++) snd_opl4_write(opl4, OPL4_REG_MISC + i, opl4->voices[i].reg_misc & ~OPL4_KEY_ON_BIT); + spin_unlock_irqrestore(&opl4->reg_lock, flags); } /* @@ -311,14 +316,14 @@ unsigned long flags; opl4_voice_t *voice; - spin_lock_irqsave(&opl4->voices_lock, flags); + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < OPL4_MAX_VOICES; i++) { voice = &opl4->voices[i]; if (voice->chan == chan && voice->note == note) { func(opl4, voice); } } - spin_unlock_irqrestore(&opl4->voices_lock, flags); + spin_unlock_irqrestore(&opl4->reg_lock, flags); } /* @@ -331,14 +336,14 @@ unsigned long flags; opl4_voice_t *voice; - spin_lock_irqsave(&opl4->voices_lock, flags); + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < OPL4_MAX_VOICES; i++) { voice = &opl4->voices[i]; if (voice->chan == chan) { func(opl4, voice); } } - spin_unlock_irqrestore(&opl4->voices_lock, flags); + spin_unlock_irqrestore(&opl4->reg_lock, flags); } /* @@ -351,13 +356,13 @@ unsigned long flags; opl4_voice_t *voice; - spin_lock_irqsave(&opl4->voices_lock, flags); + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < OPL4_MAX_VOICES; i++) { voice = &opl4->voices[i]; if (voice->chan) func(opl4, voice); } - spin_unlock_irqrestore(&opl4->voices_lock, flags); + spin_unlock_irqrestore(&opl4->reg_lock, flags); } static void snd_opl4_update_volume(opl4_t *opl4, opl4_voice_t *voice) @@ -472,7 +477,7 @@ void snd_opl4_note_on(void *private_data, int note, int vel, snd_midi_channel_t *chan) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; const opl4_region_ptr_t *regions; opl4_voice_t *voice[2]; const opl4_sound_t *sound[2]; @@ -492,7 +497,7 @@ } /* allocate and initialize the needed voices */ - spin_lock_irqsave(&opl4->voices_lock, flags); + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < voices; i++) { voice[i] = snd_opl4_get_voice(opl4); list_del(&voice[i]->list); @@ -502,7 +507,6 @@ voice[i]->velocity = vel & 0x7f; voice[i]->sound = sound[i]; } - spin_unlock_irqrestore(&opl4->voices_lock, flags); /* set tone number (triggers header loading) */ for (i = 0; i < voices; i++) { @@ -522,11 +526,13 @@ voice[i]->level_direct = OPL4_LEVEL_DIRECT_BIT; snd_opl4_update_volume(opl4, voice[i]); } + spin_unlock_irqrestore(&opl4->reg_lock, flags); /* wait for completion of loading */ snd_opl4_wait_for_wave_headers(opl4); /* set remaining parameters */ + spin_lock_irqsave(&opl4->reg_lock, flags); for (i = 0; i < voices; i++) { snd_opl4_update_tone_parameters(opl4, voice[i]); voice[i]->reg_lfo_vibrato = voice[i]->sound->reg_lfo_vibrato; @@ -540,6 +546,7 @@ snd_opl4_write(opl4, OPL4_REG_MISC + voice[i]->number, voice[i]->reg_misc); } + spin_unlock_irqrestore(&opl4->reg_lock, flags); } static void snd_opl4_voice_off(opl4_t *opl4, opl4_voice_t *voice) @@ -553,7 +560,7 @@ void snd_opl4_note_off(void *private_data, int note, int vel, snd_midi_channel_t *chan) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; snd_opl4_do_for_note(opl4, note, chan, snd_opl4_voice_off); } @@ -569,14 +576,14 @@ void snd_opl4_terminate_note(void *private_data, int note, snd_midi_channel_t *chan) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; snd_opl4_do_for_note(opl4, note, chan, snd_opl4_terminate_voice); } void snd_opl4_control(void *private_data, int type, snd_midi_channel_t *chan) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; switch (type) { case MIDI_CTL_MSB_MODWHEEL: @@ -616,7 +623,7 @@ void snd_opl4_sysex(void *private_data, unsigned char *buf, int len, int parsed, snd_midi_channel_set_t *chset) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; if (parsed == SNDRV_MIDI_SYSEX_GS_MASTER_VOLUME) snd_opl4_do_for_all(opl4, snd_opl4_update_volume); diff -Nru a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c --- a/sound/drivers/serial-u16550.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/serial-u16550.c 2004-08-25 19:27:40 -07:00 @@ -46,8 +46,7 @@ MODULE_DESCRIPTION("MIDI serial u16550"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA, MIDI serial u16550}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA, MIDI serial u16550}}"); #define SNDRV_SERIAL_SOUNDCANVAS 0 /* Roland Soundcanvas; F5 NN selects part */ #define SNDRV_SERIAL_MS124T 1 /* Midiator MS-124T */ @@ -81,38 +80,27 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Serial MIDI."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Serial MIDI."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable UART16550A chip."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for UART16550A chip."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for UART16550A chip."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(speed, int, boot_devs, 0444); MODULE_PARM_DESC(speed, "Speed in bauds."); -MODULE_PARM_SYNTAX(speed, SNDRV_ENABLED ",allows:{9600,19200,38400,57600,115200},dialog:list"); module_param_array(base, int, boot_devs, 0444); MODULE_PARM_DESC(base, "Base for divisor in bauds."); -MODULE_PARM_SYNTAX(base, SNDRV_ENABLED ",allows:{57600,115200,230400,460800},dialog:list"); module_param_array(outs, int, boot_devs, 0444); MODULE_PARM_DESC(outs, "Number of MIDI outputs."); module_param_array(ins, int, boot_devs, 0444); MODULE_PARM_DESC(ins, "Number of MIDI inputs."); module_param_array(droponfull, bool, boot_devs, 0444); MODULE_PARM_DESC(droponfull, "Flag to enable drop-on-full buffer mode"); -MODULE_PARM_SYNTAX(droponfull, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); -MODULE_PARM_SYNTAX(outs, SNDRV_ENABLED ",allows:{{1,16}},dialog:list"); -MODULE_PARM_SYNTAX(ins, SNDRV_ENABLED ",allows:{{1,16}},dialog:list"); module_param_array(adaptor, int, boot_devs, 0444); MODULE_PARM_DESC(adaptor, "Type of adaptor."); -MODULE_PARM_SYNTAX(adaptor, SNDRV_ENABLED ",allows:{{0=Soundcanvas,1=MS-124T,2=MS-124W S/A,3=MS-124W M/B,4=Generic}},dialog:list"); /*#define SNDRV_SERIAL_MS124W_MB_NOCOMBO 1*/ /* Address outs as 0-3 instead of bitmap */ @@ -524,7 +512,7 @@ static int snd_uart16550_input_open(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (uart->filemode == SERIAL_MODE_NOT_OPENED) @@ -538,7 +526,7 @@ static int snd_uart16550_input_close(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); uart->filemode &= ~SERIAL_MODE_INPUT_OPEN; @@ -552,7 +540,7 @@ static void snd_uart16550_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (up) { @@ -566,7 +554,7 @@ static int snd_uart16550_output_open(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (uart->filemode == SERIAL_MODE_NOT_OPENED) @@ -580,7 +568,7 @@ static int snd_uart16550_output_close(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); uart->filemode &= ~SERIAL_MODE_OUTPUT_OPEN; @@ -652,7 +640,7 @@ { unsigned long flags; unsigned char midi_byte, addr_byte; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; char first; static unsigned long lasttime=0; @@ -730,7 +718,7 @@ static void snd_uart16550_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (up) { @@ -765,13 +753,13 @@ release_resource(uart->res_base); kfree_nocheck(uart->res_base); } - snd_magic_kfree(uart); + kfree(uart); return 0; }; static int snd_uart16550_dev_free(snd_device_t *device) { - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, device->device_data, return -ENXIO); + snd_uart16550_t *uart = device->device_data; return snd_uart16550_free(uart); } @@ -791,7 +779,7 @@ int err; - if ((uart = snd_magic_kcalloc(snd_uart16550_t, 0, GFP_KERNEL)) == NULL) + if ((uart = kcalloc(1, sizeof(*uart), GFP_KERNEL)) == NULL) return -ENOMEM; uart->adaptor = adaptor; uart->card = card; diff -Nru a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c --- a/sound/drivers/virmidi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/virmidi.c 2004-08-25 19:27:40 -07:00 @@ -57,8 +57,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Dummy soundcard for virtual rawmidi devices"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Virtual rawmidi device}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Virtual rawmidi device}}"); #define MAX_MIDI_DEVICES 8 @@ -70,16 +69,12 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for virmidi soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for virmidi soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(midi_devs, int, boot_devs, 0444); MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-8)"); -MODULE_PARM_SYNTAX(midi_devs, SNDRV_ENABLED ",allows:{{1,8}}"); typedef struct snd_card_virmidi { snd_card_t *card; @@ -113,7 +108,7 @@ snd_virmidi_dev_t *rdev; if ((err = snd_virmidi_new(card, idx, &rmidi)) < 0) goto __nodev; - rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, continue); + rdev = rmidi->private_data; vmidi->midi[idx] = rmidi; strcpy(rmidi->name, "Virtual Raw MIDI"); rdev->seq_mode = SNDRV_VIRMIDI_SEQ_DISPATCH; diff -Nru a/sound/drivers/vx/vx_core.c b/sound/drivers/vx/vx_core.c --- a/sound/drivers/vx/vx_core.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/vx/vx_core.c 2004-08-25 19:27:40 -07:00 @@ -506,7 +506,7 @@ */ static void vx_interrupt(unsigned long private_data) { - vx_core_t *chip = snd_magic_cast(vx_core_t, (void*)private_data, return); + vx_core_t *chip = (vx_core_t *) private_data; unsigned int events; if (chip->chip_status & VX_STAT_IS_STALE) @@ -550,7 +550,7 @@ */ irqreturn_t snd_vx_irq_handler(int irq, void *dev, struct pt_regs *regs) { - vx_core_t *chip = snd_magic_cast(vx_core_t, dev, return IRQ_NONE); + vx_core_t *chip = dev; if (! (chip->chip_status & VX_STAT_CHIP_INIT) || (chip->chip_status & VX_STAT_IS_STALE)) @@ -572,6 +572,7 @@ if (cold_reset) { chip->audio_source_target = chip->audio_source; chip->clock_source = INTERNAL_QUARTZ; + chip->clock_mode = VX_CLOCK_MODE_AUTO; chip->freq = 48000; chip->uer_detected = VX_UER_MODE_NOT_PRESENT; chip->uer_bits = SNDRV_PCM_DEFAULT_CON_SPDIF; @@ -603,9 +604,10 @@ static void vx_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - vx_core_t *chip = snd_magic_cast(vx_core_t, entry->private_data, return); + vx_core_t *chip = entry->private_data; static char *audio_src_vxp[] = { "Line", "Mic", "Digital" }; static char *audio_src_vx2[] = { "Analog", "Analog", "Digital" }; + static char *clock_mode[] = { "Auto", "Internal", "External" }; static char *clock_src[] = { "Internal", "External" }; static char *uer_type[] = { "Consumer", "Professional", "Not Present" }; @@ -629,6 +631,7 @@ snd_iprintf(buffer, "Input Source: %s\n", vx_is_pcmcia(chip) ? audio_src_vxp[chip->audio_source] : audio_src_vx2[chip->audio_source]); + snd_iprintf(buffer, "Clock Mode: %s\n", clock_mode[chip->clock_mode]); snd_iprintf(buffer, "Clock Source: %s\n", clock_src[chip->clock_source]); snd_iprintf(buffer, "Frequency: %d\n", chip->freq); snd_iprintf(buffer, "Detected Frequency: %d\n", chip->freq_detected); @@ -731,7 +734,7 @@ snd_assert(card && hw && ops, return NULL); - chip = snd_magic_kcalloc(vx_core_t, extra_size, GFP_KERNEL); + chip = kcalloc(1, sizeof(chip) + extra_size, GFP_KERNEL); if (! chip) { snd_printk(KERN_ERR "vx_core: no memory\n"); return NULL; diff -Nru a/sound/drivers/vx/vx_hwdep.c b/sound/drivers/vx/vx_hwdep.c --- a/sound/drivers/vx/vx_hwdep.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/vx/vx_hwdep.c 2004-08-25 19:27:40 -07:00 @@ -44,7 +44,7 @@ [VX_TYPE_VXPOCKET] = "vxpocket", [VX_TYPE_VXP440] = "vxp440", }; - vx_core_t *vx = snd_magic_cast(vx_core_t, hw->private_data, return -ENXIO); + vx_core_t *vx = hw->private_data; snd_assert(type_ids[vx->type], return -EINVAL); strcpy(info->id, type_ids[vx->type]); @@ -60,7 +60,7 @@ static int vx_hwdep_dsp_load(snd_hwdep_t *hw, snd_hwdep_dsp_image_t *dsp) { - vx_core_t *vx = snd_magic_cast(vx_core_t, hw->private_data, return -ENXIO); + vx_core_t *vx = hw->private_data; int index, err; snd_assert(vx->ops->load_dsp, return -ENXIO); diff -Nru a/sound/drivers/vx/vx_mixer.c b/sound/drivers/vx/vx_mixer.c --- a/sound/drivers/vx/vx_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/vx/vx_mixer.c 2004-08-25 19:27:40 -07:00 @@ -26,8 +26,6 @@ #include #include "vx_cmd.h" -#define chip_t vx_core_t - /* * write a codec data (24bit) @@ -524,6 +522,54 @@ }; /* + * clock mode selection + */ +static int vx_clock_mode_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + static char *texts[3] = { + "Auto", "Internal", "External" + }; + + uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; + uinfo->count = 1; + uinfo->value.enumerated.items = 3; + if (uinfo->value.enumerated.item > 2) + uinfo->value.enumerated.item = 2; + strcpy(uinfo->value.enumerated.name, + texts[uinfo->value.enumerated.item]); + return 0; +} + +static int vx_clock_mode_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + vx_core_t *chip = snd_kcontrol_chip(kcontrol); + ucontrol->value.enumerated.item[0] = chip->clock_mode; + return 0; +} + +static int vx_clock_mode_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + vx_core_t *chip = snd_kcontrol_chip(kcontrol); + down(&chip->mixer_mutex); + if (chip->clock_mode != ucontrol->value.enumerated.item[0]) { + chip->clock_mode = ucontrol->value.enumerated.item[0]; + vx_set_clock(chip, chip->freq); + up(&chip->mixer_mutex); + return 1; + } + up(&chip->mixer_mutex); + return 0; +} + +static snd_kcontrol_new_t vx_control_clock_mode = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Clock Mode", + .info = vx_clock_mode_info, + .get = vx_clock_mode_get, + .put = vx_clock_mode_put, +}; + +/* * Audio Gain */ static int vx_audio_gain_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -912,6 +958,9 @@ /* Audio source */ if ((err = snd_ctl_add(card, snd_ctl_new1(&vx_control_audio_src, chip))) < 0) + return err; + /* clock mode */ + if ((err = snd_ctl_add(card, snd_ctl_new1(&vx_control_clock_mode, chip))) < 0) return err; /* IEC958 controls */ if ((err = snd_ctl_add(card, snd_ctl_new1(&vx_control_iec958_mask, chip))) < 0) diff -Nru a/sound/drivers/vx/vx_pcm.c b/sound/drivers/vx/vx_pcm.c --- a/sound/drivers/vx/vx_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/vx/vx_pcm.c 2004-08-25 19:27:40 -07:00 @@ -48,14 +48,13 @@ #include #include #include +#include #include #include #include #include #include "vx_cmd.h" -#define chip_t vx_core_t - /* * we use a vmalloc'ed (sg-)buffer @@ -381,7 +380,7 @@ */ static int vx_toggle_pipe(vx_core_t *chip, vx_pipe_t *pipe, int state) { - int err, i, cur_state, delay; + int err, i, cur_state; /* Check the pipe is not already in the requested state */ if (vx_get_pipe_state(chip, pipe, &cur_state) < 0) @@ -394,17 +393,14 @@ * enough sound buffer for this pipe) */ if (state) { - int delay = CAN_START_DELAY; for (i = 0 ; i < MAX_WAIT_FOR_DSP; i++) { - snd_vx_delay(chip, delay); err = vx_pipe_can_start(chip, pipe); if (err > 0) break; /* Wait for a few, before asking again * to avoid flooding the DSP with our requests */ - if ((i % 4 ) == 0) - delay <<= 1; + mdelay(1); } } @@ -418,15 +414,12 @@ * reaching the expected state before returning * Check one pipe only (since they are synchronous) */ - delay = WAIT_STATE_DELAY; for (i = 0; i < MAX_WAIT_FOR_DSP; i++) { - snd_vx_delay(chip, delay); err = vx_get_pipe_state(chip, pipe, &cur_state); if (err < 0 || cur_state == state) break; err = -EIO; - if ((i % 4 ) == 0) - delay <<= 1; + mdelay(1); } return err < 0 ? -EIO : 0; } @@ -480,7 +473,7 @@ return err; /* initialize the pipe record */ - pipe = snd_magic_kcalloc(vx_pipe_t, 0, GFP_KERNEL); + pipe = kcalloc(1, sizeof(*pipe), GFP_KERNEL); if (! pipe) { /* release the pipe */ vx_init_rmh(&rmh, CMD_FREE_PIPE); @@ -514,7 +507,7 @@ vx_set_pipe_cmd_params(&rmh, pipe->is_capture, pipe->number, 0); vx_send_msg(chip, &rmh); - snd_magic_kfree(pipe); + kfree(pipe); return 0; } @@ -629,7 +622,7 @@ if (! subs->runtime->private_data) return -EINVAL; - pipe = snd_magic_cast(vx_pipe_t, subs->runtime->private_data, return -EINVAL); + pipe = subs->runtime->private_data; if (--pipe->references == 0) { chip->playback_pipes[pipe->number] = NULL; @@ -778,8 +771,8 @@ static void vx_pcm_delayed_start(unsigned long arg) { snd_pcm_substream_t *subs = (snd_pcm_substream_t *)arg; - vx_core_t *chip = snd_magic_cast(vx_core_t, subs->pcm->private_data, return); - vx_pipe_t *pipe = snd_magic_cast(vx_pipe_t, subs->runtime->private_data, return); + vx_core_t *chip = subs->pcm->private_data; + vx_pipe_t *pipe = subs->runtime->private_data; int err; /* printk( KERN_DEBUG "DDDD tasklet delayed start jiffies = %ld\n", jiffies);*/ @@ -801,7 +794,7 @@ static int vx_pcm_trigger(snd_pcm_substream_t *subs, int cmd) { vx_core_t *chip = snd_pcm_substream_chip(subs); - vx_pipe_t *pipe = snd_magic_cast(vx_pipe_t, subs->runtime->private_data, return -EINVAL); + vx_pipe_t *pipe = subs->runtime->private_data; int err; if (chip->chip_status & VX_STAT_IS_STALE) @@ -846,7 +839,7 @@ static snd_pcm_uframes_t vx_pcm_playback_pointer(snd_pcm_substream_t *subs) { snd_pcm_runtime_t *runtime = subs->runtime; - vx_pipe_t *pipe = snd_magic_cast(vx_pipe_t, runtime->private_data, return -EINVAL); + vx_pipe_t *pipe = runtime->private_data; return pipe->position; } @@ -874,7 +867,7 @@ { vx_core_t *chip = snd_pcm_substream_chip(subs); snd_pcm_runtime_t *runtime = subs->runtime; - vx_pipe_t *pipe = snd_magic_cast(vx_pipe_t, runtime->private_data, return -EINVAL); + vx_pipe_t *pipe = runtime->private_data; int err, data_mode; // int max_size, nchunks; @@ -1037,7 +1030,7 @@ if (! subs->runtime->private_data) return -EINVAL; - pipe = snd_magic_cast(vx_pipe_t, subs->runtime->private_data, return -EINVAL); + pipe = subs->runtime->private_data; chip->capture_pipes[pipe->number] = NULL; pipe_out_monitoring = pipe->monitoring_pipe; @@ -1141,7 +1134,7 @@ static snd_pcm_uframes_t vx_pcm_capture_pointer(snd_pcm_substream_t *subs) { snd_pcm_runtime_t *runtime = subs->runtime; - vx_pipe_t *pipe = snd_magic_cast(vx_pipe_t, runtime->private_data, return -EINVAL); + vx_pipe_t *pipe = runtime->private_data; return bytes_to_frames(runtime, pipe->hw_ptr); } @@ -1265,7 +1258,7 @@ */ static void snd_vx_pcm_free(snd_pcm_t *pcm) { - vx_core_t *chip = snd_magic_cast(vx_core_t, pcm->private_data, return); + vx_core_t *chip = pcm->private_data; chip->pcm[pcm->device] = NULL; if (chip->playback_pipes) { kfree(chip->playback_pipes); diff -Nru a/sound/drivers/vx/vx_uer.c b/sound/drivers/vx/vx_uer.c --- a/sound/drivers/vx/vx_uer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/drivers/vx/vx_uer.c 2004-08-25 19:27:40 -07:00 @@ -263,17 +263,17 @@ /* change the audio source if possible */ vx_sync_audio_source(chip); - switch (chip->audio_source) { - case VX_AUDIO_SRC_DIGITAL: + if (chip->clock_mode == VX_CLOCK_MODE_EXTERNAL || + (chip->clock_mode == VX_CLOCK_MODE_AUTO && + chip->audio_source == VX_AUDIO_SRC_DIGITAL)) { if (chip->clock_source != UER_SYNC) { vx_change_clock_source(chip, UER_SYNC); mdelay(6); src_changed = 1; } - if (chip->freq == freq) - return 0; - break; - default: + } else if (chip->clock_mode == VX_CLOCK_MODE_INTERNAL || + (chip->clock_mode == VX_CLOCK_MODE_AUTO && + chip->audio_source != VX_AUDIO_SRC_DIGITAL)) { if (chip->clock_source != INTERNAL_QUARTZ) { vx_change_clock_source(chip, INTERNAL_QUARTZ); src_changed = 1; @@ -283,8 +283,9 @@ vx_set_internal_clock(chip, freq); if (src_changed) vx_modify_board_inputs(chip); - break; } + if (chip->freq == freq) + return 0; chip->freq = freq; vx_modify_board_clock(chip, 1); return 0; diff -Nru a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c --- a/sound/i2c/cs8427.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/cs8427.c 2004-08-25 19:27:40 -07:00 @@ -34,8 +34,6 @@ MODULE_DESCRIPTION("IEC958 (S/PDIF) receiver & transmitter by Cirrus Logic"); MODULE_LICENSE("GPL"); -#define chip_t snd_i2c_device_t - #define CS8427_ADDR (0x20>>1) /* fixed address */ typedef struct { @@ -109,7 +107,7 @@ static int snd_cs8427_select_corudata(snd_i2c_device_t *device, int udata) { - cs8427_t *chip = snd_magic_cast(cs8427_t, device->private_data, return -ENXIO); + cs8427_t *chip = device->private_data; int err; udata = udata ? CS8427_BSEL : 0; @@ -128,7 +126,7 @@ unsigned char *ndata, int count) { - cs8427_t *chip = snd_magic_cast(cs8427_t, device->private_data, return -ENXIO); + cs8427_t *chip = device->private_data; char *hw_data = udata ? chip->playback.hw_udata : chip->playback.hw_status; char data[32]; int err, idx; @@ -159,7 +157,7 @@ static void snd_cs8427_free(snd_i2c_device_t *device) { if (device->private_data) - snd_magic_kfree(device->private_data); + kfree(device->private_data); } int snd_cs8427_create(snd_i2c_bus_t *bus, @@ -211,7 +209,7 @@ if ((err = snd_i2c_device_create(bus, "CS8427", CS8427_ADDR | (addr & 7), &device)) < 0) return err; - chip = device->private_data = snd_magic_kcalloc(cs8427_t, 0, GFP_KERNEL); + chip = device->private_data = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) { snd_i2c_device_free(device); return -ENOMEM; @@ -297,7 +295,7 @@ int data; snd_assert(cs8427, return); - chip = snd_magic_cast(cs8427_t, cs8427->private_data, return); + chip = cs8427->private_data; snd_i2c_lock(cs8427->bus); chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK); snd_cs8427_reg_write(cs8427, CS8427_REG_CLOCKSOURCE, chip->regmap[CS8427_REG_CLOCKSOURCE]); @@ -389,7 +387,7 @@ snd_ctl_elem_value_t * ucontrol) { snd_i2c_device_t *device = snd_kcontrol_chip(kcontrol); - cs8427_t *chip = snd_magic_cast(cs8427_t, device->private_data, return -ENXIO); + cs8427_t *chip = device->private_data; snd_i2c_lock(device->bus); memcpy(ucontrol->value.iec958.status, chip->playback.def_status, 24); @@ -401,7 +399,7 @@ snd_ctl_elem_value_t * ucontrol) { snd_i2c_device_t *device = snd_kcontrol_chip(kcontrol); - cs8427_t *chip = snd_magic_cast(cs8427_t, device->private_data, return -ENXIO); + cs8427_t *chip = device->private_data; unsigned char *status = kcontrol->private_value ? chip->playback.pcm_status : chip->playback.def_status; snd_pcm_runtime_t *runtime = chip->playback.substream ? chip->playback.substream->runtime : NULL; int err, change; @@ -432,8 +430,6 @@ return 0; } -#define CONTROLS (sizeof(snd_cs8427_iec958_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs8427_iec958_controls[] = { { .iface = SNDRV_CTL_ELEM_IFACE_PCM, @@ -487,13 +483,13 @@ snd_pcm_substream_t *play_substream, snd_pcm_substream_t *cap_substream) { - cs8427_t *chip = snd_magic_cast(cs8427_t, cs8427->private_data, return -ENXIO); + cs8427_t *chip = cs8427->private_data; snd_kcontrol_t *kctl; unsigned int idx; int err; snd_assert(play_substream && cap_substream, return -EINVAL); - for (idx = 0; idx < CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs8427_iec958_controls); idx++) { kctl = snd_ctl_new1(&snd_cs8427_iec958_controls[idx], cs8427); if (kctl == NULL) return -ENOMEM; @@ -517,7 +513,7 @@ cs8427_t *chip; snd_assert(cs8427, return -ENXIO); - chip = snd_magic_cast(cs8427_t, cs8427->private_data, return -ENXIO); + chip = cs8427->private_data; if (active) memcpy(chip->playback.pcm_status, chip->playback.def_status, 24); chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; @@ -533,7 +529,7 @@ int err, reset; snd_assert(cs8427, return -ENXIO); - chip = snd_magic_cast(cs8427_t, cs8427->private_data, return -ENXIO); + chip = cs8427->private_data; status = chip->playback.pcm_status; snd_i2c_lock(cs8427->bus); if (status[0] & IEC958_AES0_PROFESSIONAL) { diff -Nru a/sound/i2c/i2c.c b/sound/i2c/i2c.c --- a/sound/i2c/i2c.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/i2c.c 2004-08-25 19:27:40 -07:00 @@ -62,13 +62,13 @@ } if (bus->private_free) bus->private_free(bus); - snd_magic_kfree(bus); + kfree(bus); return 0; } static int snd_i2c_bus_dev_free(snd_device_t *device) { - snd_i2c_bus_t *bus = snd_magic_cast(snd_i2c_bus_t, device->device_data, return -ENXIO); + snd_i2c_bus_t *bus = device->device_data; return snd_i2c_bus_free(bus); } @@ -81,7 +81,7 @@ }; *ri2c = NULL; - bus = (snd_i2c_bus_t *)snd_magic_kcalloc(snd_i2c_bus_t, 0, GFP_KERNEL); + bus = kcalloc(1, sizeof(*bus), GFP_KERNEL); if (bus == NULL) return -ENOMEM; init_MUTEX(&bus->lock_mutex); @@ -108,7 +108,7 @@ *rdevice = NULL; snd_assert(bus != NULL, return -EINVAL); - device = (snd_i2c_device_t *)snd_magic_kcalloc(snd_i2c_device_t, 0, GFP_KERNEL); + device = kcalloc(1, sizeof(*device), GFP_KERNEL); if (device == NULL) return -ENOMEM; device->addr = addr; @@ -125,7 +125,7 @@ list_del(&device->list); if (device->private_free) device->private_free(device); - snd_magic_kfree(device); + kfree(device); return 0; } diff -Nru a/sound/i2c/l3/uda1341.c b/sound/i2c/l3/uda1341.c --- a/sound/i2c/l3/uda1341.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/l3/uda1341.c 2004-08-25 19:27:40 -07:00 @@ -17,7 +17,7 @@ * 2002-05-12 Tomas Kasparek another code cleanup */ -/* $Id: uda1341.c,v 1.10 2003/10/23 14:34:52 perex Exp $ */ +/* $Id: uda1341.c,v 1.13 2004/07/20 15:54:13 cladisch Exp $ */ #include #include @@ -131,7 +131,6 @@ //hack for ALSA magic casting typedef struct l3_client l3_client_t; -#define chip_t l3_client_t /* transfer 8bit integer into string with binary representation */ void int2str_bin8(uint8_t val, char *buf){ @@ -332,7 +331,7 @@ static void snd_uda1341_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - struct l3_client *clnt = snd_magic_cast(l3_client_t, entry->private_data, return); + struct l3_client *clnt = entry->private_data; struct uda1341 *uda = clnt->driver_data; int peak; @@ -397,7 +396,7 @@ static void snd_uda1341_proc_regs_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - struct l3_client *clnt = snd_magic_cast(l3_client_t, entry->private_data, return); + struct l3_client *clnt = entry->private_data; struct uda1341 *uda = clnt->driver_data; int reg; char buf[12]; @@ -618,8 +617,6 @@ /* }}} */ -#define UDA1341_CONTROLS (sizeof(snd_uda1341_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_uda1341_controls[] = { UDA1341_SINGLE("Master Playback Switch", CMD_MUTE, data0_2, 2, 1, 1), UDA1341_SINGLE("Master Playback Volume", CMD_VOLUME, data0_0, 0, 63, 1), @@ -653,12 +650,12 @@ static void uda1341_free(struct l3_client *uda1341) { l3_detach_client(uda1341); // calls kfree for driver_data (uda1341_t) - snd_magic_kfree(uda1341); + kfree(uda1341); } static int uda1341_dev_free(snd_device_t *device) { - struct l3_client *clnt = snd_magic_cast(l3_client_t, device->device_data, return); + struct l3_client *clnt = device->device_data; uda1341_free(clnt); return 0; } @@ -673,7 +670,7 @@ snd_assert(card != NULL, return -EINVAL); - uda1341 = snd_magic_kcalloc(l3_client_t, 0, GFP_KERNEL); + uda1341 = kcalloc(1, sizeof(*uda1341), GFP_KERNEL); if (uda1341 == NULL) return -ENOMEM; @@ -688,7 +685,7 @@ return err; } - for (idx = 0; idx < UDA1341_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_uda1341_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_uda1341_controls[idx], uda1341))) < 0) return err; } @@ -710,7 +707,7 @@ { struct uda1341 *uda; - uda = snd_magic_kcalloc(uda1341_t, 0, GFP_KERNEL); + uda = kcalloc(1, sizeof(*uda), 0, GFP_KERNEL); if (!uda) return -ENOMEM; @@ -734,7 +731,7 @@ static void uda1341_detach(struct l3_client *clnt) { if (clnt->driver_data) - snd_magic_kfree(clnt->driver_data); + kfree(clnt->driver_data); } static int @@ -821,8 +818,7 @@ MODULE_AUTHOR("Tomas Kasparek "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Philips UDA1341 CODEC driver for ALSA"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{UDA1341,UDA1341TS}}"); +MODULE_SUPPORTED_DEVICE("{{UDA1341,UDA1341TS}}"); EXPORT_SYMBOL(snd_chip_uda1341_mixer_new); diff -Nru a/sound/i2c/other/ak4117.c b/sound/i2c/other/ak4117.c --- a/sound/i2c/other/ak4117.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/other/ak4117.c 2004-08-25 19:27:40 -07:00 @@ -33,8 +33,6 @@ MODULE_DESCRIPTION("AK4117 IEC958 (S/PDIF) receiver by Asahi Kasei"); MODULE_LICENSE("GPL"); -#define chip_t ak4117_t - #define AK4117_ADDR 0x00 /* fixed address */ static void snd_ak4117_timer(unsigned long data); @@ -65,12 +63,12 @@ static void snd_ak4117_free(ak4117_t *chip) { del_timer(&chip->timer); - snd_magic_kfree(chip); + kfree(chip); } static int snd_ak4117_dev_free(snd_device_t *device) { - ak4117_t *chip = snd_magic_cast(ak4117_t, device->device_data, return -ENXIO); + ak4117_t *chip = device->device_data; snd_ak4117_free(chip); return 0; } @@ -85,7 +83,7 @@ .dev_free = snd_ak4117_dev_free, }; - chip = (ak4117_t *)snd_magic_kcalloc(ak4117_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->lock); @@ -544,7 +542,7 @@ static void snd_ak4117_timer(unsigned long data) { - ak4117_t *chip = snd_magic_cast(ak4117_t, (void *)data, return); + ak4117_t *chip = (ak4117_t *)data; if (chip->init) return; diff -Nru a/sound/i2c/other/ak4xxx-adda.c b/sound/i2c/other/ak4xxx-adda.c --- a/sound/i2c/other/ak4xxx-adda.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/other/ak4xxx-adda.c 2004-08-25 19:27:40 -07:00 @@ -237,7 +237,7 @@ static int snd_akm4xxx_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); int invert = AK_GET_INVERT(kcontrol->private_value); @@ -250,7 +250,7 @@ static int snd_akm4xxx_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); int invert = AK_GET_INVERT(kcontrol->private_value); @@ -277,7 +277,7 @@ static int snd_akm4xxx_ipga_gain_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); ucontrol->value.integer.value[0] = snd_akm4xxx_get_ipga(ak, chip, addr) & 0x7f; @@ -286,7 +286,7 @@ static int snd_akm4xxx_ipga_gain_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); unsigned char nval = (ucontrol->value.integer.value[0] % 37) | 0x80; @@ -312,7 +312,7 @@ static int snd_akm4xxx_deemphasis_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); int shift = AK_GET_SHIFT(kcontrol->private_value); @@ -322,7 +322,7 @@ static int snd_akm4xxx_deemphasis_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - akm4xxx_t *ak = _snd_kcontrol_chip(kcontrol); + akm4xxx_t *ak = snd_kcontrol_chip(kcontrol); int chip = AK_GET_CHIP(kcontrol->private_value); int addr = AK_GET_ADDR(kcontrol->private_value); int shift = AK_GET_SHIFT(kcontrol->private_value); diff -Nru a/sound/i2c/tea6330t.c b/sound/i2c/tea6330t.c --- a/sound/i2c/tea6330t.c 2004-08-25 19:27:40 -07:00 +++ b/sound/i2c/tea6330t.c 2004-08-25 19:27:40 -07:00 @@ -30,8 +30,6 @@ MODULE_DESCRIPTION("Routines for control of the TEA6330T circuit via i2c bus"); MODULE_LICENSE("GPL"); -#define chip_t tea6330t_t - #define TEA6330T_ADDR (0x80>>1) /* fixed address */ #define TEA6330T_SADDR_VOLUME_LEFT 0x00 /* volume left */ @@ -259,8 +257,6 @@ return change; } -#define TEA6330T_CONTROLS (sizeof(snd_tea6330t_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_tea6330t_controls[] = { TEA6330T_MASTER_SWITCH("Master Playback Switch", 0), TEA6330T_MASTER_VOLUME("Master Playback Volume", 0), @@ -270,8 +266,8 @@ static void snd_tea6330_free(snd_i2c_device_t *device) { - tea6330t_t *tea = snd_magic_cast(tea6330t_t, device->private_data, return); - snd_magic_kfree(tea); + tea6330t_t *tea = device->private_data; + kfree(tea); } int snd_tea6330t_update_mixer(snd_card_t * card, @@ -286,11 +282,11 @@ u8 default_treble, default_bass; unsigned char bytes[7]; - tea = snd_magic_kcalloc(tea6330t_t, 0, GFP_KERNEL); + tea = kcalloc(1, sizeof(*tea), GFP_KERNEL); if (tea == NULL) return -ENOMEM; if ((err = snd_i2c_device_create(bus, "TEA6330T", TEA6330T_ADDR, &device)) < 0) { - snd_magic_kfree(tea); + kfree(tea); return err; } tea->device = device; @@ -336,7 +332,7 @@ if ((err = snd_component_add(card, "TEA6330T")) < 0) goto __error; - for (idx = 0; idx < TEA6330T_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_tea6330t_controls); idx++) { knew = &snd_tea6330t_controls[idx]; if (tea->treble == 0 && !strcmp(knew->name, "Tone Control - Treble")) continue; diff -Nru a/sound/isa/Kconfig b/sound/isa/Kconfig --- a/sound/isa/Kconfig 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/Kconfig 2004-08-25 19:27:40 -07:00 @@ -77,11 +77,15 @@ help Say 'Y' or 'M' to include support for ESS AudioDrive ES18xx chips. +config SND_GUS_SYNTH + tristate + config SND_GUSCLASSIC tristate "Gravis UltraSound Classic" depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound Classic soundcard. @@ -91,6 +95,7 @@ select SND_HWDEP select SND_MPU401_UART select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound Extreme soundcard. @@ -99,6 +104,7 @@ depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound MAX soundcard. @@ -107,6 +113,7 @@ depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for AMD InterWave based soundcards (Gravis UltraSound Plug & Play, STB SoundRage32, MED3210, Dynasonic Pro, @@ -117,6 +124,7 @@ depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for AMD InterWave based soundcards with TEA6330T bass and treble regulator (UltraSound 32-Pro). diff -Nru a/sound/isa/ad1816a/ad1816a.c b/sound/isa/ad1816a/ad1816a.c --- a/sound/isa/ad1816a/ad1816a.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/ad1816a/ad1816a.c 2004-08-25 19:27:40 -07:00 @@ -30,15 +30,12 @@ #include #include -#define chip_t ad1816a_t - #define PFX "ad1816a: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("AD1816A, AD1815"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Highscreen,Sound-Boostar 16 3D}," +MODULE_SUPPORTED_DEVICE("{{Highscreen,Sound-Boostar 16 3D}," "{Analog Devices,AD1815}," "{Analog Devices,AD1816A}," "{TerraTec,Base 64}," @@ -60,34 +57,24 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ad1816a based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ad1816a based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ad1816a based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ad1816a driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ad1816a driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for ad1816a driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ad1816a driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ad1816a driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "1st DMA # for ad1816a driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "2nd DMA # for ad1816a driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_ad1816a { struct pnp_dev *dev; diff -Nru a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c --- a/sound/isa/ad1816a/ad1816a_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/ad1816a/ad1816a_lib.c 2004-08-25 19:27:40 -07:00 @@ -34,8 +34,6 @@ MODULE_DESCRIPTION("lowlevel code for Analog Devices AD1816A chip"); MODULE_LICENSE("GPL"); -#define chip_t ad1816a_t - static inline int snd_ad1816a_busy_wait(ad1816a_t *chip) { int timeout; @@ -313,7 +311,7 @@ static irqreturn_t snd_ad1816a_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, dev_id, return IRQ_NONE); + ad1816a_t *chip = dev_id; unsigned char status; spin_lock(&chip->lock); @@ -550,13 +548,13 @@ snd_dma_disable(chip->dma2); free_dma(chip->dma2); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ad1816a_dev_free(snd_device_t *device) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, device->device_data, return -ENXIO); + ad1816a_t *chip = device->device_data; return snd_ad1816a_free(chip); } @@ -585,7 +583,7 @@ *rchip = NULL; - chip = snd_magic_kcalloc(ad1816a_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->irq = -1; @@ -661,7 +659,7 @@ static void snd_ad1816a_pcm_free(snd_pcm_t *pcm) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, pcm->private_data, return); + ad1816a_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -696,7 +694,7 @@ static void snd_ad1816a_timer_free(snd_timer_t *timer) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, timer->private_data, return); + ad1816a_t *chip = timer->private_data; chip->timer = NULL; } @@ -901,8 +899,6 @@ return change; } -#define AD1816A_CONTROLS (sizeof(snd_ad1816a_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_ad1816a_controls[] = { AD1816A_DOUBLE("Master Playback Switch", AD1816A_MASTER_ATT, 15, 7, 1, 1), AD1816A_DOUBLE("Master Playback Volume", AD1816A_MASTER_ATT, 8, 0, 31, 1), @@ -950,7 +946,7 @@ strcpy(card->mixername, snd_ad1816a_chip_id(chip)); - for (idx = 0; idx < AD1816A_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ad1816a_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ad1816a_controls[idx], chip))) < 0) return err; } diff -Nru a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c --- a/sound/isa/ad1848/ad1848.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/ad1848/ad1848.c 2004-08-25 19:27:40 -07:00 @@ -30,13 +30,10 @@ #include #include -#define chip_t ad1848_t - MODULE_AUTHOR("Tugrul Galatali , Jaroslav Kysela "); MODULE_DESCRIPTION("AD1848/AD1847/CS4248"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Analog Devices,AD1848}," +MODULE_SUPPORTED_DEVICE("{{Analog Devices,AD1848}," "{Analog Devices,AD1847}," "{Crystal Semiconductors,CS4248}}"); @@ -51,25 +48,18 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for AD1848 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for AD1848 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable AD1848 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for AD1848 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for AD1848 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for AD1848 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(thinkpad, bool, boot_devs, 0444); MODULE_PARM_DESC(thinkpad, "Enable only for the onboard CS4248 of IBM Thinkpad 360/750/755 series."); -MODULE_PARM_SYNTAX(thinkpad, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static snd_card_t *snd_ad1848_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c --- a/sound/isa/ad1848/ad1848_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/ad1848/ad1848_lib.c 2004-08-25 19:27:40 -07:00 @@ -39,8 +39,6 @@ MODULE_DESCRIPTION("Routines for control of AD1848/AD1847/CS4248"); MODULE_LICENSE("GPL"); -#define chip_t ad1848_t - #if 0 #define SNDRV_DEBUG_MCE #endif @@ -588,7 +586,7 @@ irqreturn_t snd_ad1848_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ad1848_t *chip = snd_magic_cast(ad1848_t, dev_id, return IRQ_NONE); + ad1848_t *chip = dev_id; if ((chip->mode & AD1848_MODE_PLAY) && chip->playback_substream && (chip->mode & AD1848_MODE_RUNNING)) @@ -649,7 +647,7 @@ #ifdef CONFIG_PM static int snd_ad1848_suspend(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); + ad1848_t *chip = card->pm_private_data; if (card->power_state == SNDRV_CTL_POWER_D3hot) return 0; @@ -666,7 +664,7 @@ static int snd_ad1848_resume(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); + ad1848_t *chip = card->pm_private_data; if (card->power_state == SNDRV_CTL_POWER_D0) return 0; @@ -867,13 +865,13 @@ snd_dma_disable(chip->dma); free_dma(chip->dma); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ad1848_dev_free(snd_device_t *device) { - ad1848_t *chip = snd_magic_cast(ad1848_t, device->device_data, return -ENXIO); + ad1848_t *chip = device->device_data; return snd_ad1848_free(chip); } @@ -901,7 +899,7 @@ int err; *rchip = NULL; - chip = snd_magic_kcalloc(ad1848_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -977,7 +975,7 @@ static void snd_ad1848_pcm_free(snd_pcm_t *pcm) { - ad1848_t *chip = snd_magic_cast(ad1848_t, pcm->private_data, return); + ad1848_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } diff -Nru a/sound/isa/als100.c b/sound/isa/als100.c --- a/sound/isa/als100.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/als100.c 2004-08-25 19:27:40 -07:00 @@ -32,15 +32,12 @@ #include #include -#define chip_t sb_t - #define PFX "als100: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Avance Logic ALS1X0"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Avance Logic,ALS100 - PRO16PNP}," +MODULE_SUPPORTED_DEVICE("{{Avance Logic,ALS100 - PRO16PNP}," "{Avance Logic,ALS110}," "{Avance Logic,ALS120}," "{Avance Logic,ALS200}," @@ -63,34 +60,24 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for als100 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for als100 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable als100 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for als100 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for als100 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for als100 driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for als100 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for als100 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for als100 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma16, int, boot_devs, 0444); MODULE_PARM_DESC(dma16, "16-bit DMA # for als100 driver."); -MODULE_PARM_SYNTAX(dma16, SNDRV_DMA16_DESC); struct snd_card_als100 { int dev_no; diff -Nru a/sound/isa/azt2320.c b/sound/isa/azt2320.c --- a/sound/isa/azt2320.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/azt2320.c 2004-08-25 19:27:40 -07:00 @@ -43,15 +43,12 @@ #include #include -#define chip_t cs4231_t - #define PFX "azt2320: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Aztech Systems AZT2320"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech Systems,PRO16V}," +MODULE_SUPPORTED_DEVICE("{{Aztech Systems,PRO16V}," "{Aztech Systems,AZT2320}," "{Aztech Systems,AZT3300}," "{Aztech Systems,AZT2320}," @@ -72,37 +69,26 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for azt2320 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for azt2320 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable azt2320 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for azt2320 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(wss_port, long, boot_devs, 0444); MODULE_PARM_DESC(wss_port, "WSS Port # for azt2320 driver."); -MODULE_PARM_SYNTAX(wss_port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for azt2320 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for azt2320 driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for azt2320 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for azt2320 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "1st DMA # for azt2320 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "2nd DMA # for azt2320 driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_azt2320 { int dev_no; diff -Nru a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c --- a/sound/isa/cmi8330.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/cmi8330.c 2004-08-25 19:27:40 -07:00 @@ -63,8 +63,7 @@ MODULE_AUTHOR("George Talusan "); MODULE_DESCRIPTION("C-Media CMI8330"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{C-Media,CMI8330,isapnp:{CMI0001,@@@0001,@X@0001}}}"); +MODULE_SUPPORTED_DEVICE("{{C-Media,CMI8330,isapnp:{CMI0001,@@@0001,@X@0001}}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; @@ -83,41 +82,30 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CMI8330 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CMI8330 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CMI8330 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(sbport, long, boot_devs, 0444); MODULE_PARM_DESC(sbport, "Port # for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbport, SNDRV_ENABLED ",allows:{{0x220,0x280,0x20}},prefers:{0x220},base:16,dialog:list"); module_param_array(sbirq, int, boot_devs, 0444); MODULE_PARM_DESC(sbirq, "IRQ # for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbirq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10},{11},{12}},prefers:{5},dialog:list"); module_param_array(sbdma8, int, boot_devs, 0444); MODULE_PARM_DESC(sbdma8, "DMA8 for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbdma8, SNDRV_DMA8_DESC ",prefers:{1}"); module_param_array(sbdma16, int, boot_devs, 0444); MODULE_PARM_DESC(sbdma16, "DMA16 for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbdma16, SNDRV_ENABLED ",allows:{{5},{7}},prefers:{5},dialog:list"); module_param_array(wssport, long, boot_devs, 0444); MODULE_PARM_DESC(wssport, "Port # for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssport, SNDRV_ENABLED ",allows:{{0x530},{0xe80,0xf40,0xc0}},prefers:{0x530},base:16,dialog:list"); module_param_array(wssirq, int, boot_devs, 0444); MODULE_PARM_DESC(wssirq, "IRQ # for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssirq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10},{11},{12}},prefers:{11},dialog:list"); module_param_array(wssdma, int, boot_devs, 0444); MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssdma, SNDRV_DMA8_DESC ",prefers:{0}"); #define CMI8330_RMUX3D 16 #define CMI8330_MUTEMUX 17 @@ -385,7 +373,7 @@ static int snd_cmi8330_playback_open(snd_pcm_substream_t * substream) { - struct snd_cmi8330 *chip = (struct snd_cmi8330 *)_snd_pcm_substream_chip(substream); + struct snd_cmi8330 *chip = snd_pcm_substream_chip(substream); /* replace the private_data and call the original open callback */ substream->private_data = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].private_data; @@ -394,7 +382,7 @@ static int snd_cmi8330_capture_open(snd_pcm_substream_t * substream) { - struct snd_cmi8330 *chip = (struct snd_cmi8330 *)_snd_pcm_substream_chip(substream); + struct snd_cmi8330 *chip = snd_pcm_substream_chip(substream); /* replace the private_data and call the original open callback */ substream->private_data = chip->streams[SNDRV_PCM_STREAM_CAPTURE].private_data; diff -Nru a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c --- a/sound/isa/cs423x/cs4231.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/cs423x/cs4231.c 2004-08-25 19:27:40 -07:00 @@ -30,13 +30,10 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Generic CS4231"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Crystal Semiconductors,CS4231}}"); +MODULE_SUPPORTED_DEVICE("{{Crystal Semiconductors,CS4231}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -51,31 +48,22 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for CS4231 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for CS4231 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for CS4231 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for CS4231 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for CS4231 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for CS4231 driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); static snd_card_t *snd_cs4231_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c --- a/sound/isa/cs423x/cs4231_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/cs423x/cs4231_lib.c 2004-08-25 19:27:40 -07:00 @@ -43,8 +43,6 @@ MODULE_DESCRIPTION("Routines for control of CS4231(A)/CS4232/InterWave & compatible chips"); MODULE_LICENSE("GPL"); -#define chip_t cs4231_t - #if 0 #define SNDRV_DEBUG_MCE #endif @@ -969,7 +967,7 @@ irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4231_t *chip = snd_magic_cast(cs4231_t, dev_id, return IRQ_NONE); + cs4231_t *chip = dev_id; unsigned char status; status = snd_cs4231_in(chip, CS4231_IRQ_STATUS); @@ -1407,7 +1405,7 @@ static int snd_cs4231_pm_suspend(snd_card_t *card, unsigned int state) { - cs4231_t *chip = snd_magic_cast(cs4231_t, card->pm_private_data, return -EINVAL); + cs4231_t *chip = card->pm_private_data; if (chip->suspend) { chip->suspend(chip); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1417,7 +1415,7 @@ static int snd_cs4231_pm_resume(snd_card_t *card, unsigned int state) { - cs4231_t *chip = snd_magic_cast(cs4231_t, card->pm_private_data, return -EINVAL); + cs4231_t *chip = card->pm_private_data; if (chip->resume) { chip->resume(chip); snd_power_change_state(card, SNDRV_CTL_POWER_D0); @@ -1453,13 +1451,13 @@ } if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_dev_free(snd_device_t *device) { - cs4231_t *chip = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *chip = device->device_data; return snd_cs4231_free(chip); } @@ -1493,7 +1491,7 @@ cs4231_t *chip; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->hardware = hardware; @@ -1626,7 +1624,7 @@ static void snd_cs4231_pcm_free(snd_pcm_t *pcm) { - cs4231_t *chip = snd_magic_cast(cs4231_t, pcm->private_data, return); + cs4231_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1686,7 +1684,7 @@ static void snd_cs4231_timer_free(snd_timer_t *timer) { - cs4231_t *chip = snd_magic_cast(cs4231_t, timer->private_data, return); + cs4231_t *chip = timer->private_data; chip->timer = NULL; } @@ -1898,8 +1896,6 @@ return change; } -#define CS4231_CONTROLS (sizeof(snd_cs4231_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4231_controls[] = { CS4231_DOUBLE("PCM Playback Switch", 0, CS4231_LEFT_OUTPUT, CS4231_RIGHT_OUTPUT, 7, 7, 1, 1), CS4231_DOUBLE("PCM Playback Volume", 0, CS4231_LEFT_OUTPUT, CS4231_RIGHT_OUTPUT, 0, 0, 63, 1), @@ -1938,7 +1934,7 @@ strcpy(card->mixername, chip->pcm->name); - for (idx = 0; idx < CS4231_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4231_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4231_controls[idx], chip))) < 0) return err; } diff -Nru a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c --- a/sound/isa/cs423x/cs4236.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/cs423x/cs4236.c 2004-08-25 19:27:40 -07:00 @@ -30,14 +30,11 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifdef CS4232 MODULE_DESCRIPTION("Cirrus Logic CS4232"); -MODULE_DEVICES("{{Turtle Beach,TBS-2000}," +MODULE_SUPPORTED_DEVICE("{{Turtle Beach,TBS-2000}," "{Turtle Beach,Tropez Plus}," "{SIC CrystalWave 32}," "{Hewlett Packard,Omnibook 5500}," @@ -45,7 +42,7 @@ "{Philips,PCA70PS}}"); #else MODULE_DESCRIPTION("Cirrus Logic CS4235-9"); -MODULE_DEVICES("{{Crystal Semiconductors,CS4235}," +MODULE_SUPPORTED_DEVICE("{{Crystal Semiconductors,CS4235}," "{Crystal Semiconductors,CS4236}," "{Crystal Semiconductors,CS4237}," "{Crystal Semiconductors,CS4238}," @@ -99,45 +96,32 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " IDENT " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " IDENT " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " IDENT " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(cport, long, boot_devs, 0444); MODULE_PARM_DESC(cport, "Control port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(cport, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(sb_port, long, boot_devs, 0444); MODULE_PARM_DESC(sb_port, "SB port # for " IDENT " driver (optional)."); -MODULE_PARM_SYNTAX(sb_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for " IDENT " driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " IDENT " driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for " IDENT " driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_cs4236 { struct resource *res_sb_port; diff -Nru a/sound/isa/cs423x/cs4236_lib.c b/sound/isa/cs423x/cs4236_lib.c --- a/sound/isa/cs423x/cs4236_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/cs423x/cs4236_lib.c 2004-08-25 19:27:40 -07:00 @@ -93,8 +93,6 @@ MODULE_DESCRIPTION("Routines for control of CS4235/4236B/4237B/4238B/4239 chips"); MODULE_LICENSE("GPL"); -#define chip_t cs4231_t - /* * */ @@ -707,8 +705,6 @@ return change; } -#define CS4236_CONTROLS (sizeof(snd_cs4236_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4236_controls[] = { CS4236_DOUBLE("Master Digital Playback Switch", 0, CS4236_LEFT_MASTER, CS4236_RIGHT_MASTER, 7, 7, 1, 1), @@ -760,8 +756,6 @@ CS4236_DOUBLE1("Digital Loopback Playback Volume", 0, CS4231_LOOPBACK, CS4236_RIGHT_LOOPBACK, 2, 0, 63, 1) }; -#define CS4235_CONTROLS (sizeof(snd_cs4235_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4235_controls[] = { CS4231_DOUBLE("Master Switch", 0, CS4235_LEFT_MASTER, CS4235_RIGHT_MASTER, 7, 7, 1, 1), @@ -871,8 +865,6 @@ return change; } -#define CS4236_IEC958_CONTROLS (sizeof(snd_cs4236_iec958_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4236_iec958_controls[] = { CS4236_IEC958_ENABLE("IEC958 Output Enable", 0), CS4236_SINGLEC("IEC958 Output Validity", 0, 4, 4, 1, 0), @@ -882,15 +874,11 @@ CS4236_SINGLEC("IEC958 Output Channel Status High", 0, 6, 0, 255, 0) }; -#define CS4236_3D_CONTROLS_CS4235 (sizeof(snd_cs4236_3d_controls_cs4235)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4235[] = { CS4236_SINGLEC("3D Control - Switch", 0, 3, 4, 1, 0), CS4236_SINGLEC("3D Control - Space", 0, 2, 4, 15, 1) }; -#define CS4236_3D_CONTROLS_CS4237 (sizeof(snd_cs4236_3d_controls_cs4237)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4237[] = { CS4236_SINGLEC("3D Control - Switch", 0, 3, 7, 1, 0), CS4236_SINGLEC("3D Control - Space", 0, 2, 4, 15, 1), @@ -899,8 +887,6 @@ CS4236_SINGLEC("3D Control - IEC958", 0, 3, 5, 1, 0) }; -#define CS4236_3D_CONTROLS_CS4238 (sizeof(snd_cs4236_3d_controls_cs4238)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4238[] = { CS4236_SINGLEC("3D Control - Switch", 0, 3, 4, 1, 0), CS4236_SINGLEC("3D Control - Space", 0, 2, 4, 15, 1), @@ -921,12 +907,12 @@ if (chip->hardware == CS4231_HW_CS4235 || chip->hardware == CS4231_HW_CS4239) { - for (idx = 0; idx < CS4235_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4235_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4235_controls[idx], chip))) < 0) return err; } } else { - for (idx = 0; idx < CS4236_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4236_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4236_controls[idx], chip))) < 0) return err; } @@ -934,15 +920,15 @@ switch (chip->hardware) { case CS4231_HW_CS4235: case CS4231_HW_CS4239: - count = CS4236_3D_CONTROLS_CS4235; + count = ARRAY_SIZE(snd_cs4236_3d_controls_cs4235); kcontrol = snd_cs4236_3d_controls_cs4235; break; case CS4231_HW_CS4237B: - count = CS4236_3D_CONTROLS_CS4237; + count = ARRAY_SIZE(snd_cs4236_3d_controls_cs4237); kcontrol = snd_cs4236_3d_controls_cs4237; break; case CS4231_HW_CS4238B: - count = CS4236_3D_CONTROLS_CS4238; + count = ARRAY_SIZE(snd_cs4236_3d_controls_cs4238); kcontrol = snd_cs4236_3d_controls_cs4238; break; default: @@ -955,7 +941,7 @@ } if (chip->hardware == CS4231_HW_CS4237B || chip->hardware == CS4231_HW_CS4238B) { - for (idx = 0; idx < CS4236_IEC958_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4236_iec958_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4236_iec958_controls[idx], chip))) < 0) return err; } diff -Nru a/sound/isa/dt019x.c b/sound/isa/dt019x.c --- a/sound/isa/dt019x.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/dt019x.c 2004-08-25 19:27:40 -07:00 @@ -33,15 +33,12 @@ #include #include -#define chip_t sb_t - #define PFX "dt019x: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Diamond Technologies DT-019X / Avance Logic ALS-007"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Diamond Technologies DT-019X}," +MODULE_SUPPORTED_DEVICE("{{Diamond Technologies DT-019X}," "{Avance Logic ALS-007}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -57,31 +54,22 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for DT-019X based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for DT-019X based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable DT-019X based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for dt019x driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for dt019x driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for dt019x driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for dt019x driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for dt019x driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for dt019x driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_card_dt019x { struct pnp_dev *dev; diff -Nru a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c --- a/sound/isa/es1688/es1688.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/es1688/es1688.c 2004-08-25 19:27:40 -07:00 @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ESS ESx688 AudioDrive"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES688 PnP AudioDrive,pnp:ESS0100}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES688 PnP AudioDrive,pnp:ESS0100}," "{ESS,ES1688 PnP AudioDrive,pnp:ESS0102}," "{ESS,ES688 AudioDrive,pnp:ESS6881}," "{ESS,ES1688 AudioDrive,pnp:ESS1681}}"); @@ -55,28 +54,20 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ESx688 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ESx688 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ESx688 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ESx688 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ESx688 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ESx688 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ESx688 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for ESx688 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); static snd_card_t *snd_audiodrive_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c --- a/sound/isa/es1688/es1688_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/es1688/es1688_lib.c 2004-08-25 19:27:40 -07:00 @@ -34,7 +34,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ESS ESx688 lowlevel module"); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); static int snd_es1688_dsp_command(es1688_t *chip, unsigned char val) @@ -482,7 +481,7 @@ irqreturn_t snd_es1688_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es1688_t *chip = snd_magic_cast(es1688_t, dev_id, return IRQ_NONE); + es1688_t *chip = dev_id; if (chip->trigger_value == 0x05) /* ok.. playback is active */ snd_pcm_period_elapsed(chip->playback_substream); @@ -616,13 +615,13 @@ disable_dma(chip->dma8); free_dma(chip->dma8); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_es1688_dev_free(snd_device_t *device) { - es1688_t *chip = snd_magic_cast(es1688_t, device->device_data, return -ENXIO); + es1688_t *chip = device->device_data; return snd_es1688_free(chip); } @@ -650,7 +649,7 @@ int err; *rchip = NULL; - chip = snd_magic_kcalloc(es1688_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->irq = -1; @@ -728,7 +727,7 @@ static void snd_es1688_pcm_free(snd_pcm_t *pcm) { - es1688_t *chip = snd_magic_cast(es1688_t, pcm->private_data, return); + es1688_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -978,8 +977,6 @@ return change; } -#define ES1688_CONTROLS (sizeof(snd_es1688_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_es1688_controls[] = { ES1688_DOUBLE("Master Playback Volume", 0, ES1688_MASTER_DEV, ES1688_MASTER_DEV, 4, 0, 15, 0), ES1688_DOUBLE("PCM Playback Volume", 0, ES1688_PCM_DEV, ES1688_PCM_DEV, 4, 0, 15, 0), @@ -1028,7 +1025,7 @@ strcpy(card->mixername, snd_es1688_chip_id(chip)); - for (idx = 0; idx < ES1688_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_es1688_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_es1688_controls[idx], chip))) < 0) return err; } diff -Nru a/sound/isa/es18xx.c b/sound/isa/es18xx.c --- a/sound/isa/es18xx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/es18xx.c 2004-08-25 19:27:40 -07:00 @@ -157,8 +157,6 @@ typedef struct _snd_es18xx es18xx_t; -#define chip_t es18xx_t - /* Lowlevel */ #define DAC1 0x01 @@ -728,7 +726,7 @@ static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es18xx_t *chip = snd_magic_cast(es18xx_t, dev_id, return IRQ_NONE); + es18xx_t *chip = dev_id; unsigned char status; if (chip->caps & ES18XX_CONTROL) { @@ -1027,7 +1025,7 @@ static void snd_es18xx_hwv_free(snd_kcontrol_t *kcontrol) { - es18xx_t *chip = snd_magic_cast(es18xx_t, _snd_kcontrol_chip(kcontrol), return); + es18xx_t *chip = snd_kcontrol_chip(kcontrol); chip->master_volume = NULL; chip->master_switch = NULL; chip->hw_volume = NULL; @@ -1561,7 +1559,7 @@ static void snd_es18xx_pcm_free(snd_pcm_t *pcm) { - es18xx_t *codec = snd_magic_cast(es18xx_t, pcm->private_data, return); + es18xx_t *codec = pcm->private_data; codec->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1611,7 +1609,7 @@ #ifdef CONFIG_PM static int snd_es18xx_suspend(snd_card_t *card, unsigned int state) { - es18xx_t *chip = snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL); + es18xx_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); @@ -1627,7 +1625,7 @@ static int snd_es18xx_resume(snd_card_t *card, unsigned int state) { - es18xx_t *chip = snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL); + es18xx_t *chip = card->pm_private_data; /* restore PM register, we won't wake till (not 0x07) i/o activity though */ snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM); @@ -1661,13 +1659,13 @@ disable_dma(chip->dma2); free_dma(chip->dma2); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_es18xx_dev_free(snd_device_t *device) { - es18xx_t *chip = snd_magic_cast(es18xx_t, device->device_data, return -ENXIO); + es18xx_t *chip = device->device_data; return snd_es18xx_free(chip); } @@ -1685,7 +1683,7 @@ int err; *rchip = NULL; - chip = snd_magic_kcalloc(es18xx_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1830,8 +1828,7 @@ MODULE_AUTHOR("Christian Fischbach , Abramo Bagnara "); MODULE_DESCRIPTION("ESS ES18xx AudioDrive"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES1868 PnP AudioDrive}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES1868 PnP AudioDrive}," "{ESS,ES1869 PnP AudioDrive}," "{ESS,ES1878 PnP AudioDrive}," "{ESS,ES1879 PnP AudioDrive}," @@ -1860,36 +1857,26 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ES18xx soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ES18xx soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ES18xx soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ES18xx driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x280,0x20}},prefers:{0x220},base:16,dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x300,0x330,0x30},{0x800,0xffe,0x2}},prefers:{0x330,0x300},base:16,dialog:combo"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388},{0x800,0xffc,0x4}},prefers:{0x388},base:16,dialog:combo"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC ",prefers:{5}"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA8_DESC ",prefers:{1}"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{0},{1},{3},{5}},dialog:list,prefers:{0}"); struct snd_audiodrive { #ifdef CONFIG_PNP diff -Nru a/sound/isa/gus/Makefile b/sound/isa/gus/Makefile --- a/sound/isa/gus/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/Makefile 2004-08-25 19:27:40 -07:00 @@ -27,14 +27,10 @@ # Toplevel Module Dependency obj-$(CONFIG_SND_GUSCLASSIC) += snd-gusclassic.o snd-gus-lib.o -obj-$(call sequencer,$(CONFIG_SND_GUSCLASSIC)) += snd-gus-synth.o obj-$(CONFIG_SND_GUSMAX) += snd-gusmax.o snd-gus-lib.o -obj-$(call sequencer,$(CONFIG_SND_GUSMAX)) += snd-gus-synth.o obj-$(CONFIG_SND_GUSEXTREME) += snd-gusextreme.o snd-gus-lib.o -obj-$(call sequencer,$(CONFIG_SND_GUSEXTREME)) += snd-gus-synth.o obj-$(CONFIG_SND_INTERWAVE) += snd-interwave.o snd-gus-lib.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE)) += snd-gus-synth.o obj-$(CONFIG_SND_INTERWAVE_STB) += snd-interwave-stb.o snd-gus-lib.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE_STB)) += snd-gus-synth.o +obj-$(call sequencer,$(CONFIG_SND_GUS_SYNTH)) += snd-gus-synth.o obj-m := $(sort $(obj-m)) diff -Nru a/sound/isa/gus/gus_dram.c b/sound/isa/gus/gus_dram.c --- a/sound/isa/gus/gus_dram.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_dram.c 2004-08-25 19:27:40 -07:00 @@ -31,12 +31,12 @@ { unsigned long flags; unsigned int size1, size2; - char buffer[512], *pbuffer; + char buffer[256], *pbuffer; while (size > 0) { - if (copy_from_user(buffer, _buffer, 512)) + size1 = size > sizeof(buffer) ? sizeof(buffer) : size; + if (copy_from_user(buffer, _buffer, size1)) return -EFAULT; - size1 = size > 512 ? 512 : size; if (gus->interwave) { spin_lock_irqsave(&gus->reg_lock, flags); snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01); @@ -69,10 +69,10 @@ { unsigned long flags; unsigned int size1, size2; - char buffer[512], *pbuffer; + char buffer[256], *pbuffer; while (size > 0) { - size1 = size > 512 ? 512 : size; + size1 = size > sizeof(buffer) ? sizeof(buffer) : size; if (gus->interwave) { spin_lock_irqsave(&gus->reg_lock, flags); snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, rom ? 0x03 : 0x01); diff -Nru a/sound/isa/gus/gus_instr.c b/sound/isa/gus/gus_instr.c --- a/sound/isa/gus/gus_instr.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_instr.c 2004-08-25 19:27:40 -07:00 @@ -31,7 +31,7 @@ int snd_gus_iwffff_put_sample(void *private_data, iwffff_wave_t *wave, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; snd_gf1_mem_block_t *block; int err; @@ -61,7 +61,7 @@ int snd_gus_iwffff_get_sample(void *private_data, iwffff_wave_t *wave, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; return snd_gus_dram_read(gus, data, wave->address.memory, wave->size, wave->format & IWFFFF_WAVE_ROM ? 1 : 0); @@ -70,7 +70,7 @@ int snd_gus_iwffff_remove_sample(void *private_data, iwffff_wave_t *wave, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; if (wave->format & IWFFFF_WAVE_ROM) return 0; /* it's probably ok - verify the address? */ @@ -84,7 +84,7 @@ int snd_gus_gf1_put_sample(void *private_data, gf1_wave_t *wave, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; snd_gf1_mem_block_t *block; int err; @@ -112,7 +112,7 @@ int snd_gus_gf1_get_sample(void *private_data, gf1_wave_t *wave, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; return snd_gus_dram_read(gus, data, wave->address.memory, wave->size, 0); } @@ -120,7 +120,7 @@ int snd_gus_gf1_remove_sample(void *private_data, gf1_wave_t *wave, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; return snd_gf1_mem_free(&gus->gf1.mem_alloc, wave->address.memory); } @@ -132,7 +132,7 @@ int snd_gus_simple_put_sample(void *private_data, simple_instrument_t *instr, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; snd_gf1_mem_block_t *block; int err; @@ -159,7 +159,7 @@ int snd_gus_simple_get_sample(void *private_data, simple_instrument_t *instr, char __user *data, long len, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; return snd_gus_dram_read(gus, data, instr->address.memory, instr->size, 0); } @@ -167,7 +167,7 @@ int snd_gus_simple_remove_sample(void *private_data, simple_instrument_t *instr, int atomic) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return -ENXIO); + snd_gus_card_t *gus = private_data; return snd_gf1_mem_free(&gus->gf1.mem_alloc, instr->address.memory); } diff -Nru a/sound/isa/gus/gus_irq.c b/sound/isa/gus/gus_irq.c --- a/sound/isa/gus/gus_irq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_irq.c 2004-08-25 19:27:40 -07:00 @@ -32,7 +32,7 @@ irqreturn_t snd_gus_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - snd_gus_card_t * gus = snd_magic_cast(snd_gus_card_t, dev_id, return IRQ_NONE); + snd_gus_card_t * gus = dev_id; unsigned char status; int loop = 100; int handled = 0; @@ -114,7 +114,7 @@ snd_gus_voice_t *pvoice; int idx; - gus = snd_magic_cast(snd_gus_card_t, entry->private_data, return); + gus = entry->private_data; snd_iprintf(buffer, "midi out = %u\n", gus->gf1.interrupt_stat_midi_out); snd_iprintf(buffer, "midi in = %u\n", gus->gf1.interrupt_stat_midi_in); snd_iprintf(buffer, "timer1 = %u\n", gus->gf1.interrupt_stat_timer1); diff -Nru a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c --- a/sound/isa/gus/gus_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_main.c 2004-08-25 19:27:40 -07:00 @@ -35,8 +35,6 @@ MODULE_DESCRIPTION("Routines for Gravis UltraSound soundcards"); MODULE_LICENSE("GPL"); -#define chip_t snd_gus_card_t - static int snd_gus_init_dma_irq(snd_gus_card_t * gus, int latches); int snd_gus_use_inc(snd_gus_card_t * gus) @@ -133,13 +131,13 @@ disable_dma(gus->gf1.dma2); free_dma(gus->gf1.dma2); } - snd_magic_kfree(gus); + kfree(gus); return 0; } static int snd_gus_dev_free(snd_device_t *device) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, device->device_data, return -ENXIO); + snd_gus_card_t *gus = device->device_data; return snd_gus_free(gus); } @@ -159,7 +157,7 @@ }; *rgus = NULL; - gus = snd_magic_kcalloc(snd_gus_card_t, 0, GFP_KERNEL); + gus = kcalloc(1, sizeof(*gus), GFP_KERNEL); if (gus == NULL) return -ENOMEM; gus->gf1.irq = -1; @@ -421,7 +419,7 @@ static void snd_gus_seq_dev_free(snd_seq_device_t *seq_dev) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, seq_dev->private_data, return); + snd_gus_card_t *gus = seq_dev->private_data; gus->seq_dev = NULL; } diff -Nru a/sound/isa/gus/gus_mem.c b/sound/isa/gus/gus_mem.c --- a/sound/isa/gus/gus_mem.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_mem.c 2004-08-25 19:27:40 -07:00 @@ -297,7 +297,7 @@ unsigned int total, used; int i; - gus = snd_magic_cast(snd_gus_card_t, entry->private_data, return); + gus = entry->private_data; alloc = &gus->gf1.mem_alloc; down(&alloc->memory_mutex); snd_iprintf(buffer, "8-bit banks : \n "); diff -Nru a/sound/isa/gus/gus_mem_proc.c b/sound/isa/gus/gus_mem_proc.c --- a/sound/isa/gus/gus_mem_proc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_mem_proc.c 2004-08-25 19:27:40 -07:00 @@ -37,7 +37,7 @@ unsigned long count, unsigned long pos) { long size; - gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return -ENXIO); + gus_proc_private_t *priv = entry->private_data; snd_gus_card_t *gus = priv->gus; int err; @@ -58,7 +58,7 @@ long long offset, int orig) { - gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return -ENXIO); + gus_proc_private_t *priv = entry->private_data; switch (orig) { case 0: /* SEEK_SET */ @@ -80,8 +80,8 @@ static void snd_gf1_mem_proc_free(snd_info_entry_t *entry) { - gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return); - snd_magic_kfree(priv); + gus_proc_private_t *priv = entry->private_data; + kfree(priv); } static struct snd_info_entry_ops snd_gf1_mem_proc_ops = { @@ -98,7 +98,7 @@ for (idx = 0; idx < 4; idx++) { if (gus->gf1.mem_alloc.banks_8[idx].size > 0) { - priv = snd_magic_kcalloc(gus_proc_private_t, 0, GFP_KERNEL); + priv = kcalloc(1, sizeof(*priv), GFP_KERNEL); if (priv == NULL) return -ENOMEM; priv->gus = gus; @@ -115,7 +115,7 @@ } for (idx = 0; idx < 4; idx++) { if (gus->gf1.rom_present & (1 << idx)) { - priv = snd_magic_kcalloc(gus_proc_private_t, 0, GFP_KERNEL); + priv = kcalloc(1, sizeof(*priv), GFP_KERNEL); if (priv == NULL) return -ENOMEM; priv->rom = 1; diff -Nru a/sound/isa/gus/gus_mixer.c b/sound/isa/gus/gus_mixer.c --- a/sound/isa/gus/gus_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_mixer.c 2004-08-25 19:27:40 -07:00 @@ -26,8 +26,6 @@ #include #include -#define chip_t snd_gus_card_t - /* * */ @@ -148,16 +146,12 @@ return change; } -#define GF1_CONTROLS (sizeof(snd_gf1_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_gf1_controls[] = { GF1_SINGLE("Master Playback Switch", 0, 1, 1), GF1_SINGLE("Line Switch", 0, 0, 1), GF1_SINGLE("Mic Switch", 0, 2, 0) }; -#define ICS_CONTROLS (sizeof(snd_ics_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_ics_controls[] = { GF1_SINGLE("Master Playback Switch", 0, 1, 1), ICS_DOUBLE("Master Playback Volume", 0, SNDRV_ICS_MASTER_DEV), @@ -190,13 +184,13 @@ } if (!gus->ics_flag) { - max = gus->ess_flag ? 1 : GF1_CONTROLS; + max = gus->ess_flag ? 1 : ARRAY_SIZE(snd_gf1_controls); for (idx = 0; idx < max; idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_gf1_controls[idx], gus))) < 0) return err; } } else { - for (idx = 0; idx < ICS_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ics_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ics_controls[idx], gus))) < 0) return err; } diff -Nru a/sound/isa/gus/gus_pcm.c b/sound/isa/gus/gus_pcm.c --- a/sound/isa/gus/gus_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_pcm.c 2004-08-25 19:27:40 -07:00 @@ -34,8 +34,6 @@ #include #include "gus_tables.h" -#define chip_t snd_gus_card_t - /* maximum rate */ #define SNDRV_GF1_PCM_RATE 48000 @@ -66,7 +64,7 @@ static void snd_gf1_pcm_block_change_ack(snd_gus_card_t * gus, void *private_data) { - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, private_data, return); + gus_pcm_private_t *pcmp = private_data; if (pcmp) { atomic_dec(&pcmp->dma_count); @@ -81,7 +79,7 @@ { snd_gf1_dma_block_t block; snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; count += offset & 31; offset &= ~31; @@ -106,7 +104,7 @@ static void snd_gf1_pcm_trigger_up(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return); + gus_pcm_private_t *pcmp = runtime->private_data; snd_gus_card_t * gus = pcmp->gus; unsigned long flags; unsigned char voice_ctrl, ramp_ctrl; @@ -194,7 +192,7 @@ snd_gf1_smart_stop_voice(gus, pvoice->number); return; } - pcmp = snd_magic_cast(gus_pcm_private_t, pvoice->private_data, return); + pcmp = pvoice->private_data; if (pcmp == NULL) { snd_printd("snd_gf1_pcm: unknown wave irq?\n"); snd_gf1_smart_stop_voice(gus, pvoice->number); @@ -267,7 +265,7 @@ { unsigned short vol; int cvoice; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, pvoice->private_data, return); + gus_pcm_private_t *pcmp = pvoice->private_data; /* stop ramp, but leave rollover bit untouched */ spin_lock(&gus->reg_lock); @@ -350,7 +348,7 @@ snd_pcm_uframes_t count) { snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; unsigned int bpos, len; bpos = samples_to_bytes(runtime, pos) + (voice * (pcmp->dma_size / 2)); @@ -379,7 +377,7 @@ snd_pcm_uframes_t count) { snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; unsigned int bpos, len; bpos = samples_to_bytes(runtime, pos) + (voice * (pcmp->dma_size / 2)); @@ -406,7 +404,7 @@ { snd_gus_card_t *gus = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; int err; if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params))) < 0) @@ -453,7 +451,7 @@ static int snd_gf1_pcm_playback_hw_free(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; snd_pcm_lib_free_pages(substream); if (pcmp->pvoices[0]) { @@ -474,7 +472,7 @@ static int snd_gf1_pcm_playback_prepare(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; pcmp->bpos = 0; pcmp->dma_size = snd_pcm_lib_buffer_bytes(substream); @@ -488,7 +486,7 @@ { snd_gus_card_t *gus = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; int voice; if (cmd == SNDRV_PCM_TRIGGER_START) { @@ -513,7 +511,7 @@ { snd_gus_card_t *gus = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; unsigned int pos; unsigned char voice_ctrl; @@ -657,8 +655,8 @@ static void snd_gf1_pcm_playback_free(snd_pcm_runtime_t *runtime) { - gus_pcm_private_t * pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return); - snd_magic_kfree(pcmp); + gus_pcm_private_t * pcmp = runtime->private_data; + kfree(pcmp); } static int snd_gf1_pcm_playback_open(snd_pcm_substream_t *substream) @@ -668,7 +666,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; int err; - pcmp = snd_magic_kcalloc(gus_pcm_private_t, 0, GFP_KERNEL); + pcmp = kcalloc(1, sizeof(*pcmp), GFP_KERNEL); if (pcmp == NULL) return -ENOMEM; pcmp->gus = gus; @@ -697,7 +695,7 @@ { snd_gus_card_t *gus = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - gus_pcm_private_t *pcmp = snd_magic_cast(gus_pcm_private_t, runtime->private_data, return -ENXIO); + gus_pcm_private_t *pcmp = runtime->private_data; unsigned long jiffies_old; jiffies_old = jiffies; @@ -738,7 +736,7 @@ static void snd_gf1_pcm_free(snd_pcm_t *pcm) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, pcm->private_data, return); + snd_gus_card_t *gus = pcm->private_data; gus->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -790,7 +788,7 @@ pvoice = &gus->gf1.voices[idx]; if (!pvoice->pcm) continue; - pcmp = snd_magic_cast(gus_pcm_private_t, pvoice->private_data, return -ENXIO); + pcmp = pvoice->private_data; if (!(pcmp->flags & SNDRV_GF1_PCM_PFLG_ACTIVE)) continue; /* load real volume - better precision */ diff -Nru a/sound/isa/gus/gus_synth.c b/sound/isa/gus/gus_synth.c --- a/sound/isa/gus/gus_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_synth.c 2004-08-25 19:27:40 -07:00 @@ -134,7 +134,7 @@ int what) { unsigned int idx; - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, private_data, return); + snd_gus_card_t *gus = private_data; snd_gus_voice_t *pvoice; unsigned long flags; diff -Nru a/sound/isa/gus/gus_timer.c b/sound/isa/gus/gus_timer.c --- a/sound/isa/gus/gus_timer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_timer.c 2004-08-25 19:27:40 -07:00 @@ -26,8 +26,6 @@ #include #include -#define chip_t snd_gus_card_t - /* * Timer 1 - 80us */ @@ -146,13 +144,13 @@ static void snd_gf1_timer1_free(snd_timer_t *timer) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, timer->private_data, return); + snd_gus_card_t *gus = timer->private_data; gus->gf1.timer1 = NULL; } static void snd_gf1_timer2_free(snd_timer_t *timer) { - snd_gus_card_t *gus = snd_magic_cast(snd_gus_card_t, timer->private_data, return); + snd_gus_card_t *gus = timer->private_data; gus->gf1.timer2 = NULL; } diff -Nru a/sound/isa/gus/gus_uart.c b/sound/isa/gus/gus_uart.c --- a/sound/isa/gus/gus_uart.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gus_uart.c 2004-08-25 19:27:40 -07:00 @@ -95,7 +95,7 @@ unsigned long flags; snd_gus_card_t *gus; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return -ENXIO); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (!(gus->gf1.uart_cmd & 0x80)) { /* input active? */ snd_gf1_uart_reset(gus, 0); @@ -115,7 +115,7 @@ snd_gus_card_t *gus; int i; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return -ENXIO); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (gus->gf1.interrupt_handler_midi_out != snd_gf1_interrupt_midi_out) { snd_gf1_uart_reset(gus, 0); @@ -141,7 +141,7 @@ unsigned long flags; snd_gus_card_t *gus; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return -ENXIO); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (gus->gf1.interrupt_handler_midi_in != snd_gf1_interrupt_midi_in) snd_gf1_uart_reset(gus, 1); @@ -156,7 +156,7 @@ unsigned long flags; snd_gus_card_t *gus; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return -ENXIO); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (gus->gf1.interrupt_handler_midi_out != snd_gf1_interrupt_midi_out) snd_gf1_uart_reset(gus, 1); @@ -171,7 +171,7 @@ snd_gus_card_t *gus; unsigned long flags; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (up) { @@ -191,7 +191,7 @@ char byte; int timeout; - gus = snd_magic_cast(snd_gus_card_t, substream->rmidi->private_data, return); + gus = substream->rmidi->private_data; spin_lock_irqsave(&gus->uart_cmd_lock, flags); if (up) { diff -Nru a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c --- a/sound/isa/gus/gusclassic.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gusclassic.c 2004-08-25 19:27:40 -07:00 @@ -35,8 +35,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound Classic"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound Classic}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Classic}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -53,34 +52,24 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS Classic soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS Classic soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS Classic soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS Classic driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x260,0x10}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS Classic driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for GUS Classic driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for GUS Classic driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS Classic driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "GF1 channels for GUS Classic driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Classic driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); static snd_card_t *snd_gusclassic_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c --- a/sound/isa/gus/gusextreme.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gusextreme.c 2004-08-25 19:27:40 -07:00 @@ -38,8 +38,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound Extreme"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound Extreme}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Extreme}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -60,46 +59,32 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x260,0x20}},dialog:list"); module_param_array(gf1_port, long, boot_devs, 0444); MODULE_PARM_DESC(gf1_port, "GF1 port # for GUS Extreme driver (optional)."); -MODULE_PARM_SYNTAX(gf1_port, SNDRV_ENABLED ",allows:{{0x210,0x270,0x10}},dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x300,0x320,0x10}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10}},dialog:list"); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10}},dialog:list"); module_param_array(gf1_irq, int, boot_devs, 0444); MODULE_PARM_DESC(gf1_irq, "GF1 IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(gf1_irq, SNDRV_ENABLED ",allows:{{2},{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "GF1 DMA # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS Extreme driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "GF1 channels for GUS Extreme driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Extreme driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); static snd_card_t *snd_gusextreme_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c --- a/sound/isa/gus/gusmax.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/gusmax.c 2004-08-25 19:27:40 -07:00 @@ -36,8 +36,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound MAX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound MAX}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound MAX}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -54,34 +53,24 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS MAX soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS MAX soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS MAX soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS MAX driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220},{0x230},{0x240},{0x250},{0x260}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS MAX driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for GUS MAX driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for GUS MAX driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "Used GF1 channels for GUS MAX driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS MAX driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); struct snd_gusmax { int irq; diff -Nru a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c --- a/sound/isa/gus/interwave.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/gus/interwave.c 2004-08-25 19:27:40 -07:00 @@ -41,18 +41,17 @@ #include MODULE_AUTHOR("Jaroslav Kysela "); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); #ifndef SNDRV_STB MODULE_DESCRIPTION("AMD InterWave"); -MODULE_DEVICES("{{Gravis,UltraSound Plug & Play}," +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Plug & Play}," "{STB,SoundRage32}," "{MED,MED3210}," "{Dynasonix,Dynasonix Pro}," "{Panasonic,PCA761AW}}"); #else MODULE_DESCRIPTION("AMD InterWave STB with TEA6330T"); -MODULE_DEVICES("{{AMD,InterWave STB with TEA6330T}}"); +MODULE_SUPPORTED_DEVICE("{{AMD,InterWave STB with TEA6330T}}"); #endif static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -77,47 +76,32 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for InterWave soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for InterWave soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable InterWave soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); -#ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); -#endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for InterWave driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x210,0x260,0x10}},dialog:list"); #ifdef SNDRV_STB module_param_array(port_tc, long, boot_devs, 0444); MODULE_PARM_DESC(port_tc, "Tone control (TEA6330T - i2c bus) port # for InterWave driver."); -MODULE_PARM_SYNTAX(port_tc, SNDRV_ENABLED ",allows:{{0x350,0x380,0x10}},dialog:list"); #endif module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for InterWave driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for InterWave driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for InterWave driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for InterWave driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(midi, int, boot_devs, 0444); MODULE_PARM_DESC(midi, "MIDI UART enable for InterWave driver."); -MODULE_PARM_SYNTAX(midi, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for InterWave driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); module_param_array(effect, int, boot_devs, 0444); MODULE_PARM_DESC(effect, "Effects enable for InterWave driver."); -MODULE_PARM_SYNTAX(effect, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); struct snd_interwave { int irq; @@ -411,8 +395,8 @@ int bank_pos, pages; unsigned int i, lmct; int psizes[4]; + unsigned char iwave[8]; unsigned char csum; - struct rom_hdr romh; snd_interwave_reset(gus); snd_gf1_write8(gus, SNDRV_GF1_GB_GLOBAL_MODE, snd_gf1_read8(gus, SNDRV_GF1_GB_GLOBAL_MODE) | 0x01); /* enhanced mode */ @@ -434,7 +418,7 @@ #if 0 printk("lmct = 0x%08x\n", lmct); #endif - for (i = 0; i < sizeof(lmc) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(lmc); i++) if (lmct == lmc[i]) { #if 0 printk("found !!! %i\n", i); @@ -443,7 +427,7 @@ snd_interwave_bank_sizes(gus, psizes); break; } - if (i >= sizeof(lmc) / sizeof(unsigned int) && !gus->gf1.enh_mode) + if (i >= ARRAY_SIZE(lmc) && !gus->gf1.enh_mode) snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xfff0) | 2); for (i = 0; i < 4; i++) { gus->gf1.mem_alloc.banks_8[i].address = @@ -461,33 +445,29 @@ gus->gf1.rom_banks = 0; gus->gf1.rom_memory = 0; for (bank_pos = 0; bank_pos < 16L * 1024L * 1024L; bank_pos += 4L * 1024L * 1024L) { - for (i = 0; i < sizeof(struct rom_hdr); i++) - *(((unsigned char *) &romh) + i) = snd_gf1_peek(gus, i + bank_pos); + for (i = 0; i < 8; ++i) + iwave[i] = snd_gf1_peek(gus, bank_pos + i); #ifdef CONFIG_SND_DEBUG_ROM printk("ROM at 0x%06x = %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n", bank_pos, - romh.iwave[0], romh.iwave[1], romh.iwave[2], romh.iwave[3], - romh.iwave[4], romh.iwave[5], romh.iwave[6], romh.iwave[7]); + iwave[0], iwave[1], iwave[2], iwave[3], + iwave[4], iwave[5], iwave[6], iwave[7]); #endif - if (strncmp(romh.iwave, "INTRWAVE", 8)) + if (strncmp(iwave, "INTRWAVE", 8)) continue; /* first check */ csum = 0; - for (i = 0; i < sizeof(struct rom_hdr) - 1; i++) - csum += *(((unsigned char *) &romh) + i); + for (i = 0; i < sizeof(struct rom_hdr); i++) + csum += snd_gf1_peek(gus, bank_pos + i); #ifdef CONFIG_SND_DEBUG_ROM - printk("ROM checksum = 0x%x == 0x%x (computed)\n", romh.csum, (unsigned char) (256 - csum)); + printk("ROM checksum = 0x%x (computed)\n", csum); #endif - if (256 - csum != romh.csum) + if (csum != 0) continue; /* not valid rom */ gus->gf1.rom_banks++; gus->gf1.rom_present |= 1 << (bank_pos >> 22); -#ifdef SNDRV_LITTLE_ENDIAN - gus->gf1.rom_memory = romh.rom_size; -#else - gus->gf1.rom_memory = ((romh.rom_size >> 24) & 0x000000ff) | - ((romh.rom_size >> 8) & 0x0000ff00) | - ((romh.rom_size << 8) & 0x00ff0000) | - ((romh.rom_size << 24) & 0xff000000); -#endif + gus->gf1.rom_memory = snd_gf1_peek(gus, bank_pos + 40) | + (snd_gf1_peek(gus, bank_pos + 41) << 8) | + (snd_gf1_peek(gus, bank_pos + 42) << 16) | + (snd_gf1_peek(gus, bank_pos + 43) << 24); } #if 0 if (gus->gf1.rom_memory > 0) { @@ -523,8 +503,6 @@ } -#define INTERWAVE_CONTROLS (sizeof(snd_interwave_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_interwave_controls[] = { CS4231_DOUBLE("Master Playback Switch", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 7, 7, 1, 1), CS4231_DOUBLE("Master Playback Volume", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 0, 0, 31, 1), @@ -552,7 +530,7 @@ return err; #endif /* add new master and mic controls */ - for (idx = 0; idx < INTERWAVE_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_interwave_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_interwave_controls[idx], chip))) < 0) return err; snd_cs4231_out(chip, CS4231_LINE_LEFT_OUTPUT, 0x9f); diff -Nru a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c --- a/sound/isa/opl3sa2.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/opl3sa2.c 2004-08-25 19:27:40 -07:00 @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Yamaha OPL3SA2+"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Yamaha,YMF719E-S}," +MODULE_SUPPORTED_DEVICE("{{Yamaha,YMF719E-S}," "{Genius,Sound Maker 3DX}," "{Yamaha,OPL3SA3}," "{Intel,AL440LX sound}," @@ -63,45 +62,32 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0xf86},{0x370},{0x100}},dialog:list"); module_param_array(sb_port, long, boot_devs, 0444); MODULE_PARM_DESC(sb_port, "SB port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(sb_port, SNDRV_ENABLED ",allows:{{0x220},{0x240},{0x260}},dialog:list"); module_param_array(wss_port, long, boot_devs, 0444); MODULE_PARM_DESC(wss_port, "WSS port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(wss_port, SNDRV_ENABLED ",allows:{{0x530},{0xe80},{0xf40},{0x604}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388}},dialog:list"); module_param_array(midi_port, long, boot_devs, 0444); MODULE_PARM_DESC(midi_port, "MIDI port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(midi_port, SNDRV_ENABLED ",allows:{{0x330},{0x300}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{0},{1},{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(opl3sa3_ymode, int, boot_devs, 0444); MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); -MODULE_PARM_SYNTAX(opl3sa3_ymode, SNDRV_ENABLED ",allows:{{0,3}},dialog:list"); /* SL Added */ /* control ports */ #define OPL3SA2_PM_CTRL 0x01 @@ -131,7 +117,6 @@ #define OPL3SA2_PM_D3 (OPL3SA2_PM_ADOWN|OPL3SA2_PM_PSV|OPL3SA2_PM_PDN|OPL3SA2_PM_PDX) typedef struct snd_opl3sa2 opl3sa2_t; -#define chip_t opl3sa2_t struct snd_opl3sa2 { snd_card_t *card; @@ -304,7 +289,7 @@ static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id, struct pt_regs *regs) { unsigned short status; - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, dev_id, return IRQ_NONE); + opl3sa2_t *chip = dev_id; int handled = 0; if (chip == NULL || chip->card == NULL) @@ -477,8 +462,6 @@ return change; } -#define OPL3SA2_CONTROLS (sizeof(snd_opl3sa2_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opl3sa2_controls[] = { OPL3SA2_DOUBLE("Master Playback Switch", 0, 0x07, 0x08, 7, 7, 1, 1), OPL3SA2_DOUBLE("Master Playback Volume", 0, 0x07, 0x08, 0, 0, 15, 1), @@ -486,8 +469,6 @@ OPL3SA2_SINGLE("Mic Playback Volume", 0, 0x09, 0, 31, 1) }; -#define OPL3SA2_TONE_CONTROLS (sizeof(snd_opl3sa2_tone_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opl3sa2_tone_controls[] = { OPL3SA2_DOUBLE("3D Control - Wide", 0, 0x14, 0x14, 4, 0, 7, 0), OPL3SA2_DOUBLE("Tone Control - Bass", 0, 0x15, 0x15, 4, 0, 7, 0), @@ -496,7 +477,7 @@ static void snd_opl3sa2_master_free(snd_kcontrol_t *kcontrol) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, _snd_kcontrol_chip(kcontrol), return); + opl3sa2_t *chip = snd_kcontrol_chip(kcontrol); chip->master_switch = NULL; chip->master_volume = NULL; } @@ -531,7 +512,7 @@ if ((err = snd_ctl_rename_id(card, &id1, &id2)) < 0) return err; /* add OPL3SA2 controls */ - for (idx = 0; idx < OPL3SA2_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_opl3sa2_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_opl3sa2_controls[idx], chip))) < 0) return err; switch (idx) { @@ -540,7 +521,7 @@ } } if (chip->version > 2) { - for (idx = 0; idx < OPL3SA2_TONE_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_opl3sa2_tone_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_opl3sa2_tone_controls[idx], chip))) < 0) return err; } @@ -551,7 +532,7 @@ #ifdef CONFIG_PM static int snd_opl3sa2_suspend(snd_card_t *card, unsigned int state) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, card->pm_private_data, return -EINVAL); + opl3sa2_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->cs4231->pcm); /* stop before saving regs */ chip->cs4231_suspend(chip->cs4231); @@ -565,7 +546,7 @@ static int snd_opl3sa2_resume(snd_card_t *card, unsigned int state) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, card->pm_private_data, return -EINVAL); + opl3sa2_t *chip = card->pm_private_data; int i; /* power up */ @@ -656,13 +637,13 @@ release_resource(chip->res_port); kfree_nocheck(chip->res_port); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_opl3sa2_dev_free(snd_device_t *device) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, device->device_data, return -ENXIO); + opl3sa2_t *chip = device->device_data; return snd_opl3sa2_free(chip); } @@ -707,7 +688,7 @@ return -ENOMEM; strcpy(card->driver, "OPL3SA2"); strcpy(card->shortname, "Yamaha OPL3-SA2"); - chip = snd_magic_kcalloc(opl3sa2_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) { err = -ENOMEM; goto __error; diff -Nru a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c --- a/sound/isa/opti9xx/opti92x-ad1848.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/opti9xx/opti92x-ad1848.c 2004-08-25 19:27:40 -07:00 @@ -52,19 +52,18 @@ #include MODULE_AUTHOR("Massimo Piccioni "); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); #ifdef OPTi93X MODULE_DESCRIPTION("OPTi93X"); -MODULE_DEVICES("{{OPTi,82C931/3}}"); +MODULE_SUPPORTED_DEVICE("{{OPTi,82C931/3}}"); #else /* OPTi93X */ #ifdef CS4231 MODULE_DESCRIPTION("OPTi92X - CS4231"); -MODULE_DEVICES("{{OPTi,82C924 (CS4231)}," +MODULE_SUPPORTED_DEVICE("{{OPTi,82C924 (CS4231)}," "{OPTi,82C925 (CS4231)}}"); #else /* CS4231 */ MODULE_DESCRIPTION("OPTi92X - AD1848"); -MODULE_DEVICES("{{OPTi,82C924 (AD1848)}," +MODULE_SUPPORTED_DEVICE("{{OPTi,82C924 (AD1848)}," "{OPTi,82C925 (AD1848)}," "{OAK,Mozart}}"); #endif /* CS4231 */ @@ -86,38 +85,27 @@ module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for opti9xx based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for opti9xx based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); //module_param(enable, bool, 0444); //MODULE_PARM_DESC(enable, "Enable opti9xx soundcard."); -//MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(isapnp, bool, 0444); MODULE_PARM_DESC(isapnp, "Enable ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); module_param(port, long, 0444); MODULE_PARM_DESC(port, "WSS port # for opti9xx driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT_DESC); module_param(mpu_port, long, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for opti9xx driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT_DESC); module_param(fm_port, long, 0444); MODULE_PARM_DESC(fm_port, "FM port # for opti9xx driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT_DESC); module_param(irq, int, 0444); MODULE_PARM_DESC(irq, "WSS irq # for opti9xx driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param(mpu_irq, int, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for opti9xx driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param(dma1, int, 0444); MODULE_PARM_DESC(dma1, "1st dma # for opti9xx driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); #if defined(CS4231) || defined(OPTi93X) module_param(dma2, int, 0444); MODULE_PARM_DESC(dma2, "2nd dma # for opti9xx driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); #endif /* CS4231 || OPTi93X */ #define OPTi9XX_HW_DETECT 0 @@ -474,7 +462,6 @@ unsigned char dma_bits; unsigned char mpu_port_bits = 0; unsigned char mpu_irq_bits; - unsigned long flags; switch (chip->hardware) { #ifndef OPTi93X @@ -601,13 +588,11 @@ dma_bits |= 0x04; #endif /* CS4231 || OPTi93X */ - spin_lock_irqsave(&chip->lock, flags); #ifndef OPTi93X outb(irq_bits << 3 | dma_bits, chip->wss_base); #else /* OPTi93X */ snd_opti9xx_write(chip, OPTi9XX_MC_REG(3), (irq_bits << 3 | dma_bits)); #endif /* OPTi93X */ - spin_unlock_irqrestore(&chip->lock, flags); __skip_resources: if (chip->hardware > OPTi9XX_HW_82C928) { @@ -664,8 +649,6 @@ #ifdef OPTi93X -#define chip_t opti93x_t - static unsigned char snd_opti93x_default_image[32] = { 0x00, /* 00/00 - l_mixout_outctrl */ @@ -767,15 +750,10 @@ static void snd_opti93x_mute(opti93x_t *chip, int mute) { - unsigned long flags; - - spin_lock_irqsave(&chip->lock, flags); - mute = mute ? 1 : 0; - if (chip->mute == mute) { - spin_unlock_irqrestore(&chip->lock, flags); + if (chip->mute == mute) return; - } + chip->mute = mute; snd_opti93x_mute_reg(chip, OPTi93X_CD_LEFT_INPUT, mute); @@ -800,8 +778,6 @@ snd_opti93x_mute_reg(chip, OPTi93X_MIC_RIGHT_INPUT, mute); snd_opti93x_mute_reg(chip, OPTi93X_OUT_LEFT, mute); snd_opti93x_mute_reg(chip, OPTi93X_OUT_RIGHT, mute); - - spin_unlock_irqrestore(&chip->lock, flags); } @@ -822,7 +798,7 @@ static unsigned int rates[] = { 5512, 6615, 8000, 9600, 11025, 16000, 18900, 22050, 27428, 32000, 33075, 37800, 44100, 48000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) +#define RATES ARRAY_SIZE(rates) static snd_pcm_hw_constraint_list_t hw_constraints_rates = { .count = RATES, @@ -873,10 +849,8 @@ static void snd_opti93x_playback_format(opti93x_t *chip, unsigned char fmt) { - unsigned long flags; unsigned char mask; - spin_lock_irqsave(&chip->lock, flags); snd_opti93x_mute(chip, 1); snd_opti93x_mce_up(chip); @@ -885,14 +859,10 @@ snd_opti93x_mce_down(chip); snd_opti93x_mute(chip, 0); - spin_unlock_irqrestore(&chip->lock, flags); } static void snd_opti93x_capture_format(opti93x_t *chip, unsigned char fmt) { - unsigned long flags; - - spin_lock_irqsave(&chip->lock, flags); snd_opti93x_mute(chip, 1); snd_opti93x_mce_up(chip); @@ -904,7 +874,6 @@ snd_opti93x_mce_down(chip); snd_opti93x_mute(chip, 0); - spin_unlock_irqrestore(&chip->lock, flags); } @@ -1128,7 +1097,7 @@ irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - opti93x_t *codec = snd_magic_cast(opti93x_t, dev_id, return IRQ_NONE); + opti93x_t *codec = dev_id; unsigned char status; status = snd_opti9xx_read(codec->chip, OPTi9XX_MC_REG(11)); @@ -1274,13 +1243,13 @@ if (chip->irq >= 0) { free_irq(chip->irq, chip); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_opti93x_dev_free(snd_device_t *device) { - opti93x_t *chip = snd_magic_cast(opti93x_t, device->device_data, return -ENXIO); + opti93x_t *chip = device->device_data; return snd_opti93x_free(chip); } @@ -1305,7 +1274,7 @@ opti93x_t *codec; *rcodec = NULL; - codec = snd_magic_kcalloc(opti93x_t, 0, GFP_KERNEL); + codec = kcalloc(1, sizeof(*codec), GFP_KERNEL); if (codec == NULL) return -ENOMEM; codec->irq = -1; @@ -1385,7 +1354,7 @@ static void snd_opti93x_pcm_free(snd_pcm_t *pcm) { - opti93x_t *codec = snd_magic_cast(opti93x_t, pcm->private_data, return); + opti93x_t *codec = pcm->private_data; codec->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1608,8 +1577,6 @@ return change; } -#define OPTi93X_CONTROLS (sizeof(snd_opti93x_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opti93x_controls[] = { OPTi93X_DOUBLE("Master Playback Switch", 0, OPTi93X_OUT_LEFT, OPTi93X_OUT_RIGHT, 7, 7, 1, 1), OPTi93X_DOUBLE("Master Playback Volume", 0, OPTi93X_OUT_LEFT, OPTi93X_OUT_RIGHT, 1, 1, 31, 1), @@ -1649,7 +1616,7 @@ strcpy(card->mixername, snd_opti93x_chip_id(chip)); - for (idx = 0; idx < OPTi93X_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_opti93x_controls); idx++) { knew = snd_opti93x_controls[idx]; if (chip->hardware == OPTi9XX_HW_82C930) { if (strstr(knew.name, "FM")) /* skip FM controls */ diff -Nru a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c --- a/sound/isa/sb/emu8000.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000.c 2004-08-25 19:27:40 -07:00 @@ -345,8 +345,6 @@ EMU8000_INIT4_WRITE(emu, i, *p); } -#define NELEM(arr) (sizeof(arr)/sizeof((arr)[0])) - /* * Send initialization arrays to start up, this just follows the @@ -355,18 +353,18 @@ static void __init init_arrays(emu8000_t *emu) { - send_array(emu, init1, NELEM(init1)/4); + send_array(emu, init1, ARRAY_SIZE(init1)/4); set_current_state(TASK_INTERRUPTIBLE); schedule_timeout((HZ * (44099 + 1024)) / 44100); /* wait for 1024 clocks */ - send_array(emu, init2, NELEM(init2)/4); - send_array(emu, init3, NELEM(init3)/4); + send_array(emu, init2, ARRAY_SIZE(init2)/4); + send_array(emu, init3, ARRAY_SIZE(init3)/4); EMU8000_HWCF4_WRITE(emu, 0); EMU8000_HWCF5_WRITE(emu, 0x83); EMU8000_HWCF6_WRITE(emu, 0x8000); - send_array(emu, init4, NELEM(init4)/4); + send_array(emu, init4, ARRAY_SIZE(init4)/4); } @@ -821,8 +819,6 @@ * mixer interface *----------------------------------------------------------------*/ -#define chip_t emu8000_t - /* * bass/treble */ @@ -1070,7 +1066,7 @@ release_resource(hw->res_port3); kfree_nocheck(hw->res_port3); } - snd_magic_kfree(hw); + kfree(hw); return 0; } @@ -1078,7 +1074,7 @@ */ static int snd_emu8000_dev_free(snd_device_t *device) { - emu8000_t *hw = snd_magic_cast(emu8000_t, device->device_data, return -ENXIO); + emu8000_t *hw = device->device_data; return snd_emu8000_free(hw); } @@ -1101,7 +1097,7 @@ if (seq_ports <= 0) return 0; - hw = snd_magic_kcalloc(emu8000_t, 0, GFP_KERNEL); + hw = kcalloc(1, sizeof(*hw), GFP_KERNEL); if (hw == NULL) return -ENOMEM; spin_lock_init(&hw->reg_lock); diff -Nru a/sound/isa/sb/emu8000_callback.c b/sound/isa/sb/emu8000_callback.c --- a/sound/isa/sb/emu8000_callback.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000_callback.c 2004-08-25 19:27:40 -07:00 @@ -94,7 +94,7 @@ int dcysusv; emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, vp->hw, return); + hw = vp->hw; dcysusv = 0x8000 | (unsigned char)vp->reg.parm.modrelease; EMU8000_DCYSUS_WRITE(hw, vp->ch, dcysusv); dcysusv = 0x8000 | (unsigned char)vp->reg.parm.volrelease; @@ -109,7 +109,7 @@ { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, vp->hw, return); + hw = vp->hw; EMU8000_DCYSUSV_WRITE(hw, vp->ch, 0x807F); } @@ -121,7 +121,7 @@ { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, vp->hw, return); + hw = vp->hw; if (update & SNDRV_EMUX_UPDATE_VOLUME) set_volume(hw, vp); if (update & SNDRV_EMUX_UPDATE_PITCH) @@ -168,7 +168,7 @@ } best[END]; struct best *bp; - hw = snd_magic_cast(emu8000_t, emu->hw, return NULL); + hw = emu->hw; for (i = 0; i < END; i++) { best[i].time = (unsigned int)(-1); /* XXX MAX_?INT really */; @@ -235,7 +235,7 @@ snd_midi_channel_t *chan; emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, vp->hw, return -EINVAL); + hw = vp->hw; ch = vp->ch; chan = vp->chan; @@ -313,7 +313,7 @@ unsigned int temp; emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, vp->hw, return); + hw = vp->hw; /* set reverb and pitch target */ temp = vp->reg.parm.reverb; @@ -333,7 +333,7 @@ { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, emu->hw, return); + hw = emu->hw; EMU8000_DCYSUSV_WRITE(hw, ch, 0x807F); snd_emu8000_tweak_voice(hw, ch); } @@ -457,7 +457,7 @@ { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, emu->hw, return); + hw = emu->hw; switch (parsed) { case SNDRV_MIDI_SYSEX_GS_CHORUS_MODE: @@ -482,7 +482,7 @@ { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, emu->hw, return -EINVAL); + hw = emu->hw; switch (cmd) { case _EMUX_OSS_REVERB_MODE: @@ -526,7 +526,7 @@ load_fx(snd_emux_t *emu, int type, int mode, const void __user *buf, long len) { emu8000_t *hw; - hw = snd_magic_cast(emu8000_t, emu->hw, return -EINVAL); + hw = emu->hw; switch (type) { case SNDRV_EMU8000_LOAD_CHORUS_FX: diff -Nru a/sound/isa/sb/emu8000_local.h b/sound/isa/sb/emu8000_local.h --- a/sound/isa/sb/emu8000_local.h 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000_local.h 2004-08-25 19:27:40 -07:00 @@ -29,8 +29,6 @@ #include #include -#define NELEM(arr) (sizeof(arr)/sizeof((arr)[0])) - /* emu8000_patch.c */ int snd_emu8000_sample_new(snd_emux_t *rec, snd_sf_sample_t *sp, snd_util_memhdr_t *hdr, const void __user *data, long count); int snd_emu8000_sample_free(snd_emux_t *rec, snd_sf_sample_t *sp, snd_util_memhdr_t *hdr); diff -Nru a/sound/isa/sb/emu8000_patch.c b/sound/isa/sb/emu8000_patch.c --- a/sound/isa/sb/emu8000_patch.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000_patch.c 2004-08-25 19:27:40 -07:00 @@ -155,7 +155,7 @@ int dram_offset, dram_start; emu8000_t *emu; - emu = snd_magic_cast(emu8000_t, rec->hw, return -EINVAL); + emu = rec->hw; snd_assert(sp != NULL, return -EINVAL); if (sp->v.size == 0) diff -Nru a/sound/isa/sb/emu8000_pcm.c b/sound/isa/sb/emu8000_pcm.c --- a/sound/isa/sb/emu8000_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000_pcm.c 2004-08-25 19:27:40 -07:00 @@ -23,8 +23,6 @@ #include #include -#define chip_t emu8000_t - /* * define the following if you want to use this pcm with non-interleaved mode */ @@ -235,7 +233,7 @@ emu8k_pcm_t *rec; snd_pcm_runtime_t *runtime = subs->runtime; - rec = snd_kcalloc(sizeof(*rec), GFP_KERNEL); + rec = kcalloc(1, sizeof(*rec), GFP_KERNEL); if (! rec) return -ENOMEM; diff -Nru a/sound/isa/sb/emu8000_synth.c b/sound/isa/sb/emu8000_synth.c --- a/sound/isa/sb/emu8000_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/emu8000_synth.c 2004-08-25 19:27:40 -07:00 @@ -27,7 +27,6 @@ MODULE_AUTHOR("Takashi Iwai, Steve Ratcliffe"); MODULE_DESCRIPTION("Emu8000 synth plug-in routine"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); /*----------------------------------------------------------------*/ diff -Nru a/sound/isa/sb/es968.c b/sound/isa/sb/es968.c --- a/sound/isa/sb/es968.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/es968.c 2004-08-25 19:27:40 -07:00 @@ -29,15 +29,12 @@ #include #include -#define chip_t sb_t - #define PFX "es968: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("ESS AudioDrive ES968"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,AudioDrive ES968}}"); +MODULE_SUPPORTED_DEVICE("{{ESS,AudioDrive ES968}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,22 +46,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for es968 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for es968 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable es968 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for es968 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for es968 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for es968 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_card_es968 { struct pnp_dev *dev; @@ -82,7 +73,7 @@ static irqreturn_t snd_card_es968_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); + sb_t *chip = dev_id; if (chip->open & SB_OPEN_PCM) { return snd_sb8dsp_interrupt(chip); diff -Nru a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c --- a/sound/isa/sb/sb16.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb16.c 2004-08-25 19:27:40 -07:00 @@ -37,8 +37,6 @@ #define SNDRV_LEGACY_FIND_FREE_DMA #include -#define chip_t sb_t - #ifdef SNDRV_SBAWE #define PFX "sbawe: " #else @@ -47,17 +45,16 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifndef SNDRV_SBAWE MODULE_DESCRIPTION("Sound Blaster 16"); -MODULE_DEVICES("{{Creative Labs,SB 16}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB 16}," "{Creative Labs,SB Vibra16S}," "{Creative Labs,SB Vibra16C}," "{Creative Labs,SB Vibra16CL}," "{Creative Labs,SB Vibra16X}}"); #else MODULE_DESCRIPTION("Sound Blaster AWE"); -MODULE_DEVICES("{{Creative Labs,SB AWE 32}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB AWE 32}," "{Creative Labs,SB AWE 64}," "{Creative Labs,SB AWE 64 Gold}}"); #endif @@ -96,53 +93,39 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SB16 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220},{0x240},{0x260},{0x280}},dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for SB16 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x330},{0x300}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for SB16 PnP driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388},{0x38c},{0x390},{0x394}},dialog:list"); #ifdef SNDRV_SBAWE_EMU8000 module_param_array(awe_port, long, boot_devs, 0444); MODULE_PARM_DESC(awe_port, "AWE port # for SB16 PnP driver."); -MODULE_PARM_SYNTAX(awe_port, SNDRV_ENABLED ",allows:{{0x620},{0x640},{0x660},{0x680}},dialog:list"); #endif module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SB16 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for SB16 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma16, int, boot_devs, 0444); MODULE_PARM_DESC(dma16, "16-bit DMA # for SB16 driver."); -MODULE_PARM_SYNTAX(dma16, SNDRV_DMA16_DESC); module_param_array(mic_agc, int, boot_devs, 0444); MODULE_PARM_DESC(mic_agc, "Mic Auto-Gain-Control switch."); -MODULE_PARM_SYNTAX(mic_agc, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); #ifdef CONFIG_SND_SB16_CSP module_param_array(csp, int, boot_devs, 0444); MODULE_PARM_DESC(csp, "ASP/CSP chip support."); -MODULE_PARM_SYNTAX(csp, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); #endif #ifdef SNDRV_SBAWE_EMU8000 module_param_array(seq_ports, int, boot_devs, 0444); MODULE_PARM_DESC(seq_ports, "Number of sequencer ports for WaveTable synth."); -MODULE_PARM_SYNTAX(seq_ports, SNDRV_ENABLED ",allows:{{0,8}},skill:advanced"); #endif struct snd_card_sb16 { diff -Nru a/sound/isa/sb/sb16_csp.c b/sound/isa/sb/sb16_csp.c --- a/sound/isa/sb/sb16_csp.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb16_csp.c 2004-08-25 19:27:40 -07:00 @@ -33,12 +33,9 @@ #include #include -#define chip_t snd_sb_csp_t - MODULE_AUTHOR("Uros Bizjak "); MODULE_DESCRIPTION("ALSA driver for SB16 Creative Signal Processor"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifdef SNDRV_LITTLE_ENDIAN #define CSP_HDR_VALUE(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d)<<24)) @@ -127,7 +124,7 @@ if ((err = snd_hwdep_new(chip->card, "SB16-CSP", device, &hw)) < 0) return err; - if ((p = snd_magic_kcalloc(snd_sb_csp_t, 0, GFP_KERNEL)) == NULL) { + if ((p = kcalloc(1, sizeof(*p), GFP_KERNEL)) == NULL) { snd_device_free(chip->card, hw); return -ENOMEM; } @@ -165,11 +162,11 @@ */ static void snd_sb_csp_free(snd_hwdep_t *hwdep) { - snd_sb_csp_t *p = snd_magic_cast(snd_sb_csp_t, hwdep->private_data, return); + snd_sb_csp_t *p = hwdep->private_data; if (p) { if (p->running & SNDRV_SB_CSP_ST_RUNNING) snd_sb_csp_stop(p); - snd_magic_kfree(p); + kfree(p); } } @@ -180,7 +177,7 @@ */ static int snd_sb_csp_open(snd_hwdep_t * hw, struct file *file) { - snd_sb_csp_t *p = snd_magic_cast(snd_sb_csp_t, hw->private_data, return -ENXIO); + snd_sb_csp_t *p = hw->private_data; return (snd_sb_csp_use(p)); } @@ -189,7 +186,7 @@ */ static int snd_sb_csp_ioctl(snd_hwdep_t * hw, struct file *file, unsigned int cmd, unsigned long arg) { - snd_sb_csp_t *p = snd_magic_cast(snd_sb_csp_t, hw->private_data, return -ENXIO); + snd_sb_csp_t *p = hw->private_data; snd_sb_csp_info_t info; snd_sb_csp_start_t start_info; int err; @@ -258,7 +255,7 @@ */ static int snd_sb_csp_release(snd_hwdep_t * hw, struct file *file) { - snd_sb_csp_t *p = snd_magic_cast(snd_sb_csp_t, hw->private_data, return -ENXIO); + snd_sb_csp_t *p = hw->private_data; return (snd_sb_csp_unuse(p)); } @@ -1110,7 +1107,7 @@ static void info_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - snd_sb_csp_t *p = snd_magic_cast(snd_sb_csp_t, entry->private_data, return); + snd_sb_csp_t *p = entry->private_data; snd_iprintf(buffer, "Creative Signal Processor [v%d.%d]\n", (p->version >> 4), (p->version & 0x0f)); snd_iprintf(buffer, "State: %cx%c%c%c\n", ((p->running & SNDRV_SB_CSP_ST_QSOUND) ? 'Q' : '-'), diff -Nru a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c --- a/sound/isa/sb/sb16_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb16_main.c 2004-08-25 19:27:40 -07:00 @@ -49,13 +49,11 @@ MODULE_DESCRIPTION("Routines for control of 16-bit SoundBlaster cards and clones"); MODULE_LICENSE("GPL"); -#define chip_t sb_t - #ifdef CONFIG_SND_SB16_CSP static void snd_sb16_csp_playback_prepare(sb_t *chip, snd_pcm_runtime_t *runtime) { if (chip->hardware == SB_HW_16CSP) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->running & SNDRV_SB_CSP_ST_LOADED) { /* manually loaded codec */ @@ -103,7 +101,7 @@ static void snd_sb16_csp_capture_prepare(sb_t *chip, snd_pcm_runtime_t *runtime) { if (chip->hardware == SB_HW_16CSP) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->running & SNDRV_SB_CSP_ST_LOADED) { /* manually loaded codec */ @@ -141,7 +139,7 @@ static void snd_sb16_csp_update(sb_t *chip) { if (chip->hardware == SB_HW_16CSP) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->qpos_changed) { spin_lock(&chip->reg_lock); @@ -155,7 +153,7 @@ { /* CSP decoders (QSound excluded) support only 16bit transfers */ if (chip->hardware == SB_HW_16CSP) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->running & SNDRV_SB_CSP_ST_LOADED) { /* manually loaded codec */ @@ -173,7 +171,7 @@ static void snd_sb16_csp_playback_close(sb_t *chip) { if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_WRITE)) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->ops.csp_stop(csp) == 0) { csp->ops.csp_unuse(csp); @@ -186,7 +184,7 @@ { /* CSP coders support only 16bit transfers */ if (chip->hardware == SB_HW_16CSP) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->running & SNDRV_SB_CSP_ST_LOADED) { /* manually loaded codec */ @@ -204,7 +202,7 @@ static void snd_sb16_csp_capture_close(sb_t *chip) { if ((chip->hardware == SB_HW_16CSP) && (chip->open == SNDRV_SB_CSP_MODE_DSP_READ)) { - snd_sb_csp_t *csp = snd_magic_cast(snd_sb_csp_t, chip->csp, return); + snd_sb_csp_t *csp = chip->csp; if (csp->ops.csp_stop(csp) == 0) { csp->ops.csp_unuse(csp); @@ -395,7 +393,7 @@ irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); + sb_t *chip = dev_id; unsigned char status; int ok; diff -Nru a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c --- a/sound/isa/sb/sb8.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb8.c 2004-08-25 19:27:40 -07:00 @@ -30,13 +30,10 @@ #define SNDRV_LEGACY_AUTO_PROBE #include -#define chip_t sb_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Sound Blaster 1.0/2.0/Pro"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Creative Labs,SB 1.0/SB 2.0/SB Pro}}"); +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB 1.0/SB 2.0/SB Pro}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -48,22 +45,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SB8 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SB8 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for SB8 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_sb8 { struct resource *fm_res; /* used to block FM i/o region for legacy cards */ @@ -73,7 +64,7 @@ static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); + sb_t *chip = dev_id; if (chip->open & SB_OPEN_PCM) { return snd_sb8dsp_interrupt(chip); diff -Nru a/sound/isa/sb/sb8_main.c b/sound/isa/sb/sb8_main.c --- a/sound/isa/sb/sb8_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb8_main.c 2004-08-25 19:27:40 -07:00 @@ -42,8 +42,6 @@ MODULE_DESCRIPTION("Routines for control of 8-bit SoundBlaster cards and clones"); MODULE_LICENSE("GPL"); -#define chip_t sb_t - #define SB8_CLOCK 1000000 #define SB8_DEN(v) ((SB8_CLOCK + (v) / 2) / (v)) #define SB8_RATE(v) (SB8_CLOCK / SB8_DEN(v)) diff -Nru a/sound/isa/sb/sb8_midi.c b/sound/isa/sb/sb8_midi.c --- a/sound/isa/sb/sb8_midi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb8_midi.c 2004-08-25 19:27:40 -07:00 @@ -73,7 +73,7 @@ sb_t *chip; unsigned int valid_open_flags; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return -ENXIO); + chip = substream->rmidi->private_data; valid_open_flags = chip->hardware >= SB_HW_20 ? SB_OPEN_MIDI_OUTPUT | SB_OPEN_MIDI_OUTPUT_TRIGGER : 0; spin_lock_irqsave(&chip->open_lock, flags); @@ -100,7 +100,7 @@ sb_t *chip; unsigned int valid_open_flags; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return -ENXIO); + chip = substream->rmidi->private_data; valid_open_flags = chip->hardware >= SB_HW_20 ? SB_OPEN_MIDI_INPUT | SB_OPEN_MIDI_INPUT_TRIGGER : 0; spin_lock_irqsave(&chip->open_lock, flags); @@ -126,7 +126,7 @@ unsigned long flags; sb_t *chip; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return -ENXIO); + chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->open_lock, flags); chip->open &= ~(SB_OPEN_MIDI_INPUT | SB_OPEN_MIDI_INPUT_TRIGGER); chip->midi_substream_input = NULL; @@ -144,7 +144,7 @@ unsigned long flags; sb_t *chip; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return -ENXIO); + chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->open_lock, flags); chip->open &= ~(SB_OPEN_MIDI_OUTPUT | SB_OPEN_MIDI_OUTPUT_TRIGGER); chip->midi_substream_output = NULL; @@ -162,7 +162,7 @@ unsigned long flags; sb_t *chip; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return); + chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->open_lock, flags); if (up) { if (!(chip->open & SB_OPEN_MIDI_INPUT_TRIGGER)) { @@ -188,7 +188,7 @@ int max = 32; /* how big is Tx FIFO? */ - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return); + chip = substream->rmidi->private_data; while (max-- > 0) { spin_lock_irqsave(&chip->open_lock, flags); if (snd_rawmidi_transmit_peek(substream, &byte, 1) != 1) { @@ -219,7 +219,7 @@ static void snd_sb8dsp_midi_output_timer(unsigned long data) { snd_rawmidi_substream_t * substream = (snd_rawmidi_substream_t *) data; - sb_t * chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return); + sb_t * chip = substream->rmidi->private_data; unsigned long flags; spin_lock_irqsave(&chip->open_lock, flags); @@ -234,7 +234,7 @@ unsigned long flags; sb_t *chip; - chip = snd_magic_cast(sb_t, substream->rmidi->private_data, return); + chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->open_lock, flags); if (up) { if (!(chip->open & SB_OPEN_MIDI_OUTPUT_TRIGGER)) { diff -Nru a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c --- a/sound/isa/sb/sb_common.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb_common.c 2004-08-25 19:27:40 -07:00 @@ -33,12 +33,9 @@ #include #include -#define chip_t sb_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ALSA lowlevel driver for Sound Blaster cards"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #define BUSY_LOOPS 100000 @@ -197,13 +194,13 @@ free_dma(chip->dma16); } #endif - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_sbdsp_dev_free(snd_device_t *device) { - sb_t *chip = snd_magic_cast(sb_t, device->device_data, return -ENXIO); + sb_t *chip = device->device_data; return snd_sbdsp_free(chip); } @@ -224,7 +221,7 @@ snd_assert(r_chip != NULL, return -EINVAL); *r_chip = NULL; - chip = snd_magic_kcalloc(sb_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); diff -Nru a/sound/isa/sb/sb_mixer.c b/sound/isa/sb/sb_mixer.c --- a/sound/isa/sb/sb_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sb/sb_mixer.c 2004-08-25 19:27:40 -07:00 @@ -27,8 +27,6 @@ #include #include -#define chip_t sb_t - #undef IO_DEBUG void snd_sbmixer_write(sb_t *chip, unsigned char reg, unsigned char data) diff -Nru a/sound/isa/sgalaxy.c b/sound/isa/sgalaxy.c --- a/sound/isa/sgalaxy.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sgalaxy.c 2004-08-25 19:27:40 -07:00 @@ -39,8 +39,7 @@ MODULE_AUTHOR("Christopher Butler "); MODULE_DESCRIPTION("Aztech Sound Galaxy"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech Systems,Sound Galaxy}}"); +MODULE_SUPPORTED_DEVICE("{{Aztech Systems,Sound Galaxy}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -53,22 +52,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sound Galaxy soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sound Galaxy soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(sbport, long, boot_devs, 0444); MODULE_PARM_DESC(sbport, "Port # for Sound Galaxy SB driver."); -MODULE_PARM_SYNTAX(sbport, SNDRV_ENABLED ",allows:{{0x220},{0x240}},dialog:list"); module_param_array(wssport, long, boot_devs, 0444); MODULE_PARM_DESC(wssport, "Port # for Sound Galaxy WSS driver."); -MODULE_PARM_SYNTAX(wssport, SNDRV_ENABLED ",allows:{{0x530},{0xe80},{0xf40},{0x604}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for Sound Galaxy driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{7},{9},{10},{11}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for Sound Galaxy driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA8_DESC); #define SGALAXY_AUXC_LEFT 18 #define SGALAXY_AUXC_RIGHT 19 diff -Nru a/sound/isa/sscape.c b/sound/isa/sscape.c --- a/sound/isa/sscape.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/sscape.c 2004-08-25 19:27:40 -07:00 @@ -36,8 +36,6 @@ #include -#define chip_t cs4231_t - MODULE_AUTHOR("Chris Rankin"); MODULE_DESCRIPTION("ENSONIQ SoundScape PnP driver"); @@ -53,27 +51,21 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index number for SoundScape soundcard"); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "Description for SoundScape card"); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SoundScape driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SoundScape driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU401 IRQ # for SoundScape driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma, int, boot_devs, 0444); MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); -MODULE_PARM_SYNTAX(dma, SNDRV_DMA8_DESC); #ifdef CONFIG_PNP static struct pnp_card_device_id sscape_pnpids[] = { @@ -177,11 +169,8 @@ static struct snd_dma_buffer *get_dmabuf(struct snd_dma_buffer *buf, unsigned long size) { if (buf) { - struct snd_dma_device dev; - memset(&dev, 0, sizeof(dev)); - dev.type = SNDRV_DMA_TYPE_DEV; - dev.dev = snd_dma_isa_data(); - if (snd_dma_alloc_pages_fallback(&dev, size, buf) < 0) { + if (snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, snd_dma_isa_data(), + size, buf) < 0) { snd_printk(KERN_ERR "sscape: Failed to allocate %lu bytes for DMA\n", size); return NULL; } @@ -195,13 +184,8 @@ */ static void free_dmabuf(struct snd_dma_buffer *buf) { - if (buf && buf->area) { - struct snd_dma_device dev; - memset(&dev, 0, sizeof(dev)); - dev.type = SNDRV_DMA_TYPE_DEV; - dev.dev = snd_dma_isa_data(); - snd_dma_free_pages(&dev, buf); - } + if (buf && buf->area) + snd_dma_free_pages(buf); } diff -Nru a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c --- a/sound/isa/wavefront/wavefront.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/wavefront/wavefront.c 2004-08-25 19:27:40 -07:00 @@ -30,13 +30,10 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Paul Barton-Davis "); MODULE_DESCRIPTION("Turtle Beach Wavefront"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Turtle Beach,Maui/Tropez/Tropez+}}"); +MODULE_SUPPORTED_DEVICE("{{Turtle Beach,Maui/Tropez/Tropez+}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -56,48 +53,34 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for WaveFront soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for WaveFront soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable WaveFront soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for WaveFront soundcards."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(cs4232_pcm_port, long, boot_devs, 0444); MODULE_PARM_DESC(cs4232_pcm_port, "Port # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(cs4232_pcm_port, SNDRV_PORT12_DESC); module_param_array(cs4232_pcm_irq, int, boot_devs, 0444); MODULE_PARM_DESC(cs4232_pcm_irq, "IRQ # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(cs4232_pcm_irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(cs4232_mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(cs4232_mpu_port, "port # for CS4232 MPU-401 interface."); -MODULE_PARM_SYNTAX(cs4232_mpu_port, SNDRV_PORT12_DESC); module_param_array(cs4232_mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(cs4232_mpu_irq, "IRQ # for CS4232 MPU-401 interface."); -MODULE_PARM_SYNTAX(cs4232_mpu_irq, SNDRV_ENABLED ",allows:{{9},{11},{12},{15}},dialog:list"); module_param_array(ics2115_irq, int, boot_devs, 0444); MODULE_PARM_DESC(ics2115_irq, "IRQ # for ICS2115."); -MODULE_PARM_SYNTAX(ics2115_irq, SNDRV_ENABLED ",allows:{{9},{11},{12},{15}},dialog:list"); module_param_array(ics2115_port, long, boot_devs, 0444); MODULE_PARM_DESC(ics2115_port, "Port # for ICS2115."); -MODULE_PARM_SYNTAX(ics2115_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port #."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(use_cs4232_midi, bool, boot_devs, 0444); MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); -MODULE_PARM_SYNTAX(use_cs4232_midi, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static snd_card_t *snd_wavefront_legacy[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff -Nru a/sound/isa/wavefront/wavefront_fx.c b/sound/isa/wavefront/wavefront_fx.c --- a/sound/isa/wavefront/wavefront_fx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/wavefront/wavefront_fx.c 2004-08-25 19:27:40 -07:00 @@ -486,8 +486,9 @@ snd_wavefront_card_t *acard; snd_wavefront_t *dev; wavefront_fx_info r; - unsigned short page_data[256]; + unsigned short *page_data = NULL; unsigned short *pd; + int err = 0; snd_assert(sdev->card != NULL, return -ENODEV); @@ -514,23 +515,30 @@ } else if (r.data[2] == 1) { pd = (unsigned short *) &r.data[3]; } else { - if (r.data[2] > (long)sizeof (page_data)) { + if (r.data[2] > 256) { snd_printk ("cannot write " - "> 255 bytes to FX\n"); + "> 512 bytes to FX\n"); return -EIO; } + page_data = kmalloc(r.data[2] * sizeof(short), GFP_KERNEL); + if (!page_data) + return -ENOMEM; if (copy_from_user (page_data, (unsigned char __user *) r.data[3], - r.data[2])) + r.data[2] * sizeof(short))) { + kfree(page_data); return -EFAULT; + } pd = page_data; } - wavefront_fx_memset (dev, + err = wavefront_fx_memset (dev, r.data[0], /* page */ r.data[1], /* addr */ r.data[2], /* cnt */ pd); + if (page_data) + kfree(page_data); break; default: @@ -538,7 +546,7 @@ r.request); return -ENOTTY; } - return 0; + return err; } /* YSS225 initialization. diff -Nru a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c --- a/sound/isa/wavefront/wavefront_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/isa/wavefront/wavefront_synth.c 2004-08-25 19:27:40 -07:00 @@ -1961,6 +1961,12 @@ break; } + if (section_length < 0 || section_length > WF_SECTION_MAX) { + snd_printk ("invalid firmware section length %d\n", + section_length); + goto failure; + } + if (sys_read (fd, section, section_length) != section_length) { snd_printk ("firmware section " "read error.\n"); diff -Nru a/sound/parisc/harmony.c b/sound/parisc/harmony.c --- a/sound/parisc/harmony.c 2004-08-25 19:27:40 -07:00 +++ b/sound/parisc/harmony.c 2004-08-25 19:27:40 -07:00 @@ -80,8 +80,7 @@ MODULE_AUTHOR("Laurent Canet "); MODULE_DESCRIPTION("ALSA Harmony sound driver"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Harmony soundcard}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Harmony soundcard}}"); #undef DEBUG #ifdef DEBUG @@ -138,13 +137,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* Register offset (from base hpa) */ #define REG_ID 0x00 @@ -216,7 +212,6 @@ snd_pcm_substream_t *capture_substream; snd_info_entry_t *proc_entry; } snd_card_harmony_t; -#define chip_t snd_card_harmony_t static snd_card_t *snd_harmony_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; @@ -243,10 +238,8 @@ 44100, 48000 }; -#define RATES sizeof(snd_card_harmony_rates) / sizeof(snd_card_harmony_rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraint_rates = { - .count = RATES, + .count = ARRAY_SIZE(snd_card_harmony_rates), .list = snd_card_harmony_rates, .mask = 0, }; @@ -283,7 +276,7 @@ { unsigned int idx; - for (idx = 0; idx <= RATES; idx++) + for (idx = 0; idx <= ARRAY_SIZE(snd_card_harmony_rates); idx++) if (snd_card_harmony_rates[idx] == rate) return rate_bits[idx]; return HARMONY_SR_44KHZ; /* fallback */ @@ -751,6 +744,8 @@ int err; err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); + if (err > 0 && substream->dma_device.type == SNDRV_DMA_TYPE_CONTINUOUS) + substream->runtime->dma_addr = __pa(substream->runtime->dma_area); DPRINTK(KERN_INFO PFX "HW Params returned %d, dma_addr %lx\n", err, (unsigned long)substream->runtime->dma_addr); return err; @@ -784,7 +779,7 @@ .pointer = snd_card_harmony_capture_pointer, }; -static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony, int device) +static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony) { snd_pcm_t *pcm; int err; @@ -797,7 +792,7 @@ snd_harmony_disable_interrupts(harmony); - if ((err = snd_pcm_new(harmony->card, "Harmony", device, 1, 1, &pcm)) < 0) + if ((err = snd_pcm_new(harmony->card, "Harmony", 0, 1, 1, &pcm)) < 0) return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_harmony_playback_ops); @@ -811,28 +806,54 @@ /* initialize graveyard buffer */ harmony->dma_dev.type = SNDRV_DMA_TYPE_DEV; harmony->dma_dev.dev = &harmony->pa_dev->dev; - err = snd_dma_alloc_pages(&harmony->dma_dev, HARMONY_BUF_SIZE*GRAVEYARD_BUFS, + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*GRAVEYARD_BUFS, &harmony->graveyard_dma); - if (err < 0) + if (err == -ENOMEM) { + /* use continuous buffers */ + harmony->dma_dev.type = SNDRV_DMA_TYPE_CONTINUOUS; + harmony->dma_dev.dev = snd_dma_continuous_data(GFP_KERNEL); + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*GRAVEYARD_BUFS, + &harmony->graveyard_dma); + } + if (err < 0) { + printk(KERN_ERR PFX "can't allocate graveyard buffer\n"); return err; + } harmony->graveyard_count = 0; /* initialize silence buffers */ - err = snd_dma_alloc_pages(&harmony->dma_dev, HARMONY_BUF_SIZE*SILENCE_BUFS, + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*SILENCE_BUFS, &harmony->silence_dma); - if (err < 0) + if (err < 0) { + printk(KERN_ERR PFX "can't allocate silence buffer\n"); return err; + } harmony->silence_count = 0; + if (harmony->dma_dev.type == SNDRV_DMA_TYPE_CONTINUOUS) { + harmony->graveyard_dma.addr = __pa(harmony->graveyard_dma.area); + harmony->silence_dma.addr = __pa(harmony->silence_dma.area); + } + harmony->ply_stopped = harmony->cap_stopped = 1; harmony->playback_substream = NULL; harmony->capture_substream = NULL; harmony->graveyard_count = 0; - - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, - &harmony->pa_dev->dev, - MAX_BUFFER_SIZE, MAX_BUFFER_SIZE); + + err = snd_pcm_lib_preallocate_pages_for_all(pcm, harmony->dma_dev.type, + harmony->dma_dev.dev, + MAX_BUFFER_SIZE, MAX_BUFFER_SIZE); + if (err < 0) { + printk(KERN_ERR PFX "buffer allocation error %d\n", err); + // return err; + } return 0; } @@ -871,7 +892,7 @@ static int snd_harmony_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_harmony_t *harmony = _snd_kcontrol_chip(kcontrol); + snd_card_harmony_t *harmony = snd_kcontrol_chip(kcontrol); int shift_left = (kcontrol->private_value) & 0xff; int shift_right = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -896,7 +917,7 @@ static int snd_harmony_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_harmony_t *harmony = _snd_kcontrol_chip(kcontrol); + snd_card_harmony_t *harmony = snd_kcontrol_chip(kcontrol); int shift_left = (kcontrol->private_value) & 0xff; int shift_right = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -1037,7 +1058,7 @@ snd_card_free(card); return err; } - if ((err = snd_card_harmony_pcm_init(chip, dev)) < 0) { + if ((err = snd_card_harmony_pcm_init(chip)) < 0) { printk(KERN_ERR PFX "PCM Init failed\n"); snd_card_free(card); return err; diff -Nru a/sound/pci/Kconfig b/sound/pci/Kconfig --- a/sound/pci/Kconfig 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/Kconfig 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,14 @@ help Say 'Y' or 'M' to include support for ATI IXP 150/200/250/300 AC97 controller. +config SND_ATIIXP_MODEM + tristate "ATI IXP 150/200/250 Modem" + depends on SND + select SND_AC97_CODEC + help + Say 'Y' or 'M' to include support for ATI IXP 150/200/250 AC97 modem + controller. + config SND_AU8810 tristate "Aureal Advantage" depends on SND @@ -290,12 +298,12 @@ SiS 7012, AMD768/8111, NVidia NForce and ALi 5455 chips. config SND_INTEL8X0M - tristate "Intel i8x0/MX440; AMD768/8111 modems (EXPERIMENTAL)" + tristate "Intel i8x0/MX440; SiS 7013; NForce; AMD768/8111 modems (EXPERIMENTAL)" depends on SND && EXPERIMENTAL select SND_AC97_CODEC help - Say 'Y' or 'M' to include support for Intel8x0 and AMD768/8111 based - modems. + Say 'Y' or 'M' to include support for Intel8x0, SiS 7013, NVidia NForce + and AMD768/8111 based modems. config SND_SONICVIBES tristate "S3 SonicVibes" diff -Nru a/sound/pci/Makefile b/sound/pci/Makefile --- a/sound/pci/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/Makefile 2004-08-25 19:27:40 -07:00 @@ -5,6 +5,7 @@ snd-als4000-objs := als4000.o snd-atiixp-objs := atiixp.o +snd-atiixp-modem-objs := atiixp_modem.o snd-azt3328-objs := azt3328.o snd-bt87x-objs := bt87x.o snd-cmipci-objs := cmipci.o @@ -25,6 +26,7 @@ # Toplevel Module Dependency obj-$(CONFIG_SND_ALS4000) += snd-als4000.o obj-$(CONFIG_SND_ATIIXP) += snd-atiixp.o +obj-$(CONFIG_SND_ATIIXP_MODEM) += snd-atiixp-modem.o obj-$(CONFIG_SND_AZT3328) += snd-azt3328.o obj-$(CONFIG_SND_BT87X) += snd-bt87x.o obj-$(CONFIG_SND_CMIPCI) += snd-cmipci.o diff -Nru a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c --- a/sound/pci/ac97/ac97_codec.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_codec.c 2004-08-25 19:27:40 -07:00 @@ -45,9 +45,6 @@ module_param(enable_loopback, bool, 0444); MODULE_PARM_DESC(enable_loopback, "Enable AC97 ADC/DAC Loopback Control"); -MODULE_PARM_SYNTAX(enable_loopback, SNDRV_BOOLEAN_FALSE_DESC); - -#define chip_t ac97_t /* @@ -108,12 +105,13 @@ { 0x41445375, 0xffffffff, "AD1985", patch_ad1985, NULL }, { 0x414c4300, 0xffffff00, "ALC100/100P", NULL, NULL }, { 0x414c4710, 0xfffffff0, "ALC200/200P", NULL, NULL }, +{ 0x414c4721, 0xffffffff, "ALC650D", NULL, NULL }, /* already patched */ +{ 0x414c4722, 0xffffffff, "ALC650E", NULL, NULL }, /* already patched */ +{ 0x414c4723, 0xffffffff, "ALC650F", NULL, NULL }, /* already patched */ { 0x414c4720, 0xfffffff0, "ALC650", patch_alc650, NULL }, -{ 0x414c4721, 0xfffffff0, "ALC650D", patch_alc650, NULL }, -{ 0x414c4722, 0xfffffff0, "ALC650E", patch_alc650, NULL }, -{ 0x414c4723, 0xfffffff0, "ALC650F", patch_alc650, NULL }, { 0x414c4760, 0xfffffff0, "ALC655", patch_alc655, NULL }, { 0x414c4780, 0xfffffff0, "ALC658", patch_alc655, NULL }, +{ 0x414c4790, 0xfffffff0, "ALC850", patch_alc850, NULL }, { 0x414c4730, 0xffffffff, "ALC101", NULL, NULL }, { 0x414c4740, 0xfffffff0, "ALC202", NULL, NULL }, { 0x414c4750, 0xfffffff0, "ALC250", NULL, NULL }, @@ -214,6 +212,13 @@ }; /* + * Shared AC97 controllers (ICH, ATIIXP...) + */ +static DECLARE_MUTEX(shared_codec_mutex); +static ac97_t *shared_codec[AC97_SHARED_TYPES][4]; + + +/* * I/O routines */ @@ -274,12 +279,12 @@ { if (!snd_ac97_valid_reg(ac97, reg)) return; - if ((ac97->id & 0xffffff00) == 0x414c4300) { + if ((ac97->id & 0xffffff00) == AC97_ID_ALC100) { /* Fix H/W bug of ALC100/100P */ if (reg == AC97_MASTER || reg == AC97_HEADPHONE) - ac97->bus->write(ac97, AC97_RESET, 0); /* reset audio codec */ + ac97->bus->ops->write(ac97, AC97_RESET, 0); /* reset audio codec */ } - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); } /** @@ -297,14 +302,14 @@ { if (!snd_ac97_valid_reg(ac97, reg)) return 0; - return ac97->bus->read(ac97, reg); + return ac97->bus->ops->read(ac97, reg); } /* read a register - return the cached value if already read */ static inline unsigned short snd_ac97_read_cache(ac97_t *ac97, unsigned short reg) { if (! test_bit(reg, ac97->reg_accessed)) { - ac97->regs[reg] = ac97->bus->read(ac97, reg); + ac97->regs[reg] = ac97->bus->ops->read(ac97, reg); // set_bit(reg, ac97->reg_accessed); } return ac97->regs[reg]; @@ -327,7 +332,7 @@ spin_lock(&ac97->reg_lock); ac97->regs[reg] = value; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); set_bit(reg, ac97->reg_accessed); } @@ -354,7 +359,7 @@ if (change) { ac97->regs[reg] = value; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); } else spin_unlock(&ac97->reg_lock); return change; @@ -387,7 +392,7 @@ if (change) { ac97->regs[reg] = new; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, new); + ac97->bus->ops->write(ac97, reg, new); } else spin_unlock(&ac97->reg_lock); return change; @@ -398,7 +403,7 @@ int change; unsigned short old, new, cfg; - down(&ac97->spec.ad18xx.mutex); + down(&ac97->mutex); spin_lock(&ac97->reg_lock); old = ac97->spec.ad18xx.pcmreg[codec]; new = (old & ~mask) | value; @@ -408,17 +413,17 @@ ac97->spec.ad18xx.pcmreg[codec] = new; spin_unlock(&ac97->reg_lock); /* select single codec */ - ac97->bus->write(ac97, AC97_AD_SERIAL_CFG, + ac97->bus->ops->write(ac97, AC97_AD_SERIAL_CFG, (cfg & ~0x7000) | ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); /* update PCM bits */ - ac97->bus->write(ac97, AC97_PCM, new); + ac97->bus->ops->write(ac97, AC97_PCM, new); /* select all codecs */ - ac97->bus->write(ac97, AC97_AD_SERIAL_CFG, + ac97->bus->ops->write(ac97, AC97_AD_SERIAL_CFG, cfg | 0x7000); } else spin_unlock(&ac97->reg_lock); - up(&ac97->spec.ad18xx.mutex); + up(&ac97->mutex); return change; } @@ -545,7 +550,7 @@ int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; - int invert = (kcontrol->private_value >> 24) & 0xff; + int invert = (kcontrol->private_value >> 24) & 0x01; ucontrol->value.integer.value[0] = (snd_ac97_read_cache(ac97, reg) >> shift) & mask; if (invert) @@ -559,7 +564,7 @@ int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; - int invert = (kcontrol->private_value >> 24) & 0xff; + int invert = (kcontrol->private_value >> 24) & 0x01; unsigned short val; val = (ucontrol->value.integer.value[0] & mask); @@ -625,6 +630,40 @@ (val1 << shift_left) | (val2 << shift_right)); } +int snd_ac97_getput_page(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, + int (*func)(snd_kcontrol_t *, snd_ctl_elem_value_t *)) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + int reg = kcontrol->private_value & 0xff; + int err; + + if ((ac97->ext_id & AC97_EI_REV_MASK) >= AC97_EI_REV_23 && + (reg >= 0x60 && reg < 0x70)) { + unsigned short page_save; + unsigned short page = (kcontrol->private_value >> 25) & 0x0f; + down(&ac97->mutex); /* lock paging */ + page_save = snd_ac97_read(ac97, AC97_INT_PAGING) & AC97_PAGE_MASK; + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page); + err = func(kcontrol, ucontrol); + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page_save); + up(&ac97->mutex); /* unlock paging */ + } else + err = func(kcontrol, ucontrol); + return err; +} + +/* for rev2.3 paging */ +int snd_ac97_page_get_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + return snd_ac97_getput_page(kcontrol, ucontrol, snd_ac97_get_single); +} + +/* for rev2.3 paging */ +int snd_ac97_page_put_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + return snd_ac97_getput_page(kcontrol, ucontrol, snd_ac97_put_single); +} + static const snd_kcontrol_new_t snd_ac97_controls_master_mono[2] = { AC97_SINGLE("Master Mono Playback Switch", AC97_MASTER_MONO, 15, 1, 1), AC97_SINGLE("Master Mono Playback Volume", AC97_MASTER_MONO, 0, 31, 1) @@ -1009,14 +1048,14 @@ kfree(bus->pcms); if (bus->private_free) bus->private_free(bus); - snd_magic_kfree(bus); + kfree(bus); } return 0; } static int snd_ac97_bus_dev_free(snd_device_t *device) { - ac97_bus_t *bus = snd_magic_cast(ac97_bus_t, device->device_data, return -ENXIO); + ac97_bus_t *bus = device->device_data; return snd_ac97_bus_free(bus); } @@ -1024,18 +1063,24 @@ { if (ac97) { snd_ac97_proc_done(ac97); - if (ac97->bus) + if (ac97->bus) { ac97->bus->codec[ac97->num] = NULL; + if (ac97->bus->shared_type) { + down(&shared_codec_mutex); + shared_codec[ac97->bus->shared_type-1][ac97->num] = NULL; + up(&shared_codec_mutex); + } + } if (ac97->private_free) ac97->private_free(ac97); - snd_magic_kfree(ac97); + kfree(ac97); } return 0; } static int snd_ac97_dev_free(snd_device_t *device) { - ac97_t *ac97 = snd_magic_cast(ac97_t, device->device_data, return -ENXIO); + ac97_t *ac97 = device->device_data; snd_ac97_powerdown(ac97); /* for avoiding click noises during shut down */ return snd_ac97_free(ac97); } @@ -1120,6 +1165,7 @@ snd_ac97_write_cache(ac97, reg, 0x8000); } +/* check the volume resolution of center/lfe */ static void snd_ac97_change_volume_params2(ac97_t * ac97, int reg, int shift, unsigned char *max) { unsigned short val, val1; @@ -1135,6 +1181,7 @@ snd_ac97_write_cache(ac97, reg, 0x8080); } +/* check whether the volume resolution is 4 or 5 bits */ static void snd_ac97_change_volume_params3(ac97_t * ac97, int reg, unsigned char *max) { unsigned short val, val1; @@ -1150,6 +1197,18 @@ snd_ac97_write_cache(ac97, reg, 0x8000); } +/* check whether the volume is mono or stereo */ +static int snd_ac97_is_stereo_vol(ac97_t *ac97, int reg) +{ + unsigned short val, val1, val2; + val = snd_ac97_read(ac97, reg); + val1 = val | 0x8000 | (0x01 << 8); + snd_ac97_write(ac97, reg, val1); + val2 = snd_ac97_read(ac97, reg); + snd_ac97_write(ac97, reg, val); /* restore */ + return val1 == val2; +} + static inline int printable(unsigned int x) { x &= 0xff; @@ -1178,6 +1237,9 @@ snd_kcontrol_t *kctl; int stereo = 0; + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; + if (ac97->flags & AC97_STEREO_MUTES) { /* check whether both mute bits work */ unsigned short val, val1; @@ -1208,6 +1270,9 @@ int err; snd_kcontrol_new_t tmp = AC97_DOUBLE(name, reg, 8, 0, (unsigned int)max, 1); tmp.index = ac97->num; + + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; if ((err = snd_ctl_add(card, snd_ctl_new1(&tmp, ac97))) < 0) return err; snd_ac97_write_cache(ac97, reg, @@ -1225,6 +1290,9 @@ char name[44]; unsigned char max; + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; + sprintf(name, "%s Switch", pfx); if ((err = snd_ac97_cmute_new(card, name, reg, ac97)) < 0) return err; @@ -1239,6 +1307,8 @@ } +static unsigned int snd_ac97_determine_spdif_rates(ac97_t *ac97); + static int snd_ac97_mixer_build(ac97_t * ac97) { snd_card_t *card = ac97->bus->card; @@ -1293,11 +1363,8 @@ } /* build headphone controls */ - if (snd_ac97_try_volume_mix(ac97, AC97_HEADPHONE) || ac97->id == AC97_ID_STAC9708) { - const char *name = ac97->id == AC97_ID_STAC9708 ? - "Sigmatel Surround Playback" : - "Headphone Playback"; - if ((err = snd_ac97_cmix_new(card, name, AC97_HEADPHONE, 1, ac97)) < 0) + if (snd_ac97_try_volume_mix(ac97, AC97_HEADPHONE)) { + if ((err = snd_ac97_cmix_new(card, "Headphone Playback", AC97_HEADPHONE, 1, ac97)) < 0) return err; } @@ -1332,7 +1399,8 @@ for (idx = 0; idx < 2; idx++) if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_pc_beep[idx], ac97))) < 0) return err; - snd_ac97_write_cache(ac97, AC97_PC_BEEP, 0x801e); + snd_ac97_write_cache(ac97, AC97_PC_BEEP, + snd_ac97_read(ac97, AC97_PC_BEEP) | 0x801e); } /* build Phone controls */ @@ -1349,15 +1417,26 @@ /* build MIC controls */ snd_ac97_change_volume_params3(ac97, AC97_MIC, &max); - for (idx = 0; idx < 3; idx++) { - if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_mic[idx], ac97))) < 0) + if (snd_ac97_is_stereo_vol(ac97, AC97_MIC)) { + /* build stereo mic */ + if ((err = snd_ac97_cmute_new(card, "Mic Playback Switch", AC97_MIC, ac97)) < 0) return err; - if (idx == 1) { // volume - kctl->private_value &= ~(0xff << 16); - kctl->private_value |= (int)max << 16; + if ((err = snd_ac97_cvol_new(card, "Mic Playback Volume", AC97_MIC, max, ac97)) < 0) + return err; + if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_mic[2], ac97))) < 0) + return err; + } else { + /* build mono mic */ + for (idx = 0; idx < 3; idx++) { + if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_mic[idx], ac97))) < 0) + return err; + if (idx == 1) { // volume + kctl->private_value &= ~(0xff << 16); + kctl->private_value |= (int)max << 16; + } } + snd_ac97_write_cache(ac97, AC97_MIC, 0x8000 | max); } - snd_ac97_write_cache(ac97, AC97_MIC, 0x8000 | max); /* build Line controls */ if ((err = snd_ac97_cmix_new(card, "Line Playback", AC97_LINE, 0, ac97)) < 0) @@ -1410,9 +1489,7 @@ if ((err = snd_ac97_cmute_new(card, "PCM Playback Switch", AC97_PCM, ac97)) < 0) return err; /* FIXME: C-Media chips have no PCM volume!! */ - if (/*ac97->id == 0x434d4941 ||*/ - ac97->id == 0x434d4942 || - ac97->id == 0x434d4961) + if (ac97->id == AC97_ID_CM9739) snd_ac97_write_cache(ac97, AC97_PCM, 0x9f1f); else { if ((err = snd_ac97_cvol_new(card, "PCM Playback Volume", AC97_PCM, 31, ac97)) < 0) @@ -1423,8 +1500,10 @@ /* build Capture controls */ if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_control_capture_src, ac97))) < 0) return err; - if ((err = snd_ac97_cmute_new(card, "Capture Switch", AC97_REC_GAIN, ac97)) < 0) - return err; + if (snd_ac97_try_bit(ac97, AC97_REC_GAIN, 15)) { + if ((err = snd_ac97_cmute_new(card, "Capture Switch", AC97_REC_GAIN, ac97)) < 0) + return err; + } if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_control_capture_vol, ac97))) < 0) return err; snd_ac97_write_cache(ac97, AC97_REC_SEL, 0x0000); @@ -1520,6 +1599,7 @@ /* set default PCM S/PDIF params */ /* consumer,PCM audio,no copyright,no preemphasis,PCM coder,original,48000Hz */ snd_ac97_write_cache(ac97, AC97_SPDIF, 0x2a20); + ac97->rates[AC97_RATES_SPDIF] = snd_ac97_determine_spdif_rates(ac97); } ac97->spdif_status = SNDRV_PCM_DEFAULT_CON_SPDIF; } @@ -1672,10 +1752,10 @@ */ /* test if we can write to the record gain volume register */ snd_ac97_write_cache(ac97, AC97_REC_GAIN, 0x8a05); - if (snd_ac97_read(ac97, AC97_REC_GAIN) == 0x8a05) + if ((snd_ac97_read(ac97, AC97_REC_GAIN) & 0x7fff) == 0x0a05) return 0; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/100); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); return -ENODEV; } @@ -1683,45 +1763,47 @@ /** * snd_ac97_bus - create an AC97 bus component * @card: the card instance - * @_bus: the template of AC97 bus, callbacks and - * the private data. + * @num: the bus number + * @ops: the bus callbacks table + * @private_data: private data pointer for the new instance * @rbus: the pointer to store the new AC97 bus instance. * * Creates an AC97 bus component. An ac97_bus_t instance is newly - * allocated and initialized from the template (_bus). + * allocated and initialized. * - * The template must include the valid callbacks (at least read and - * write), the bus number (num), and the private data (private_data). - * The other callbacks, wait and reset, are not mandatory. + * The ops table must include valid callbacks (at least read and + * write). The other callbacks, wait and reset, are not mandatory. * * The clock is set to 48000. If another clock is needed, set - * bus->clock manually. + * (*rbus)->clock manually. * * The AC97 bus instance is registered as a low-level device, so you don't * have to release it manually. * * Returns zero if successful, or a negative error code on failure. */ -int snd_ac97_bus(snd_card_t * card, ac97_bus_t * _bus, ac97_bus_t ** rbus) +int snd_ac97_bus(snd_card_t *card, int num, ac97_bus_ops_t *ops, + void *private_data, ac97_bus_t **rbus) { int err; ac97_bus_t *bus; - static snd_device_ops_t ops = { + static snd_device_ops_t dev_ops = { .dev_free = snd_ac97_bus_dev_free, }; snd_assert(card != NULL, return -EINVAL); - snd_assert(_bus != NULL && rbus != NULL, return -EINVAL); - bus = snd_magic_kmalloc(ac97_bus_t, 0, GFP_KERNEL); + snd_assert(rbus != NULL, return -EINVAL); + bus = kcalloc(1, sizeof(*bus), GFP_KERNEL); if (bus == NULL) return -ENOMEM; - *bus = *_bus; bus->card = card; - if (bus->clock == 0) - bus->clock = 48000; + bus->num = num; + bus->ops = ops; + bus->private_data = private_data; + bus->clock = 48000; spin_lock_init(&bus->bus_lock); snd_ac97_bus_proc_init(bus); - if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, bus, &ops)) < 0) { + if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, bus, &dev_ops)) < 0) { snd_ac97_bus_free(bus); return err; } @@ -1732,25 +1814,23 @@ /** * snd_ac97_mixer - create an Codec97 component * @bus: the AC97 bus which codec is attached to - * @_ac97: the template of ac97, including index, callbacks and + * @template: the template of ac97, including index, callbacks and * the private data. * @rac97: the pointer to store the new ac97 instance. * * Creates an Codec97 component. An ac97_t instance is newly - * allocated and initialized from the template (_ac97). The codec + * allocated and initialized from the template. The codec * is then initialized by the standard procedure. * - * The template must include the valid callbacks (at least read and - * write), the codec number (num) and address (addr), and the private - * data (private_data). The other callbacks, wait and reset, are not - * mandatory. + * The template must include the codec number (num) and address (addr), + * and the private data (private_data). * * The ac97 instance is registered as a low-level device, so you don't * have to release it manually. * * Returns zero if successful, or a negative error code on failure. */ -int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) +int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97) { int err; ac97_t *ac97; @@ -1764,33 +1844,63 @@ snd_assert(rac97 != NULL, return -EINVAL); *rac97 = NULL; - snd_assert(bus != NULL && _ac97 != NULL, return -EINVAL); - snd_assert(_ac97->num < 4 && bus->codec[_ac97->num] == NULL, return -EINVAL); + snd_assert(bus != NULL && template != NULL, return -EINVAL); + snd_assert(template->num < 4 && bus->codec[template->num] == NULL, return -EINVAL); + + snd_assert(bus->shared_type <= AC97_SHARED_TYPES, return -EINVAL); + if (bus->shared_type) { + /* already shared? */ + down(&shared_codec_mutex); + ac97 = shared_codec[bus->shared_type-1][template->num]; + if (ac97) { + if ((ac97_is_audio(ac97) && (template->scaps & AC97_SCAP_SKIP_AUDIO)) || + (ac97_is_modem(ac97) && (template->scaps & AC97_SCAP_SKIP_MODEM))) { + up(&shared_codec_mutex); + return -EACCES; /* skip this */ + } + } + up(&shared_codec_mutex); + } + card = bus->card; - ac97 = snd_magic_kmalloc(ac97_t, 0, GFP_KERNEL); + ac97 = kcalloc(1, sizeof(*ac97), GFP_KERNEL); if (ac97 == NULL) return -ENOMEM; - *ac97 = *_ac97; + ac97->private_data = template->private_data; + ac97->private_free = template->private_free; ac97->bus = bus; + ac97->pci = template->pci; + ac97->num = template->num; + ac97->addr = template->addr; + ac97->scaps = template->scaps; + ac97->limited_regs = template->limited_regs; + memcpy(ac97->reg_accessed, template->reg_accessed, sizeof(ac97->reg_accessed)); bus->codec[ac97->num] = ac97; spin_lock_init(&ac97->reg_lock); + init_MUTEX(&ac97->mutex); if (ac97->pci) { pci_read_config_word(ac97->pci, PCI_SUBSYSTEM_VENDOR_ID, &ac97->subsystem_vendor); pci_read_config_word(ac97->pci, PCI_SUBSYSTEM_ID, &ac97->subsystem_device); } - if (bus->reset) { - bus->reset(ac97); + if (bus->ops->reset) { + bus->ops->reset(ac97); goto __access_ok; } snd_ac97_write(ac97, AC97_RESET, 0); /* reset to defaults */ - if (bus->wait) - bus->wait(ac97); + if (bus->ops->wait) + bus->ops->wait(ac97); else { udelay(50); - if (ac97_reset_wait(ac97, HZ/2, 0) < 0 && - ac97_reset_wait(ac97, HZ/2, 1) < 0) { + if (ac97->scaps & AC97_SCAP_SKIP_AUDIO) + err = ac97_reset_wait(ac97, HZ/2, 1); + else { + err = ac97_reset_wait(ac97, HZ/2, 0); + if (err < 0) + err = ac97_reset_wait(ac97, HZ/2, 1); + } + if (err < 0) { snd_printk(KERN_WARNING "AC'97 %d does not respond - RESET\n", ac97->num); /* proceed anyway - it's often non-critical */ } @@ -1803,26 +1913,12 @@ snd_ac97_free(ac97); return -EIO; } - /* AC97 audio codec chip revision detection. */ - /* Currently only Realtek ALC650 detection implemented. */ - switch(ac97->id & 0xfffffff0) { - case 0x414c4720: /* ALC650 */ - reg = snd_ac97_read(ac97, AC97_ALC650_REVISION); - if (((reg & 0x3f) >= 0) && ((reg & 0x3f) < 3)) - ac97->id = 0x414c4720; /* Old version */ - else if (((reg & 0x3f) >= 3) && ((reg & 0x3f) < 0x10)) - ac97->id = 0x414c4721; /* D version */ - else if ((reg&0x30) == 0x10) - ac97->id = 0x414c4722; /* E version */ - else if ((reg&0x30) == 0x20) - ac97->id = 0x414c4723; /* F version */ - } /* test for AC'97 */ if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO) && !(ac97->scaps & AC97_SCAP_AUDIO)) { /* test if we can write to the record gain volume register */ snd_ac97_write_cache(ac97, AC97_REC_GAIN, 0x8a06); - if ((err = snd_ac97_read(ac97, AC97_REC_GAIN)) == 0x8a06) + if (((err = snd_ac97_read(ac97, AC97_REC_GAIN)) & 0x7fff) == 0x0a06) ac97->scaps |= AC97_SCAP_AUDIO; } if (ac97->scaps & AC97_SCAP_AUDIO) { @@ -1848,7 +1944,7 @@ return -EACCES; } - if (bus->reset) // FIXME: always skipping? + if (bus->ops->reset) // FIXME: always skipping? goto __ready_ok; /* FIXME: add powerdown control */ @@ -1865,9 +1961,9 @@ if ((snd_ac97_read(ac97, AC97_POWERDOWN) & 0x0f) == 0x0f) goto __ready_ok; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); - snd_printk(KERN_ERR "AC'97 %d analog subsections not ready\n", ac97->num); + snd_printk(KERN_WARNING "AC'97 %d analog subsections not ready\n", ac97->num); } /* FIXME: add powerdown control */ @@ -1898,9 +1994,9 @@ if ((snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS) & tmp) == tmp) goto __ready_ok; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); - snd_printk(KERN_ERR "MC'97 %d converters and GPIO not ready (0x%x)\n", ac97->num, snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS)); + snd_printk(KERN_WARNING "MC'97 %d converters and GPIO not ready (0x%x)\n", ac97->num, snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS)); } __ready_ok: @@ -1919,12 +2015,7 @@ } if (ac97->ext_id & AC97_EI_SPDIF) { /* codec specific code (patch) should override these values */ - if (ac97->flags & AC97_CS_SPDIF) - ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100; - else if (ac97->id == AC97_ID_CM9739) - ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; - else - ac97->rates[AC97_RATES_SPDIF] = snd_ac97_determine_spdif_rates(ac97); + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_32000; } if (ac97->ext_id & AC97_EI_VRM) { /* MIC VRA support */ snd_ac97_determine_rates(ac97, AC97_PCM_MIC_ADC_RATE, 0, &ac97->rates[AC97_RATES_MIC_ADC]); @@ -1940,10 +2031,10 @@ ac97->scaps |= AC97_SCAP_CENTER_LFE_DAC; } /* additional initializations */ - if (bus->init) - bus->init(ac97); - snd_ac97_get_name(ac97, ac97->id, name, 0); - snd_ac97_get_name(NULL, ac97->id, name, 0); // ac97->id might be changed in the special setup code + if (bus->ops->init) + bus->ops->init(ac97); + snd_ac97_get_name(ac97, ac97->id, name, !ac97_is_audio(ac97)); + snd_ac97_get_name(NULL, ac97->id, name, !ac97_is_audio(ac97)); // ac97->id might be changed in the special setup code if (ac97_is_audio(ac97)) { if (card->mixername[0] == '\0') { strcpy(card->mixername, name); @@ -1995,6 +2086,13 @@ return err; } *rac97 = ac97; + + if (bus->shared_type) { + down(&shared_codec_mutex); + shared_codec[bus->shared_type-1][ac97->num] = ac97; + up(&shared_codec_mutex); + } + return 0; } @@ -2054,8 +2152,8 @@ { int i, is_ad18xx, codec; - if (ac97->bus->reset) { - ac97->bus->reset(ac97); + if (ac97->bus->ops->reset) { + ac97->bus->ops->reset(ac97); goto __reset_ready; } @@ -2066,23 +2164,33 @@ snd_ac97_write(ac97, AC97_GENERAL_PURPOSE, 0); snd_ac97_write(ac97, AC97_POWERDOWN, ac97->regs[AC97_POWERDOWN]); - ac97->bus->write(ac97, AC97_MASTER, 0x8101); - for (i = 0; i < 10; i++) { - if (snd_ac97_read(ac97, AC97_MASTER) == 0x8101) - break; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(1); - } - /* FIXME: extra delay */ - ac97->bus->write(ac97, AC97_MASTER, 0x8000); - if (snd_ac97_read(ac97, AC97_MASTER) != 0x8000) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/4); + if (ac97_is_audio(ac97)) { + ac97->bus->ops->write(ac97, AC97_MASTER, 0x8101); + for (i = HZ/10; i >= 0; i--) { + if (snd_ac97_read(ac97, AC97_MASTER) == 0x8101) + break; + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); + } + /* FIXME: extra delay */ + ac97->bus->ops->write(ac97, AC97_MASTER, 0x8000); + if (snd_ac97_read(ac97, AC97_MASTER) != 0x8000) { + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ/4); + } + } else { + for (i = HZ/10; i >= 0; i--) { + unsigned short val = snd_ac97_read(ac97, AC97_EXTENDED_MID); + if (val != 0xffff && (val & 1) != 0) + break; + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); + } } __reset_ready: - if (ac97->bus->init) - ac97->bus->init(ac97); + if (ac97->bus->ops->init) + ac97->bus->ops->init(ac97); is_ad18xx = (ac97->flags & AC97_AD_MULTI); if (is_ad18xx) { @@ -2093,7 +2201,7 @@ /* select single codec */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); - ac97->bus->write(ac97, AC97_AD_CODEC_CFG, ac97->spec.ad18xx.codec_cfg[codec]); + ac97->bus->ops->write(ac97, AC97_AD_CODEC_CFG, ac97->spec.ad18xx.codec_cfg[codec]); } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); @@ -2118,7 +2226,7 @@ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); /* update PCM bits */ - ac97->bus->write(ac97, AC97_PCM, ac97->spec.ad18xx.pcmreg[codec]); + ac97->bus->ops->write(ac97, AC97_PCM, ac97->spec.ad18xx.pcmreg[codec]); } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); @@ -2151,42 +2259,57 @@ /* */ -int snd_ac97_remove_ctl(ac97_t *ac97, const char *name) +static void set_ctl_name(char *dst, const char *src, const char *suffix) +{ + if (suffix) + sprintf(dst, "%s %s", src, suffix); + else + strcpy(dst, src); +} + +int snd_ac97_remove_ctl(ac97_t *ac97, const char *name, const char *suffix) { snd_ctl_elem_id_t id; memset(&id, 0, sizeof(id)); - strcpy(id.name, name); + set_ctl_name(id.name, name, suffix); id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; return snd_ctl_remove_id(ac97->bus->card, &id); } -static snd_kcontrol_t *ctl_find(ac97_t *ac97, const char *name) +static snd_kcontrol_t *ctl_find(ac97_t *ac97, const char *name, const char *suffix) { snd_ctl_elem_id_t sid; memset(&sid, 0, sizeof(sid)); - strcpy(sid.name, name); + set_ctl_name(sid.name, name, suffix); sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER; return snd_ctl_find_id(ac97->bus->card, &sid); } -int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst) +int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst, const char *suffix) { - snd_kcontrol_t *kctl = ctl_find(ac97, src); + snd_kcontrol_t *kctl = ctl_find(ac97, src, suffix); if (kctl) { - strcpy(kctl->id.name, dst); + set_ctl_name(kctl->id.name, dst, suffix); return 0; } return -ENOENT; } -int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2) +/* rename both Volume and Switch controls - don't check the return value */ +void snd_ac97_rename_vol_ctl(ac97_t *ac97, const char *src, const char *dst) +{ + snd_ac97_rename_ctl(ac97, src, dst, "Switch"); + snd_ac97_rename_ctl(ac97, src, dst, "Volume"); +} + +int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2, const char *suffix) { snd_kcontrol_t *kctl1, *kctl2; - kctl1 = ctl_find(ac97, s1); - kctl2 = ctl_find(ac97, s2); + kctl1 = ctl_find(ac97, s1, suffix); + kctl2 = ctl_find(ac97, s2, suffix); if (kctl1 && kctl2) { - strcpy(kctl1->id.name, s2); - strcpy(kctl2->id.name, s1); + set_ctl_name(kctl1->id.name, s2, suffix); + set_ctl_name(kctl2->id.name, s1, suffix); return 0; } return -ENOENT; @@ -2194,26 +2317,22 @@ static int swap_headphone(ac97_t *ac97, int remove_master) { - /* FIXME: error checks.. */ if (remove_master) { - if (ctl_find(ac97, "Headphone Playback Switch") == NULL) + if (ctl_find(ac97, "Headphone Playback Switch", NULL) == NULL) return 0; - snd_ac97_remove_ctl(ac97, "Master Playback Switch"); - snd_ac97_remove_ctl(ac97, "Master Playback Volume"); - } else { - snd_ac97_rename_ctl(ac97, "Master Playback Switch", "Line-Out Playback Switch"); - snd_ac97_rename_ctl(ac97, "Master Playback Volume", "Line-Out Playback Volume"); - } - snd_ac97_rename_ctl(ac97, "Headphone Playback Switch", "Master Playback Switch"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Volume", "Master Playback Volume"); + snd_ac97_remove_ctl(ac97, "Master Playback", "Switch"); + snd_ac97_remove_ctl(ac97, "Master Playback", "Volume"); + } else + snd_ac97_rename_vol_ctl(ac97, "Master Playback", "Line-Out Playback"); + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Master Playback"); return 0; } static int swap_surround(ac97_t *ac97) { /* FIXME: error checks.. */ - snd_ac97_swap_ctl(ac97, "Master Playback Switch", "Surround Playback Switch"); - snd_ac97_swap_ctl(ac97, "Master Playback Volume", "Surround Playback Volume"); + snd_ac97_swap_ctl(ac97, "Master Playback", "Surround Playback", "Switch"); + snd_ac97_swap_ctl(ac97, "Master Playback", "Surround Playback", "Volume"); return 0; } diff -Nru a/sound/pci/ac97/ac97_id.h b/sound/pci/ac97/ac97_id.h --- a/sound/pci/ac97/ac97_id.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_id.h 2004-08-25 19:27:40 -07:00 @@ -45,7 +45,14 @@ #define AC97_ID_CS4201 0x43525948 #define AC97_ID_CS4205 0x43525958 #define AC97_ID_CS_MASK 0xfffffff8 /* bit 0-2: rev */ +#define AC97_ID_ALC100 0x414c4300 #define AC97_ID_ALC650 0x414c4720 +#define AC97_ID_ALC650D 0x414c4721 +#define AC97_ID_ALC650E 0x414c4722 +#define AC97_ID_ALC650F 0x414c4723 +#define AC97_ID_ALC655 0x414c4760 +#define AC97_ID_ALC658 0x414c4780 +#define AC97_ID_ALC850 0x414c4790 #define AC97_ID_YMF753 0x594d4803 #define AC97_ID_VT1616 0x49434551 #define AC97_ID_CM9738 0x434d4941 diff -Nru a/sound/pci/ac97/ac97_local.h b/sound/pci/ac97/ac97_local.h --- a/sound/pci/ac97/ac97_local.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_local.h 2004-08-25 19:27:40 -07:00 @@ -23,10 +23,15 @@ */ #define AC97_SINGLE_VALUE(reg,shift,mask,invert) ((reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24)) +#define AC97_PAGE_SINGLE_VALUE(reg,shift,mask,invert,page) ((reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24) | ((page) << 25)) #define AC97_SINGLE(xname, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \ .get = snd_ac97_get_single, .put = snd_ac97_put_single, \ .private_value = AC97_SINGLE_VALUE(reg, shift, mask, invert) } +#define AC97_PAGE_SINGLE(xname, reg, shift, mask, invert, page) \ +{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \ + .get = snd_ac97_page_get_single, .put = snd_ac97_page_put_single, \ + .private_value = AC97_PAGE_SINGLE_VALUE(reg, shift, mask, invert, page) } /* ac97_codec.c */ extern const char *snd_ac97_stereo_enhancements[]; @@ -37,10 +42,13 @@ int snd_ac97_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo); int snd_ac97_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); int snd_ac97_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); +int snd_ac97_page_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); +int snd_ac97_page_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); int snd_ac97_try_bit(ac97_t * ac97, int reg, int bit); -int snd_ac97_remove_ctl(ac97_t *ac97, const char *name); -int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst); -int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2); +int snd_ac97_remove_ctl(ac97_t *ac97, const char *name, const char *suffix); +int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst, const char *suffix); +int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2, const char *suffix); +void snd_ac97_rename_vol_ctl(ac97_t *ac97, const char *src, const char *dst); /* ac97_proc.c */ void snd_ac97_bus_proc_init(ac97_bus_t * ac97); diff -Nru a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c --- a/sound/pci/ac97/ac97_patch.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_patch.c 2004-08-25 19:27:40 -07:00 @@ -35,8 +35,6 @@ #include "ac97_id.h" #include "ac97_local.h" -#define chip_t ac97_t - /* * Chip specific initialization */ @@ -51,6 +49,21 @@ return 0; } +/* set to the page, update bits and restore the page */ +static int ac97_update_bits_page(ac97_t *ac97, unsigned short reg, unsigned short mask, unsigned short value, unsigned short page) +{ + unsigned short page_save; + int ret; + + down(&ac97->mutex); + page_save = snd_ac97_read(ac97, AC97_INT_PAGING) & AC97_PAGE_MASK; + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page); + ret = snd_ac97_update_bits(ac97, reg, mask, value); + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page_save); + up(&ac97->mutex); /* unlock paging */ + return ret; +} + /* The following snd_ac97_ymf753_... items added by David Shust (dshust@shustring.com) */ /* It is possible to indicate to the Yamaha YMF753 the type of speakers being used. */ @@ -204,7 +217,7 @@ if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control - Wide"); - kctl->private_value = AC97_3D_CONTROL | (9 << 8) | (7 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 9, 7, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); if ((err = snd_ctl_add(ac97->bus->card, snd_ac97_cnew(&snd_ac97_ymf753_controls_speaker, ac97))) < 0) return err; @@ -315,7 +328,7 @@ if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Depth"); - kctl->private_value = AC97_3D_CONTROL | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 2, 3, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); return 0; } @@ -328,11 +341,11 @@ if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Depth"); - kctl->private_value = AC97_3D_CONTROL | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 0, 3, 0); if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Rear Depth"); - kctl->private_value = AC97_3D_CONTROL | (2 << 8) | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 2, 3, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); return 0; } @@ -373,22 +386,29 @@ .build_specific = patch_sigmatel_stac97xx_specific }; -static struct snd_ac97_build_ops patch_sigmatel_stac9708_ops = { - .build_3d = patch_sigmatel_stac9708_3d, - .build_specific = patch_sigmatel_stac97xx_specific -}; - int patch_sigmatel_stac9700(ac97_t * ac97) { ac97->build_ops = &patch_sigmatel_stac9700_ops; return 0; } +static int patch_sigmatel_stac9708_specific(ac97_t *ac97) +{ + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Sigmatel Surround Playback"); + return patch_sigmatel_stac97xx_specific(ac97); +} + +static struct snd_ac97_build_ops patch_sigmatel_stac9708_ops = { + .build_3d = patch_sigmatel_stac9708_3d, + .build_specific = patch_sigmatel_stac9708_specific +}; + int patch_sigmatel_stac9708(ac97_t * ac97) { unsigned int codec72, codec6c; ac97->build_ops = &patch_sigmatel_stac9708_ops; + ac97->caps |= 0x10; /* HP (sigmatel surround) support */ codec72 = snd_ac97_read(ac97, AC97_SIGMATEL_BIAS2) & 0x8000; codec6c = snd_ac97_read(ac97, AC97_SIGMATEL_ANALOG); @@ -467,11 +487,11 @@ int shift = kcontrol->private_value; unsigned short val; - val = ac97->regs[AC97_SIGMATEL_OUTSEL]; - if (!((val >> shift) & 4)) + val = ac97->regs[AC97_SIGMATEL_OUTSEL] >> shift; + if (!(val & 4)) ucontrol->value.enumerated.item[0] = 0; else - ucontrol->value.enumerated.item[0] = 1 + ((val >> shift) & 3); + ucontrol->value.enumerated.item[0] = 1 + (val & 3); return 0; } @@ -487,8 +507,8 @@ val = 0; else val = 4 | (ucontrol->value.enumerated.item[0] - 1); - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_OUTSEL, - 7 << shift, val << shift); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_OUTSEL, + 7 << shift, val << shift, 0); } static int snd_ac97_stac9758_input_jack_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -521,8 +541,8 @@ ac97_t *ac97 = snd_kcontrol_chip(kcontrol); int shift = kcontrol->private_value; - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_INSEL, 7 << shift, - ucontrol->value.enumerated.item[0] << shift); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_INSEL, 7 << shift, + ucontrol->value.enumerated.item[0] << shift, 0); } static int snd_ac97_stac9758_phonesel_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -550,8 +570,8 @@ { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_IOMISC, 3, - ucontrol->value.enumerated.item[0]); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_IOMISC, 3, + ucontrol->value.enumerated.item[0], 0); } #define STAC9758_OUTPUT_JACK(xname, shift) \ @@ -596,6 +616,14 @@ ARRAY_SIZE(snd_ac97_sigmatel_stac9758_controls)); if (err < 0) return err; + /* DAC-A direct */ + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Front Playback"); + /* DAC-A to Mix = PCM */ + /* DAC-B direct = Surround */ + /* DAC-B to Mix */ + snd_ac97_rename_vol_ctl(ac97, "Video Playback", "Surround Mix Playback"); + /* DAC-C direct = Center/LFE */ + return 0; } @@ -613,16 +641,16 @@ AC97_SIGMATEL_VARIOUS }; static unsigned short def_regs[4] = { - /* OUTSEL */ 0xd794, + /* OUTSEL */ 0xd794, /* CL:CL, SR:SR, LO:MX, LI:DS, MI:DS */ /* IOMISC */ 0x2001, - /* INSEL */ 0x0201, + /* INSEL */ 0x0201, /* LI:LI, MI:M1 */ /* VARIOUS */ 0x0040 }; static unsigned short m675_regs[4] = { - /* OUTSEL */ 0x9040, - /* IOMISC */ 0x2102, - /* INSEL */ 0x0203, - /* VARIOUS */ 0x0041 + /* OUTSEL */ 0xfc70, /* CL:MX, SR:MX, LO:DS, LI:MX, MI:DS */ + /* IOMISC */ 0x2102, /* HP amp on */ + /* INSEL */ 0x0203, /* LI:LI, MI:FR */ + /* VARIOUS */ 0x0041 /* stereo mic */ }; unsigned short *pregs = def_regs; int i; @@ -635,6 +663,8 @@ // patch for SigmaTel ac97->build_ops = &patch_sigmatel_stac9758_ops; + /* FIXME: assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); for (i = 0; i < 4; i++) snd_ac97_write_cache(ac97, regs[i], pregs[i]); @@ -654,8 +684,10 @@ { int err; + /* con mask, pro mask, default */ if ((err = patch_build_controls(ac97, &snd_ac97_controls_spdif[0], 3)) < 0) return err; + /* switch, spsa */ if ((err = patch_build_controls(ac97, &snd_ac97_cirrus_controls_spdif[0], 1)) < 0) return err; switch (ac97->id & AC97_ID_CS_MASK) { @@ -714,8 +746,10 @@ { int err; + /* con mask, pro mask, default */ if ((err = patch_build_controls(ac97, &snd_ac97_controls_spdif[0], 3)) < 0) return err; + /* switch */ if ((err = patch_build_controls(ac97, &snd_ac97_conexant_controls_spdif[0], 1)) < 0) return err; /* set default PCM S/PDIF params */ @@ -734,6 +768,7 @@ ac97->build_ops = &patch_conexant_ops; ac97->flags |= AC97_CX_SPDIF; ac97->ext_id |= AC97_EI_SPDIF; /* force the detection of spdif */ + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; /* 48k only */ return 0; } @@ -821,8 +856,6 @@ unsigned short val; int idx, num; - init_MUTEX(&ac97->spec.ad18xx.mutex); - val = snd_ac97_read(ac97, AC97_AD_SERIAL_CFG); snd_ac97_write_cache(ac97, AC97_AD_SERIAL_CFG, val); codecs[0] = patch_ad1881_unchained(ac97, 0, (1<<12)); @@ -872,6 +905,8 @@ /* AC97_SINGLE("Digital Audio Mode", AC97_AD_MISC, 12, 1, 0), */ /* seems problematic */ AC97_SINGLE("Low Power Mixer", AC97_AD_MISC, 14, 1, 0), AC97_SINGLE("Zero Fill DAC", AC97_AD_MISC, 15, 1, 0), + AC97_SINGLE("Headphone Jack Sense", AC97_AD_JACK_SPDIF, 9, 1, 1), /* inverted */ + AC97_SINGLE("Line Jack Sense", AC97_AD_JACK_SPDIF, 8, 1, 1), /* inverted */ }; static int patch_ad1885_specific(ac97_t * ac97) @@ -889,16 +924,10 @@ int patch_ad1885(ac97_t * ac97) { - unsigned short jack; - patch_ad1881(ac97); /* This is required to deal with the Intel D815EEAL2 */ /* i.e. Line out is actually headphone out from codec */ - /* turn off jack sense bits D8 & D9 */ - jack = snd_ac97_read(ac97, AC97_AD_JACK_SPDIF); - snd_ac97_write_cache(ac97, AC97_AD_JACK_SPDIF, jack | 0x0300); - /* set default */ snd_ac97_write_cache(ac97, AC97_AD_MISC, 0x0404); @@ -1114,10 +1143,8 @@ static int patch_ad1888_specific(ac97_t *ac97) { /* rename 0x04 as "Master" and 0x02 as "Master Surround" */ - snd_ac97_rename_ctl(ac97, "Master Playback Switch", "Master Surround Playback Switch"); - snd_ac97_rename_ctl(ac97, "Master Playback Volume", "Master Surround Playback Volume"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Switch", "Master Playback Switch"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Volume", "Master Playback Volume"); + snd_ac97_rename_vol_ctl(ac97, "Master Playback", "Master Surround Playback"); + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Master Playback"); return patch_build_controls(ac97, snd_ac97_ad1888_controls, ARRAY_SIZE(snd_ac97_ad1888_controls)); } @@ -1213,7 +1240,7 @@ } /* - * realtek ALC65x codecs + * realtek ALC65x/850 codecs */ static int snd_ac97_alc650_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) { @@ -1303,6 +1330,17 @@ ac97->build_ops = &patch_alc650_ops; + /* determine the revision */ + val = snd_ac97_read(ac97, AC97_ALC650_REVISION) & 0x3f; + if (val < 3) + ac97->id = 0x414c4720; /* Old version */ + else if (val < 0x10) + ac97->id = 0x414c4721; /* D version */ + else if (val < 0x20) + ac97->id = 0x414c4722; /* E version */ + else if (val < 0x30) + ac97->id = 0x414c4723; /* F version */ + /* revision E or F */ /* FIXME: what about revision D ? */ ac97->spec.dev_flags = (ac97->id == 0x414c4722 || @@ -1351,20 +1389,19 @@ static int snd_ac97_alc655_mic_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - int change; /* misc control; vrefout disable */ snd_ac97_update_bits(ac97, AC97_ALC650_CLOCK, 1 << 12, ucontrol->value.integer.value[0] ? (1 << 12) : 0); - change = snd_ac97_update_bits(ac97, AC97_ALC650_MULTICH, 1 << 10, - ucontrol->value.integer.value[0] ? (1 << 10) : 0); - return change; + return ac97_update_bits_page(ac97, AC97_ALC650_MULTICH, 1 << 10, + ucontrol->value.integer.value[0] ? (1 << 10) : 0, + 0); } static const snd_kcontrol_new_t snd_ac97_controls_alc655[] = { - AC97_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0), - AC97_SINGLE("Line-In As Surround", AC97_ALC650_MULTICH, 9, 1, 0), + AC97_PAGE_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0, 0), + AC97_PAGE_SINGLE("Line-In As Surround", AC97_ALC650_MULTICH, 9, 1, 0, 0), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "Mic As Center/LFE", @@ -1391,7 +1428,6 @@ texts_658[uinfo->value.enumerated.item] : texts_655[uinfo->value.enumerated.item]); return 0; - } static int alc655_iec958_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) @@ -1410,13 +1446,15 @@ static int alc655_iec958_route_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - return snd_ac97_update_bits(ac97, AC97_ALC650_MULTICH, 3 << 12, - (unsigned short)ucontrol->value.enumerated.item[0]); + + return ac97_update_bits_page(ac97, AC97_ALC650_MULTICH, 3 << 12, + (unsigned short)ucontrol->value.enumerated.item[0], + 0); } static const snd_kcontrol_new_t snd_ac97_spdif_controls_alc655[] = { - AC97_SINGLE("IEC958 Capture Switch", AC97_ALC650_MULTICH, 11, 1, 0), - AC97_SINGLE("IEC958 Input Monitor", AC97_ALC650_MULTICH, 14, 1, 0), + AC97_PAGE_SINGLE("IEC958 Capture Switch", AC97_ALC650_MULTICH, 11, 1, 0, 0), + AC97_PAGE_SINGLE("IEC958 Input Monitor", AC97_ALC650_MULTICH, 14, 1, 0, 0), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "IEC958 Playback Route", @@ -1451,6 +1489,9 @@ ac97->build_ops = &patch_alc655_ops; + /* assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); + /* adjust default values */ val = snd_ac97_read(ac97, 0x7a); /* misc control */ val |= (1 << 1); /* spdif input pin */ @@ -1469,6 +1510,120 @@ return 0; } + +#define AC97_ALC850_JACK_SELECT 0x76 +#define AC97_ALC850_MISC1 0x7a + +static int ac97_alc850_surround_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + ucontrol->value.integer.value[0] = ((ac97->regs[AC97_ALC850_JACK_SELECT] >> 12) & 7) == 2; + return 0; +} + +static int ac97_alc850_surround_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + + /* SURR 1kOhm (bit4), Amp (bit5) */ + snd_ac97_update_bits(ac97, AC97_ALC850_MISC1, (1<<4)|(1<<5), + ucontrol->value.integer.value[0] ? (1<<5) : (1<<4)); + /* LINE-IN = 0, SURROUND = 2 */ + return snd_ac97_update_bits(ac97, AC97_ALC850_JACK_SELECT, 7 << 12, + ucontrol->value.integer.value[0] ? (2<<12) : (0<<12)); +} + +static int ac97_alc850_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + ucontrol->value.integer.value[0] = ((ac97->regs[AC97_ALC850_JACK_SELECT] >> 4) & 7) == 2; + return 0; +} + +static int ac97_alc850_mic_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + + /* Vref disable (bit12), 1kOhm (bit13) */ + snd_ac97_update_bits(ac97, AC97_ALC850_MISC1, (1<<12)|(1<<13), + ucontrol->value.integer.value[0] ? (1<<12) : (1<<13)); + /* MIC-IN = 1, CENTER-LFE = 2 */ + return snd_ac97_update_bits(ac97, AC97_ALC850_JACK_SELECT, 7 << 4, + ucontrol->value.integer.value[0] ? (2<<4) : (1<<4)); +} + +static const snd_kcontrol_new_t snd_ac97_controls_alc850[] = { + AC97_PAGE_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0, 0), + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Line-In As Surround", + .info = snd_ac97_info_single, + .get = ac97_alc850_surround_get, + .put = ac97_alc850_surround_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Mic As Center/LFE", + .info = snd_ac97_info_single, + .get = ac97_alc850_mic_get, + .put = ac97_alc850_mic_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ + }, + +}; + +static int patch_alc850_specific(ac97_t *ac97) +{ + int err; + + if ((err = patch_build_controls(ac97, snd_ac97_controls_alc850, ARRAY_SIZE(snd_ac97_controls_alc850))) < 0) + return err; + if (ac97->ext_id & AC97_EI_SPDIF) { + if ((err = patch_build_controls(ac97, snd_ac97_spdif_controls_alc655, ARRAY_SIZE(snd_ac97_spdif_controls_alc655))) < 0) + return err; + } + return 0; +} + +static struct snd_ac97_build_ops patch_alc850_ops = { + .build_specific = patch_alc850_specific +}; + +int patch_alc850(ac97_t *ac97) +{ + ac97->build_ops = &patch_alc850_ops; + + ac97->spec.dev_flags = 0; /* for IEC958 playback route - ALC655 compatible */ + + /* assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); + + /* adjust default values */ + /* set default: spdif-in enabled, + spdif-in monitor off, spdif-in PCM off + center on mic off, surround on line-in off + duplicate front off + */ + snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, 1<<15); + /* SURR_OUT: on, Surr 1kOhm: on, Surr Amp: off, Front 1kOhm: off + * Front Amp: on, Vref: enable, Center 1kOhm: on, Mix: on + */ + snd_ac97_write_cache(ac97, 0x7a, (1<<1)|(1<<4)|(0<<5)|(1<<6)| + (1<<7)|(0<<12)|(1<<13)|(0<<14)); + /* detection UIO2,3: all path floating, UIO3: MIC, Vref2: disable, + * UIO1: FRONT, Vref3: disable, UIO3: LINE, Front-Mic: mute + */ + snd_ac97_write_cache(ac97, 0x76, (0<<0)|(0<<2)|(1<<4)|(1<<7)|(2<<8)| + (1<<11)|(0<<12)|(1<<15)); + + /* full DAC volume */ + snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808); + snd_ac97_write_cache(ac97, AC97_ALC650_LFE_DAC_VOL, 0x0808); + return 0; +} + + /* * C-Media CM97xx codecs */ @@ -1599,8 +1754,10 @@ /* enable spdif in */ snd_ac97_write_cache(ac97, AC97_CM9739_SPDIF_CTRL, snd_ac97_read(ac97, AC97_CM9739_SPDIF_CTRL) | 0x01); + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; /* 48k only */ } else { ac97->ext_id &= ~AC97_EI_SPDIF; /* disable extended-id */ + ac97->rates[AC97_RATES_SPDIF] = 0; } /* set-up multi channel */ diff -Nru a/sound/pci/ac97/ac97_patch.h b/sound/pci/ac97/ac97_patch.h --- a/sound/pci/ac97/ac97_patch.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_patch.h 2004-08-25 19:27:40 -07:00 @@ -49,6 +49,7 @@ int patch_ad1985(ac97_t * ac97); int patch_alc650(ac97_t * ac97); int patch_alc655(ac97_t * ac97); +int patch_alc850(ac97_t * ac97); int patch_cm9738(ac97_t * ac97); int patch_cm9739(ac97_t * ac97); int patch_vt1616(ac97_t * ac97); diff -Nru a/sound/pci/ac97/ac97_pcm.c b/sound/pci/ac97/ac97_pcm.c --- a/sound/pci/ac97/ac97_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_pcm.c 2004-08-25 19:27:40 -07:00 @@ -36,8 +36,6 @@ #include "ac97_id.h" #include "ac97_local.h" -#define chip_t ac97_t - /* * PCM support */ @@ -430,7 +428,7 @@ unsigned int rates; ac97_t *codec; - rpcms = snd_kcalloc(sizeof(struct ac97_pcm) * pcms_count, GFP_KERNEL); + rpcms = kcalloc(pcms_count, sizeof(struct ac97_pcm), GFP_KERNEL); if (rpcms == NULL) return -ENOMEM; memset(avail_slots, 0, sizeof(avail_slots)); @@ -489,7 +487,10 @@ rpcm->r[0].rslots[j] = tmp; rpcm->r[0].codec[j] = bus->codec[j]; rpcm->r[0].rate_table[j] = rate_table[pcm->stream][j]; - rates = get_rates(rpcm, j, tmp, 0); + if (bus->no_vra) + rates = SNDRV_PCM_RATE_48000; + else + rates = get_rates(rpcm, j, tmp, 0); if (pcm->exclusive) avail_slots[pcm->stream][j] &= ~tmp; } diff -Nru a/sound/pci/ac97/ac97_proc.c b/sound/pci/ac97/ac97_proc.c --- a/sound/pci/ac97/ac97_proc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ac97_proc.c 2004-08-25 19:27:40 -07:00 @@ -290,11 +290,11 @@ static void snd_ac97_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; + down(&ac97->mutex); if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86 int idx; - down(&ac97->spec.ad18xx.mutex); for (idx = 0; idx < 3; idx++) if (ac97->spec.ad18xx.id[idx]) { /* select single codec */ @@ -305,7 +305,6 @@ } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); - up(&ac97->spec.ad18xx.mutex); snd_iprintf(buffer, "\nAD18XX configuration\n"); snd_iprintf(buffer, "Unchained : 0x%04x,0x%04x,0x%04x\n", @@ -319,22 +318,25 @@ } else { snd_ac97_proc_read_main(ac97, buffer, 0); } + up(&ac97->mutex); } #ifdef CONFIG_SND_DEBUG /* direct register write for debugging */ static void snd_ac97_proc_regs_write(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; char line[64]; unsigned int reg, val; + down(&ac97->mutex); while (!snd_info_get_line(buffer, line, sizeof(line))) { if (sscanf(line, "%x %x", ®, &val) != 2) continue; - /* register must be odd */ + /* register must be even */ if (reg < 0x80 && (reg & 1) == 0 && val <= 0xffff) snd_ac97_write_cache(ac97, reg, val); } + up(&ac97->mutex); } #endif @@ -351,12 +353,12 @@ static void snd_ac97_proc_regs_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; + down(&ac97->mutex); if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86 int idx; - down(&ac97->spec.ad18xx.mutex); for (idx = 0; idx < 3; idx++) if (ac97->spec.ad18xx.id[idx]) { /* select single codec */ @@ -366,10 +368,10 @@ } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); - up(&ac97->spec.ad18xx.mutex); } else { snd_ac97_proc_regs_read_main(ac97, buffer, 0); } + up(&ac97->mutex); } void snd_ac97_proc_init(ac97_t * ac97) diff -Nru a/sound/pci/ac97/ak4531_codec.c b/sound/pci/ac97/ak4531_codec.c --- a/sound/pci/ac97/ak4531_codec.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ac97/ak4531_codec.c 2004-08-25 19:27:40 -07:00 @@ -30,8 +30,6 @@ MODULE_DESCRIPTION("Universal routines for AK4531 codec"); MODULE_LICENSE("GPL"); -#define chip_t ak4531_t - static void snd_ak4531_proc_init(snd_card_t * card, ak4531_t * ak4531); /* @@ -89,7 +87,7 @@ } ucontrol->value.integer.value[0] = val; return 0; -} +} static int snd_ak4531_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { @@ -113,7 +111,7 @@ ak4531->write(ak4531, reg, ak4531->regs[reg] = val); spin_unlock_irqrestore(&ak4531->reg_lock, flags); return change; -} +} #define AK4531_DOUBLE(xname, xindex, left_reg, right_reg, left_shift, right_shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ @@ -155,7 +153,7 @@ ucontrol->value.integer.value[0] = left; ucontrol->value.integer.value[1] = right; return 0; -} +} static int snd_ak4531_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { @@ -192,7 +190,7 @@ } spin_unlock_irqrestore(&ak4531->reg_lock, flags); return change; -} +} #define AK4531_INPUT_SW(xname, xindex, reg1, reg2, left_shift, right_shift) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ @@ -225,7 +223,7 @@ ucontrol->value.integer.value[3] = (ak4531->regs[reg2] >> right_shift) & 1; spin_unlock_irqrestore(&ak4531->reg_lock, flags); return 0; -} +} static int snd_ak4531_put_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { @@ -250,9 +248,7 @@ ak4531->write(ak4531, reg2, ak4531->regs[reg2] = val2); spin_unlock_irqrestore(&ak4531->reg_lock, flags); return change; -} - -#define AK4531_CONTROLS (sizeof(snd_ak4531_controls)/sizeof(snd_kcontrol_new_t)) +} static snd_kcontrol_new_t snd_ak4531_controls[] = { @@ -315,14 +311,14 @@ if (ak4531) { if (ak4531->private_free) ak4531->private_free(ak4531); - snd_magic_kfree(ak4531); + kfree(ak4531); } return 0; } static int snd_ak4531_dev_free(snd_device_t *device) { - ak4531_t *ak4531 = snd_magic_cast(ak4531_t, device->device_data, return -ENXIO); + ak4531_t *ak4531 = device->device_data; return snd_ak4531_free(ak4531); } @@ -367,7 +363,7 @@ snd_assert(rak4531 != NULL, return -EINVAL); *rak4531 = NULL; snd_assert(card != NULL && _ak4531 != NULL, return -EINVAL); - ak4531 = snd_magic_kcalloc(ak4531_t, 0, GFP_KERNEL); + ak4531 = kcalloc(1, sizeof(*ak4531), GFP_KERNEL); if (ak4531 == NULL) return -ENOMEM; *ak4531 = *_ak4531; @@ -385,7 +381,7 @@ continue; ak4531->write(ak4531, idx, ak4531->regs[idx] = snd_ak4531_initial_map[idx]); /* recording source is mixer */ } - for (idx = 0; idx < AK4531_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ak4531_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ak4531_controls[idx], ak4531))) < 0) { snd_ak4531_free(ak4531); return err; @@ -411,7 +407,7 @@ static void snd_ak4531_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ak4531_t *ak4531 = snd_magic_cast(ak4531_t, entry->private_data, return); + ak4531_t *ak4531 = entry->private_data; snd_iprintf(buffer, "Asahi Kasei AK4531\n\n"); snd_iprintf(buffer, "Recording source : %s\n" diff -Nru a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c --- a/sound/pci/ali5451/ali5451.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ali5451/ali5451.c 2004-08-25 19:27:40 -07:00 @@ -43,8 +43,7 @@ MODULE_AUTHOR("Matt Wu "); MODULE_DESCRIPTION("ALI M5451"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALI,M5451,pci},{ALI,M5451}}"); +MODULE_SUPPORTED_DEVICE("{{ALI,M5451,pci},{ALI,M5451}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -55,19 +54,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ALI M5451 PCI Audio."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ALI M5451 PCI Audio."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ALI 5451 PCI Audio."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "PCM Channels"); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",default:32,allows:{{1,32}}"); module_param_array(spdif, bool, boot_devs, 0444); MODULE_PARM_DESC(spdif, "Support SPDIF I/O"); -MODULE_PARM_SYNTAX(spdif, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); /* * Debug part definitions @@ -171,7 +165,6 @@ typedef struct snd_stru_ali ali_t; typedef struct snd_ali_stru_voice snd_ali_voice_t; -#define chip_t ali_t typedef struct snd_ali_channel_control { // register data @@ -247,7 +240,6 @@ unsigned int hw_initialized: 1; unsigned int spdif_support: 1; - struct resource *res_port; struct pci_dev *pci; struct pci_dev *pci_m1533; @@ -495,7 +487,7 @@ unsigned short reg, unsigned short val ) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return); + ali_t *codec = ac97->private_data; snd_ali_printk("codec_write: reg=%xh data=%xh.\n", reg, val); snd_ali_codec_poke(codec, 0, reg, val); @@ -505,7 +497,7 @@ static unsigned short snd_ali_codec_read(ac97_t *ac97, unsigned short reg) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return -ENXIO); + ali_t *codec = ac97->private_data; snd_ali_printk("codec_read reg=%xh.\n", reg); return (snd_ali_codec_peek(codec, 0, reg)); @@ -1051,7 +1043,7 @@ void *dev_id, struct pt_regs *regs) { - ali_t *codec = snd_magic_cast(ali_t, dev_id, return IRQ_NONE); + ali_t *codec = dev_id; if (codec == NULL) return IRQ_NONE; @@ -1247,7 +1239,7 @@ what = whati = capture_flag = 0; snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if ((ali_t *) _snd_pcm_chip(s->pcm) == codec) { + if ((ali_t *) snd_pcm_substream_chip(s) == codec) { pvoice = (snd_ali_voice_t *) s->runtime->private_data; evoice = pvoice->extra; what |= 1 << (pvoice->number & 0x1f); @@ -1528,16 +1520,15 @@ snd_pcm_runtime_t *runtime = substream->runtime; snd_ali_voice_t *pvoice = (snd_ali_voice_t *) runtime->private_data; unsigned int cso; - unsigned long flags; - spin_lock_irqsave(&codec->reg_lock, flags); + spin_lock(&codec->reg_lock); if (!pvoice->running) { - spin_unlock_irqrestore(&codec->reg_lock, flags); + spin_unlock(&codec->reg_lock); return 0; } outb(pvoice->number, ALI_REG(codec, ALI_GC_CIR)); cso = inw(ALI_REG(codec, ALI_CSO_ALPHA_FMS + 2)); - spin_unlock_irqrestore(&codec->reg_lock, flags); + spin_unlock(&codec->reg_lock); snd_ali_printk("playback pointer returned cso=%xh.\n", cso); return cso; @@ -1720,7 +1711,7 @@ static void snd_ali_pcm_free(snd_pcm_t *pcm) { - ali_t *codec = snd_magic_cast(ali_t, pcm->private_data, return); + ali_t *codec = pcm->private_data; codec->pcm = NULL; } @@ -1769,7 +1760,7 @@ static int snd_ali5451_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { unsigned long flags; - ali_t *codec = snd_magic_cast(ali_t, kcontrol->private_data, -ENXIO); + ali_t *codec = kcontrol->private_data; unsigned int enable; enable = ucontrol->value.integer.value[0] ? 1 : 0; @@ -1796,7 +1787,7 @@ static int snd_ali5451_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { unsigned long flags; - ali_t *codec = snd_magic_cast(ali_t, kcontrol->private_data, -ENXIO); + ali_t *codec = kcontrol->private_data; unsigned int change = 0, enable = 0; enable = ucontrol->value.integer.value[0] ? 1 : 0; @@ -1863,30 +1854,29 @@ static void snd_ali_mixer_free_ac97_bus(ac97_bus_t *bus) { - ali_t *codec = snd_magic_cast(ali_t, bus->private_data, return); + ali_t *codec = bus->private_data; codec->ac97_bus = NULL; } static void snd_ali_mixer_free_ac97(ac97_t *ac97) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return); + ali_t *codec = ac97->private_data; codec->ac97 = NULL; } static int __devinit snd_ali_mixer(ali_t * codec) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; unsigned int idx; int err; + static ac97_bus_ops_t ops = { + .write = snd_ali_codec_write, + .read = snd_ali_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ali_codec_write; - bus.read = snd_ali_codec_read; - bus.private_data = codec; - bus.private_free = snd_ali_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(codec->card, &bus, &codec->ac97_bus)) < 0) + if ((err = snd_ac97_bus(codec->card, 0, &ops, codec, &codec->ac97_bus)) < 0) return err; + codec->ac97_bus->private_free = snd_ali_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = codec; @@ -1907,7 +1897,7 @@ #ifdef CONFIG_PM static int ali_suspend(snd_card_t *card, unsigned int state) { - ali_t *chip = snd_magic_cast(ali_t, card->pm_private_data, return -EINVAL); + ali_t *chip = card->pm_private_data; ali_image_t *im; int i, j; @@ -1943,12 +1933,13 @@ outl(0xffffffff, ALI_REG(chip, ALI_STOP)); spin_unlock_irq(&chip->reg_lock); + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } static int ali_resume(snd_card_t *card, unsigned int state) { - ali_t *chip = snd_magic_cast(ali_t, card->pm_private_data, return -EINVAL); + ali_t *chip = card->pm_private_data; ali_image_t *im; int i, j; @@ -1980,6 +1971,7 @@ spin_unlock_irq(&chip->reg_lock); snd_ac97_resume(chip->ac97); + snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; } @@ -1993,15 +1985,13 @@ synchronize_irq(codec->irq); free_irq(codec->irq, (void *)codec); } - if (codec->res_port) { - release_resource(codec->res_port); - kfree_nocheck(codec->res_port); - } + if (codec->port) + pci_release_regions(codec->pci); #ifdef CONFIG_PM if (codec->image) kfree(codec->image); #endif - snd_magic_kfree(codec); + kfree(codec); return 0; } @@ -2055,11 +2045,12 @@ static int __devinit snd_ali_resources(ali_t *codec) { + int err; + snd_ali_printk("resouces allocation ...\n"); - if ((codec->res_port = request_region(codec->port, 0x100, "ALI 5451")) == NULL) { - snd_printk("Unalbe to request io ports.\n"); - return -EBUSY; - } + if ((err = pci_request_regions(codec->pci, "ALI 5451")) < 0) + return err; + codec->port = pci_resource_start(codec->pci, 0); if (request_irq(codec->pci->irq, snd_ali_card_interrupt, SA_INTERRUPT|SA_SHIRQ, "ALI 5451", (void *)codec)) { snd_printk("Unable to request irq.\n"); @@ -2071,7 +2062,7 @@ } static int snd_ali_dev_free(snd_device_t *device) { - ali_t *codec=snd_magic_cast(ali_t, device->device_data, return -ENXIO); + ali_t *codec=device->device_data; snd_ali_free(codec); return 0; } @@ -2106,7 +2097,7 @@ return -ENXIO; } - if ((codec = snd_magic_kcalloc(ali_t, 0, GFP_KERNEL)) == NULL) + if ((codec = kcalloc(1, sizeof(*codec), GFP_KERNEL)) == NULL) return -ENOMEM; spin_lock_init(&codec->reg_lock); @@ -2115,7 +2106,6 @@ codec->card = card; codec->pci = pci; codec->irq = -1; - codec->port = pci_resource_start(pci, 0); pci_read_config_byte(pci, PCI_REVISION_ID, &codec->revision); codec->spdif_support = spdif_support; diff -Nru a/sound/pci/als4000.c b/sound/pci/als4000.c --- a/sound/pci/als4000.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/als4000.c 2004-08-25 19:27:40 -07:00 @@ -76,8 +76,7 @@ MODULE_AUTHOR("Bart Hartgers "); MODULE_DESCRIPTION("Avance Logic ALS4000"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Avance Logic,ALS4000}}"); +MODULE_SUPPORTED_DEVICE("{{Avance Logic,ALS4000}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -93,24 +92,18 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ALS4000 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ALS4000 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ALS4000 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_INDEX_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address for ALS4000 soundcard. (0 = disabled)"); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED); #endif -#define chip_t sb_t - typedef struct { + struct pci_dev *pci; unsigned long gcr; - struct resource *res_gcr; #ifdef SUPPORT_JOYSTICK struct gameport gameport; struct resource *res_joystick; @@ -304,11 +297,10 @@ static int snd_als4000_capture_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); int result = 0; - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock(&chip->mixer_lock); if (cmd == SNDRV_PCM_TRIGGER_START) { chip->mode |= SB_RATE_LOCK_CAPTURE; snd_sbmixer_write(chip, 0xde, capture_cmd(chip)); @@ -318,17 +310,16 @@ } else { result = -EINVAL; } - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock(&chip->mixer_lock); return result; } static int snd_als4000_playback_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); int result = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); if (cmd == SNDRV_PCM_TRIGGER_START) { chip->mode |= SB_RATE_LOCK_PLAYBACK; snd_sbdsp_command(chip, playback_cmd(chip).dma_on); @@ -338,38 +329,35 @@ } else { result = -EINVAL; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return result; } static snd_pcm_uframes_t snd_als4000_capture_pointer(snd_pcm_substream_t * substream) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); unsigned int result; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); result = snd_als4000_gcr_read(chip, 0xa4) & 0xffff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames( substream->runtime, result ); } static snd_pcm_uframes_t snd_als4000_playback_pointer(snd_pcm_substream_t * substream) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); unsigned result; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); result = snd_als4000_gcr_read(chip, 0xa0) & 0xffff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames( substream->runtime, result ); } static irqreturn_t snd_als4000_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); - unsigned long flags; + sb_t *chip = dev_id; unsigned gcr_status; unsigned sb_status; @@ -385,9 +373,9 @@ /* release the gcr */ outb(gcr_status, chip->alt_port + 0xe); - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock(&chip->mixer_lock); sb_status = snd_sbmixer_read(chip, SB_DSP4_IRQSTATUS); - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock(&chip->mixer_lock); if (sb_status & SB_IRQTYPE_8BIT) snd_sb_ack_8bit(chip); @@ -506,7 +494,7 @@ static void snd_als4000_pcm_free(snd_pcm_t *pcm) { - sb_t *chip = snd_magic_cast(sb_t, pcm->private_data, return); + sb_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -557,27 +545,26 @@ static void __devinit snd_als4000_configure(sb_t *chip) { - unsigned long flags; unsigned tmp; int i; /* do some more configuration */ - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock_irq(&chip->mixer_lock); tmp = snd_sbmixer_read(chip, 0xc0); snd_sbmixer_write(chip, 0xc0, tmp|0x80); /* always select DMA channel 0, since we do not actually use DMA */ snd_sbmixer_write(chip, SB_DSP4_DMASETUP, SB_DMASETUP_DMA0); snd_sbmixer_write(chip, 0xc0, tmp&0x7f); - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock_irq(&chip->mixer_lock); - spin_lock_irqsave(&chip->reg_lock,flags); + spin_lock_irq(&chip->reg_lock); /* magic number. Enables interrupts(?) */ snd_als4000_gcr_write(chip, 0x8c, 0x28000); for(i = 0x91; i <= 0x96; ++i) snd_als4000_gcr_write(chip, i, 0); snd_als4000_gcr_write(chip, 0x99, snd_als4000_gcr_read(chip, 0x99)); - spin_unlock_irqrestore(&chip->reg_lock,flags); + spin_unlock_irq(&chip->reg_lock); } static void snd_card_als4000_free( snd_card_t *card ) @@ -595,8 +582,7 @@ kfree_nocheck(acard->res_joystick); } #endif - release_resource(acard->res_gcr); - kfree_nocheck(acard->res_gcr); + pci_release_regions(acard->pci); } static int __devinit snd_card_als4000_probe(struct pci_dev *pci, @@ -606,7 +592,6 @@ snd_card_t *card; snd_card_als4000_t *acard; unsigned long gcr; - struct resource *res_gcr_port; sb_t *chip; opl3_t *opl3; unsigned short word; @@ -631,11 +616,9 @@ return -ENXIO; } + if ((err = pci_request_regions(pci, "ALS4000")) < 0) + return err; gcr = pci_resource_start(pci, 0); - if ((res_gcr_port = request_region(gcr, 0x40, "ALS4000")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", gcr, gcr + 0x40 - 1); - return -EBUSY; - } pci_read_config_word(pci, PCI_COMMAND, &word); pci_write_config_word(pci, PCI_COMMAND, word | PCI_COMMAND_IO); @@ -644,14 +627,13 @@ card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof( snd_card_als4000_t ) ); if (card == NULL) { - release_resource(res_gcr_port); - kfree_nocheck(res_gcr_port); + pci_release_regions(pci); return -ENOMEM; } acard = (snd_card_als4000_t *)card->private_data; + acard->pci = pci; acard->gcr = gcr; - acard->res_gcr = res_gcr_port; card->private_free = snd_card_als4000_free; /* disable all legacy ISA stuff except for joystick */ diff -Nru a/sound/pci/atiixp.c b/sound/pci/atiixp.c --- a/sound/pci/atiixp.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/atiixp.c 2004-08-25 19:27:40 -07:00 @@ -1,5 +1,5 @@ /* - * ALSA driver for ATI IXP 150/200/250 AC97 controllers + * ALSA driver for ATI IXP 150/200/250/300 AC97 controllers * * Copyright (c) 2004 Takashi Iwai * @@ -37,8 +37,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("ATI IXP AC97 controller"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ATI,IXP150/200/250/300}}"); +MODULE_SUPPORTED_DEVICE("{{ATI,IXP150/200/250/300/400}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,19 +48,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ATI IXP controller."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ATI IXP controller."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable audio part of ATI IXP controller."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:48000"); module_param_array(spdif_aclink, bool, boot_devs, 0444); MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link."); -MODULE_PARM_SYNTAX(spdif_aclink, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); /* @@ -197,7 +191,6 @@ #define ATI_REG_DMA_STATE (7U<<26) -#define ATI_MEM_REGION 256 /* i/o memory size */ #define ATI_MAX_DESCRIPTORS 256 /* max number of descriptor packets */ @@ -207,7 +200,6 @@ typedef struct snd_atiixp atiixp_t; typedef struct snd_atiixp_dma atiixp_dma_t; typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t; -#define chip_t atiixp_t /* @@ -248,7 +240,6 @@ */ struct snd_atiixp_dma { const atiixp_dma_ops_t *ops; - struct snd_dma_device desc_dev; struct snd_dma_buffer desc_buf; snd_pcm_substream_t *substream; /* assigned PCM substream */ unsigned int buf_addr, buf_bytes; /* DMA buffer address, bytes */ @@ -266,7 +257,6 @@ snd_card_t *card; struct pci_dev *pci; - struct resource *res; /* memory i/o */ unsigned long addr; unsigned long remap_addr; int irq; @@ -287,10 +277,6 @@ int spdif_over_aclink; /* passed from the module option */ struct semaphore open_mutex; /* playback open mutex */ - -#ifdef CONFIG_PM - u32 pci_state[16]; -#endif }; @@ -299,6 +285,7 @@ static struct pci_device_id snd_atiixp_ids[] = { { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ + { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ { 0, } }; @@ -376,15 +363,13 @@ return -ENOMEM; if (dma->desc_buf.area == NULL) { - memset(&dma->desc_dev, 0, sizeof(dma->desc_dev)); - dma->desc_dev.type = SNDRV_DMA_TYPE_DEV; - dma->desc_dev.dev = snd_dma_pci_data(chip->pci); - if (snd_dma_alloc_pages(&dma->desc_dev, ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) return -ENOMEM; dma->period_bytes = dma->periods = 0; /* clear */ } - if (dma->periods == dma->periods && dma->period_bytes == period_bytes) + if (dma->periods == periods && dma->period_bytes == period_bytes) return 0; /* reset DMA before changing the descriptor table */ @@ -426,7 +411,7 @@ { if (dma->desc_buf.area) { writel(0, chip->remap_addr + dma->ops->llp_offset); - snd_dma_free_pages(&dma->desc_dev, &dma->desc_buf); + snd_dma_free_pages(&dma->desc_buf); dma->desc_buf.area = NULL; } } @@ -491,7 +476,7 @@ static unsigned short snd_atiixp_ac97_read(ac97_t *ac97, unsigned short reg) { - atiixp_t *chip = snd_magic_cast(atiixp_t, ac97->private_data, return 0xffff); + atiixp_t *chip = ac97->private_data; unsigned short data; spin_lock(&chip->ac97_lock); data = snd_atiixp_codec_read(chip, ac97->num, reg); @@ -502,7 +487,7 @@ static void snd_atiixp_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - atiixp_t *chip = snd_magic_cast(atiixp_t, ac97->private_data, return); + atiixp_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); snd_atiixp_codec_write(chip, ac97->num, reg, val); spin_unlock(&chip->ac97_lock); @@ -653,9 +638,8 @@ snd_pcm_runtime_t *runtime = substream->runtime; atiixp_dma_t *dma = (atiixp_dma_t *)runtime->private_data; unsigned int curptr; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); curptr = readl(chip->remap_addr + dma->ops->dt_cur); if (curptr < dma->buf_addr) { snd_printdd("curptr = %x, base = %x\n", curptr, dma->buf_addr); @@ -667,7 +651,7 @@ curptr = 0; } } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(runtime, curptr); } @@ -852,7 +836,7 @@ { atiixp_t *chip = snd_pcm_substream_chip(substream); - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); if (chip->spdif_over_aclink) { unsigned int data; /* enable slots 10/11 */ @@ -870,7 +854,7 @@ atiixp_update(chip, CMD, ATI_REG_CMD_SPDF_CONFIG_MASK, 0); atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_SPDF, 0); } - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -880,7 +864,7 @@ atiixp_t *chip = snd_pcm_substream_chip(substream); unsigned int data; - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); data = atiixp_read(chip, OUT_DMA_SLOT) & ~ATI_REG_OUT_DMA_SLOT_MASK; switch (substream->runtime->channels) { case 8: @@ -915,7 +899,7 @@ atiixp_update(chip, 6CH_REORDER, ATI_REG_6CH_REORDER_EN, substream->runtime->channels >= 6 ? ATI_REG_6CH_REORDER_EN: 0); - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -924,11 +908,11 @@ { atiixp_t *chip = snd_pcm_substream_chip(substream); - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_IN, substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ? ATI_REG_CMD_INTERLEAVE_IN : 0); - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -996,6 +980,7 @@ { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, .rates = SNDRV_PCM_RATE_48000, @@ -1014,7 +999,6 @@ { atiixp_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - unsigned long flags; int err; snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL); @@ -1036,9 +1020,9 @@ runtime->private_data = dma; /* enable DMA bits */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); dma->ops->enable_dma(chip, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); dma->opened = 1; return 0; @@ -1308,7 +1292,7 @@ */ static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - atiixp_t *chip = snd_magic_cast(atiixp_t, dev_id, return IRQ_NONE); + atiixp_t *chip = dev_id; unsigned int status; status = atiixp_read(chip, ISR); @@ -1355,10 +1339,14 @@ static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int i, err; int codec_count; + static ac97_bus_ops_t ops = { + .write = snd_atiixp_ac97_write, + .read = snd_atiixp_ac97_read, + }; static unsigned int codec_skip[NUM_ATI_CODECS] = { ATI_REG_ISR_CODEC0_NOT_READY, ATI_REG_ISR_CODEC1_NOT_READY, @@ -1368,13 +1356,10 @@ if (snd_atiixp_codec_detect(chip) < 0) return -ENXIO; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_atiixp_ac97_write; - bus.read = snd_atiixp_ac97_read; - bus.private_data = chip; - bus.clock = clock; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0) return err; + pbus->clock = clock; + pbus->shared_type = AC97_SHARED_TYPE_ATIIXP; /* shared with modem driver */ chip->ac97_bus = pbus; codec_count = 0; @@ -1387,17 +1372,9 @@ ac97.num = i; ac97.scaps = AC97_SCAP_SKIP_MODEM; if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) { - if (chip->codec_not_ready_bits) - /* codec(s) was detected but not available. - * return the error - */ - return err; - else { - /* codec(s) was NOT detected, so just ignore here */ - chip->ac97[i] = NULL; /* to be sure */ - snd_printd("atiixp: codec %d not found\n", i); - continue; - } + chip->ac97[i] = NULL; /* to be sure */ + snd_printdd("atiixp: codec %d not available for audio\n", i); + continue; } codec_count++; } @@ -1419,7 +1396,7 @@ */ static int snd_atiixp_suspend(snd_card_t *card, unsigned int state) { - atiixp_t *chip = snd_magic_cast(atiixp_t, card->pm_private_data, return -EINVAL); + atiixp_t *chip = card->pm_private_data; int i; for (i = 0; i < NUM_ATI_PCMDEVS; i++) @@ -1431,7 +1408,6 @@ snd_atiixp_aclink_down(chip); snd_atiixp_chip_stop(chip); - pci_save_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 3); pci_disable_device(chip->pci); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1440,11 +1416,10 @@ static int snd_atiixp_resume(snd_card_t *card, unsigned int state) { - atiixp_t *chip = snd_magic_cast(atiixp_t, card->pm_private_data, return -EINVAL); + atiixp_t *chip = card->pm_private_data; int i; pci_enable_device(chip->pci); - pci_restore_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 0); snd_atiixp_aclink_reset(chip); @@ -1466,7 +1441,7 @@ static void snd_atiixp_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - atiixp_t *chip = snd_magic_cast(atiixp_t, entry->private_data, return); + atiixp_t *chip = entry->private_data; int i; for (i = 0; i < 256; i += 4) @@ -1494,21 +1469,18 @@ snd_atiixp_chip_stop(chip); synchronize_irq(chip->irq); __hw_end: - if (chip->remap_addr) - iounmap((void *) chip->remap_addr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + if (chip->remap_addr) + iounmap((void *) chip->remap_addr); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_atiixp_dev_free(snd_device_t *device) { - atiixp_t *chip = snd_magic_cast(atiixp_t, device->device_data, return -ENXIO); + atiixp_t *chip = device->device_data; return snd_atiixp_free(chip); } @@ -1528,7 +1500,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(atiixp_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -1538,13 +1510,12 @@ chip->card = card; chip->pci = pci; chip->irq = -1; - chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_mem_region(chip->addr, ATI_MEM_REGION, "ATI IXP AC97")) == NULL) { - snd_printk(KERN_ERR "unable to grab I/O memory 0x%lx\n", chip->addr); - snd_atiixp_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ATI IXP AC97")) < 0) { + kfree(chip); + return err; } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, ATI_MEM_REGION); + chip->addr = pci_resource_start(pci, 0); + chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, pci_resource_len(pci, 0)); if (chip->remap_addr == 0) { snd_printk(KERN_ERR "AC'97 space ioremap problem\n"); snd_atiixp_free(chip); diff -Nru a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/pci/atiixp_modem.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,1349 @@ +/* + * ALSA driver for ATI IXP 150/200/250 AC97 modem controllers + * + * Copyright (c) 2004 Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +MODULE_AUTHOR("Takashi Iwai "); +MODULE_DESCRIPTION("ATI IXP MC97 controller"); +MODULE_LICENSE("GPL"); +MODULE_SUPPORTED_DEVICE("{{ATI,IXP150/200/250}}"); + +static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ +static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ +static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ +static int ac97_clock[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 48000}; +static int boot_devs; + +module_param_array(index, int, boot_devs, 0444); +MODULE_PARM_DESC(index, "Index value for ATI IXP controller."); +module_param_array(id, charp, boot_devs, 0444); +MODULE_PARM_DESC(id, "ID string for ATI IXP controller."); +module_param_array(enable, bool, boot_devs, 0444); +MODULE_PARM_DESC(enable, "Enable audio part of ATI IXP controller."); +module_param_array(ac97_clock, int, boot_devs, 0444); +MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz)."); + + +/* + */ + +#define ATI_REG_ISR 0x00 /* interrupt source */ +#define ATI_REG_ISR_MODEM_IN_XRUN (1U<<0) +#define ATI_REG_ISR_MODEM_IN_STATUS (1U<<1) +#define ATI_REG_ISR_MODEM_OUT1_XRUN (1U<<2) +#define ATI_REG_ISR_MODEM_OUT1_STATUS (1U<<3) +#define ATI_REG_ISR_MODEM_OUT2_XRUN (1U<<4) +#define ATI_REG_ISR_MODEM_OUT2_STATUS (1U<<5) +#define ATI_REG_ISR_MODEM_OUT3_XRUN (1U<<6) +#define ATI_REG_ISR_MODEM_OUT3_STATUS (1U<<7) +#define ATI_REG_ISR_PHYS_INTR (1U<<8) +#define ATI_REG_ISR_PHYS_MISMATCH (1U<<9) +#define ATI_REG_ISR_CODEC0_NOT_READY (1U<<10) +#define ATI_REG_ISR_CODEC1_NOT_READY (1U<<11) +#define ATI_REG_ISR_CODEC2_NOT_READY (1U<<12) +#define ATI_REG_ISR_NEW_FRAME (1U<<13) +#define ATI_REG_ISR_MODEM_GPIO_DATA (1U<<14) + +#define ATI_REG_IER 0x04 /* interrupt enable */ +#define ATI_REG_IER_MODEM_IN_XRUN_EN (1U<<0) +#define ATI_REG_IER_MODEM_STATUS_EN (1U<<1) +#define ATI_REG_IER_MODEM_OUT1_XRUN_EN (1U<<2) +#define ATI_REG_IER_MODEM_OUT2_XRUN_EN (1U<<4) +#define ATI_REG_IER_MODEM_OUT3_XRUN_EN (1U<<6) +#define ATI_REG_IER_PHYS_INTR_EN (1U<<8) +#define ATI_REG_IER_PHYS_MISMATCH_EN (1U<<9) +#define ATI_REG_IER_CODEC0_INTR_EN (1U<<10) +#define ATI_REG_IER_CODEC1_INTR_EN (1U<<11) +#define ATI_REG_IER_CODEC2_INTR_EN (1U<<12) +#define ATI_REG_IER_NEW_FRAME_EN (1U<<13) /* (RO */ +#define ATI_REG_IER_MODEM_GPIO_DATA_EN (1U<<14) /* (WO) modem is running */ +#define ATI_REG_IER_MODEM_SET_BUS_BUSY (1U<<15) + +#define ATI_REG_CMD 0x08 /* command */ +#define ATI_REG_CMD_POWERDOWN (1U<<0) +#define ATI_REG_CMD_MODEM_RECEIVE_EN (1U<<1) /* modem only */ +#define ATI_REG_CMD_MODEM_SEND1_EN (1U<<2) /* modem only */ +#define ATI_REG_CMD_MODEM_SEND2_EN (1U<<3) /* modem only */ +#define ATI_REG_CMD_MODEM_SEND3_EN (1U<<4) /* modem only */ +#define ATI_REG_CMD_MODEM_STATUS_MEM (1U<<5) /* modem only */ +#define ATI_REG_CMD_MODEM_IN_DMA_EN (1U<<8) /* modem only */ +#define ATI_REG_CMD_MODEM_OUT_DMA1_EN (1U<<9) /* modem only */ +#define ATI_REG_CMD_MODEM_OUT_DMA2_EN (1U<<10) /* modem only */ +#define ATI_REG_CMD_MODEM_OUT_DMA3_EN (1U<<11) /* modem only */ +#define ATI_REG_CMD_AUDIO_PRESENT (1U<<20) +#define ATI_REG_CMD_MODEM_GPIO_THRU_DMA (1U<<22) /* modem only */ +#define ATI_REG_CMD_LOOPBACK_EN (1U<<23) +#define ATI_REG_CMD_PACKED_DIS (1U<<24) +#define ATI_REG_CMD_BURST_EN (1U<<25) +#define ATI_REG_CMD_PANIC_EN (1U<<26) +#define ATI_REG_CMD_MODEM_PRESENT (1U<<27) +#define ATI_REG_CMD_ACLINK_ACTIVE (1U<<28) +#define ATI_REG_CMD_AC_SOFT_RESET (1U<<29) +#define ATI_REG_CMD_AC_SYNC (1U<<30) +#define ATI_REG_CMD_AC_RESET (1U<<31) + +#define ATI_REG_PHYS_OUT_ADDR 0x0c +#define ATI_REG_PHYS_OUT_CODEC_MASK (3U<<0) +#define ATI_REG_PHYS_OUT_RW (1U<<2) +#define ATI_REG_PHYS_OUT_ADDR_EN (1U<<8) +#define ATI_REG_PHYS_OUT_ADDR_SHIFT 9 +#define ATI_REG_PHYS_OUT_DATA_SHIFT 16 + +#define ATI_REG_PHYS_IN_ADDR 0x10 +#define ATI_REG_PHYS_IN_READ_FLAG (1U<<8) +#define ATI_REG_PHYS_IN_ADDR_SHIFT 9 +#define ATI_REG_PHYS_IN_DATA_SHIFT 16 + +#define ATI_REG_SLOTREQ 0x14 + +#define ATI_REG_COUNTER 0x18 +#define ATI_REG_COUNTER_SLOT (3U<<0) /* slot # */ +#define ATI_REG_COUNTER_BITCLOCK (31U<<8) + +#define ATI_REG_IN_FIFO_THRESHOLD 0x1c + +#define ATI_REG_MODEM_IN_DMA_LINKPTR 0x20 +#define ATI_REG_MODEM_IN_DMA_DT_START 0x24 /* RO */ +#define ATI_REG_MODEM_IN_DMA_DT_NEXT 0x28 /* RO */ +#define ATI_REG_MODEM_IN_DMA_DT_CUR 0x2c /* RO */ +#define ATI_REG_MODEM_IN_DMA_DT_SIZE 0x30 +#define ATI_REG_MODEM_OUT_FIFO 0x34 /* output threshold */ +#define ATI_REG_MODEM_OUT1_DMA_THRESHOLD_MASK (0xf<<16) +#define ATI_REG_MODEM_OUT1_DMA_THRESHOLD_SHIFT 16 +#define ATI_REG_MODEM_OUT_DMA1_LINKPTR 0x38 +#define ATI_REG_MODEM_OUT_DMA2_LINKPTR 0x3c +#define ATI_REG_MODEM_OUT_DMA3_LINKPTR 0x40 +#define ATI_REG_MODEM_OUT_DMA1_DT_START 0x44 +#define ATI_REG_MODEM_OUT_DMA1_DT_NEXT 0x48 +#define ATI_REG_MODEM_OUT_DMA1_DT_CUR 0x4c +#define ATI_REG_MODEM_OUT_DMA2_DT_START 0x50 +#define ATI_REG_MODEM_OUT_DMA2_DT_NEXT 0x54 +#define ATI_REG_MODEM_OUT_DMA2_DT_CUR 0x58 +#define ATI_REG_MODEM_OUT_DMA3_DT_START 0x5c +#define ATI_REG_MODEM_OUT_DMA3_DT_NEXT 0x60 +#define ATI_REG_MODEM_OUT_DMA3_DT_CUR 0x64 +#define ATI_REG_MODEM_OUT_DMA12_DT_SIZE 0x68 +#define ATI_REG_MODEM_OUT_DMA3_DT_SIZE 0x6c +#define ATI_REG_MODEM_OUT_FIFO_USED 0x70 +#define ATI_REG_MODEM_OUT_GPIO 0x74 +#define ATI_REG_MODEM_OUT_GPIO_EN 1 +#define ATI_REG_MODEM_OUT_GPIO_DATA_SHIFT 5 +#define ATI_REG_MODEM_IN_GPIO 0x78 + +#define ATI_REG_MODEM_MIRROR 0x7c +#define ATI_REG_AUDIO_MIRROR 0x80 + +#define ATI_REG_MODEM_FIFO_FLUSH 0x88 +#define ATI_REG_MODEM_FIFO_OUT1_FLUSH (1U<<0) +#define ATI_REG_MODEM_FIFO_OUT2_FLUSH (1U<<1) +#define ATI_REG_MODEM_FIFO_OUT3_FLUSH (1U<<2) +#define ATI_REG_MODEM_FIFO_IN_FLUSH (1U<<3) + +/* LINKPTR */ +#define ATI_REG_LINKPTR_EN (1U<<0) + +#define ATI_MAX_DESCRIPTORS 256 /* max number of descriptor packets */ + + +/* + */ + +typedef struct snd_atiixp atiixp_t; +typedef struct snd_atiixp_dma atiixp_dma_t; +typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t; + + +/* + * DMA packate descriptor + */ + +typedef struct atiixp_dma_desc { + u32 addr; /* DMA buffer address */ + u16 status; /* status bits */ + u16 size; /* size of the packet in dwords */ + u32 next; /* address of the next packet descriptor */ +} atiixp_dma_desc_t; + +/* + * stream enum + */ +enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE, NUM_ATI_DMAS }; /* DMAs */ +enum { ATI_PCM_OUT, ATI_PCM_IN, NUM_ATI_PCMS }; /* AC97 pcm slots */ +enum { ATI_PCMDEV_ANALOG, NUM_ATI_PCMDEVS }; /* pcm devices */ + +#define NUM_ATI_CODECS 3 + + +/* + * constants and callbacks for each DMA type + */ +struct snd_atiixp_dma_ops { + int type; /* ATI_DMA_XXX */ + unsigned int llp_offset; /* LINKPTR offset */ + unsigned int dt_cur; /* DT_CUR offset */ + void (*enable_dma)(atiixp_t *chip, int on); /* called from open callback */ + void (*enable_transfer)(atiixp_t *chip, int on); /* called from trigger (START/STOP) */ + void (*flush_dma)(atiixp_t *chip); /* called from trigger (STOP only) */ +}; + +/* + * DMA stream + */ +struct snd_atiixp_dma { + const atiixp_dma_ops_t *ops; + struct snd_dma_buffer desc_buf; + snd_pcm_substream_t *substream; /* assigned PCM substream */ + unsigned int buf_addr, buf_bytes; /* DMA buffer address, bytes */ + unsigned int period_bytes, periods; + int opened; + int running; + int pcm_open_flag; + int ac97_pcm_type; /* index # of ac97_pcm to access, -1 = not used */ +}; + +/* + * ATI IXP chip + */ +struct snd_atiixp { + snd_card_t *card; + struct pci_dev *pci; + + struct resource *res; /* memory i/o */ + unsigned long addr; + unsigned long remap_addr; + int irq; + + ac97_bus_t *ac97_bus; + ac97_t *ac97[NUM_ATI_CODECS]; + + spinlock_t reg_lock; + spinlock_t ac97_lock; + + atiixp_dma_t dmas[NUM_ATI_DMAS]; + struct ac97_pcm *pcms[NUM_ATI_PCMS]; + snd_pcm_t *pcmdevs[NUM_ATI_PCMDEVS]; + + int max_channels; /* max. channels for PCM out */ + + unsigned int codec_not_ready_bits; /* for codec detection */ + + int spdif_over_aclink; /* passed from the module option */ + struct semaphore open_mutex; /* playback open mutex */ +}; + + +/* + */ +static struct pci_device_id snd_atiixp_ids[] = { + { 0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ + { 0, } +}; + +MODULE_DEVICE_TABLE(pci, snd_atiixp_ids); + + +/* + * lowlevel functions + */ + +/* + * update the bits of the given register. + * return 1 if the bits changed. + */ +static int snd_atiixp_update_bits(atiixp_t *chip, unsigned int reg, + unsigned int mask, unsigned int value) +{ + unsigned long addr = chip->remap_addr + reg; + unsigned int data, old_data; + old_data = data = readl(addr); + data &= ~mask; + data |= value; + if (old_data == data) + return 0; + writel(data, addr); + return 1; +} + +/* + * macros for easy use + */ +#define atiixp_write(chip,reg,value) \ + writel(value, chip->remap_addr + ATI_REG_##reg) +#define atiixp_read(chip,reg) \ + readl(chip->remap_addr + ATI_REG_##reg) +#define atiixp_update(chip,reg,mask,val) \ + snd_atiixp_update_bits(chip, ATI_REG_##reg, mask, val) + +/* delay for one tick */ +#define do_delay() do { \ + set_current_state(TASK_UNINTERRUPTIBLE); \ + schedule_timeout(1); \ +} while (0) + + +/* + * handling DMA packets + * + * we allocate a linear buffer for the DMA, and split it to each packet. + * in a future version, a scatter-gather buffer should be implemented. + */ + +#define ATI_DESC_LIST_SIZE \ + PAGE_ALIGN(ATI_MAX_DESCRIPTORS * sizeof(atiixp_dma_desc_t)) + +/* + * build packets ring for the given buffer size. + * + * IXP handles the buffer descriptors, which are connected as a linked + * list. although we can change the list dynamically, in this version, + * a static RING of buffer descriptors is used. + * + * the ring is built in this function, and is set up to the hardware. + */ +static int atiixp_build_dma_packets(atiixp_t *chip, atiixp_dma_t *dma, + snd_pcm_substream_t *substream, + unsigned int periods, + unsigned int period_bytes) +{ + unsigned int i; + u32 addr, desc_addr; + unsigned long flags; + + if (periods > ATI_MAX_DESCRIPTORS) + return -ENOMEM; + + if (dma->desc_buf.area == NULL) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) + return -ENOMEM; + dma->period_bytes = dma->periods = 0; /* clear */ + } + + if (dma->periods == periods && dma->period_bytes == period_bytes) + return 0; + + /* reset DMA before changing the descriptor table */ + spin_lock_irqsave(&chip->reg_lock, flags); + writel(0, chip->remap_addr + dma->ops->llp_offset); + dma->ops->enable_dma(chip, 0); + dma->ops->enable_dma(chip, 1); + spin_unlock_irqrestore(&chip->reg_lock, flags); + + /* fill the entries */ + addr = (u32)substream->runtime->dma_addr; + desc_addr = (u32)dma->desc_buf.addr; + for (i = 0; i < periods; i++) { + atiixp_dma_desc_t *desc = &((atiixp_dma_desc_t *)dma->desc_buf.area)[i]; + desc->addr = cpu_to_le32(addr); + desc->status = 0; + desc->size = period_bytes >> 2; /* in dwords */ + desc_addr += sizeof(atiixp_dma_desc_t); + if (i == periods - 1) + desc->next = cpu_to_le32((u32)dma->desc_buf.addr); + else + desc->next = cpu_to_le32(desc_addr); + addr += period_bytes; + } + + writel((u32)dma->desc_buf.addr | ATI_REG_LINKPTR_EN, + chip->remap_addr + dma->ops->llp_offset); + + dma->period_bytes = period_bytes; + dma->periods = periods; + + return 0; +} + +/* + * remove the ring buffer and release it if assigned + */ +static void atiixp_clear_dma_packets(atiixp_t *chip, atiixp_dma_t *dma, snd_pcm_substream_t *substream) +{ + if (dma->desc_buf.area) { + writel(0, chip->remap_addr + dma->ops->llp_offset); + snd_dma_free_pages(&dma->desc_buf); + dma->desc_buf.area = NULL; + } +} + +/* + * AC97 interface + */ +static int snd_atiixp_acquire_codec(atiixp_t *chip) +{ + int timeout = 1000; + + while (atiixp_read(chip, PHYS_OUT_ADDR) & ATI_REG_PHYS_OUT_ADDR_EN) { + if (! timeout--) { + snd_printk(KERN_WARNING "atiixp: codec acquire timeout\n"); + return -EBUSY; + } + udelay(1); + } + return 0; +} + +static unsigned short snd_atiixp_codec_read(atiixp_t *chip, unsigned short codec, unsigned short reg) +{ + unsigned int data; + int timeout; + + if (snd_atiixp_acquire_codec(chip) < 0) + return 0xffff; + data = (reg << ATI_REG_PHYS_OUT_ADDR_SHIFT) | + ATI_REG_PHYS_OUT_ADDR_EN | + ATI_REG_PHYS_OUT_RW | + codec; + atiixp_write(chip, PHYS_OUT_ADDR, data); + if (snd_atiixp_acquire_codec(chip) < 0) + return 0xffff; + timeout = 1000; + do { + data = atiixp_read(chip, PHYS_IN_ADDR); + if (data & ATI_REG_PHYS_IN_READ_FLAG) + return data >> ATI_REG_PHYS_IN_DATA_SHIFT; + udelay(1); + } while (--timeout); + /* time out may happen during reset */ + if (reg < 0x7c) + snd_printk(KERN_WARNING "atiixp: codec read timeout (reg %x)\n", reg); + return 0xffff; +} + + +static void snd_atiixp_codec_write(atiixp_t *chip, unsigned short codec, unsigned short reg, unsigned short val) +{ + unsigned int data; + + if (snd_atiixp_acquire_codec(chip) < 0) + return; + data = ((unsigned int)val << ATI_REG_PHYS_OUT_DATA_SHIFT) | + ((unsigned int)reg << ATI_REG_PHYS_OUT_ADDR_SHIFT) | + ATI_REG_PHYS_OUT_ADDR_EN | codec; + atiixp_write(chip, PHYS_OUT_ADDR, data); +} + + +static unsigned short snd_atiixp_ac97_read(ac97_t *ac97, unsigned short reg) +{ + atiixp_t *chip = ac97->private_data; + unsigned short data; + spin_lock(&chip->ac97_lock); + data = snd_atiixp_codec_read(chip, ac97->num, reg); + spin_unlock(&chip->ac97_lock); + return data; + +} + +static void snd_atiixp_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) +{ + atiixp_t *chip = ac97->private_data; + spin_lock(&chip->ac97_lock); + snd_atiixp_codec_write(chip, ac97->num, reg, val); + spin_unlock(&chip->ac97_lock); +} + +/* + * reset AC link + */ +static int snd_atiixp_aclink_reset(atiixp_t *chip) +{ + int timeout; + + /* reset powerdoewn */ + if (atiixp_update(chip, CMD, ATI_REG_CMD_POWERDOWN, 0)) + udelay(10); + + /* perform a software reset */ + atiixp_update(chip, CMD, ATI_REG_CMD_AC_SOFT_RESET, ATI_REG_CMD_AC_SOFT_RESET); + atiixp_read(chip, CMD); + udelay(10); + atiixp_update(chip, CMD, ATI_REG_CMD_AC_SOFT_RESET, 0); + + timeout = 10; + while (! (atiixp_read(chip, CMD) & ATI_REG_CMD_ACLINK_ACTIVE)) { + /* do a hard reset */ + atiixp_update(chip, CMD, ATI_REG_CMD_AC_SYNC|ATI_REG_CMD_AC_RESET, + ATI_REG_CMD_AC_SYNC); + atiixp_read(chip, CMD); + do_delay(); + atiixp_update(chip, CMD, ATI_REG_CMD_AC_RESET, ATI_REG_CMD_AC_RESET); + if (--timeout) { + snd_printk(KERN_ERR "atiixp: codec reset timeout\n"); + break; + } + } + + /* deassert RESET and assert SYNC to make sure */ + atiixp_update(chip, CMD, ATI_REG_CMD_AC_SYNC|ATI_REG_CMD_AC_RESET, + ATI_REG_CMD_AC_SYNC|ATI_REG_CMD_AC_RESET); + + return 0; +} + +#ifdef CONFIG_PM +static int snd_atiixp_aclink_down(atiixp_t *chip) +{ + // if (atiixp_read(chip, MODEM_MIRROR) & 0x1) /* modem running, too? */ + // return -EBUSY; + atiixp_update(chip, CMD, + ATI_REG_CMD_POWERDOWN | ATI_REG_CMD_AC_RESET, + ATI_REG_CMD_POWERDOWN); + return 0; +} +#endif + +/* + * auto-detection of codecs + * + * the IXP chip can generate interrupts for the non-existing codecs. + * NEW_FRAME interrupt is used to make sure that the interrupt is generated + * even if all three codecs are connected. + */ + +#define ALL_CODEC_NOT_READY \ + (ATI_REG_ISR_CODEC0_NOT_READY |\ + ATI_REG_ISR_CODEC1_NOT_READY |\ + ATI_REG_ISR_CODEC2_NOT_READY) +#define CODEC_CHECK_BITS (ALL_CODEC_NOT_READY|ATI_REG_ISR_NEW_FRAME) + +static int snd_atiixp_codec_detect(atiixp_t *chip) +{ + int timeout; + + chip->codec_not_ready_bits = 0; + atiixp_write(chip, IER, CODEC_CHECK_BITS); + /* wait for the interrupts */ + timeout = HZ / 10; + while (timeout-- > 0) { + do_delay(); + if (chip->codec_not_ready_bits) + break; + } + atiixp_write(chip, IER, 0); /* disable irqs */ + + if ((chip->codec_not_ready_bits & ALL_CODEC_NOT_READY) == ALL_CODEC_NOT_READY) { + snd_printk(KERN_ERR "atiixp: no codec detected!\n"); + return -ENXIO; + } + return 0; +} + + +/* + * enable DMA and irqs + */ +static int snd_atiixp_chip_start(atiixp_t *chip) +{ + unsigned int reg; + + /* set up spdif, enable burst mode */ + reg = atiixp_read(chip, CMD); + reg |= ATI_REG_CMD_BURST_EN; + atiixp_write(chip, CMD, reg); + + /* clear all interrupt source */ + atiixp_write(chip, ISR, 0xffffffff); + /* enable irqs */ + atiixp_write(chip, IER, + ATI_REG_IER_MODEM_STATUS_EN | + ATI_REG_IER_MODEM_IN_XRUN_EN | + ATI_REG_IER_MODEM_OUT1_XRUN_EN); + return 0; +} + + +/* + * disable DMA and IRQs + */ +static int snd_atiixp_chip_stop(atiixp_t *chip) +{ + /* clear interrupt source */ + atiixp_write(chip, ISR, atiixp_read(chip, ISR)); + /* disable irqs */ + atiixp_write(chip, IER, 0); + return 0; +} + + +/* + * PCM section + */ + +/* + * pointer callback simplly reads XXX_DMA_DT_CUR register as the current + * position. when SG-buffer is implemented, the offset must be calculated + * correctly... + */ +static snd_pcm_uframes_t snd_atiixp_pcm_pointer(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + atiixp_dma_t *dma = (atiixp_dma_t *)runtime->private_data; + unsigned int curptr; + + spin_lock(&chip->reg_lock); + curptr = readl(chip->remap_addr + dma->ops->dt_cur); + if (curptr < dma->buf_addr) { + snd_printdd("curptr = %x, base = %x\n", curptr, dma->buf_addr); + curptr = 0; + } else { + curptr -= dma->buf_addr; + if (curptr >= dma->buf_bytes) { + snd_printdd("curptr = %x, size = %x\n", curptr, dma->buf_bytes); + curptr = 0; + } + } + spin_unlock(&chip->reg_lock); + return bytes_to_frames(runtime, curptr); +} + +/* + * XRUN detected, and stop the PCM substream + */ +static void snd_atiixp_xrun_dma(atiixp_t *chip, atiixp_dma_t *dma) +{ + if (! dma->substream || ! dma->running) + return; + snd_printdd("atiixp: XRUN detected (DMA %d)\n", dma->ops->type); + snd_pcm_stop(dma->substream, SNDRV_PCM_STATE_XRUN); +} + +/* + * the period ack. update the substream. + */ +static void snd_atiixp_update_dma(atiixp_t *chip, atiixp_dma_t *dma) +{ + if (! dma->substream || ! dma->running) + return; + snd_pcm_period_elapsed(dma->substream); +} + +/* set BUS_BUSY interrupt bit if any DMA is running */ +/* call with spinlock held */ +static void snd_atiixp_check_bus_busy(atiixp_t *chip) +{ + unsigned int bus_busy; + if (atiixp_read(chip, CMD) & (ATI_REG_CMD_MODEM_SEND1_EN | + ATI_REG_CMD_MODEM_RECEIVE_EN)) + bus_busy = ATI_REG_IER_MODEM_SET_BUS_BUSY; + else + bus_busy = 0; + atiixp_update(chip, IER, ATI_REG_IER_MODEM_SET_BUS_BUSY, bus_busy); +} + +/* common trigger callback + * calling the lowlevel callbacks in it + */ +static int snd_atiixp_pcm_trigger(snd_pcm_substream_t *substream, int cmd) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + atiixp_dma_t *dma = (atiixp_dma_t *)substream->runtime->private_data; + unsigned int reg = 0; + int i; + + snd_assert(dma->ops->enable_transfer && dma->ops->flush_dma, return -EINVAL); + + if (cmd != SNDRV_PCM_TRIGGER_START && cmd != SNDRV_PCM_TRIGGER_STOP) + return -EINVAL; + + spin_lock(&chip->reg_lock); + + /* hook off/on: via GPIO_OUT */ + for (i = 0; i < NUM_ATI_CODECS; i++) { + if (chip->ac97[i]) { + reg = snd_ac97_read(chip->ac97[i], AC97_GPIO_STATUS); + break; + } + } + if(cmd == SNDRV_PCM_TRIGGER_START) + reg |= AC97_GPIO_LINE1_OH; + else + reg &= ~AC97_GPIO_LINE1_OH; + reg = (reg << ATI_REG_MODEM_OUT_GPIO_DATA_SHIFT) | ATI_REG_MODEM_OUT_GPIO_EN ; + atiixp_write(chip, MODEM_OUT_GPIO, reg); + + if (cmd == SNDRV_PCM_TRIGGER_START) { + dma->ops->enable_transfer(chip, 1); + dma->running = 1; + } else { + dma->ops->enable_transfer(chip, 0); + dma->running = 0; + } + snd_atiixp_check_bus_busy(chip); + if (cmd == SNDRV_PCM_TRIGGER_STOP) { + dma->ops->flush_dma(chip); + snd_atiixp_check_bus_busy(chip); + } + spin_unlock(&chip->reg_lock); + return 0; +} + + +/* + * lowlevel callbacks for each DMA type + * + * every callback is supposed to be called in chip->reg_lock spinlock + */ + +/* flush FIFO of analog OUT DMA */ +static void atiixp_out_flush_dma(atiixp_t *chip) +{ + atiixp_write(chip, MODEM_FIFO_FLUSH, ATI_REG_MODEM_FIFO_OUT1_FLUSH); +} + +/* enable/disable analog OUT DMA */ +static void atiixp_out_enable_dma(atiixp_t *chip, int on) +{ + unsigned int data; + data = atiixp_read(chip, CMD); + if (on) { + if (data & ATI_REG_CMD_MODEM_OUT_DMA1_EN) + return; + atiixp_out_flush_dma(chip); + data |= ATI_REG_CMD_MODEM_OUT_DMA1_EN; + } else + data &= ~ATI_REG_CMD_MODEM_OUT_DMA1_EN; + atiixp_write(chip, CMD, data); +} + +/* start/stop transfer over OUT DMA */ +static void atiixp_out_enable_transfer(atiixp_t *chip, int on) +{ + atiixp_update(chip, CMD, ATI_REG_CMD_MODEM_SEND1_EN, + on ? ATI_REG_CMD_MODEM_SEND1_EN : 0); +} + +/* enable/disable analog IN DMA */ +static void atiixp_in_enable_dma(atiixp_t *chip, int on) +{ + atiixp_update(chip, CMD, ATI_REG_CMD_MODEM_IN_DMA_EN, + on ? ATI_REG_CMD_MODEM_IN_DMA_EN : 0); +} + +/* start/stop analog IN DMA */ +static void atiixp_in_enable_transfer(atiixp_t *chip, int on) +{ + if (on) { + unsigned int data = atiixp_read(chip, CMD); + if (! (data & ATI_REG_CMD_MODEM_RECEIVE_EN)) { + data |= ATI_REG_CMD_MODEM_RECEIVE_EN; + atiixp_write(chip, CMD, data); + } + } else + atiixp_update(chip, CMD, ATI_REG_CMD_MODEM_RECEIVE_EN, 0); +} + +/* flush FIFO of analog IN DMA */ +static void atiixp_in_flush_dma(atiixp_t *chip) +{ + atiixp_write(chip, MODEM_FIFO_FLUSH, ATI_REG_MODEM_FIFO_IN_FLUSH); +} + +/* set up slots and formats for analog OUT */ +static int snd_atiixp_playback_prepare(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + unsigned int data; + + spin_lock_irq(&chip->reg_lock); + /* set output threshold */ + data = atiixp_read(chip, MODEM_OUT_FIFO); + data &= ~ATI_REG_MODEM_OUT1_DMA_THRESHOLD_MASK; + data |= 0x04 << ATI_REG_MODEM_OUT1_DMA_THRESHOLD_SHIFT; + atiixp_write(chip, MODEM_OUT_FIFO, data); + spin_unlock_irq(&chip->reg_lock); + return 0; +} + +/* set up slots and formats for analog IN */ +static int snd_atiixp_capture_prepare(snd_pcm_substream_t *substream) +{ + return 0; +} + +/* + * hw_params - allocate the buffer and set up buffer descriptors + */ +static int snd_atiixp_pcm_hw_params(snd_pcm_substream_t *substream, + snd_pcm_hw_params_t *hw_params) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + atiixp_dma_t *dma = (atiixp_dma_t *)substream->runtime->private_data; + int err; + int i; + + err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); + if (err < 0) + return err; + dma->buf_addr = substream->runtime->dma_addr; + dma->buf_bytes = params_buffer_bytes(hw_params); + + err = atiixp_build_dma_packets(chip, dma, substream, + params_periods(hw_params), + params_period_bytes(hw_params)); + if (err < 0) + return err; + + /* set up modem rate */ + for (i = 0; i < NUM_ATI_CODECS; i++) { + if (! chip->ac97[i]) + continue; + snd_ac97_write(chip->ac97[i], AC97_LINE1_RATE, params_rate(hw_params)); + snd_ac97_write(chip->ac97[i], AC97_LINE1_LEVEL, 0); + } + + return err; +} + +static int snd_atiixp_pcm_hw_free(snd_pcm_substream_t * substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + atiixp_dma_t *dma = (atiixp_dma_t *)substream->runtime->private_data; + + atiixp_clear_dma_packets(chip, dma, substream); + snd_pcm_lib_free_pages(substream); + return 0; +} + + +/* + * pcm hardware definition, identical for all DMA types + */ +static snd_pcm_hardware_t snd_atiixp_pcm_hw = +{ + .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP_VALID), + .formats = SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_KNOT, + .rate_min = 8000, + .rate_max = 16000, + .channels_min = 2, + .channels_max = 2, + .buffer_bytes_max = 256 * 1024, + .period_bytes_min = 32, + .period_bytes_max = 128 * 1024, + .periods_min = 2, + .periods_max = ATI_MAX_DESCRIPTORS, +}; + +static int snd_atiixp_pcm_open(snd_pcm_substream_t *substream, atiixp_dma_t *dma, int pcm_type) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + int err; + static unsigned int rates[] = { 8000, 9600, 12000, 16000 }; + static snd_pcm_hw_constraint_list_t hw_constraints_rates = { + .count = ARRAY_SIZE(rates), + .list = rates, + .mask = 0, + }; + + snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL); + + if (dma->opened) + return -EBUSY; + dma->substream = substream; + runtime->hw = snd_atiixp_pcm_hw; + dma->ac97_pcm_type = pcm_type; + if ((err = snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates)) < 0) + return err; + if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) + return err; + runtime->private_data = dma; + + /* enable DMA bits */ + spin_lock_irq(&chip->reg_lock); + dma->ops->enable_dma(chip, 1); + spin_unlock_irq(&chip->reg_lock); + dma->opened = 1; + + return 0; +} + +static int snd_atiixp_pcm_close(snd_pcm_substream_t *substream, atiixp_dma_t *dma) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + /* disable DMA bits */ + snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL); + spin_lock_irq(&chip->reg_lock); + dma->ops->enable_dma(chip, 0); + spin_unlock_irq(&chip->reg_lock); + dma->substream = NULL; + dma->opened = 0; + return 0; +} + +/* + */ +static int snd_atiixp_playback_open(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + int err; + + down(&chip->open_mutex); + err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0); + up(&chip->open_mutex); + if (err < 0) + return err; + return 0; +} + +static int snd_atiixp_playback_close(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + int err; + down(&chip->open_mutex); + err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]); + up(&chip->open_mutex); + return err; +} + +static int snd_atiixp_capture_open(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1); +} + +static int snd_atiixp_capture_close(snd_pcm_substream_t *substream) +{ + atiixp_t *chip = snd_pcm_substream_chip(substream); + return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]); +} + + +/* AC97 playback */ +static snd_pcm_ops_t snd_atiixp_playback_ops = { + .open = snd_atiixp_playback_open, + .close = snd_atiixp_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_atiixp_pcm_hw_params, + .hw_free = snd_atiixp_pcm_hw_free, + .prepare = snd_atiixp_playback_prepare, + .trigger = snd_atiixp_pcm_trigger, + .pointer = snd_atiixp_pcm_pointer, +}; + +/* AC97 capture */ +static snd_pcm_ops_t snd_atiixp_capture_ops = { + .open = snd_atiixp_capture_open, + .close = snd_atiixp_capture_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_atiixp_pcm_hw_params, + .hw_free = snd_atiixp_pcm_hw_free, + .prepare = snd_atiixp_capture_prepare, + .trigger = snd_atiixp_pcm_trigger, + .pointer = snd_atiixp_pcm_pointer, +}; + +static atiixp_dma_ops_t snd_atiixp_playback_dma_ops = { + .type = ATI_DMA_PLAYBACK, + .llp_offset = ATI_REG_MODEM_OUT_DMA1_LINKPTR, + .dt_cur = ATI_REG_MODEM_OUT_DMA1_DT_CUR, + .enable_dma = atiixp_out_enable_dma, + .enable_transfer = atiixp_out_enable_transfer, + .flush_dma = atiixp_out_flush_dma, +}; + +static atiixp_dma_ops_t snd_atiixp_capture_dma_ops = { + .type = ATI_DMA_CAPTURE, + .llp_offset = ATI_REG_MODEM_IN_DMA_LINKPTR, + .dt_cur = ATI_REG_MODEM_IN_DMA_DT_CUR, + .enable_dma = atiixp_in_enable_dma, + .enable_transfer = atiixp_in_enable_transfer, + .flush_dma = atiixp_in_flush_dma, +}; + +static int __devinit snd_atiixp_pcm_new(atiixp_t *chip) +{ + snd_pcm_t *pcm; + int err; + + /* initialize constants */ + chip->dmas[ATI_DMA_PLAYBACK].ops = &snd_atiixp_playback_dma_ops; + chip->dmas[ATI_DMA_CAPTURE].ops = &snd_atiixp_capture_dma_ops; + + /* PCM #0: analog I/O */ + err = snd_pcm_new(chip->card, "ATI IXP MC97", ATI_PCMDEV_ANALOG, 1, 1, &pcm); + if (err < 0) + return err; + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_atiixp_playback_ops); + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_atiixp_capture_ops); + pcm->private_data = chip; + strcpy(pcm->name, "ATI IXP MC97"); + chip->pcmdevs[ATI_PCMDEV_ANALOG] = pcm; + + snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, + snd_dma_pci_data(chip->pci), 64*1024, 128*1024); + + return 0; +} + + + +/* + * interrupt handler + */ +static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + atiixp_t *chip = dev_id; + unsigned int status; + + status = atiixp_read(chip, ISR); + + if (! status) + return IRQ_NONE; + + /* process audio DMA */ + if (status & ATI_REG_ISR_MODEM_OUT1_XRUN) + snd_atiixp_xrun_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]); + else if (status & ATI_REG_ISR_MODEM_OUT1_STATUS) + snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_PLAYBACK]); + if (status & ATI_REG_ISR_MODEM_IN_XRUN) + snd_atiixp_xrun_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]); + else if (status & ATI_REG_ISR_MODEM_IN_STATUS) + snd_atiixp_update_dma(chip, &chip->dmas[ATI_DMA_CAPTURE]); + + /* for codec detection */ + if (status & CODEC_CHECK_BITS) { + unsigned int detected; + detected = status & CODEC_CHECK_BITS; + spin_lock(&chip->reg_lock); + chip->codec_not_ready_bits |= detected; + atiixp_update(chip, IER, detected, 0); /* disable the detected irqs */ + spin_unlock(&chip->reg_lock); + } + + /* ack */ + atiixp_write(chip, ISR, status); + + return IRQ_HANDLED; +} + + +/* + * ac97 mixer section + */ + +static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) +{ + ac97_bus_t *pbus; + ac97_template_t ac97; + int i, err; + int codec_count; + static ac97_bus_ops_t ops = { + .write = snd_atiixp_ac97_write, + .read = snd_atiixp_ac97_read, + }; + static unsigned int codec_skip[NUM_ATI_CODECS] = { + ATI_REG_ISR_CODEC0_NOT_READY, + ATI_REG_ISR_CODEC1_NOT_READY, + ATI_REG_ISR_CODEC2_NOT_READY, + }; + + if (snd_atiixp_codec_detect(chip) < 0) + return -ENXIO; + + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0) + return err; + pbus->clock = clock; + pbus->shared_type = AC97_SHARED_TYPE_ATIIXP; /* shared with audio driver */ + chip->ac97_bus = pbus; + + codec_count = 0; + for (i = 0; i < NUM_ATI_CODECS; i++) { + if (chip->codec_not_ready_bits & codec_skip[i]) + continue; + memset(&ac97, 0, sizeof(ac97)); + ac97.private_data = chip; + ac97.pci = chip->pci; + ac97.num = i; + ac97.scaps = AC97_SCAP_SKIP_AUDIO; + if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) { + chip->ac97[i] = NULL; /* to be sure */ + snd_printdd("atiixp: codec %d not available for modem\n", i); + continue; + } + codec_count++; + } + + if (! codec_count) { + snd_printk(KERN_ERR "atiixp: no codec available\n"); + return -ENODEV; + } + + /* snd_ac97_tune_hardware(chip->ac97, ac97_quirks); */ + + return 0; +} + + +#ifdef CONFIG_PM +/* + * power management + */ +static int snd_atiixp_suspend(snd_card_t *card, unsigned int state) +{ + atiixp_t *chip = card->pm_private_data; + int i; + + for (i = 0; i < NUM_ATI_PCMDEVS; i++) + if (chip->pcmdevs[i]) + snd_pcm_suspend_all(chip->pcmdevs[i]); + for (i = 0; i < NUM_ATI_CODECS; i++) + if (chip->ac97[i]) + snd_ac97_suspend(chip->ac97[i]); + snd_atiixp_aclink_down(chip); + snd_atiixp_chip_stop(chip); + + pci_set_power_state(chip->pci, 3); + pci_disable_device(chip->pci); + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + return 0; +} + +static int snd_atiixp_resume(snd_card_t *card, unsigned int state) +{ + atiixp_t *chip = card->pm_private_data; + int i; + + pci_enable_device(chip->pci); + pci_set_power_state(chip->pci, 0); + + snd_atiixp_aclink_reset(chip); + snd_atiixp_chip_start(chip); + + for (i = 0; i < NUM_ATI_CODECS; i++) + if (chip->ac97[i]) + snd_ac97_resume(chip->ac97[i]); + + snd_power_change_state(card, SNDRV_CTL_POWER_D0); + return 0; +} +#endif /* CONFIG_PM */ + + +/* + * proc interface for register dump + */ + +static void snd_atiixp_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) +{ + atiixp_t *chip = entry->private_data; + int i; + + for (i = 0; i < 256; i += 4) + snd_iprintf(buffer, "%02x: %08x\n", i, readl(chip->remap_addr + i)); +} + +static void __devinit snd_atiixp_proc_init(atiixp_t *chip) +{ + snd_info_entry_t *entry; + + if (! snd_card_proc_new(chip->card, "atiixp", &entry)) + snd_info_set_text_ops(entry, chip, 1024, snd_atiixp_proc_read); +} + + + +/* + * destructor + */ + +static int snd_atiixp_free(atiixp_t *chip) +{ + if (chip->irq < 0) + goto __hw_end; + snd_atiixp_chip_stop(chip); + synchronize_irq(chip->irq); + __hw_end: + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); + if (chip->remap_addr) + iounmap((void *) chip->remap_addr); + pci_release_regions(chip->pci); + kfree(chip); + return 0; +} + +static int snd_atiixp_dev_free(snd_device_t *device) +{ + atiixp_t *chip = device->device_data; + return snd_atiixp_free(chip); +} + +/* + * constructor for chip instance + */ +static int __devinit snd_atiixp_create(snd_card_t *card, + struct pci_dev *pci, + atiixp_t **r_chip) +{ + static snd_device_ops_t ops = { + .dev_free = snd_atiixp_dev_free, + }; + atiixp_t *chip; + int err; + + if ((err = pci_enable_device(pci)) < 0) + return err; + + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); + if (chip == NULL) + return -ENOMEM; + + spin_lock_init(&chip->reg_lock); + spin_lock_init(&chip->ac97_lock); + init_MUTEX(&chip->open_mutex); + chip->card = card; + chip->pci = pci; + chip->irq = -1; + if ((err = pci_request_regions(pci, "ATI IXP MC97")) < 0) { + kfree(chip); + return err; + } + chip->addr = pci_resource_start(pci, 0); + chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, pci_resource_len(pci, 0)); + if (chip->remap_addr == 0) { + snd_printk(KERN_ERR "AC'97 space ioremap problem\n"); + snd_atiixp_free(chip); + return -EIO; + } + + if (request_irq(pci->irq, snd_atiixp_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip)) { + snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); + snd_atiixp_free(chip); + return -EBUSY; + } + chip->irq = pci->irq; + pci_set_master(pci); + synchronize_irq(chip->irq); + + if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) { + snd_atiixp_free(chip); + return err; + } + + snd_card_set_dev(card, &pci->dev); + + *r_chip = chip; + return 0; +} + + +static int __devinit snd_atiixp_probe(struct pci_dev *pci, + const struct pci_device_id *pci_id) +{ + static int dev; + snd_card_t *card; + atiixp_t *chip; + unsigned char revision; + int err; + + if (dev >= SNDRV_CARDS) + return -ENODEV; + if (!enable[dev]) { + dev++; + return -ENOENT; + } + + card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); + if (card == NULL) + return -ENOMEM; + + pci_read_config_byte(pci, PCI_REVISION_ID, &revision); + + strcpy(card->driver, "ATIIXP-MODEM"); + strcpy(card->shortname, "ATI IXP Modem"); + if ((err = snd_atiixp_create(card, pci, &chip)) < 0) + goto __error; + + if ((err = snd_atiixp_aclink_reset(chip)) < 0) + goto __error; + + if ((err = snd_atiixp_mixer_new(chip, ac97_clock[dev])) < 0) + goto __error; + + if ((err = snd_atiixp_pcm_new(chip)) < 0) + goto __error; + + snd_atiixp_proc_init(chip); + + snd_atiixp_chip_start(chip); + + sprintf(card->longname, "%s rev %x at 0x%lx, irq %i", + card->shortname, revision, chip->addr, chip->irq); + + snd_card_set_pm_callback(card, snd_atiixp_suspend, snd_atiixp_resume, chip); + + if ((err = snd_card_register(card)) < 0) + goto __error; + + pci_set_drvdata(pci, card); + dev++; + return 0; + + __error: + snd_card_free(card); + return err; +} + +static void __devexit snd_atiixp_remove(struct pci_dev *pci) +{ + snd_card_free(pci_get_drvdata(pci)); + pci_set_drvdata(pci, NULL); +} + +static struct pci_driver driver = { + .name = "ATI IXP MC97 controller", + .id_table = snd_atiixp_ids, + .probe = snd_atiixp_probe, + .remove = __devexit_p(snd_atiixp_remove), + SND_PCI_PM_CALLBACKS +}; + + +static int __init alsa_card_atiixp_init(void) +{ + return pci_module_init(&driver); +} + +static void __exit alsa_card_atiixp_exit(void) +{ + pci_unregister_driver(&driver); +} + +module_init(alsa_card_atiixp_init) +module_exit(alsa_card_atiixp_exit) diff -Nru a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c --- a/sound/pci/au88x0/au88x0.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0.c 2004-08-25 19:27:40 -07:00 @@ -31,23 +31,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcifix, int, boot_devs, 0444); MODULE_PARM_DESC(pcifix, "Enable VIA-workaround for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcifix, - SNDRV_ENABLED - ",allows:{{0,Disabled},{1,Latency},{2,Bridge},{3,Both},{255,Auto}},default:4,dialog:check"); MODULE_DESCRIPTION("Aureal vortex"); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); -MODULE_DEVICES("{{Aureal Semiconductor Inc., Aureal Vortex Sound Processor}}"); +MODULE_SUPPORTED_DEVICE("{{Aureal Semiconductor Inc., Aureal Vortex Sound Processor}}"); MODULE_DEVICE_TABLE(pci, snd_vortex_ids); @@ -122,8 +115,7 @@ // (see "Management of Cards and Components") static int snd_vortex_dev_free(snd_device_t * device) { - vortex_t *vortex = snd_magic_cast(vortex_t, device->device_data, - return -ENXIO); + vortex_t *vortex = device->device_data; vortex_gameport_unregister(vortex); vortex_core_shutdown(vortex); @@ -132,7 +124,7 @@ free_irq(vortex->irq, vortex); pci_release_regions(vortex->pci_dev); pci_disable_device(vortex->pci_dev); - snd_magic_kfree(vortex); + kfree(vortex); return 0; } @@ -159,7 +151,7 @@ } pci_set_dma_mask(pci, VORTEX_DMA_MASK); - chip = snd_magic_kcalloc(vortex_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; diff -Nru a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h --- a/sound/pci/au88x0/au88x0.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0.h 2004-08-25 19:27:40 -07:00 @@ -180,8 +180,6 @@ u8 rev; }; -#define chip_t vortex_t - /* Functions. */ /* SRC */ diff -Nru a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c --- a/sound/pci/au88x0/au88x0_a3d.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_a3d.c 2004-08-25 19:27:40 -07:00 @@ -567,7 +567,7 @@ v->xt_mode = mode; /* this_14 */ vortex_XtalkHw_init(v); - vortex_XtalkHw_SetGains(v, asXtalkGainsAllChan); + vortex_XtalkHw_SetGainsAllChan(v); switch (v->xt_mode) { case XT_SPEAKER0: vortex_XtalkHw_ProgramXtalkNarrow(v); @@ -862,9 +862,8 @@ /* HRTF controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_HRTF; kcontrol->info = snd_vortex_a3d_hrtf_info; kcontrol->put = snd_vortex_a3d_hrtf_put; @@ -874,9 +873,8 @@ /* ITD controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_ITD; kcontrol->info = snd_vortex_a3d_itd_info; kcontrol->put = snd_vortex_a3d_itd_put; @@ -886,9 +884,8 @@ /* ILD (gains) controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_GAINS; kcontrol->info = snd_vortex_a3d_ild_info; kcontrol->put = snd_vortex_a3d_ild_put; @@ -898,9 +895,8 @@ /* Filter controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_FILTER; kcontrol->info = snd_vortex_a3d_filter_info; kcontrol->put = snd_vortex_a3d_filter_put; diff -Nru a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c --- a/sound/pci/au88x0/au88x0_core.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_core.c 2004-08-25 19:27:40 -07:00 @@ -2362,7 +2362,7 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - vortex_t *vortex = snd_magic_cast(vortex_t, dev_id, return IRQ_NONE); + vortex_t *vortex = dev_id; int i, handled; u32 source; diff -Nru a/sound/pci/au88x0/au88x0_eq.c b/sound/pci/au88x0/au88x0_eq.c --- a/sound/pci/au88x0/au88x0_eq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_eq.c 2004-08-25 19:27:40 -07:00 @@ -40,135 +40,120 @@ #include "au88x0_eq.h" #include "au88x0_eqdata.c" +#define VORTEX_EQ_BASE 0x2b000 +#define VORTEX_EQ_DEST (VORTEX_EQ_BASE + 0x410) +#define VORTEX_EQ_SOURCE (VORTEX_EQ_BASE + 0x430) +#define VORTEX_EQ_CTRL (VORTEX_EQ_BASE + 0x440) + /* CEqHw.s */ -static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 a, u16 b) +static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 gain, u16 level) { - hwwrite(vortex->mmio, 0x2b3c4, a); - hwwrite(vortex->mmio, 0x2b3c8, b); + hwwrite(vortex->mmio, 0x2b3c4, gain); + hwwrite(vortex->mmio, 0x2b3c8, level); } -static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int eax, i = 0, n /*esp2c */ = 0; - - if (eqhw->this04 <= n) - return; + int eax, i = 0, n /*esp2c */; - do { - hwwrite(vortex->mmio, 0x2b000 + n * 0x30, a[i + 0]); - hwwrite(vortex->mmio, 0x2b004 + n * 0x30, a[i + 1]); + for (n = 0; n < eqhw->this04; n++) { + hwwrite(vortex->mmio, 0x2b000 + n * 0x30, coefs[i + 0]); + hwwrite(vortex->mmio, 0x2b004 + n * 0x30, coefs[i + 1]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b008 + n * 0x30, a[i + 2]); - hwwrite(vortex->mmio, 0x2b00c + n * 0x30, a[i + 3]); - eax = a[i + 4]; //esp24; + hwwrite(vortex->mmio, 0x2b008 + n * 0x30, coefs[i + 2]); + hwwrite(vortex->mmio, 0x2b00c + n * 0x30, coefs[i + 3]); + eax = coefs[i + 4]; //esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[2 + i]; + eax = ~coefs[2 + i]; hwwrite(vortex->mmio, 0x2b008 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b00c + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b010 + n * 0x30, eax); - n++; i += 5; } - while (n < eqhw->this04); } -static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, n /*esp2c */ = 0, eax; + int i = 0, n /*esp2c */, eax; - if (eqhw->this04 <= n) - return; - - do { - hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, a[0 + i]); - hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, a[1 + i]); + for (n = 0; n < eqhw->this04; n++) { + hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, coefs[0 + i]); + hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, coefs[1 + i]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, a[2 + i]); - hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, a[3 + i]); - eax = a[4 + i]; //*esp24; + hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, coefs[2 + i]); + hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, coefs[3 + i]); + eax = coefs[4 + i]; //*esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~(a[2 + i]); + eax = ~(coefs[2 + i]); hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b1f0 + n * 0x30, eax); i += 5; - n++; } - while (n < eqhw->this04); } static void vortex_EqHw_SetLeftStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b3fc, a[0]); hwwrite(vortex->mmio, 0x2b400, a[1]); - if (eqhw->this04 < 0) - return; - - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b014 + (i * 0xc), b[i]); hwwrite(vortex->mmio, 0x2b018 + (i * 0xc), b[1 + i]); hwwrite(vortex->mmio, 0x2b01c + (i * 0xc), b[2 + i]); hwwrite(vortex->mmio, 0x2b020 + (i * 0xc), b[3 + i]); i += 4; - ebx++; } - while (eqhw->this04 > ebx); } static void vortex_EqHw_SetRightStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b404, a[0]); hwwrite(vortex->mmio, 0x2b408, a[1]); - if (eqhw->this04 < 0) - return; - - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b1f4 + (i * 0xc), b[i]); hwwrite(vortex->mmio, 0x2b1f8 + (i * 0xc), b[1 + i]); hwwrite(vortex->mmio, 0x2b1fc + (i * 0xc), b[2 + i]); hwwrite(vortex->mmio, 0x2b200 + (i * 0xc), b[3 + i]); i += 4; - ebx++; } - while (ebx < eqhw->this04); } #if 0 @@ -260,60 +245,41 @@ static void vortex_EqHw_SetLeftGainsTarget(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; + int ebx; - if (eqhw->this04 < 0) - return; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b02c + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetRightGainsTarget(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b20c + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetLeftGainsCurrent(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b028 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetRightGainsCurrent(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b208 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } #if 0 @@ -384,26 +350,17 @@ eqhw_t *eqhw = &(vortex->eq.this04); int ebx; - if (eqhw->this04 < 0) - return; - - ebx = 0; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b024 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); hwwrite(vortex->mmio, 0x2b3cc, a[eqhw->this04]); hwwrite(vortex->mmio, 0x2b3d8, a[eqhw->this04 + 1]); - ebx = 0; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b204 + ebx * 0x30, a[ebx + (eqhw->this04 + 2)]); - ebx++; } - while (ebx < eqhw->this04); hwwrite(vortex->mmio, 0x2b3e4, a[2 + (eqhw->this04 * 2)]); hwwrite(vortex->mmio, 0x2b3f0, a[3 + (eqhw->this04 * 2)]); @@ -466,12 +423,12 @@ #endif static void vortex_EqHw_Enable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf001); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf001); } static void vortex_EqHw_Disable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf000); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf000); } /* Reset (zero) buffers */ @@ -479,16 +436,16 @@ { int i; for (i = 0; i < 0x8; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b430 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_SOURCE + (i << 2), 0x0); } static void vortex_EqHw_ZeroA3DIO(vortex_t * vortex) { int i; for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); } static void vortex_EqHw_ZeroState(vortex_t * vortex) @@ -659,11 +616,10 @@ if (((eq->this10) * 2 != count) || (eq->this28 == 0)) return 1; - if (0 < count) { - for (i = 0; i < count; i++) { - eq->this130[i] = gains[i]; - } + for (i = 0; i < count; i++) { + eq->this130[i] = gains[i]; } + if (eq->this54) return 0; return vortex_Eqlzr_SetAllBandsFromActiveCoeffSet(vortex); diff -Nru a/sound/pci/au88x0/au88x0_game.c b/sound/pci/au88x0/au88x0_game.c --- a/sound/pci/au88x0/au88x0_game.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_game.c 2004-08-25 19:27:40 -07:00 @@ -96,7 +96,7 @@ static int vortex_gameport_register(vortex_t * vortex) { - if ((vortex->gameport = snd_kcalloc(sizeof(struct gameport), GFP_KERNEL)) == NULL) { + if ((vortex->gameport = kcalloc(1, sizeof(struct gameport), GFP_KERNEL)) == NULL) { return -1; }; diff -Nru a/sound/pci/au88x0/au88x0_mixer.c b/sound/pci/au88x0/au88x0_mixer.c --- a/sound/pci/au88x0/au88x0_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_mixer.c 2004-08-25 19:27:40 -07:00 @@ -13,14 +13,15 @@ static int __devinit snd_vortex_mixer(vortex_t * vortex) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = vortex_codec_write, + .read = vortex_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = vortex_codec_write; - bus.read = vortex_codec_read; - if ((err = snd_ac97_bus(vortex->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); // Intialize AC97 codec stuff. diff -Nru a/sound/pci/au88x0/au88x0_mpu401.c b/sound/pci/au88x0/au88x0_mpu401.c --- a/sound/pci/au88x0/au88x0_mpu401.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_mpu401.c 2004-08-25 19:27:40 -07:00 @@ -104,7 +104,7 @@ ~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN); return temp; } - mpu = snd_magic_cast(mpu401_t, rmidi->private_data, return -ENOMEM); + mpu = rmidi->private_data; mpu->cport = (unsigned long)(vortex->mmio + (VORTEX_MIDI_CMD >> 2)); #endif vortex->rmidi = rmidi; diff -Nru a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c --- a/sound/pci/au88x0/au88x0_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_pcm.c 2004-08-25 19:27:40 -07:00 @@ -28,7 +28,6 @@ #include #include "au88x0.h" -#define chip_t vortex_t #define VORTEX_PCM_TYPE(x) (x->name[40]) /* hardware definition */ @@ -189,7 +188,7 @@ snd_vortex_pcm_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * hw_params) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) (substream->runtime->private_data); snd_pcm_sgbuf_t *sgbuf; int err; @@ -250,7 +249,7 @@ /* hw_free callback */ static int snd_vortex_pcm_hw_free(snd_pcm_substream_t * substream) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) (substream->runtime->private_data); // Delete audio routes. @@ -305,7 +304,7 @@ /* trigger callback */ static int snd_vortex_pcm_trigger(snd_pcm_substream_t * substream, int cmd) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) substream->runtime->private_data; int dma = stream->dma; diff -Nru a/sound/pci/au88x0/au88x0_xtalk.c b/sound/pci/au88x0/au88x0_xtalk.c --- a/sound/pci/au88x0/au88x0_xtalk.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_xtalk.c 2004-08-25 19:27:40 -07:00 @@ -540,6 +540,12 @@ } } +static void +vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex) +{ + vortex_XtalkHw_SetGains(vortex, asXtalkGainsAllChan); +} + #if 0 static void vortex_XtalkHw_GetGains(vortex_t * vortex, xtalk_gains_t gains) { diff -Nru a/sound/pci/au88x0/au88x0_xtalk.h b/sound/pci/au88x0/au88x0_xtalk.h --- a/sound/pci/au88x0/au88x0_xtalk.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/au88x0/au88x0_xtalk.h 2004-08-25 19:27:40 -07:00 @@ -45,10 +45,9 @@ typedef short xtalk_coefs_t[5][5]; typedef short xtalk_state_t[5][4]; -extern xtalk_gains_t const asXtalkGainsAllChan; - static void vortex_XtalkHw_SetGains(vortex_t * vortex, xtalk_gains_t const gains); +static void vortex_XtalkHw_SetGainsAllChan(vortex_t * vortex); static void vortex_XtalkHw_SetSampleRate(vortex_t * vortex, int sr); static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); static void vortex_XtalkHw_ProgramPipe(vortex_t * vortex); diff -Nru a/sound/pci/azt3328.c b/sound/pci/azt3328.c --- a/sound/pci/azt3328.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/azt3328.c 2004-08-25 19:27:40 -07:00 @@ -111,8 +111,7 @@ MODULE_AUTHOR("Andreas Mohr "); MODULE_DESCRIPTION("Aztech AZF3328 (PCI168)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech,AZF3328}}"); +MODULE_SUPPORTED_DEVICE("{{Aztech,AZF3328}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -170,35 +169,25 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable AZF3328 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_INDEX_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(joystick, SNDRV_BOOLEAN_FALSE_DESC); #endif typedef struct _snd_azf3328 azf3328_t; -#define chip_t azf3328_t struct _snd_azf3328 { int irq; unsigned long codec_port; - struct resource *res_codec_port; unsigned long io2_port; - struct resource *res_io2_port; unsigned long mpu_port; - struct resource *res_mpu_port; unsigned long synth_port; - struct resource *res_synth_port; unsigned long mixer_port; - struct resource *res_mixer_port; #ifdef SUPPORT_JOYSTICK struct gameport gameport; @@ -553,8 +542,6 @@ return (nreg != oreg); } -#define NUM_CONTROLS(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_azf3328_mixer_controls[] __devinitdata = { AZF3328_MIXER_SWITCH("Master Playback Switch", IDX_MIXER_PLAY_MASTER, 15, 1), AZF3328_MIXER_VOL_STEREO("Master Playback Volume", IDX_MIXER_PLAY_MASTER, 0x1f, 1), @@ -650,7 +637,7 @@ /* add mixer controls */ sw = snd_azf3328_mixer_controls; - for (idx = 0; idx < NUM_CONTROLS(snd_azf3328_mixer_controls); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_azf3328_mixer_controls); idx++, sw++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(sw, chip))) < 0) return err; } @@ -813,7 +800,6 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; azf3328_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int result = 0; @@ -830,7 +816,7 @@ snd_azf3328_setfmt(chip, IDX_IO_PLAY_SOUNDFORMAT, runtime->rate, snd_pcm_format_width(runtime->format), runtime->channels); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop playback */ status1 = inw(chip->codec_port+IDX_IO_PLAY_FLAGS); status1 &= ~DMA_RESUME; @@ -838,11 +824,11 @@ /* FIXME: clear interrupts or what??? */ outw(0xffff, chip->codec_port+IDX_IO_PLAY_IRQMASK); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_setdmaa(chip, runtime->dma_addr, snd_pcm_lib_period_bytes(substream), snd_pcm_lib_buffer_bytes(substream), 0); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); #ifdef WIN9X /* FIXME: enable playback/recording??? */ status1 |= DMA_PLAY_SOMETHING1 | DMA_PLAY_SOMETHING2; @@ -858,7 +844,7 @@ outw(DMA_PLAY_SOMETHING1|DMA_PLAY_SOMETHING2, chip->codec_port+IDX_IO_PLAY_FLAGS); outw(DMA_RESUME|SOMETHING_ALMOST_ALWAYS_SET|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port+IDX_IO_PLAY_FLAGS); #endif - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); /* now unmute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 0); @@ -870,7 +856,7 @@ /* mute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop playback */ status1 = inw(chip->codec_port+IDX_IO_PLAY_FLAGS); @@ -882,7 +868,7 @@ status1 &= ~DMA_PLAY_SOMETHING1; outw(status1, chip->codec_port+IDX_IO_PLAY_FLAGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); /* now unmute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 0); @@ -906,7 +892,6 @@ * should actually be triggered like that */ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; azf3328_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int result = 0; @@ -920,7 +905,7 @@ snd_azf3328_setfmt(chip, IDX_IO_REC_SOUNDFORMAT, runtime->rate, snd_pcm_format_width(runtime->format), runtime->channels); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop recording */ status1 = inw(chip->codec_port+IDX_IO_REC_FLAGS); status1 &= ~DMA_RESUME; @@ -928,11 +913,11 @@ /* FIXME: clear interrupts or what??? */ outw(0xffff, chip->codec_port+IDX_IO_REC_IRQMASK); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_setdmaa(chip, runtime->dma_addr, snd_pcm_lib_period_bytes(substream), snd_pcm_lib_buffer_bytes(substream), 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); #ifdef WIN9X /* FIXME: enable playback/recording??? */ status1 |= DMA_PLAY_SOMETHING1 | DMA_PLAY_SOMETHING2; @@ -948,13 +933,13 @@ outw(DMA_PLAY_SOMETHING1|DMA_PLAY_SOMETHING2, chip->codec_port+IDX_IO_REC_FLAGS); outw(DMA_RESUME|SOMETHING_ALMOST_ALWAYS_SET|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port+IDX_IO_REC_FLAGS); #endif - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_dbgio(chip, "trigger2"); chip->is_playing = 1; break; case SNDRV_PCM_TRIGGER_STOP: - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop recording */ status1 = inw(chip->codec_port+IDX_IO_REC_FLAGS); @@ -966,7 +951,7 @@ status1 &= ~DMA_PLAY_SOMETHING1; outw(status1, chip->codec_port+IDX_IO_REC_FLAGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); chip->is_playing = 0; break; @@ -990,16 +975,13 @@ unsigned long bufptr, playptr; unsigned long result; snd_pcm_uframes_t frmres; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); #ifdef QUERY_HARDWARE bufptr = inl(chip->codec_port+IDX_IO_PLAY_DMA_START_1); #else bufptr = substream->runtime->dma_addr; #endif playptr = inl(chip->codec_port+IDX_IO_PLAY_DMA_CURRPOS); - spin_unlock_irqrestore(&chip->reg_lock, flags); result = playptr - bufptr; frmres = bytes_to_frames( substream->runtime, result ); @@ -1013,16 +995,13 @@ unsigned long bufptr, recptr; unsigned long result; snd_pcm_uframes_t frmres; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); #ifdef QUERY_HARDWARE bufptr = inl(chip->codec_port+IDX_IO_REC_DMA_START_1); #else bufptr = substream->runtime->dma_addr; #endif recptr = inl(chip->codec_port+IDX_IO_REC_DMA_CURRPOS); - spin_unlock_irqrestore(&chip->reg_lock, flags); result = recptr - bufptr; frmres = bytes_to_frames( substream->runtime, result ); @@ -1032,7 +1011,7 @@ static irqreturn_t snd_azf3328_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - azf3328_t *chip = snd_magic_cast(azf3328_t, dev_id, return IRQ_NONE); + azf3328_t *chip = dev_id; unsigned int status, which; static unsigned long count; @@ -1232,7 +1211,7 @@ static void snd_azf3328_pcm_free(snd_pcm_t *pcm) { - azf3328_t *chip = snd_magic_cast(azf3328_t, pcm->private_data, return); + azf3328_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1287,36 +1266,17 @@ kfree_nocheck(chip->res_joystick); } #endif - if (chip->res_codec_port) { - release_resource(chip->res_codec_port); - kfree_nocheck(chip->res_codec_port); - } - if (chip->res_io2_port) { - release_resource(chip->res_io2_port); - kfree_nocheck(chip->res_io2_port); - } - if (chip->res_mpu_port) { - release_resource(chip->res_mpu_port); - kfree_nocheck(chip->res_mpu_port); - } - if (chip->res_synth_port) { - release_resource(chip->res_synth_port); - kfree_nocheck(chip->res_synth_port); - } - if (chip->res_mixer_port) { - release_resource(chip->res_mixer_port); - kfree_nocheck(chip->res_mixer_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_azf3328_dev_free(snd_device_t *device) { - azf3328_t *chip = snd_magic_cast(azf3328_t, device->device_data, return -ENXIO); + azf3328_t *chip = device->device_data; return snd_azf3328_free(chip); } @@ -1345,7 +1305,6 @@ unsigned long device_type, azf3328_t ** rchip) { - unsigned long flags; azf3328_t *chip; int err; static snd_device_ops_t ops = { @@ -1358,7 +1317,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(azf3328_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1373,36 +1332,16 @@ return -ENXIO; } - chip->codec_port = pci_resource_start(pci, 0); - if ((chip->res_codec_port = request_region(chip->codec_port, 0x80, "Aztech AZF3328 I/O")) == NULL) { - snd_printk("unable to grab I/O port at 0x%lx-0x%lx\n", chip->codec_port, chip->codec_port + 0x80 - 1); - snd_azf3328_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "Aztech AZF3328")) < 0) { + kfree(chip); + return err; } + + chip->codec_port = pci_resource_start(pci, 0); chip->io2_port = pci_resource_start(pci, 1); - if ((chip->res_io2_port = request_region(chip->io2_port, 0x08, "Aztech AZF3328 I/O 2")) == NULL) { - snd_printk("unable to grab I/O 2 port at 0x%lx-0x%lx\n", chip->io2_port, chip->io2_port + 0x08 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->mpu_port = pci_resource_start(pci, 2); - if ((chip->res_mpu_port = request_region(chip->mpu_port, 0x04, "Aztech AZF3328 MPU401")) == NULL) { - snd_printk("unable to grab MPU401 port at 0x%lx-0x%lx\n", chip->mpu_port, chip->mpu_port + 0x04 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->synth_port = pci_resource_start(pci, 3); - if ((chip->res_synth_port = request_region(chip->synth_port, 0x08, "Aztech AZF3328 OPL3")) == NULL) { - snd_printk("unable to grab OPL3 port at 0x%lx-0x%lx\n", chip->synth_port, chip->synth_port + 0x08 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->mixer_port = pci_resource_start(pci, 4); - if ((chip->res_mixer_port = request_region(chip->mixer_port, 0x40, "Aztech AZF3328 Mixer")) == NULL) { - snd_printk("unable to grab mixer port at 0x%lx-0x%lx\n", chip->mixer_port, chip->mixer_port + 0x40 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } if (request_irq(pci->irq, snd_azf3328_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); @@ -1435,13 +1374,13 @@ #endif /* standard chip init stuff */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_PLAY_FLAGS); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_SOMETHING_FLAGS); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_REC_FLAGS); outb(0x0, chip->codec_port + IDX_IO_IRQ63H); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); snd_card_set_dev(card, &pci->dev); diff -Nru a/sound/pci/bt87x.c b/sound/pci/bt87x.c --- a/sound/pci/bt87x.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/bt87x.c 2004-08-25 19:27:40 -07:00 @@ -38,8 +38,7 @@ MODULE_AUTHOR("Clemens Ladisch "); MODULE_DESCRIPTION("Brooktree Bt87x audio driver"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Brooktree,Bt878}," +MODULE_SUPPORTED_DEVICE("{{Brooktree,Bt878}," "{Brooktree,Bt879}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -50,16 +49,12 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Bt87x soundcard"); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Bt87x soundcard"); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Bt87x soundcard"); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(digital_rate, int, boot_devs, 0444); MODULE_PARM_DESC(digital_rate, "Digital input rate for Bt87x soundcard"); -MODULE_PARM_SYNTAX(digital_rate, SNDRV_ENABLED); #ifndef PCI_VENDOR_ID_BROOKTREE @@ -152,14 +147,12 @@ /* SYNC, one WRITE per line, one extra WRITE per page boundary, SYNC, JUMP */ #define MAX_RISC_SIZE ((1 + 255 + (PAGE_ALIGN(255 * 4092) / PAGE_SIZE - 1) + 1 + 1) * 8) -#define chip_t bt87x_t typedef struct snd_bt87x bt87x_t; struct snd_bt87x { snd_card_t *card; struct pci_dev *pci; void *mmio; - struct resource *res_mmio; int irq; int dig_rate; @@ -168,7 +161,6 @@ long opened; snd_pcm_substream_t *substream; - struct snd_dma_device dma_dev; struct snd_dma_buffer dma_risc; unsigned int line_bytes; unsigned int lines; @@ -197,10 +189,8 @@ u32 *risc; if (chip->dma_risc.area == NULL) { - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(chip->pci); - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0) return -ENOMEM; } risc = (u32 *)chip->dma_risc.area; @@ -244,14 +234,14 @@ static void snd_bt87x_free_risc(bt87x_t *chip) { if (chip->dma_risc.area) { - snd_dma_free_pages(&chip->dma_dev, &chip->dma_risc); + snd_dma_free_pages(&chip->dma_risc); chip->dma_risc.area = NULL; } } static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - bt87x_t *chip = snd_magic_cast(bt87x_t, dev_id, return IRQ_NONE); + bt87x_t *chip = dev_id; unsigned int status; status = snd_bt87x_readl(chip, REG_INT_STAT); @@ -314,7 +304,7 @@ SNDRV_PCM_INFO_MMAP_VALID, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8, .rates = SNDRV_PCM_RATE_KNOT, - .rate_min = 119467, + .rate_min = 119466, .rate_max = 448000, .channels_min = 1, .channels_max = 1, @@ -356,20 +346,21 @@ static int snd_bt87x_set_analog_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime) { - static unsigned int rates[] = { - 119467, 128000, 137846, 149333, 162909, 179200, - 199111, 224000, 256000, 298667, 358400, 448000 + static ratnum_t analog_clock = { + .num = 1792000, + .den_min = 4, + .den_max = 15, + .den_step = 1 }; - static snd_pcm_hw_constraint_list_t constraint_rates = { - .count = ARRAY_SIZE(rates), - .list = rates, - .mask = 0, + static snd_pcm_hw_constraint_ratnums_t constraint_rates = { + .nrats = 1, + .rats = &analog_clock }; chip->reg_control &= ~CTL_DA_IOM_DA; runtime->hw = snd_bt87x_analog_hw; - return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, - &constraint_rates); + return snd_pcm_hw_constraint_ratnums(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, + &constraint_rates); } static int snd_bt87x_pcm_open(snd_pcm_substream_t *substream) @@ -439,25 +430,22 @@ { bt87x_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - unsigned long flags; int decimation; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->reg_control &= ~(CTL_DA_SDR_MASK | CTL_DA_SBR); - decimation = (1792000 + 5) / runtime->rate; + decimation = (1792000 + runtime->rate / 4) / runtime->rate; chip->reg_control |= decimation << CTL_DA_SDR_SHIFT; if (runtime->format == SNDRV_PCM_FORMAT_S8) chip->reg_control |= CTL_DA_SBR; snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_bt87x_start(bt87x_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); chip->current_line = 0; chip->reg_control |= CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN; snd_bt87x_writel(chip, REG_RISC_STRT_ADD, chip->dma_risc.addr); @@ -465,20 +453,18 @@ chip->line_bytes | (chip->lines << 16)); snd_bt87x_writel(chip, REG_INT_MASK, MY_INTERRUPTS); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } static int snd_bt87x_stop(bt87x_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); snd_bt87x_writel(chip, REG_INT_MASK, 0); snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } @@ -536,17 +522,16 @@ static int snd_bt87x_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_GAIN_MASK) | (value->value.integer.value[0] << CTL_A_GAIN_SHIFT); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = old_control != chip->reg_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -578,17 +563,16 @@ static int snd_bt87x_capture_boost_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_G2X) | (value->value.integer.value[0] ? CTL_A_G2X : 0); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = chip->reg_control != old_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -624,17 +608,16 @@ static int snd_bt87x_capture_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_SEL_MASK) | (value->value.enumerated.item[0] << CTL_A_SEL_SHIFT); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = chip->reg_control != old_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -655,19 +638,16 @@ iounmap(chip->mmio); } - if (chip->res_mmio) { - release_resource(chip->res_mmio); - kfree_nocheck(chip->res_mmio); - } if (chip->irq >= 0) free_irq(chip->irq, chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_bt87x_dev_free(snd_device_t *device) { - bt87x_t *chip = snd_magic_cast(bt87x_t, device->device_data, return -ENXIO); + bt87x_t *chip = device->device_data; return snd_bt87x_free(chip); } @@ -705,7 +685,7 @@ if (err < 0) return err; - chip = snd_magic_kcalloc(bt87x_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; chip->card = card; @@ -713,13 +693,9 @@ chip->irq = -1; spin_lock_init(&chip->reg_lock); - chip->res_mmio = request_mem_region(pci_resource_start(pci, 0), - pci_resource_len(pci, 0), - "Bt87x audio"); - if (!chip->res_mmio) { - snd_bt87x_free(chip); - snd_printk(KERN_ERR "cannot allocate io memory\n"); - return -EBUSY; + if ((err = pci_request_regions(pci, "Bt87x audio")) < 0) { + kfree(chip); + return err; } chip->mmio = ioremap_nocache(pci_resource_start(pci, 0), pci_resource_len(pci, 0)); diff -Nru a/sound/pci/cmipci.c b/sound/pci/cmipci.c --- a/sound/pci/cmipci.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cmipci.c 2004-08-25 19:27:40 -07:00 @@ -43,8 +43,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("C-Media CMI8x38 PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{C-Media,CMI8738}," +MODULE_SUPPORTED_DEVICE("{{C-Media,CMI8738}," "{C-Media,CMI8738B}," "{C-Media,CMI8338A}," "{C-Media,CMI8338B}}"); @@ -66,25 +65,19 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0},{0x330},{0x320},{0x310},{0x300}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0},{0x388},{0x3c8},{0x3e0},{0x3e8}},dialog:list"); module_param_array(soft_ac3, bool, boot_devs, 0444); MODULE_PARM_DESC(soft_ac3, "Sofware-conversion of raw SPDIF packets (model 033 only)."); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address."); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED ",allows:{{0},{1},{0x200},{0x201}},dialog:list"); #endif #ifndef PCI_DEVICE_ID_CMEDIA_CM8738 @@ -405,8 +398,6 @@ typedef struct snd_stru_cmipci cmipci_t; typedef struct snd_stru_cmipci_pcm cmipci_pcm_t; -#define chip_t cmipci_t - struct snd_stru_cmipci_pcm { snd_pcm_substream_t *substream; int running; /* dac/adc running? */ @@ -442,7 +433,6 @@ int irq; unsigned long iobase; - struct resource *res_iobase; unsigned int ctrl; /* FUNCTRL0 current value */ snd_pcm_t *pcm; /* DAC/ADC PCM */ @@ -699,15 +689,13 @@ static int set_dac_channels(cmipci_t *cm, cmipci_pcm_t *rec, int channels) { - unsigned long flags; - if (channels > 2) { if (! cm->can_multi_ch) return -EINVAL; if (rec->fmt != 0x03) /* stereo 16bit only */ return -EINVAL; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG); snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC); if (channels > 4) { @@ -724,18 +712,18 @@ snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENCENTER); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } else { if (cm->can_multi_ch) { - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG); snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D); snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C); snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENCENTER); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } } return 0; @@ -749,7 +737,6 @@ static int snd_cmipci_pcm_prepare(cmipci_t *cm, cmipci_pcm_t *rec, snd_pcm_substream_t *substream) { - unsigned long flags; unsigned int reg, freq, val; snd_pcm_runtime_t *runtime = substream->runtime; @@ -777,7 +764,7 @@ rec->period_size = (rec->period_size * runtime->channels) / 2; } - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); /* set buffer address */ reg = rec->ch ? CM_REG_CH1_FRAME1 : CM_REG_CH0_FRAME1; @@ -822,7 +809,7 @@ //snd_printd("cmipci: chformat = %08x\n", val); rec->running = 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -954,13 +941,12 @@ snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) ucontrol->value.iec958.status[i] = (chip->dig_status >> (i * 8)) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -968,17 +954,16 @@ snd_ctl_elem_value_t * ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i, change; unsigned int val; val = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); change = val != chip->dig_status; chip->dig_status = val; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1030,13 +1015,12 @@ snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) ucontrol->value.iec958.status[i] = (chip->dig_pcm_status >> (i * 8)) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1044,17 +1028,16 @@ snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i, change; unsigned int val; val = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); change = val != chip->dig_pcm_status; chip->dig_pcm_status = val; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1072,30 +1055,36 @@ */ /* save mixer setting and mute for AC3 playback */ -static void save_mixer_state(cmipci_t *cm) +static int save_mixer_state(cmipci_t *cm) { if (! cm->mixer_insensitive) { + snd_ctl_elem_value_t *val; unsigned int i; + + val = kmalloc(sizeof(*val), GFP_ATOMIC); + if (!val) + return -ENOMEM; for (i = 0; i < CM_SAVED_MIXERS; i++) { snd_kcontrol_t *ctl = cm->mixer_res_ctl[i]; if (ctl) { - snd_ctl_elem_value_t val; int event; - memset(&val, 0, sizeof(val)); - ctl->get(ctl, &val); - cm->mixer_res_status[i] = val.value.integer.value[0]; - val.value.integer.value[0] = cm_saved_mixer[i].toggle_on; + memset(val, 0, sizeof(*val)); + ctl->get(ctl, val); + cm->mixer_res_status[i] = val->value.integer.value[0]; + val->value.integer.value[0] = cm_saved_mixer[i].toggle_on; event = SNDRV_CTL_EVENT_MASK_INFO; - if (cm->mixer_res_status[i] != val.value.integer.value[0]) { - ctl->put(ctl, &val); /* toggle */ + if (cm->mixer_res_status[i] != val->value.integer.value[0]) { + ctl->put(ctl, val); /* toggle */ event |= SNDRV_CTL_EVENT_MASK_VALUE; } ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(cm->card, event, &ctl->id); } } + kfree(val); cm->mixer_insensitive = 1; } + return 0; } @@ -1103,27 +1092,32 @@ static void restore_mixer_state(cmipci_t *cm) { if (cm->mixer_insensitive) { + snd_ctl_elem_value_t *val; unsigned int i; + + val = kmalloc(sizeof(*val), GFP_KERNEL); + if (!val) + return; cm->mixer_insensitive = 0; /* at first clear this; otherwise the changes will be ignored */ for (i = 0; i < CM_SAVED_MIXERS; i++) { snd_kcontrol_t *ctl = cm->mixer_res_ctl[i]; if (ctl) { - snd_ctl_elem_value_t val; int event; - memset(&val, 0, sizeof(val)); + memset(val, 0, sizeof(*val)); ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; - ctl->get(ctl, &val); + ctl->get(ctl, val); event = SNDRV_CTL_EVENT_MASK_INFO; - if (val.value.integer.value[0] != cm->mixer_res_status[i]) { - val.value.integer.value[0] = cm->mixer_res_status[i]; - ctl->put(ctl, &val); + if (val->value.integer.value[0] != cm->mixer_res_status[i]) { + val->value.integer.value[0] = cm->mixer_res_status[i]; + ctl->put(ctl, val); event |= SNDRV_CTL_EVENT_MASK_VALUE; } snd_ctl_notify(cm->card, event, &ctl->id); } } + kfree(val); } } @@ -1175,17 +1169,17 @@ } } -static void setup_spdif_playback(cmipci_t *cm, snd_pcm_substream_t *subs, int up, int do_ac3) +static int setup_spdif_playback(cmipci_t *cm, snd_pcm_substream_t *subs, int up, int do_ac3) { - int rate; - unsigned long flags; + int rate, err; rate = subs->runtime->rate; if (up && do_ac3) - save_mixer_state(cm); + if ((err = save_mixer_state(cm)) < 0) + return err; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); cm->spdif_playback_avail = up; if (up) { /* they are controlled via "IEC958 Output Switch" */ @@ -1207,7 +1201,8 @@ snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1, CM_PLAYBACK_SPDF); setup_ac3(cm, subs, 0, 0); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); + return 0; } @@ -1220,13 +1215,15 @@ { cmipci_t *cm = snd_pcm_substream_chip(substream); int rate = substream->runtime->rate; - int do_spdif, do_ac3 = 0; + int err, do_spdif, do_ac3 = 0; + do_spdif = ((rate == 44100 || rate == 48000) && substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE && substream->runtime->channels == 2); if (do_spdif && cm->can_ac3_hw) do_ac3 = cm->dig_pcm_status & IEC958_AES0_NONAUDIO; - setup_spdif_playback(cm, substream, do_spdif, do_ac3); + if ((err = setup_spdif_playback(cm, substream, do_spdif, do_ac3)) < 0) + return err; return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_PLAY], substream); } @@ -1234,12 +1231,14 @@ static int snd_cmipci_playback_spdif_prepare(snd_pcm_substream_t *substream) { cmipci_t *cm = snd_pcm_substream_chip(substream); - int do_ac3; + int err, do_ac3; + if (cm->can_ac3_hw) do_ac3 = cm->dig_pcm_status & IEC958_AES0_NONAUDIO; else do_ac3 = 1; /* doesn't matter */ - setup_spdif_playback(cm, substream, 1, do_ac3); + if ((err = setup_spdif_playback(cm, substream, 1, do_ac3)) < 0) + return err; return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_PLAY], substream); } @@ -1262,11 +1261,10 @@ static int snd_cmipci_capture_spdif_prepare(snd_pcm_substream_t *substream) { cmipci_t *cm = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_CAPTURE_SPDF); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_CAPT], substream); } @@ -1274,11 +1272,10 @@ static int snd_cmipci_capture_spdif_hw_free(snd_pcm_substream_t *subs) { cmipci_t *cm = snd_pcm_substream_chip(subs); - unsigned long flags; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1, CM_CAPTURE_SPDF); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return snd_cmipci_hw_free(subs); } @@ -1289,7 +1286,7 @@ */ static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cmipci_t *cm = snd_magic_cast(cmipci_t, dev_id, return IRQ_NONE); + cmipci_t *cm = dev_id; unsigned int status, mask = 0; /* fastpath out, to ease interrupt sharing */ @@ -1448,7 +1445,6 @@ */ static int open_device_check(cmipci_t *cm, int mode, snd_pcm_substream_t *subs) { - unsigned long flags; int ch = mode & CM_OPEN_CH_MASK; /* FIXME: a file should wait until the device becomes free @@ -1466,9 +1462,9 @@ if (! (mode & CM_OPEN_DAC)) { /* disable dual DAC mode */ cm->channel[ch].is_dac = 0; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENDBDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } up(&cm->open_mutex); return 0; @@ -1476,7 +1472,6 @@ static void close_device_check(cmipci_t *cm, int mode) { - unsigned long flags; int ch = mode & CM_OPEN_CH_MASK; down(&cm->open_mutex); @@ -1490,9 +1485,9 @@ if (! cm->channel[ch].is_dac) { /* enable dual DAC mode again */ cm->channel[ch].is_dac = 1; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_ENDBDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } } up(&cm->open_mutex); @@ -1840,12 +1835,11 @@ static int snd_cmipci_get_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); val = (snd_cmipci_mixer_read(cm, reg.left_reg) >> reg.left_shift) & reg.mask; if (reg.invert) val = reg.mask - val; @@ -1856,14 +1850,13 @@ val = reg.mask - val; ucontrol->value.integer.value[1] = val; } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } static int snd_cmipci_put_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int change; int left, right, oleft, oright; @@ -1880,7 +1873,7 @@ right <<= reg.right_shift; } else right = 0; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oleft = snd_cmipci_mixer_read(cm, reg.left_reg); left |= oleft & ~(reg.mask << reg.left_shift); change = left != oleft; @@ -1895,7 +1888,7 @@ snd_cmipci_mixer_write(cm, reg.right_reg, right); } else snd_cmipci_mixer_write(cm, reg.left_reg, left); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -1921,15 +1914,14 @@ static int snd_cmipci_get_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int val1, val2; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); val1 = snd_cmipci_mixer_read(cm, reg.left_reg); val2 = snd_cmipci_mixer_read(cm, reg.right_reg); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); ucontrol->value.integer.value[0] = (val1 >> reg.left_shift) & 1; ucontrol->value.integer.value[1] = (val2 >> reg.left_shift) & 1; ucontrol->value.integer.value[2] = (val1 >> reg.right_shift) & 1; @@ -1940,13 +1932,12 @@ static int snd_cmipci_put_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int change; int val1, val2, oval1, oval2; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oval1 = snd_cmipci_mixer_read(cm, reg.left_reg); oval2 = snd_cmipci_mixer_read(cm, reg.right_reg); val1 = oval1 & ~((1 << reg.left_shift) | (1 << reg.right_shift)); @@ -1958,7 +1949,7 @@ change = val1 != oval1 || val2 != oval2; snd_cmipci_mixer_write(cm, reg.left_reg, val1); snd_cmipci_mixer_write(cm, reg.right_reg, val2); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -2011,11 +2002,10 @@ { cmipci_t *cm = snd_kcontrol_chip(kcontrol); cmipci_sb_reg_t reg; - unsigned long flags; unsigned char oreg, val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oreg = inb(cm->iobase + reg.left_reg); val = (oreg >> reg.left_shift) & reg.mask; if (reg.invert) @@ -2027,7 +2017,7 @@ val = reg.mask - val; ucontrol->value.integer.value[1] = val; } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -2035,11 +2025,10 @@ { cmipci_t *cm = snd_kcontrol_chip(kcontrol); cmipci_sb_reg_t reg; - unsigned long flags; unsigned char oreg, nreg, val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oreg = inb(cm->iobase + reg.left_reg); val = ucontrol->value.integer.value[0] & reg.mask; if (reg.invert) @@ -2054,7 +2043,7 @@ nreg |= (val << reg.right_shift); } outb(nreg, cm->iobase + reg.left_reg); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return (nreg != oreg); } @@ -2078,8 +2067,6 @@ } -#define num_controls(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cmipci_mixers[] __devinitdata = { CMIPCI_SB_VOL_STEREO("Master Playback Volume", SB_DSP4_MASTER_DEV, 3, 31), CMIPCI_MIXER_SW_MONO("3D Control - Switch", CM_REG_MIXER1, CM_X3DEN_SHIFT, 0), @@ -2137,14 +2124,13 @@ static int _snd_cmipci_uswitch_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, snd_cmipci_switch_args_t *args) { - unsigned long flags; unsigned int val; cmipci_t *cm = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); if (args->ac3_sensitive && cm->mixer_insensitive) { ucontrol->value.integer.value[0] = 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } if (args->is_byte) @@ -2152,7 +2138,7 @@ else val = snd_cmipci_read(cm, args->reg); ucontrol->value.integer.value[0] = ((val & args->mask) == args->mask_on) ? 1 : 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -2165,15 +2151,14 @@ static int _snd_cmipci_uswitch_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, snd_cmipci_switch_args_t *args) { - unsigned long flags; unsigned int val; int change; cmipci_t *cm = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); if (args->ac3_sensitive && cm->mixer_insensitive) { /* ignored */ - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } if (args->is_byte) @@ -2192,7 +2177,7 @@ else snd_cmipci_write(cm, args->reg, val); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -2345,7 +2330,6 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) { - unsigned long flags; snd_card_t *card; snd_kcontrol_new_t *sw; snd_kcontrol_t *kctl; @@ -2358,18 +2342,18 @@ strcpy(card->mixername, "CMedia PCI"); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_mixer_write(cm, 0x00, 0x00); /* mixer reset */ - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); - for (idx = 0; idx < num_controls(snd_cmipci_mixers); idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_mixers); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cmipci_mixers[idx], cm))) < 0) return err; } /* mixer switches */ sw = snd_cmipci_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2382,7 +2366,7 @@ if (cm->device == PCI_DEVICE_ID_CMEDIA_CM8738 || cm->device == PCI_DEVICE_ID_CMEDIA_CM8738B) { sw = snd_cmipci_8738_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_8738_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_8738_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2400,7 +2384,7 @@ } if (cm->chip_version <= 37) { sw = snd_cmipci_old_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_old_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_old_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2409,7 +2393,7 @@ } if (cm->chip_version >= 39) { sw = snd_cmipci_extra_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_extra_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_extra_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2418,7 +2402,7 @@ /* card switches */ sw = snd_cmipci_control_switches; - for (idx = 0; idx < num_controls(snd_cmipci_control_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_control_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2446,7 +2430,7 @@ static void snd_cmipci_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - cmipci_t *cm = snd_magic_cast(cmipci_t, entry->private_data, return); + cmipci_t *cm = entry->private_data; int i; snd_iprintf(buffer, "%s\n\n", cm->card->longname); @@ -2566,17 +2550,14 @@ kfree_nocheck(cm->res_joystick); } #endif - if (cm->res_iobase) { - release_resource(cm->res_iobase); - kfree_nocheck(cm->res_iobase); - } - snd_magic_kfree(cm); + pci_release_regions(cm->pci); + kfree(cm); return 0; } static int snd_cmipci_dev_free(snd_device_t *device) { - cmipci_t *cm = snd_magic_cast(cmipci_t, device->device_data, return -ENXIO); + cmipci_t *cm = device->device_data; return snd_cmipci_free(cm); } @@ -2598,7 +2579,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - cm = snd_magic_kcalloc(cmipci_t, 0, GFP_KERNEL); + cm = kcalloc(1, sizeof(*cm), GFP_KERNEL); if (cm == NULL) return -ENOMEM; @@ -2608,16 +2589,16 @@ cm->card = card; cm->pci = pci; cm->irq = -1; - cm->iobase = pci_resource_start(pci, 0); cm->channel[0].ch = 0; cm->channel[1].ch = 1; cm->channel[0].is_dac = cm->channel[1].is_dac = 1; /* dual DAC mode */ - if ((cm->res_iobase = request_region(cm->iobase, CM_EXTENT_CODEC, card->driver)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", cm->iobase, cm->iobase + CM_EXTENT_CODEC - 1); - err = -EBUSY; - goto __error; + if ((err = pci_request_regions(pci, card->driver)) < 0) { + kfree(cm); + return err; } + cm->iobase = pci_resource_start(pci, 0); + if (request_irq(pci->irq, snd_cmipci_interrupt, SA_INTERRUPT|SA_SHIRQ, card->driver, (void *)cm)) { snd_printk("unable to grab IRQ %d\n", pci->irq); err = -EBUSY; @@ -2776,12 +2757,12 @@ int i; for (i = 0; ports[i]; i++) { joystick_port[dev] = ports[i]; - cm->res_joystick = request_region(ports[i], 8, "CMIPCI gameport"); + cm->res_joystick = request_region(ports[i], 1, "CMIPCI gameport"); if (cm->res_joystick) break; } } else { - cm->res_joystick = request_region(joystick_port[dev], 8, "CMIPCI gameport"); + cm->res_joystick = request_region(joystick_port[dev], 1, "CMIPCI gameport"); } } if (cm->res_joystick) { diff -Nru a/sound/pci/cs4281.c b/sound/pci/cs4281.c --- a/sound/pci/cs4281.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs4281.c 2004-08-25 19:27:40 -07:00 @@ -40,8 +40,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Cirrus Logic CS4281"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Cirrus Logic,CS4281}}"); +MODULE_SUPPORTED_DEVICE("{{Cirrus Logic,CS4281}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -51,16 +50,12 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CS4281 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CS4281 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS4281 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(dual_codec, bool, boot_devs, 0444); MODULE_PARM_DESC(dual_codec, "Secondary Codec ID (0 = disabled)."); -MODULE_PARM_SYNTAX(dual_codec, SNDRV_ENABLED ",allows:{{0,3}}"); /* * @@ -441,8 +436,6 @@ * */ -#define chip_t cs4281_t - typedef struct snd_cs4281 cs4281_t; typedef struct snd_cs4281_dma cs4281_dma_t; @@ -475,8 +468,6 @@ unsigned long ba1; /* virtual (accessible) address */ unsigned long ba0_addr; unsigned long ba1_addr; - struct resource *ba0_res; - struct resource *ba1_res; int dual_codec; @@ -575,7 +566,7 @@ * 4. Read ACCTL = 460h, DCV should be reset by now and 460h = 07h * 5. if DCV not cleared, break and return error */ - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return); + cs4281_t *chip = ac97->private_data; int count; /* @@ -613,7 +604,7 @@ static unsigned short snd_cs4281_ac97_read(ac97_t *ac97, unsigned short reg) { - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return -ENXIO); + cs4281_t *chip = ac97->private_data; int count; unsigned short result; // FIXME: volatile is necessary in the following due to a bug of @@ -709,9 +700,8 @@ { cs4281_dma_t *dma = (cs4281_dma_t *)substream->runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_PAUSE_PUSH: dma->valDCR |= BA0_DCR_MSK; @@ -738,13 +728,13 @@ dma->valFCR &= ~BA0_FCR_FEN; break; default: - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return -EINVAL; } snd_cs4281_pokeBA0(chip, dma->regDMR, dma->valDMR); snd_cs4281_pokeBA0(chip, dma->regFCR, dma->valFCR); snd_cs4281_pokeBA0(chip, dma->regDCR, dma->valDCR); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } @@ -851,11 +841,10 @@ snd_pcm_runtime_t *runtime = substream->runtime; cs4281_dma_t *dma = (cs4281_dma_t *)runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_cs4281_mode(chip, dma, runtime, 0, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -864,11 +853,10 @@ snd_pcm_runtime_t *runtime = substream->runtime; cs4281_dma_t *dma = (cs4281_dma_t *)runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_cs4281_mode(chip, dma, runtime, 1, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1015,7 +1003,7 @@ static void snd_cs4281_pcm_free(snd_pcm_t *pcm) { - cs4281_t *chip = snd_magic_cast(cs4281_t, pcm->private_data, return); + cs4281_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1124,13 +1112,13 @@ static void snd_cs4281_mixer_free_ac97_bus(ac97_bus_t *bus) { - cs4281_t *chip = snd_magic_cast(cs4281_t, bus->private_data, return); + cs4281_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_cs4281_mixer_free_ac97(ac97_t *ac97) { - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return); + cs4281_t *chip = ac97->private_data; if (ac97->num) chip->ac97_secondary = NULL; else @@ -1140,17 +1128,16 @@ static int __devinit snd_cs4281_mixer(cs4281_t * chip) { snd_card_t *card = chip->card; - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_cs4281_ac97_write, + .read = snd_cs4281_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_cs4281_ac97_write; - bus.read = snd_cs4281_ac97_read; - bus.private_data = chip; - bus.private_free = snd_cs4281_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_cs4281_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1177,7 +1164,7 @@ static void snd_cs4281_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return); + cs4281_t *chip = entry->private_data; snd_iprintf(buffer, "Cirrus Logic CS4281\n\n"); snd_iprintf(buffer, "Spurious half IRQs : %u\n", chip->spurious_dhtc_irq); @@ -1189,7 +1176,7 @@ unsigned long count, unsigned long pos) { long size; - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return -ENXIO); + cs4281_t *chip = entry->private_data; size = count; if (pos + size > CS4281_BA0_SIZE) @@ -1206,7 +1193,7 @@ unsigned long count, unsigned long pos) { long size; - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return -ENXIO); + cs4281_t *chip = entry->private_data; size = count; if (pos + size > CS4281_BA1_SIZE) @@ -1262,7 +1249,7 @@ cs4281_gameport_t *gp = (cs4281_gameport_t *)gameport; cs4281_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(cs4281_t, gp->chip, return); + chip = gp->chip; snd_cs4281_pokeBA0(chip, BA0_JSPT, 0xff); } @@ -1271,7 +1258,7 @@ cs4281_gameport_t *gp = (cs4281_gameport_t *)gameport; cs4281_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(cs4281_t, gp->chip, return 0); + chip = gp->chip; return snd_cs4281_peekBA0(chip, BA0_JSPT); } @@ -1283,7 +1270,7 @@ unsigned js1, js2, jst; snd_assert(gp, return 0); - chip = snd_magic_cast(cs4281_t, gp->chip, return 0); + chip = gp->chip; js1 = snd_cs4281_peekBA0(chip, BA0_JSC1); js2 = snd_cs4281_peekBA0(chip, BA0_JSC2); @@ -1369,28 +1356,21 @@ /* PCI interface - D3 state */ pci_set_power_state(chip->pci, 3); + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->ba0) iounmap((void *) chip->ba0); if (chip->ba1) iounmap((void *) chip->ba1); - if (chip->ba0_res) { - release_resource(chip->ba0_res); - kfree_nocheck(chip->ba0_res); - } - if (chip->ba1_res) { - release_resource(chip->ba1_res); - kfree_nocheck(chip->ba1_res); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4281_dev_free(snd_device_t *device) { - cs4281_t *chip = snd_magic_cast(cs4281_t, device->device_data, return -ENXIO); + cs4281_t *chip = device->device_data; return snd_cs4281_free(chip); } @@ -1415,15 +1395,13 @@ *rchip = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(cs4281_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); chip->card = card; chip->pci = pci; chip->irq = -1; - chip->ba0_addr = pci_resource_start(pci, 0); - chip->ba1_addr = pci_resource_start(pci, 1); pci_set_master(pci); if (dual_codec < 0 || dual_codec > 3) { snd_printk(KERN_ERR "invalid dual_codec option %d\n", dual_codec); @@ -1431,16 +1409,13 @@ } chip->dual_codec = dual_codec; - if ((chip->ba0_res = request_mem_region(chip->ba0_addr, CS4281_BA0_SIZE, "CS4281 BA0")) == NULL) { - snd_printk(KERN_ERR "unable to grab memory region 0x%lx-0x%lx\n", chip->ba0_addr, chip->ba0_addr + CS4281_BA0_SIZE - 1); - snd_cs4281_free(chip); - return -ENOMEM; - } - if ((chip->ba1_res = request_mem_region(chip->ba1_addr, CS4281_BA1_SIZE, "CS4281 BA1")) == NULL) { - snd_printk(KERN_ERR "unable to grab memory region 0x%lx-0x%lx\n", chip->ba1_addr, chip->ba1_addr + CS4281_BA1_SIZE - 1); - snd_cs4281_free(chip); - return -ENOMEM; + if ((err = pci_request_regions(pci, "CS4281")) < 0) { + kfree(chip); + return err; } + chip->ba0_addr = pci_resource_start(pci, 0); + chip->ba1_addr = pci_resource_start(pci, 1); + if (request_irq(pci->irq, snd_cs4281_interrupt, SA_INTERRUPT|SA_SHIRQ, "CS4281", (void *)chip)) { snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_cs4281_free(chip); @@ -1448,8 +1423,8 @@ } chip->irq = pci->irq; - chip->ba0 = (unsigned long) ioremap_nocache(chip->ba0_addr, CS4281_BA0_SIZE); - chip->ba1 = (unsigned long) ioremap_nocache(chip->ba1_addr, CS4281_BA1_SIZE); + chip->ba0 = (unsigned long) ioremap_nocache(chip->ba0_addr, pci_resource_len(pci, 0)); + chip->ba1 = (unsigned long) ioremap_nocache(chip->ba1_addr, pci_resource_len(pci, 1)); if (!chip->ba0 || !chip->ba1) { snd_cs4281_free(chip); return -ENOMEM; @@ -1713,10 +1688,9 @@ static int snd_cs4281_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr |= BA0_MIDCR_RXE; chip->midi_input = substream; if (!(chip->uartm & CS4281_MODE_OUTPUT)) { @@ -1724,16 +1698,15 @@ } else { snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(BA0_MIDCR_RXE | BA0_MIDCR_RIE); chip->midi_input = NULL; if (!(chip->uartm & CS4281_MODE_OUTPUT)) { @@ -1742,16 +1715,15 @@ snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS4281_MODE_INPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS4281_MODE_OUTPUT; chip->midcr |= BA0_MIDCR_TXE; chip->midi_output = substream; @@ -1760,16 +1732,15 @@ } else { snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(BA0_MIDCR_TXE | BA0_MIDCR_TIE); chip->midi_output = NULL; if (!(chip->uartm & CS4281_MODE_INPUT)) { @@ -1778,14 +1749,14 @@ snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS4281_MODE_OUTPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static void snd_cs4281_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return); + cs4281_t *chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->reg_lock, flags); if (up) { @@ -1805,7 +1776,7 @@ static void snd_cs4281_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return); + cs4281_t *chip = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1872,7 +1843,7 @@ static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4281_t *chip = snd_magic_cast(cs4281_t, dev_id, return IRQ_NONE); + cs4281_t *chip = dev_id; unsigned int status, dma, val; cs4281_dma_t *cdma; @@ -1919,7 +1890,9 @@ c = snd_cs4281_peekBA0(chip, BA0_MIDRP); if ((chip->midcr & BA0_MIDCR_RIE) == 0) continue; + spin_unlock(&chip->reg_lock); snd_rawmidi_receive(chip->midi_input, &c, 1); + spin_lock(&chip->reg_lock); } while ((snd_cs4281_peekBA0(chip, BA0_MIDSR) & BA0_MIDSR_TBF) == 0) { if ((chip->midcr & BA0_MIDCR_TIE) == 0) @@ -2034,13 +2007,11 @@ BA0_PPRVC, }; -#define number_of(array) (sizeof(array) / sizeof(array[0])) - #define CLKCR1_CKRA 0x00010000L static int cs4281_suspend(snd_card_t *card, unsigned int state) { - cs4281_t *chip = snd_magic_cast(cs4281_t, card->pm_private_data, return -EINVAL); + cs4281_t *chip = card->pm_private_data; u32 ulCLK; unsigned int i; @@ -2059,7 +2030,7 @@ snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_CHGM); /* remember the status registers */ - for (i = 0; i < number_of(saved_regs); i++) + for (i = 0; i < ARRAY_SIZE(saved_regs); i++) if (saved_regs[i]) chip->suspend_regs[i] = snd_cs4281_peekBA0(chip, saved_regs[i]); @@ -2085,7 +2056,7 @@ static int cs4281_resume(snd_card_t *card, unsigned int state) { - cs4281_t *chip = snd_magic_cast(cs4281_t, card->pm_private_data, return -EINVAL); + cs4281_t *chip = card->pm_private_data; unsigned int i; u32 ulCLK; @@ -2098,7 +2069,7 @@ snd_cs4281_chip_init(chip); /* restore the status registers */ - for (i = 0; i < number_of(saved_regs); i++) + for (i = 0; i < ARRAY_SIZE(saved_regs); i++) if (saved_regs[i]) snd_cs4281_pokeBA0(chip, saved_regs[i], chip->suspend_regs[i]); diff -Nru a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c --- a/sound/pci/cs46xx/cs46xx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs46xx/cs46xx.c 2004-08-25 19:27:40 -07:00 @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Cirrus Logic Sound Fusion CS46XX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Cirrus Logic,Sound Fusion (CS4280)}," +MODULE_SUPPORTED_DEVICE("{{Cirrus Logic,Sound Fusion (CS4280)}," "{Cirrus Logic,Sound Fusion (CS4610)}," "{Cirrus Logic,Sound Fusion (CS4612)}," "{Cirrus Logic,Sound Fusion (CS4615)}," @@ -56,22 +55,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the CS46xx soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the CS46xx soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS46xx soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(external_amp, bool, boot_devs, 0444); MODULE_PARM_DESC(external_amp, "Force to enable external amplifer."); -MODULE_PARM_SYNTAX(external_amp, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(thinkpad, bool, boot_devs, 0444); MODULE_PARM_DESC(thinkpad, "Force to enable Thinkpad's CLKRUN control."); -MODULE_PARM_SYNTAX(thinkpad, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(mmap_valid, bool, boot_devs, 0444); MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); -MODULE_PARM_SYNTAX(mmap_valid, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); static struct pci_device_id snd_cs46xx_ids[] = { { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ diff -Nru a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c --- a/sound/pci/cs46xx/cs46xx_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs46xx/cs46xx_lib.c 2004-08-25 19:27:40 -07:00 @@ -79,6 +79,8 @@ (codec_index == CS46XX_SECONDARY_CODEC_INDEX), return -EINVAL); + chip->active_ctrl(chip, 1); + if (codec_index == CS46XX_SECONDARY_CODEC_INDEX) offset = CS46XX_SECONDARY_CODEC_OFFSET; @@ -184,27 +186,22 @@ //snd_cs46xx_peekBA0(chip, BA0_ACCAD); result = snd_cs46xx_peekBA0(chip, BA0_ACSDA + offset); end: + chip->active_ctrl(chip, -1); return result; } static unsigned short snd_cs46xx_ac97_read(ac97_t * ac97, unsigned short reg) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return -ENXIO); + cs46xx_t *chip = ac97->private_data; unsigned short val; - int codec_index = -1; + int codec_index = ac97->num; + + snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || + codec_index == CS46XX_SECONDARY_CODEC_INDEX, + return 0xffff); - /* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */ - if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] || chip->nr_ac97_codecs == 0) - codec_index = CS46XX_PRIMARY_CODEC_INDEX; - /* UGGLY: nr_ac97_codecs == 1 secondary codec detection is in progress */ - else if (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] || chip->nr_ac97_codecs == 1) - codec_index = CS46XX_SECONDARY_CODEC_INDEX; - else - snd_assert(0, return 0xffff); - chip->active_ctrl(chip, 1); val = snd_cs46xx_codec_read(chip, reg, codec_index); - chip->active_ctrl(chip, -1); /* HACK: voyetra uses EAPD bit in the reverse way. * we flip the bit to show the mixer status correctly @@ -227,6 +224,8 @@ (codec_index == CS46XX_SECONDARY_CODEC_INDEX), return); + chip->active_ctrl(chip, 1); + /* * 1. Write ACCAD = Command Address Register = 46Ch for AC97 register address * 2. Write ACCDA = Command Data Register = 470h for data to write to AC97 @@ -271,27 +270,24 @@ * ACCTL = 460h, DCV should be reset by now and 460h = 07h */ if (!(snd_cs46xx_peekBA0(chip, BA0_ACCTL) & ACCTL_DCV)) { - return; + goto end; } } snd_printk("AC'97 write problem, codec_index = %d, reg = 0x%x, val = 0x%x\n", codec_index, reg, val); + end: + chip->active_ctrl(chip, -1); } static void snd_cs46xx_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return); - int codec_index = -1; + cs46xx_t *chip = ac97->private_data; + int codec_index = ac97->num; - /* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */ - if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] || chip->nr_ac97_codecs == 0) - codec_index = CS46XX_PRIMARY_CODEC_INDEX; - /* UGGLY: nr_ac97_codecs == 1 secondary codec detection is in progress */ - else if (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] || chip->nr_ac97_codecs == 1) - codec_index = CS46XX_SECONDARY_CODEC_INDEX; - else - snd_assert(0,return); + snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || + codec_index == CS46XX_SECONDARY_CODEC_INDEX, + return); /* HACK: voyetra uses EAPD bit in the reverse way. * we flip the bit to show the mixer status correctly @@ -299,9 +295,7 @@ if (reg == AC97_POWERDOWN && chip->amplifier_ctrl == amp_voyetra) val ^= 0x8000; - chip->active_ctrl(chip, 1); snd_cs46xx_codec_write(chip, reg, val, codec_index); - chip->active_ctrl(chip, -1); } @@ -688,84 +682,35 @@ * PCM part */ +static void snd_cs46xx_pb_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + cs46xx_pcm_t * cpcm = runtime->private_data; + memcpy(cpcm->hw_buf.area + rec->hw_data, runtime->dma_area + rec->sw_data, bytes); +} + static int snd_cs46xx_playback_transfer(snd_pcm_substream_t *substream) { - /* cs46xx_t *chip = snd_pcm_substream_chip(substream); */ snd_pcm_runtime_t *runtime = substream->runtime; - cs46xx_pcm_t * cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - cpcm->appl_ptr; - int buffer_size = runtime->period_size * CS46XX_FRAGS << cpcm->shift; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - cpcm->sw_ready += diff * (1 << cpcm->shift); - cpcm->appl_ptr = appl_ptr; - } - while (cpcm->hw_ready < buffer_size && - cpcm->sw_ready > 0) { - size_t hw_to_end = buffer_size - cpcm->hw_data; - size_t sw_to_end = cpcm->sw_bufsize - cpcm->sw_data; - size_t bytes = buffer_size - cpcm->hw_ready; - if (cpcm->sw_ready < (int)bytes) - bytes = cpcm->sw_ready; - if (hw_to_end < bytes) - bytes = hw_to_end; - if (sw_to_end < bytes) - bytes = sw_to_end; - memcpy(cpcm->hw_buf.area + cpcm->hw_data, - runtime->dma_area + cpcm->sw_data, - bytes); - cpcm->hw_data += bytes; - if ((int)cpcm->hw_data == buffer_size) - cpcm->hw_data = 0; - cpcm->sw_data += bytes; - if (cpcm->sw_data == cpcm->sw_bufsize) - cpcm->sw_data = 0; - cpcm->hw_ready += bytes; - cpcm->sw_ready -= bytes; - } + cs46xx_pcm_t * cpcm = runtime->private_data; + snd_pcm_indirect_playback_transfer(substream, &cpcm->pcm_rec, snd_cs46xx_pb_trans_copy); return 0; } -static int snd_cs46xx_capture_transfer(snd_pcm_substream_t *substream) +static void snd_cs46xx_cp_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) { cs46xx_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - chip->capt.appl_ptr; - int buffer_size = runtime->period_size * CS46XX_FRAGS << chip->capt.shift; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - chip->capt.sw_ready -= diff * (1 << chip->capt.shift); - chip->capt.appl_ptr = appl_ptr; - } - while (chip->capt.hw_ready > 0 && - chip->capt.sw_ready < (int)chip->capt.sw_bufsize) { - size_t hw_to_end = buffer_size - chip->capt.hw_data; - size_t sw_to_end = chip->capt.sw_bufsize - chip->capt.sw_data; - size_t bytes = chip->capt.sw_bufsize - chip->capt.sw_ready; - if (chip->capt.hw_ready < (int)bytes) - bytes = chip->capt.hw_ready; - if (hw_to_end < bytes) - bytes = hw_to_end; - if (sw_to_end < bytes) - bytes = sw_to_end; - memcpy(runtime->dma_area + chip->capt.sw_data, - chip->capt.hw_buf.area + chip->capt.hw_data, - bytes); - chip->capt.hw_data += bytes; - if ((int)chip->capt.hw_data == buffer_size) - chip->capt.hw_data = 0; - chip->capt.sw_data += bytes; - if (chip->capt.sw_data == chip->capt.sw_bufsize) - chip->capt.sw_data = 0; - chip->capt.hw_ready -= bytes; - chip->capt.sw_ready += bytes; - } + memcpy(runtime->dma_area + rec->sw_data, + chip->capt.hw_buf.area + rec->hw_data, bytes); +} + +static int snd_cs46xx_capture_transfer(snd_pcm_substream_t *substream) +{ + cs46xx_t *chip = snd_pcm_substream_chip(substream); + snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec, snd_cs46xx_cp_trans_copy); return 0; } @@ -773,7 +718,7 @@ { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr; - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); + cs46xx_pcm_t *cpcm = substream->runtime->private_data; snd_assert (cpcm->pcm_channel,return -ENXIO); #ifdef CONFIG_SND_CS46XX_NEW_DSP @@ -789,9 +734,7 @@ { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr; - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); - ssize_t bytes; - int buffer_size = substream->runtime->period_size * CS46XX_FRAGS << cpcm->shift; + cs46xx_pcm_t *cpcm = substream->runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (cpcm->pcm_channel,return -ENXIO); @@ -800,18 +743,7 @@ ptr = snd_cs46xx_peek(chip, BA1_PBA); #endif ptr -= cpcm->hw_buf.addr; - - bytes = ptr - cpcm->hw_io; - - if (bytes < 0) - bytes += buffer_size; - cpcm->hw_io = ptr; - cpcm->hw_ready -= bytes; - cpcm->sw_io += bytes; - if (cpcm->sw_io >= cpcm->sw_bufsize) - cpcm->sw_io -= cpcm->sw_bufsize; - snd_cs46xx_playback_transfer(substream); - return cpcm->sw_io >> cpcm->shift; + return snd_pcm_indirect_playback_pointer(substream, &cpcm->pcm_rec, ptr); } static snd_pcm_uframes_t snd_cs46xx_capture_direct_pointer(snd_pcm_substream_t * substream) @@ -825,18 +757,7 @@ { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; - ssize_t bytes = ptr - chip->capt.hw_io; - int buffer_size = substream->runtime->period_size * CS46XX_FRAGS << chip->capt.shift; - - if (bytes < 0) - bytes += buffer_size; - chip->capt.hw_io = ptr; - chip->capt.hw_ready += bytes; - chip->capt.sw_io += bytes; - if (chip->capt.sw_io >= chip->capt.sw_bufsize) - chip->capt.sw_io -= chip->capt.sw_bufsize; - snd_cs46xx_capture_transfer(substream); - return chip->capt.sw_io >> chip->capt.shift; + return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr); } static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, @@ -847,13 +768,7 @@ int result = 0; #ifdef CONFIG_SND_CS46XX_NEW_DSP - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); -#else - spin_lock(&chip->reg_lock); -#endif - -#ifdef CONFIG_SND_CS46XX_NEW_DSP - + cs46xx_pcm_t *cpcm = substream->runtime->private_data; if (! cpcm->pcm_channel) { return -ENXIO; } @@ -872,6 +787,7 @@ if (substream->runtime->periods != CS46XX_FRAGS) snd_cs46xx_playback_transfer(substream); #else + spin_lock(&chip->reg_lock); if (substream->runtime->periods != CS46XX_FRAGS) snd_cs46xx_playback_transfer(substream); { unsigned int tmp; @@ -879,6 +795,7 @@ tmp &= 0x0000ffff; snd_cs46xx_poke(chip, BA1_PCTL, chip->play_ctl | tmp); } + spin_unlock(&chip->reg_lock); #endif break; case SNDRV_PCM_TRIGGER_STOP: @@ -891,11 +808,13 @@ if (!cpcm->pcm_channel->unlinked) cs46xx_dsp_pcm_unlink(chip,cpcm->pcm_channel); #else + spin_lock(&chip->reg_lock); { unsigned int tmp; tmp = snd_cs46xx_peek(chip, BA1_PCTL); tmp &= 0x0000ffff; snd_cs46xx_poke(chip, BA1_PCTL, tmp); } + spin_unlock(&chip->reg_lock); #endif break; default: @@ -903,10 +822,6 @@ break; } -#ifndef CONFIG_SND_CS46XX_NEW_DSP - spin_unlock(&chip->reg_lock); -#endif - return result; } @@ -987,7 +902,7 @@ int sample_rate = params_rate(hw_params); int period_size = params_period_bytes(hw_params); #endif - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (sample_rate != 0, return -ENXIO); @@ -1084,7 +999,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t *cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; /* if play_back open fails, then this function is called and cpcm can actually be NULL here */ @@ -1108,7 +1023,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t *cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (cpcm->pcm_channel != NULL, return -ENXIO); @@ -1143,10 +1058,9 @@ pfie |= 0x00004000; } - cpcm->sw_bufsize = snd_pcm_lib_buffer_bytes(substream); - cpcm->sw_data = cpcm->sw_io = cpcm->sw_ready = 0; - cpcm->hw_data = cpcm->hw_io = cpcm->hw_ready = 0; - cpcm->appl_ptr = 0; + memset(&cpcm->pcm_rec, 0, sizeof(cpcm->pcm_rec)); + cpcm->pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + cpcm->pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << cpcm->shift; #ifdef CONFIG_SND_CS46XX_NEW_DSP @@ -1223,10 +1137,9 @@ snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr); chip->capt.shift = 2; - chip->capt.sw_bufsize = snd_pcm_lib_buffer_bytes(substream); - chip->capt.sw_data = chip->capt.sw_io = chip->capt.sw_ready = 0; - chip->capt.hw_data = chip->capt.hw_io = chip->capt.hw_ready = 0; - chip->capt.appl_ptr = 0; + memset(&chip->capt.pcm_rec, 0, sizeof(chip->capt.pcm_rec)); + chip->capt.pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + chip->capt.pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << 2; snd_cs46xx_set_capture_sample_rate(chip, runtime->rate); return 0; @@ -1234,7 +1147,7 @@ static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, dev_id, return IRQ_NONE); + cs46xx_t *chip = dev_id; u32 status1; #ifdef CONFIG_SND_CS46XX_NEW_DSP dsp_spos_instance_t * ins = chip->dsp_spos_instance; @@ -1265,7 +1178,7 @@ if (ins->pcm_channels[i].active && ins->pcm_channels[i].private_data && !ins->pcm_channels[i].unlinked) { - cpcm = snd_magic_cast(cs46xx_pcm_t, ins->pcm_channels[i].private_data, continue); + cpcm = ins->pcm_channels[i].private_data; snd_pcm_period_elapsed(cpcm->substream); } } @@ -1275,7 +1188,7 @@ if (ins->pcm_channels[i].active && ins->pcm_channels[i].private_data && !ins->pcm_channels[i].unlinked) { - cpcm = snd_magic_cast(cs46xx_pcm_t, ins->pcm_channels[i].private_data, continue); + cpcm = ins->pcm_channels[i].private_data; snd_pcm_period_elapsed(cpcm->substream); } } @@ -1302,7 +1215,9 @@ c = snd_cs46xx_peekBA0(chip, BA0_MIDRP); if ((chip->midcr & MIDCR_RIE) == 0) continue; + spin_unlock(&chip->reg_lock); snd_rawmidi_receive(chip->midi_input, &c, 1); + spin_lock(&chip->reg_lock); } while ((snd_cs46xx_peekBA0(chip, BA0_MIDSR) & MIDSR_TBF) == 0) { if ((chip->midcr & MIDCR_TIE) == 0) @@ -1370,10 +1285,8 @@ static unsigned int period_sizes[] = { 32, 64, 128, 256, 512, 1024, 2048 }; -#define PERIOD_SIZES sizeof(period_sizes) / sizeof(period_sizes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { - .count = PERIOD_SIZES, + .count = ARRAY_SIZE(period_sizes), .list = period_sizes, .mask = 0 }; @@ -1382,10 +1295,8 @@ static void snd_cs46xx_pcm_free_substream(snd_pcm_runtime_t *runtime) { - cs46xx_pcm_t * cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return); - - if (cpcm) - snd_magic_kfree(cpcm); + cs46xx_pcm_t * cpcm = runtime->private_data; + kfree(cpcm); } static int _cs46xx_playback_open_channel (snd_pcm_substream_t * substream,int pcm_channel_id) @@ -1394,11 +1305,12 @@ cs46xx_pcm_t * cpcm; snd_pcm_runtime_t *runtime = substream->runtime; - cpcm = snd_magic_kcalloc(cs46xx_pcm_t, 0, GFP_KERNEL); + cpcm = kcalloc(1, sizeof(*cpcm), GFP_KERNEL); if (cpcm == NULL) return -ENOMEM; - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_SIZE, &cpcm->hw_buf) < 0) { - snd_magic_kfree(cpcm); + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_SIZE, &cpcm->hw_buf) < 0) { + kfree(cpcm); return -ENOMEM; } @@ -1486,7 +1398,8 @@ { cs46xx_t *chip = snd_pcm_substream_chip(substream); - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_SIZE, &chip->capt.hw_buf) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_SIZE, &chip->capt.hw_buf) < 0) return -ENOMEM; chip->capt.substream = substream; substream->runtime->hw = snd_cs46xx_capture; @@ -1510,7 +1423,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t * cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; /* when playback_open fails, then cpcm can be NULL */ if (!cpcm) return -ENXIO; @@ -1527,7 +1440,7 @@ #endif cpcm->substream = NULL; - snd_dma_free_pages(&chip->dma_dev, &cpcm->hw_buf); + snd_dma_free_pages(&cpcm->hw_buf); chip->active_ctrl(chip, -1); return 0; @@ -1538,7 +1451,7 @@ cs46xx_t *chip = snd_pcm_substream_chip(substream); chip->capt.substream = NULL; - snd_dma_free_pages(&chip->dma_dev, &chip->capt.hw_buf); + snd_dma_free_pages(&chip->capt.hw_buf); chip->active_ctrl(chip, -1); return 0; @@ -1664,7 +1577,7 @@ static void snd_cs46xx_pcm_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1672,21 +1585,21 @@ #ifdef CONFIG_SND_CS46XX_NEW_DSP static void snd_cs46xx_pcm_rear_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_rear = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_cs46xx_pcm_center_lfe_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_center_lfe = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_cs46xx_pcm_iec958_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_iec958 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1824,14 +1737,14 @@ */ static void snd_cs46xx_mixer_free_ac97_bus(ac97_bus_t *bus) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, bus->private_data, return); + cs46xx_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_cs46xx_mixer_free_ac97(ac97_t *ac97) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return); + cs46xx_t *chip = ac97->private_data; snd_assert ((ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) || (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]), @@ -2420,7 +2333,7 @@ { unsigned long end_time; int err; - cs46xx_t * chip = snd_magic_cast(cs46xx_t,ac97->private_data,return /* -ENXIO */); + cs46xx_t * chip = ac97->private_data; /* reset to defaults */ snd_ac97_write(ac97, AC97_RESET, 0); @@ -2470,39 +2383,38 @@ int __devinit snd_cs46xx_mixer(cs46xx_t *chip) { snd_card_t *card = chip->card; - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; snd_ctl_elem_id_t id; int err; unsigned int idx; + static ac97_bus_ops_t ops = { +#ifdef CONFIG_SND_CS46XX_NEW_DSP + .reset = snd_cs46xx_codec_reset, +#endif + .write = snd_cs46xx_ac97_write, + .read = snd_cs46xx_ac97_read, + }; /* detect primary codec */ chip->nr_ac97_codecs = 0; snd_printdd("snd_cs46xx: detecting primary codec\n"); - memset(&bus, 0, sizeof(bus)); - bus.write = snd_cs46xx_ac97_write; - bus.read = snd_cs46xx_ac97_read; -#ifdef CONFIG_SND_CS46XX_NEW_DSP - bus.reset = snd_cs46xx_codec_reset; -#endif - bus.private_data = chip; - bus.private_free = snd_cs46xx_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_cs46xx_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; ac97.private_free = snd_cs46xx_mixer_free_ac97; - chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = &ac97; - snd_cs46xx_ac97_write(&ac97, AC97_MASTER, 0x8000); + snd_cs46xx_codec_write(chip, AC97_MASTER, 0x8000, + CS46XX_PRIMARY_CODEC_INDEX); for (idx = 0; idx < 100; ++idx) { - if (snd_cs46xx_ac97_read(&ac97, AC97_MASTER) == 0x8000) + if (snd_cs46xx_codec_read(chip, AC97_MASTER, + CS46XX_PRIMARY_CODEC_INDEX) == 0x8000) goto _ok; set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(HZ/100); } - chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = NULL; return -ENXIO; _ok: @@ -2519,18 +2431,21 @@ ac97.private_free = snd_cs46xx_mixer_free_ac97; ac97.num = CS46XX_SECONDARY_CODEC_INDEX; - snd_cs46xx_ac97_write(&ac97, AC97_RESET, 0); + snd_cs46xx_codec_write(chip, AC97_RESET, 0, + CS46XX_SECONDARY_CODEC_INDEX); udelay(10); - if (snd_cs46xx_ac97_read(&ac97, AC97_RESET) & 0x8000) { + if (snd_cs46xx_codec_read(chip, AC97_RESET, + CS46XX_SECONDARY_CODEC_INDEX) & 0x8000) { snd_printdd("snd_cs46xx: seconadry codec not present\n"); goto _no_sec_codec; } - chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = &ac97; - snd_cs46xx_ac97_write(&ac97, AC97_MASTER, 0x8000); + snd_cs46xx_codec_write(chip, AC97_MASTER, 0x8000, + CS46XX_SECONDARY_CODEC_INDEX); for (idx = 0; idx < 100; ++idx) { - if (snd_cs46xx_ac97_read(&ac97, AC97_MASTER) == 0x8000) { + if (snd_cs46xx_codec_read(chip, AC97_MASTER, + CS46XX_SECONDARY_CODEC_INDEX) == 0x8000) { goto _ok2; } set_current_state(TASK_INTERRUPTIBLE); @@ -2540,7 +2455,6 @@ _no_sec_codec: snd_printdd("snd_cs46xx: secondary codec did not respond ...\n"); - chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL; chip->nr_ac97_codecs = 1; /* well, one codec only ... */ @@ -2605,11 +2519,10 @@ static int snd_cs46xx_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; chip->active_ctrl(chip, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS46XX_MODE_INPUT; chip->midcr |= MIDCR_RXE; chip->midi_input = substream; @@ -2618,16 +2531,15 @@ } else { snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs46xx_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE); chip->midi_input = NULL; if (!(chip->uartm & CS46XX_MODE_OUTPUT)) { @@ -2636,19 +2548,18 @@ snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS46XX_MODE_INPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->active_ctrl(chip, -1); return 0; } static int snd_cs46xx_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; chip->active_ctrl(chip, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS46XX_MODE_OUTPUT; chip->midcr |= MIDCR_TXE; chip->midi_output = substream; @@ -2657,16 +2568,15 @@ } else { snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE); chip->midi_output = NULL; if (!(chip->uartm & CS46XX_MODE_INPUT)) { @@ -2675,7 +2585,7 @@ snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS46XX_MODE_OUTPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->active_ctrl(chip, -1); return 0; } @@ -2683,7 +2593,7 @@ static void snd_cs46xx_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return); + cs46xx_t *chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->reg_lock, flags); if (up) { @@ -2703,7 +2613,7 @@ static void snd_cs46xx_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return); + cs46xx_t *chip = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&chip->reg_lock, flags); @@ -2781,7 +2691,7 @@ cs46xx_gameport_t *gp = (cs46xx_gameport_t *)gameport; cs46xx_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(cs46xx_t, gp->chip, return); + chip = gp->chip; snd_cs46xx_pokeBA0(chip, BA0_JSPT, 0xFF); //outb(gameport->io, 0xFF); } @@ -2790,7 +2700,7 @@ cs46xx_gameport_t *gp = (cs46xx_gameport_t *)gameport; cs46xx_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(cs46xx_t, gp->chip, return 0); + chip = gp->chip; return snd_cs46xx_peekBA0(chip, BA0_JSPT); //inb(gameport->io); } @@ -2801,7 +2711,7 @@ unsigned js1, js2, jst; snd_assert(gp, return 0); - chip = snd_magic_cast(cs46xx_t, gp->chip, return 0); + chip = gp->chip; js1 = snd_cs46xx_peekBA0(chip, BA0_JSC1); js2 = snd_cs46xx_peekBA0(chip, BA0_JSC2); @@ -3011,13 +2921,13 @@ } #endif - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs46xx_dev_free(snd_device_t *device) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, device->device_data, return -ENXIO); + cs46xx_t *chip = device->device_data; return snd_cs46xx_free(chip); } @@ -3786,7 +3696,7 @@ #ifdef CONFIG_PM static int snd_cs46xx_suspend(snd_card_t *card, unsigned int state) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, card->pm_private_data, return -EINVAL); + cs46xx_t *chip = card->pm_private_data; int amp_saved; snd_pcm_suspend_all(chip->pcm); @@ -3810,7 +3720,7 @@ static int snd_cs46xx_resume(snd_card_t *card, unsigned int state) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, card->pm_private_data, return -EINVAL); + cs46xx_t *chip = card->pm_private_data; int amp_saved; pci_enable_device(chip->pci); @@ -3869,7 +3779,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(cs46xx_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -3912,10 +3822,6 @@ strcpy(region->name, "CS46xx_BA1_reg"); region->base = chip->ba1_addr + BA1_SP_REG; region->size = CS46XX_BA1_REG_SIZE; - - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); /* set up amp and clkrun hack */ pci_read_config_word(pci, PCI_SUBSYSTEM_VENDOR_ID, &ss_vendor); diff -Nru a/sound/pci/cs46xx/cs46xx_lib.h b/sound/pci/cs46xx/cs46xx_lib.h --- a/sound/pci/cs46xx/cs46xx_lib.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs46xx/cs46xx_lib.h 2004-08-25 19:27:40 -07:00 @@ -22,8 +22,6 @@ #ifndef __CS46XX_LIB_H__ #define __CS46XX_LIB_H__ -#define chip_t cs46xx_t - /* * constants */ diff -Nru a/sound/pci/cs46xx/dsp_spos.c b/sound/pci/cs46xx/dsp_spos.c --- a/sound/pci/cs46xx/dsp_spos.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs46xx/dsp_spos.c 2004-08-25 19:27:40 -07:00 @@ -74,7 +74,7 @@ (mop_operands & WIDE_LADD_INSTR_MASK) == 0 && (mop_operands & WIDE_INSTR_MASK) != 0) { wide_op = loval & 0x7f; - for (j = 0;j < sizeof(wide_opcodes) / sizeof(wide_opcode_t); ++j) { + for (j = 0;j < ARRAY_SIZE(wide_opcodes); ++j) { if (wide_opcodes[j] == wide_op) { /* need to reallocate instruction */ address = (hival & 0x00FFF) << 5; @@ -462,7 +462,7 @@ static void cs46xx_dsp_proc_symbol_table_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; dsp_spos_instance_t * ins = chip->dsp_spos_instance; int i; @@ -489,7 +489,7 @@ static void cs46xx_dsp_proc_modules_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; dsp_spos_instance_t * ins = chip->dsp_spos_instance; int i,j; @@ -511,7 +511,7 @@ static void cs46xx_dsp_proc_task_tree_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; dsp_spos_instance_t * ins = chip->dsp_spos_instance; int i,j,col; unsigned long dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; @@ -538,7 +538,7 @@ static void cs46xx_dsp_proc_scb_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; dsp_spos_instance_t * ins = chip->dsp_spos_instance; int i; @@ -570,7 +570,7 @@ static void cs46xx_dsp_proc_parameter_dump_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; /*dsp_spos_instance_t * ins = chip->dsp_spos_instance; */ unsigned int i,col = 0; unsigned long dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; @@ -597,7 +597,7 @@ static void cs46xx_dsp_proc_sample_dump_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, entry->private_data, return); + cs46xx_t *chip = entry->private_data; int i,col = 0; unsigned long dst = chip->region.idx[2].remap_addr; @@ -1057,7 +1057,7 @@ int fifo_addr,fifo_span,valid_slots; - spos_control_block_t sposcb = { + static spos_control_block_t sposcb = { /* 0 */ HFG_TREE_SCB,HFG_STACK, /* 1 */ SPOSCB_ADDR,BG_TREE_SCB_ADDR, /* 2 */ DSP_SPOS_DC,0, @@ -1110,18 +1110,18 @@ { /* create the null SCB */ - generic_scb_t null_scb = { + static generic_scb_t null_scb = { { 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 }, NULL_SCB_ADDR, NULL_SCB_ADDR, - null_algorithm->address, 0, - 0,0,0, + 0, 0, 0, 0, 0, { 0,0, 0,0, } }; + null_scb.entry_point = null_algorithm->address; ins->the_null_scb = cs46xx_dsp_create_scb(chip, "nullSCB", (u32 *)&null_scb, NULL_SCB_ADDR); ins->the_null_scb->task_entry = null_algorithm; ins->the_null_scb->sub_list_ptr = ins->the_null_scb; @@ -1132,7 +1132,7 @@ { /* setup foreground task tree */ - task_tree_control_block_t fg_task_tree_hdr = { + static task_tree_control_block_t fg_task_tree_hdr = { { FG_TASK_HEADER_ADDR | (DSP_SPOS_DC << 0x10), DSP_SPOS_DC_DC, DSP_SPOS_DC_DC, @@ -1145,7 +1145,7 @@ { BG_TREE_SCB_ADDR,TIMINGMASTER_SCB_ADDR, - fg_task_tree_header_code->address, + 0, FG_TASK_HEADER_ADDR + TCBData, }, @@ -1158,7 +1158,7 @@ }, { - DSP_SPOS_DC,task_tree_thread->address, + DSP_SPOS_DC,0, DSP_SPOS_DC,DSP_SPOS_DC, DSP_SPOS_DC,DSP_SPOS_DC, DSP_SPOS_DC,DSP_SPOS_DC, @@ -1200,13 +1200,15 @@ } }; + fg_task_tree_hdr.links.entry_point = fg_task_tree_header_code->address; + fg_task_tree_hdr.context_blk.stack0 = task_tree_thread->address; cs46xx_dsp_create_task_tree(chip,"FGtaskTreeHdr",(u32 *)&fg_task_tree_hdr,FG_TASK_HEADER_ADDR,0x35); } { /* setup foreground task tree */ - task_tree_control_block_t bg_task_tree_hdr = { + static task_tree_control_block_t bg_task_tree_hdr = { { DSP_SPOS_DC_DC, DSP_SPOS_DC_DC, DSP_SPOS_DC_DC, @@ -1219,7 +1221,7 @@ { NULL_SCB_ADDR,NULL_SCB_ADDR, /* Set up the background to do nothing */ - task_tree_header_code->address, + 0, BG_TREE_SCB_ADDR + TCBData, }, @@ -1232,7 +1234,7 @@ }, { - DSP_SPOS_DC,task_tree_thread->address, + DSP_SPOS_DC,0, DSP_SPOS_DC,DSP_SPOS_DC, DSP_SPOS_DC,DSP_SPOS_DC, DSP_SPOS_DC,DSP_SPOS_DC, @@ -1273,6 +1275,9 @@ 0,0 } }; + + bg_task_tree_hdr.links.entry_point = task_tree_header_code->address; + bg_task_tree_hdr.context_blk.stack0 = task_tree_thread->address; cs46xx_dsp_create_task_tree(chip,"BGtaskTreeHdr",(u32 *)&bg_task_tree_hdr,BG_TREE_SCB_ADDR,0x35); } @@ -1312,7 +1317,7 @@ if (!write_back_scb) goto _fail_end; { - mix2_ostream_spb_t mix2_ostream_spb = { + static mix2_ostream_spb_t mix2_ostream_spb = { 0x00020000, 0x0000ffff }; diff -Nru a/sound/pci/cs46xx/dsp_spos_scb_lib.c b/sound/pci/cs46xx/dsp_spos_scb_lib.c --- a/sound/pci/cs46xx/dsp_spos_scb_lib.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/cs46xx/dsp_spos_scb_lib.c 2004-08-25 19:27:40 -07:00 @@ -69,7 +69,7 @@ proc_scb_info_t * scb_info = (proc_scb_info_t *)entry->private_data; dsp_scb_descriptor_t * scb = scb_info->scb_desc; dsp_spos_instance_t * ins; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, scb_info->chip, return); + cs46xx_t *chip = scb_info->chip; int j,col; unsigned long dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; diff -Nru a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c --- a/sound/pci/emu10k1/emu10k1.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emu10k1.c 2004-08-25 19:27:40 -07:00 @@ -31,8 +31,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("EMU10K1"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Creative Labs,SB Live!/PCI512/E-mu APS}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB Live!/PCI512/E-mu APS}," "{Creative Labs,SB Audigy}}"); #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) @@ -53,37 +52,25 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(extin, int, boot_devs, 0444); MODULE_PARM_DESC(extin, "Available external inputs for FX8010. Zero=default."); -MODULE_PARM_SYNTAX(extin, SNDRV_ENABLED "allows:{{0,0x0ffff}},base:16"); module_param_array(extout, int, boot_devs, 0444); MODULE_PARM_DESC(extout, "Available external outputs for FX8010. Zero=default."); -MODULE_PARM_SYNTAX(extout, SNDRV_ENABLED "allows:{{0,0x0ffff}},base:16"); module_param_array(seq_ports, int, boot_devs, 0444); MODULE_PARM_DESC(seq_ports, "Allocated sequencer ports for internal synthesizer."); -MODULE_PARM_SYNTAX(seq_ports, SNDRV_ENABLED "allows:{{0,32}}"); module_param_array(max_synth_voices, int, boot_devs, 0444); MODULE_PARM_DESC(max_synth_voices, "Maximum number of voices for WaveTable."); -MODULE_PARM_SYNTAX(max_synth_voices, SNDRV_ENABLED); module_param_array(max_buffer_size, int, boot_devs, 0444); MODULE_PARM_DESC(max_buffer_size, "Maximum sample buffer size in MB."); -MODULE_PARM_SYNTAX(max_buffer_size, SNDRV_ENABLED); module_param_array(enable_ir, bool, boot_devs, 0444); MODULE_PARM_DESC(enable_ir, "Enable IR."); -MODULE_PARM_SYNTAX(enable_ir, SNDRV_ENABLE_DESC); static struct pci_device_id snd_emu10k1_ids[] = { { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ -#if 0 /* FIXME: not working! */ - { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ -#endif { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ { 0, } }; @@ -131,10 +118,6 @@ return err; } if ((err = snd_emu10k1_pcm_efx(emu, 2, NULL)) < 0) { - snd_card_free(card); - return err; - } - if ((err = snd_emu10k1_fx8010_pcm(emu, 3, NULL)) < 0) { snd_card_free(card); return err; } diff -Nru a/sound/pci/emu10k1/emu10k1_callback.c b/sound/pci/emu10k1/emu10k1_callback.c --- a/sound/pci/emu10k1/emu10k1_callback.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emu10k1_callback.c 2004-08-25 19:27:40 -07:00 @@ -93,7 +93,7 @@ unsigned long flags; int i; - emu = snd_magic_cast(snd_emux_t, hw->synth, return -EINVAL); + emu = hw->synth; spin_lock_irqsave(&emu->voice_lock, flags); lookup_voices(emu, hw, best, 1); /* no OFF voices */ @@ -128,7 +128,7 @@ int dcysusv; emu10k1_t *hw; - hw = snd_magic_cast(emu10k1_t, vp->hw, return); + hw = vp->hw; dcysusv = 0x8000 | (unsigned char)vp->reg.parm.modrelease; snd_emu10k1_ptr_write(hw, DCYSUSM, vp->ch, dcysusv); dcysusv = 0x8000 | (unsigned char)vp->reg.parm.volrelease | DCYSUSV_CHANNELENABLE_MASK; @@ -145,7 +145,7 @@ emu10k1_t *hw; snd_assert(vp, return); - hw = snd_magic_cast(emu10k1_t, vp->hw, return); + hw = vp->hw; snd_emu10k1_ptr_write(hw, DCYSUSV, vp->ch, 0x807f | DCYSUSV_CHANNELENABLE_MASK); if (vp->block) { emu10k1_memblk_t *emem; @@ -163,7 +163,7 @@ { emu10k1_t *hw; - hw = snd_magic_cast(emu10k1_t, vp->hw, return); + hw = vp->hw; if (vp->ch >= 0) { snd_emu10k1_ptr_write(hw, IFATN, vp->ch, 0xff00); snd_emu10k1_ptr_write(hw, DCYSUSV, vp->ch, 0x807f | DCYSUSV_CHANNELENABLE_MASK); @@ -185,7 +185,7 @@ { emu10k1_t *hw; - hw = snd_magic_cast(emu10k1_t, vp->hw, return); + hw = vp->hw; if (update & SNDRV_EMUX_UPDATE_VOLUME) snd_emu10k1_ptr_write(hw, IFATN_ATTENUATION, vp->ch, vp->avol); if (update & SNDRV_EMUX_UPDATE_PITCH) @@ -282,7 +282,7 @@ best_voice_t best[V_END]; int i; - hw = snd_magic_cast(emu10k1_t, emu->hw, return NULL); + hw = emu->hw; lookup_voices(emu, hw, best, 0); for (i = 0; i < V_END; i++) { @@ -317,7 +317,7 @@ emu10k1_t *hw; emu10k1_memblk_t *emem; - hw = snd_magic_cast(emu10k1_t, vp->hw, return -EINVAL); + hw = vp->hw; ch = vp->ch; snd_assert(ch >= 0, return -EINVAL); chan = vp->chan; @@ -469,7 +469,7 @@ emu10k1_t *hw; emu10k1_memblk_t *emem; - hw = snd_magic_cast(emu10k1_t, vp->hw, return); + hw = vp->hw; emem = (emu10k1_memblk_t *)vp->block; if (! emem || emem->mapped_page < 0) diff -Nru a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c --- a/sound/pci/emu10k1/emu10k1_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emu10k1_main.c 2004-08-25 19:27:40 -07:00 @@ -119,8 +119,10 @@ snd_emu10k1_ptr_write(emu, SOLEH, 0, 0); if (emu->audigy){ - snd_emu10k1_ptr_write(emu, 0x5e, 0, 0xf00); /* ?? */ - snd_emu10k1_ptr_write(emu, 0x5f, 0, 0x3); /* ?? */ + /* set SPDIF bypass mode */ + snd_emu10k1_ptr_write(emu, SPBYPASS, 0, SPBYPASS_FORMAT); + /* enable rear left + rear right AC97 slots */ + snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_REAR_RIGHT | AC97SLOT_REAR_LEFT); } /* init envelope engine */ @@ -329,7 +331,7 @@ if (emu->audigy) snd_emu10k1_ptr_write(emu, A_DBG, 0, A_DBG_SINGLE_STEP); else - snd_emu10k1_ptr_write(emu, DBG, 0, 0x8000); + snd_emu10k1_ptr_write(emu, DBG, 0, EMU10K1_DBG_SINGLE_STEP); /* disable channel interrupt */ snd_emu10k1_ptr_write(emu, CLIEL, 0, 0); @@ -541,33 +543,31 @@ static int snd_emu10k1_free(emu10k1_t *emu) { - if (emu->res_port != NULL) { /* avoid access to already used hardware */ + if (emu->port) { /* avoid access to already used hardware */ snd_emu10k1_fx8010_tram_setup(emu, 0); snd_emu10k1_done(emu); } if (emu->memhdr) snd_util_memhdr_free(emu->memhdr); if (emu->silent_page.area) - snd_dma_free_pages(&emu->dma_dev, &emu->silent_page); + snd_dma_free_pages(&emu->silent_page); if (emu->ptb_pages.area) - snd_dma_free_pages(&emu->dma_dev, &emu->ptb_pages); + snd_dma_free_pages(&emu->ptb_pages); if (emu->page_ptr_table) vfree(emu->page_ptr_table); if (emu->page_addr_table) vfree(emu->page_addr_table); - if (emu->res_port) { - release_resource(emu->res_port); - kfree_nocheck(emu->res_port); - } if (emu->irq >= 0) free_irq(emu->irq, (void *)emu); - snd_magic_kfree(emu); + if (emu->port) + pci_release_regions(emu->pci); + kfree(emu); return 0; } static int snd_emu10k1_dev_free(snd_device_t *device) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, device->device_data, return -ENXIO); + emu10k1_t *emu = device->device_data; return snd_emu10k1_free(emu); } @@ -595,7 +595,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - emu = snd_magic_kcalloc(emu10k1_t, 0, GFP_KERNEL); + emu = kcalloc(1, sizeof(*emu), GFP_KERNEL); if (emu == NULL) return -ENOMEM; /* set the DMA transfer mask */ @@ -603,7 +603,7 @@ if (pci_set_dma_mask(pci, emu->dma_mask) < 0 || pci_set_consistent_dma_mask(pci, emu->dma_mask) < 0) { snd_printk(KERN_ERR "architecture does not support PCI busmaster DMA with mask 0x%lx\n", emu->dma_mask); - snd_magic_kfree(emu); + kfree(emu); return -ENXIO; } emu->card = card; @@ -620,7 +620,6 @@ emu->irq = -1; emu->synth = NULL; emu->get_synth_voice = NULL; - emu->port = pci_resource_start(pci, 0); emu->audigy = is_audigy; if (is_audigy) @@ -628,10 +627,11 @@ else emu->gpr_base = FXGPREGBASE; - if ((emu->res_port = request_region(emu->port, 0x20, "EMU10K1")) == NULL) { - snd_emu10k1_free(emu); - return -EBUSY; + if ((err = pci_request_regions(pci, "EMU10K1")) < 0) { + kfree(emu); + return err; } + emu->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_emu10k1_interrupt, SA_INTERRUPT|SA_SHIRQ, "EMU10K1", (void *)emu)) { snd_emu10k1_free(emu); @@ -639,12 +639,9 @@ } emu->irq = pci->irq; - memset(&emu->dma_dev, 0, sizeof(emu->dma_dev)); - emu->dma_dev.type = SNDRV_DMA_TYPE_DEV; - emu->dma_dev.dev = snd_dma_pci_data(pci); - emu->max_cache_pages = max_cache_bytes >> PAGE_SHIFT; - if (snd_dma_alloc_pages(&emu->dma_dev, 32 * 1024, &emu->ptb_pages) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + 32 * 1024, &emu->ptb_pages) < 0) { snd_emu10k1_free(emu); return -ENOMEM; } @@ -656,7 +653,8 @@ return -ENOMEM; } - if (snd_dma_alloc_pages(&emu->dma_dev, EMUPAGESIZE, &emu->silent_page) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + EMUPAGESIZE, &emu->silent_page) < 0) { snd_emu10k1_free(emu); return -ENOMEM; } @@ -682,9 +680,16 @@ /* Audigy 2 EX has apparently no effective AC97 controls * (for both input and output), so we skip the AC97 detections */ - snd_printdd(KERN_INFO "Audigy2 EX is detected. skpping ac97.\n"); - emu->no_ac97 = 1; + snd_printdd(KERN_INFO "Audigy2 EX is detected. skipping ac97.\n"); + emu->no_ac97 = 1; } + + if (emu->revision == 4 && emu->model == 0x2002) { + /* Audigy 2 ZS */ + snd_printdd(KERN_INFO "Audigy2 ZS is detected. setting 7.1 mode.\n"); + emu->spk71 = 1; + } + emu->fx8010.fxbus_mask = 0x303f; if (extin_mask == 0) diff -Nru a/sound/pci/emu10k1/emu10k1_patch.c b/sound/pci/emu10k1/emu10k1_patch.c --- a/sound/pci/emu10k1/emu10k1_patch.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emu10k1_patch.c 2004-08-25 19:27:40 -07:00 @@ -44,7 +44,7 @@ unsigned int start_addr; emu10k1_t *emu; - emu = snd_magic_cast(emu10k1_t, rec->hw, return -ENXIO); + emu = rec->hw; snd_assert(sp != NULL, return -EINVAL); snd_assert(hdr != NULL, return -EINVAL); @@ -210,7 +210,7 @@ { emu10k1_t *emu; - emu = snd_magic_cast(emu10k1_t, rec->hw, return -ENXIO); + emu = rec->hw; snd_assert(sp != NULL, return -EINVAL); snd_assert(hdr != NULL, return -EINVAL); diff -Nru a/sound/pci/emu10k1/emu10k1_synth.c b/sound/pci/emu10k1/emu10k1_synth.c --- a/sound/pci/emu10k1/emu10k1_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emu10k1_synth.c 2004-08-25 19:27:40 -07:00 @@ -85,9 +85,9 @@ if (dev->driver_data == NULL) return 0; /* not registered actually */ - emu = snd_magic_cast(snd_emux_t, dev->driver_data, return -EINVAL); + emu = dev->driver_data; - hw = snd_magic_cast(emu10k1_t, emu->hw, return -EINVAL); + hw = emu->hw; spin_lock_irqsave(&hw->voice_lock, flags); hw->synth = NULL; hw->get_synth_voice = NULL; diff -Nru a/sound/pci/emu10k1/emufx.c b/sound/pci/emu10k1/emufx.c --- a/sound/pci/emu10k1/emufx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emufx.c 2004-08-25 19:27:40 -07:00 @@ -33,8 +33,6 @@ #include #include -#define chip_t emu10k1_t - #if 0 /* for testing purposes - digital out -> capture */ #define EMU10K1_CAPTURE_DIGITAL_OUT #endif @@ -405,7 +403,7 @@ } } -static int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, +int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, snd_fx8010_irq_handler_t *handler, unsigned char gpr_running, void *private_data, @@ -438,7 +436,7 @@ return 0; } -static int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, +int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, snd_emu10k1_fx8010_irq_t *irq) { snd_emu10k1_fx8010_irq_t *tmp; @@ -463,312 +461,6 @@ return 0; } -/* - * PCM streams - */ - -#define INITIAL_TRAM_SHIFT 14 -#define INITIAL_TRAM_POS(size) ((((size) / 2) - INITIAL_TRAM_SHIFT) - 1) - -static void snd_emu10k1_fx8010_playback_irq(emu10k1_t *emu, void *private_data) -{ - snd_pcm_substream_t *substream = snd_magic_cast(snd_pcm_substream_t, private_data, return); - snd_pcm_period_elapsed(substream); -} - -static void snd_emu10k1_fx8010_playback_tram_poke1(unsigned short *dst_left, - unsigned short *dst_right, - unsigned short *src, - unsigned int count, - unsigned int tram_shift) -{ - // printk("tram_poke1: dst_left = 0x%p, dst_right = 0x%p, src = 0x%p, count = 0x%x\n", dst_left, dst_right, src, count); - if ((tram_shift & 1) == 0) { - while (count--) { - *dst_left-- = *src++; - *dst_right-- = *src++; - } - } else { - while (count--) { - *dst_right-- = *src++; - *dst_left-- = *src++; - } - } -} - -static void snd_emu10k1_fx8010_playback_tram_poke(emu10k1_t *emu, - unsigned int *tram_pos, - unsigned int *tram_shift, - unsigned int tram_size, - unsigned short *src, - unsigned int frames) -{ - unsigned int count; - - while (frames > *tram_pos) { - count = *tram_pos + 1; - snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + *tram_pos, - (unsigned short *)emu->fx8010.etram_pages.area + *tram_pos + tram_size / 2, - src, count, *tram_shift); - src += count * 2; - frames -= count; - *tram_pos = (tram_size / 2) - 1; - (*tram_shift)++; - } - snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + *tram_pos, - (unsigned short *)emu->fx8010.etram_pages.area + *tram_pos + tram_size / 2, - src, frames, *tram_shift++); - *tram_pos -= frames; -} - -static int snd_emu10k1_fx8010_playback_transfer(snd_pcm_substream_t *substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - pcm->appl_ptr; - snd_pcm_uframes_t buffer_size = pcm->buffer_size / 2; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - pcm->sw_ready += diff; - pcm->appl_ptr = appl_ptr; - } - while (pcm->hw_ready < buffer_size && - pcm->sw_ready > 0) { - size_t hw_to_end = buffer_size - pcm->hw_data; - size_t sw_to_end = (runtime->buffer_size << 2) - pcm->sw_data; - size_t tframes = buffer_size - pcm->hw_ready; - if (pcm->sw_ready < tframes) - tframes = pcm->sw_ready; - if (hw_to_end < tframes) - tframes = hw_to_end; - if (sw_to_end < tframes) - tframes = sw_to_end; - snd_emu10k1_fx8010_playback_tram_poke(emu, &pcm->tram_pos, &pcm->tram_shift, - pcm->buffer_size, - (unsigned short *)(runtime->dma_area + (pcm->sw_data << 2)), - tframes); - pcm->hw_data += tframes; - if (pcm->hw_data == buffer_size) - pcm->hw_data = 0; - pcm->sw_data += tframes; - if (pcm->sw_data == runtime->buffer_size) - pcm->sw_data = 0; - pcm->hw_ready += tframes; - pcm->sw_ready -= tframes; - } - return 0; -} - -static int snd_emu10k1_fx8010_playback_hw_params(snd_pcm_substream_t * substream, - snd_pcm_hw_params_t * hw_params) -{ - return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); -} - -static int snd_emu10k1_fx8010_playback_hw_free(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned int i; - - for (i = 0; i < pcm->channels; i++) - snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, 0); - snd_pcm_lib_free_pages(substream); - return 0; -} - -static int snd_emu10k1_fx8010_playback_prepare(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned int i; - - // printk("prepare: etram_pages = 0x%p, dma_area = 0x%x, buffer_size = 0x%x (0x%x)\n", emu->fx8010.etram_pages, runtime->dma_area, runtime->buffer_size, runtime->buffer_size << 2); - pcm->sw_data = pcm->sw_io = pcm->sw_ready = 0; - pcm->hw_data = pcm->hw_io = pcm->hw_ready = 0; - pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); - pcm->tram_shift = 0; - pcm->appl_ptr = 0; - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_running, 0, 0); /* reset */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); /* reset */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_size, 0, runtime->buffer_size); - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_ptr, 0, 0); /* reset ptr number */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_count, 0, runtime->period_size); - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_tmpcount, 0, runtime->period_size); - for (i = 0; i < pcm->channels; i++) - snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, (TANKMEMADDRREG_READ|TANKMEMADDRREG_ALIGN) + i * (runtime->buffer_size / pcm->channels)); - return 0; -} - -static int snd_emu10k1_fx8010_playback_trigger(snd_pcm_substream_t * substream, int cmd) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned long flags; - int result = 0; - - spin_lock_irqsave(&emu->reg_lock, flags); - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - /* follow thru */ - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: -#ifdef EMU10K1_SET_AC3_IEC958 - { - int i; - for (i = 0; i < 3; i++) { - unsigned int bits; - bits = SPCS_CLKACCY_1000PPM | SPCS_SAMPLERATE_48 | - SPCS_CHANNELNUM_LEFT | SPCS_SOURCENUM_UNSPEC | SPCS_GENERATIONSTATUS | - 0x00001200 | SPCS_EMPHASIS_NONE | SPCS_COPYRIGHT | SPCS_NOTAUDIODATA; - snd_emu10k1_ptr_write(emu, SPCS0 + i, 0, bits); - } - } -#endif - result = snd_emu10k1_fx8010_register_irq_handler(emu, snd_emu10k1_fx8010_playback_irq, pcm->gpr_running, substream, &pcm->irq); - if (result < 0) - goto __err; - snd_emu10k1_fx8010_playback_transfer(substream); /* roll the ball */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 1); - break; - case SNDRV_PCM_TRIGGER_STOP: - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - snd_emu10k1_fx8010_unregister_irq_handler(emu, pcm->irq); pcm->irq = NULL; - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); - pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); - pcm->tram_shift = 0; - break; - default: - result = -EINVAL; - break; - } - __err: - spin_unlock_irqrestore(&emu->reg_lock, flags); - return result; -} - -static snd_pcm_uframes_t snd_emu10k1_fx8010_playback_pointer(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - size_t ptr; - snd_pcm_sframes_t frames; - - if (!snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_trigger, 0)) - return 0; - ptr = snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_ptr, 0); - frames = ptr - pcm->hw_io; - if (frames < 0) - frames += runtime->buffer_size; - pcm->hw_io = ptr; - pcm->hw_ready -= frames; - pcm->sw_io += frames; - if (pcm->sw_io >= runtime->buffer_size) - pcm->sw_io -= runtime->buffer_size; - snd_emu10k1_fx8010_playback_transfer(substream); - return pcm->sw_io; -} - -static snd_pcm_hardware_t snd_emu10k1_fx8010_playback = -{ - .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | - /* SNDRV_PCM_INFO_MMAP_VALID | */ SNDRV_PCM_INFO_PAUSE), - .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, - .rates = SNDRV_PCM_RATE_48000, - .rate_min = 48000, - .rate_max = 48000, - .channels_min = 1, - .channels_max = 1, - .buffer_bytes_max = (128*1024), - .period_bytes_min = 1024, - .period_bytes_max = (128*1024), - .periods_min = 1, - .periods_max = 1024, - .fifo_size = 0, -}; - -static int snd_emu10k1_fx8010_playback_open(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - - runtime->hw = snd_emu10k1_fx8010_playback; - runtime->hw.channels_min = runtime->hw.channels_max = pcm->channels; - runtime->hw.period_bytes_max = (pcm->buffer_size * 2) / 2; - spin_lock(&emu->reg_lock); - if (pcm->valid == 0) { - spin_unlock(&emu->reg_lock); - return -ENODEV; - } - pcm->opened = 1; - spin_unlock(&emu->reg_lock); - return 0; -} - -static int snd_emu10k1_fx8010_playback_close(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - - spin_lock(&emu->reg_lock); - pcm->opened = 0; - spin_unlock(&emu->reg_lock); - return 0; -} - -static snd_pcm_ops_t snd_emu10k1_fx8010_playback_ops = { - .open = snd_emu10k1_fx8010_playback_open, - .close = snd_emu10k1_fx8010_playback_close, - .ioctl = snd_pcm_lib_ioctl, - .hw_params = snd_emu10k1_fx8010_playback_hw_params, - .hw_free = snd_emu10k1_fx8010_playback_hw_free, - .prepare = snd_emu10k1_fx8010_playback_prepare, - .trigger = snd_emu10k1_fx8010_playback_trigger, - .pointer = snd_emu10k1_fx8010_playback_pointer, - .ack = snd_emu10k1_fx8010_playback_transfer, -}; - -static void snd_emu10k1_fx8010_pcm_free(snd_pcm_t *pcm) -{ - emu10k1_t *emu = snd_magic_cast(emu10k1_t, pcm->private_data, return); - emu->pcm_fx8010 = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); -} - -int snd_emu10k1_fx8010_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) -{ - snd_pcm_t *pcm; - int err; - - if (rpcm) - *rpcm = NULL; - - if ((err = snd_pcm_new(emu->card, "emu10k1", device, 8, 0, &pcm)) < 0) - return err; - - pcm->private_data = emu; - pcm->private_free = snd_emu10k1_fx8010_pcm_free; - - snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); - - pcm->info_flags = 0; - strcpy(pcm->name, "EMU10K1 FX8010"); - emu->pcm_fx8010 = pcm; - - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), 64*1024, 0); - - if (rpcm) - *rpcm = pcm; - - return 0; -} - /************************************************************************* * EMU10K1 effect manager *************************************************************************/ @@ -1193,7 +885,7 @@ #define SND_EMU10K1_GPR_CONTROLS 41 #define SND_EMU10K1_INPUTS 10 -#define SND_EMU10K1_PLAYBACK_CHANNELS 6 +#define SND_EMU10K1_PLAYBACK_CHANNELS 8 #define SND_EMU10K1_CAPTURE_CHANNELS 4 static void __devinit snd_emu10k1_init_mono_control(emu10k1_fx8010_control_gpr_t *ctl, const char *name, int gpr, int defval) @@ -1262,9 +954,9 @@ spin_lock_init(&emu->fx8010.irq_lock); INIT_LIST_HEAD(&emu->fx8010.gpr_ctl); - if ((icode = snd_kcalloc(sizeof(emu10k1_fx8010_code_t), GFP_KERNEL)) == NULL) + if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL) return -ENOMEM; - if ((controls = snd_kcalloc(sizeof(emu10k1_fx8010_control_gpr_t) * SND_EMU10K1_GPR_CONTROLS, GFP_KERNEL)) == NULL) { + if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(*controls), GFP_KERNEL)) == NULL) { kfree(icode); return -ENOMEM; } @@ -1292,6 +984,14 @@ A_OP(icode, &ptr, iMAC0, A_GPR(playback+3), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_REAR)); snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Surround Playback Volume", gpr, 100); gpr += 2; + + /* PCM Side Playback (independent from stereo mix) */ + if (emu->spk71) { + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_LEFT_SIDE)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_SIDE)); + snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Side Playback Volume", gpr, 100); + gpr += 2; + } /* PCM Center Playback (independent from stereo mix) */ A_OP(icode, &ptr, iMAC0, A_GPR(playback+4), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_CENTER)); @@ -1440,6 +1140,14 @@ A_OP(icode, &ptr, iMAC0, A_GPR(playback+5), A_GPR(playback+5), A_GPR(gpr), A_GPR(tmp)); snd_emu10k1_init_mono_control(&controls[nctl++], "LFE Playback Volume", gpr, 0); gpr++; + + if (emu->spk71) { + /* Stereo Mix Side Playback */ + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_GPR(playback+6), A_GPR(gpr), A_GPR(stereo_mix)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_GPR(playback+7), A_GPR(gpr+1), A_GPR(stereo_mix+1)); + snd_emu10k1_init_stereo_control(&controls[nctl++], "Side Playback Volume", gpr, 0); + gpr += 2; + } /* * outputs @@ -1467,6 +1175,11 @@ A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 3), A_GPR(playback + 3), A_C_00000000, A_C_00000000); /* rear right */ A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 4), A_GPR(playback + 4), A_C_00000000, A_C_00000000); /* center */ A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 5), A_GPR(playback + 5), A_C_00000000, A_C_00000000); /* LFE */ + if (emu->spk71) { + A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 6), A_GPR(playback + 6), A_C_00000000, A_C_00000000); /* side left */ + A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 7), A_GPR(playback + 7), A_C_00000000, A_C_00000000); /* side right */ + } + ctl = &controls[nctl + 0]; ctl->id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; @@ -1497,7 +1210,7 @@ controls[nctl + 1].gpr[z * 2 + j] = TREBLE_GPR + z * 2 + j; } } - for (z = 0; z < 3; z++) { /* front/rear/center-lfe */ + for (z = 0; z < 4; z++) { /* front/rear/center-lfe/side */ int j, k, l, d; for (j = 0; j < 2; j++) { /* left/right */ k = 0xb0 + (z * 8) + (j * 4); @@ -1529,7 +1242,7 @@ #undef BASS_GPR #undef TREBLE_GPR - for (z = 0; z < 6; z++) { + for (z = 0; z < 8; z++) { A_SWITCH(icode, &ptr, tmp + 0, playback + SND_EMU10K1_PLAYBACK_CHANNELS + z, gpr + 0); A_SWITCH_NEG(icode, &ptr, tmp + 1, gpr + 0); A_SWITCH(icode, &ptr, tmp + 1, playback + z, tmp + 1); @@ -1540,12 +1253,14 @@ /* Master volume (will be renamed later) */ A_OP(icode, &ptr, iMAC0, A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS)); - snd_emu10k1_init_stereo_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS)); + snd_emu10k1_init_mono_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0); gpr += 2; /* analog speakers */ @@ -1553,6 +1268,8 @@ A_PUT_STEREO_OUTPUT(A_EXTOUT_AREAR_L, A_EXTOUT_AREAR_R, playback+2 + SND_EMU10K1_PLAYBACK_CHANNELS); A_PUT_OUTPUT(A_EXTOUT_ACENTER, playback+4 + SND_EMU10K1_PLAYBACK_CHANNELS); A_PUT_OUTPUT(A_EXTOUT_ALFE, playback+5 + SND_EMU10K1_PLAYBACK_CHANNELS); + if (emu->spk71) + A_PUT_STEREO_OUTPUT(A_EXTOUT_ASIDE_L, A_EXTOUT_ASIDE_R, playback+6 + SND_EMU10K1_PLAYBACK_CHANNELS); /* headphone */ A_PUT_STEREO_OUTPUT(A_EXTOUT_HEADPHONE_L, A_EXTOUT_HEADPHONE_R, playback + SND_EMU10K1_PLAYBACK_CHANNELS); @@ -1674,13 +1391,13 @@ spin_lock_init(&emu->fx8010.irq_lock); INIT_LIST_HEAD(&emu->fx8010.gpr_ctl); - if ((icode = snd_kcalloc(sizeof(emu10k1_fx8010_code_t), GFP_KERNEL)) == NULL) + if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL) return -ENOMEM; - if ((controls = snd_kcalloc(sizeof(emu10k1_fx8010_control_gpr_t) * SND_EMU10K1_GPR_CONTROLS, GFP_KERNEL)) == NULL) { + if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(emu10k1_fx8010_control_gpr_t), GFP_KERNEL)) == NULL) { kfree(icode); return -ENOMEM; } - if ((ipcm = snd_kcalloc(sizeof(emu10k1_fx8010_pcm_t), GFP_KERNEL)) == NULL) { + if ((ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL)) == NULL) { kfree(controls); kfree(icode); return -ENOMEM; @@ -2236,13 +1953,14 @@ snd_emu10k1_ptr_write(emu, TCB, 0, 0); snd_emu10k1_ptr_write(emu, TCBS, 0, 0); if (emu->fx8010.etram_pages.area != NULL) { - snd_dma_free_pages(&emu->dma_dev, &emu->fx8010.etram_pages); + snd_dma_free_pages(&emu->fx8010.etram_pages); emu->fx8010.etram_pages.area = NULL; emu->fx8010.etram_pages.bytes = 0; } if (size > 0) { - if (snd_dma_alloc_pages(&emu->dma_dev, size * 2, &emu->fx8010.etram_pages) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), + size * 2, &emu->fx8010.etram_pages) < 0) return -ENOMEM; memset(emu->fx8010.etram_pages.area, 0, size * 2); snd_emu10k1_ptr_write(emu, TCB, 0, emu->fx8010.etram_pages.addr); @@ -2297,7 +2015,7 @@ static int snd_emu10k1_fx8010_ioctl(snd_hwdep_t * hw, struct file *file, unsigned int cmd, unsigned long arg) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, hw->private_data, return -ENXIO); + emu10k1_t *emu = hw->private_data; emu10k1_fx8010_info_t *info; emu10k1_fx8010_code_t *icode; emu10k1_fx8010_pcm_t *ipcm; @@ -2364,7 +2082,7 @@ case SNDRV_EMU10K1_IOCTL_PCM_PEEK: if (emu->audigy) return -EINVAL; - ipcm = (emu10k1_fx8010_pcm_t *)snd_kcalloc(sizeof(*ipcm), GFP_KERNEL); + ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL); if (ipcm == NULL) return -ENOMEM; if (copy_from_user(ipcm, argp, sizeof(*ipcm))) { diff -Nru a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c --- a/sound/pci/emu10k1/emumixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emumixer.c 2004-08-25 19:27:40 -07:00 @@ -32,8 +32,6 @@ #include #include -#define chip_t emu10k1_t - #define AC97_ID_STAC9758 0x83847658 static int snd_emu10k1_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) @@ -421,7 +419,7 @@ */ static void snd_emu10k1_mixer_free_ac97(ac97_t *ac97) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, ac97->private_data, return); + emu10k1_t *emu = ac97->private_data; emu->ac97 = NULL; } @@ -512,13 +510,14 @@ }; if (!emu->no_ac97) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; + static ac97_bus_ops_t ops = { + .write = snd_emu10k1_ac97_write, + .read = snd_emu10k1_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_emu10k1_ac97_write; - bus.read = snd_emu10k1_ac97_read; - if ((err = snd_ac97_bus(emu->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -528,7 +527,7 @@ return err; if (emu->audigy) { /* set master volume to 0 dB */ - snd_ac97_write(emu->ac97, AC97_MASTER, 0x0202); + snd_ac97_write(emu->ac97, AC97_MASTER, 0x0000); /* set capture source to mic */ snd_ac97_write(emu->ac97, AC97_REC_SEL, 0x0000); c = audigy_remove_ctls; diff -Nru a/sound/pci/emu10k1/emupcm.c b/sound/pci/emu10k1/emupcm.c --- a/sound/pci/emu10k1/emupcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emupcm.c 2004-08-25 19:27:40 -07:00 @@ -34,8 +34,6 @@ #include #include -#define chip_t emu10k1_t - static void snd_emu10k1_pcm_interrupt(emu10k1_t *emu, emu10k1_voice_t *voice) { emu10k1_pcm_t *epcm; @@ -354,7 +352,7 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + emu10k1_pcm_t *epcm = runtime->private_data; int err; if ((err = snd_emu10k1_pcm_channel_alloc(epcm, params_channels(hw_params))) < 0) @@ -383,7 +381,7 @@ if (runtime->private_data == NULL) return 0; - epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + epcm = runtime->private_data; if (epcm->extra) { snd_emu10k1_voice_free(epcm->emu, epcm->extra); epcm->extra = NULL; @@ -409,7 +407,7 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + emu10k1_pcm_t *epcm = runtime->private_data; unsigned int start_addr, end_addr; start_addr = epcm->start_addr; @@ -443,7 +441,7 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + emu10k1_pcm_t *epcm = runtime->private_data; int idx; snd_emu10k1_ptr_write(emu, epcm->capture_bs_reg, 0, 0); @@ -452,7 +450,11 @@ snd_emu10k1_ptr_write(emu, ADCCR, 0, 0); break; case CAPTURE_EFX: - snd_emu10k1_ptr_write(emu, FXWC, 0, 0); + if (emu->audigy) { + snd_emu10k1_ptr_write(emu, A_FXWC1, 0, 0); + snd_emu10k1_ptr_write(emu, A_FXWC2, 0, 0); + } else + snd_emu10k1_ptr_write(emu, FXWC, 0, 0); break; default: break; @@ -565,12 +567,11 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); - unsigned long flags; + emu10k1_pcm_t *epcm = runtime->private_data; int result = 0; // printk("trigger - emu10k1 = 0x%x, cmd = %i, pointer = %i\n", (int)emu, cmd, substream->ops->pointer(substream)); - spin_lock_irqsave(&emu->reg_lock, flags); + spin_lock(&emu->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: snd_emu10k1_playback_invalidate_cache(emu, epcm->extra); /* do we need this? */ @@ -593,7 +594,7 @@ result = -EINVAL; break; } - spin_unlock_irqrestore(&emu->reg_lock, flags); + spin_unlock(&emu->reg_lock); return result; } @@ -602,12 +603,11 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); - unsigned long flags; + emu10k1_pcm_t *epcm = runtime->private_data; int result = 0; // printk("trigger - emu10k1 = %p, cmd = %i, pointer = %i\n", emu, cmd, substream->ops->pointer(substream)); - spin_lock_irqsave(&emu->reg_lock, flags); + spin_lock(&emu->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: outl(epcm->capture_ipr, emu->port + IPR); @@ -618,7 +618,11 @@ snd_emu10k1_ptr_write(emu, ADCCR, 0, epcm->capture_cr_val); break; case CAPTURE_EFX: - snd_emu10k1_ptr_write(emu, FXWC, 0, epcm->capture_cr_val); + if (emu->audigy) { + snd_emu10k1_ptr_write(emu, A_FXWC1, 0, epcm->capture_cr_val); + snd_emu10k1_ptr_write(emu, A_FXWC2, 0, epcm->capture_cr_val2); + } else + snd_emu10k1_ptr_write(emu, FXWC, 0, epcm->capture_cr_val); break; default: break; @@ -637,7 +641,11 @@ snd_emu10k1_ptr_write(emu, ADCCR, 0, 0); break; case CAPTURE_EFX: - snd_emu10k1_ptr_write(emu, FXWC, 0, 0); + if (emu->audigy) { + snd_emu10k1_ptr_write(emu, A_FXWC1, 0, 0); + snd_emu10k1_ptr_write(emu, A_FXWC2, 0, 0); + } else + snd_emu10k1_ptr_write(emu, FXWC, 0, 0); break; default: break; @@ -646,7 +654,7 @@ default: result = -EINVAL; } - spin_unlock_irqrestore(&emu->reg_lock, flags); + spin_unlock(&emu->reg_lock); return result; } @@ -654,7 +662,7 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + emu10k1_pcm_t *epcm = runtime->private_data; unsigned int ptr; if (!epcm->running) @@ -681,7 +689,7 @@ { emu10k1_t *emu = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return -ENXIO); + emu10k1_pcm_t *epcm = runtime->private_data; unsigned int ptr; if (!epcm->running) @@ -767,10 +775,10 @@ static void snd_emu10k1_pcm_free_substream(snd_pcm_runtime_t *runtime) { - emu10k1_pcm_t *epcm = snd_magic_cast(emu10k1_pcm_t, runtime->private_data, return); + emu10k1_pcm_t *epcm = runtime->private_data; if (epcm) - snd_magic_kfree(epcm); + kfree(epcm); } static int snd_emu10k1_playback_open(snd_pcm_substream_t * substream) @@ -781,7 +789,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; int i, err; - epcm = snd_magic_kcalloc(emu10k1_pcm_t, 0, GFP_KERNEL); + epcm = kcalloc(1, sizeof(*epcm), GFP_KERNEL); if (epcm == NULL) return -ENOMEM; epcm->emu = emu; @@ -791,11 +799,11 @@ runtime->private_free = snd_emu10k1_pcm_free_substream; runtime->hw = snd_emu10k1_playback; if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) { - snd_magic_kfree(epcm); + kfree(epcm); return err; } if ((err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 256, UINT_MAX)) < 0) { - snd_magic_kfree(epcm); + kfree(epcm); return err; } mix = &emu->pcm_mixer[substream->number]; @@ -826,7 +834,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; emu10k1_pcm_t *epcm; - epcm = snd_magic_kcalloc(emu10k1_pcm_t, 0, GFP_KERNEL); + epcm = kcalloc(1, sizeof(*epcm), GFP_KERNEL); if (epcm == NULL) return -ENOMEM; epcm->emu = emu; @@ -842,7 +850,7 @@ runtime->hw = snd_emu10k1_capture; emu->capture_interrupt = snd_emu10k1_pcm_ac97adc_interrupt; emu->pcm_capture_substream = substream; - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_capture_period_sizes); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_capture_rates); return 0; } @@ -862,7 +870,7 @@ emu10k1_pcm_t *epcm; snd_pcm_runtime_t *runtime = substream->runtime; - epcm = snd_magic_kcalloc(emu10k1_pcm_t, 0, GFP_KERNEL); + epcm = kcalloc(1, sizeof(*epcm), GFP_KERNEL); if (epcm == NULL) return -ENOMEM; epcm->emu = emu; @@ -881,7 +889,7 @@ runtime->hw.channels_min = 1; emu->capture_mic_interrupt = snd_emu10k1_pcm_ac97mic_interrupt; emu->pcm_capture_mic_substream = substream; - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_capture_period_sizes); return 0; } @@ -899,11 +907,10 @@ emu10k1_t *emu = snd_pcm_substream_chip(substream); emu10k1_pcm_t *epcm; snd_pcm_runtime_t *runtime = substream->runtime; - unsigned long flags; int nefx = emu->audigy ? 64 : 32; int idx; - epcm = snd_magic_kcalloc(emu10k1_pcm_t, 0, GFP_KERNEL); + epcm = kcalloc(1, sizeof(*epcm), GFP_KERNEL); if (epcm == NULL) return -ENOMEM; epcm->emu = emu; @@ -919,7 +926,7 @@ runtime->hw = snd_emu10k1_capture; runtime->hw.rates = SNDRV_PCM_RATE_48000; runtime->hw.rate_min = runtime->hw.rate_max = 48000; - spin_lock_irqsave(&emu->reg_lock, flags); + spin_lock_irq(&emu->reg_lock); runtime->hw.channels_min = runtime->hw.channels_max = 0; for (idx = 0; idx < nefx; idx++) { if (emu->efx_voices_mask[idx/32] & (1 << (idx%32))) { @@ -929,10 +936,10 @@ } epcm->capture_cr_val = emu->efx_voices_mask[0]; epcm->capture_cr_val2 = emu->efx_voices_mask[1]; - spin_unlock_irqrestore(&emu->reg_lock, flags); + spin_unlock_irq(&emu->reg_lock); emu->capture_efx_interrupt = snd_emu10k1_pcm_efx_interrupt; emu->pcm_capture_efx_substream = substream; - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_capture_period_sizes); return 0; } @@ -970,7 +977,7 @@ static void snd_emu10k1_pcm_free(snd_pcm_t *pcm) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, pcm->private_data, return); + emu10k1_t *emu = pcm->private_data; emu->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1024,7 +1031,7 @@ static void snd_emu10k1_pcm_mic_free(snd_pcm_t *pcm) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, pcm->private_data, return); + emu10k1_t *emu = pcm->private_data; emu->pcm_mic = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1070,21 +1077,19 @@ static int snd_emu10k1_pcm_efx_voices_mask_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { emu10k1_t *emu = snd_kcontrol_chip(kcontrol); - unsigned long flags; int nefx = emu->audigy ? 64 : 32; int idx; - spin_lock_irqsave(&emu->reg_lock, flags); + spin_lock_irq(&emu->reg_lock); for (idx = 0; idx < nefx; idx++) ucontrol->value.integer.value[idx] = (emu->efx_voices_mask[idx / 32] & (1 << (idx % 32))) ? 1 : 0; - spin_unlock_irqrestore(&emu->reg_lock, flags); + spin_unlock_irq(&emu->reg_lock); return 0; } static int snd_emu10k1_pcm_efx_voices_mask_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { emu10k1_t *emu = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int nval[2], bits; int nefx = emu->audigy ? 64 : 32; int change, idx; @@ -1097,12 +1102,12 @@ } if (bits != 1 && bits != 2 && bits != 4 && bits != 8) return -EINVAL; - spin_lock_irqsave(&emu->reg_lock, flags); + spin_lock_irq(&emu->reg_lock); change = (nval[0] != emu->efx_voices_mask[0]) || (nval[1] != emu->efx_voices_mask[1]); emu->efx_voices_mask[0] = nval[0]; emu->efx_voices_mask[1] = nval[1]; - spin_unlock_irqrestore(&emu->reg_lock, flags); + spin_unlock_irq(&emu->reg_lock); return change; } @@ -1125,9 +1130,238 @@ .pointer = snd_emu10k1_capture_pointer, }; + +/* EFX playback */ + +#define INITIAL_TRAM_SHIFT 14 +#define INITIAL_TRAM_POS(size) ((((size) / 2) - INITIAL_TRAM_SHIFT) - 1) + +static void snd_emu10k1_fx8010_playback_irq(emu10k1_t *emu, void *private_data) +{ + snd_pcm_substream_t *substream = private_data; + snd_pcm_period_elapsed(substream); +} + +static void snd_emu10k1_fx8010_playback_tram_poke1(unsigned short *dst_left, + unsigned short *dst_right, + unsigned short *src, + unsigned int count, + unsigned int tram_shift) +{ + // printk("tram_poke1: dst_left = 0x%p, dst_right = 0x%p, src = 0x%p, count = 0x%x\n", dst_left, dst_right, src, count); + if ((tram_shift & 1) == 0) { + while (count--) { + *dst_left-- = *src++; + *dst_right-- = *src++; + } + } else { + while (count--) { + *dst_right-- = *src++; + *dst_left-- = *src++; + } + } +} + +static void fx8010_pb_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + unsigned int tram_size = pcm->buffer_size; + unsigned short *src = (unsigned short *)(substream->runtime->dma_area + rec->sw_data); + unsigned int frames = bytes >> 2, count; + unsigned int tram_pos = pcm->tram_pos; + unsigned int tram_shift = pcm->tram_shift; + + while (frames > tram_pos) { + count = tram_pos + 1; + snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + tram_pos, + (unsigned short *)emu->fx8010.etram_pages.area + tram_pos + tram_size / 2, + src, count, tram_shift); + src += count * 2; + frames -= count; + tram_pos = (tram_size / 2) - 1; + tram_shift++; + } + snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + tram_pos, + (unsigned short *)emu->fx8010.etram_pages.area + tram_pos + tram_size / 2, + src, frames, tram_shift++); + tram_pos -= frames; + pcm->tram_pos = tram_pos; + pcm->tram_shift = tram_shift; +} + +static int snd_emu10k1_fx8010_playback_transfer(snd_pcm_substream_t *substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + + snd_pcm_indirect_playback_transfer(substream, &pcm->pcm_rec, fx8010_pb_trans_copy); + return 0; +} + +static int snd_emu10k1_fx8010_playback_hw_params(snd_pcm_substream_t * substream, + snd_pcm_hw_params_t * hw_params) +{ + return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); +} + +static int snd_emu10k1_fx8010_playback_hw_free(snd_pcm_substream_t * substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + unsigned int i; + + for (i = 0; i < pcm->channels; i++) + snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, 0); + snd_pcm_lib_free_pages(substream); + return 0; +} + +static int snd_emu10k1_fx8010_playback_prepare(snd_pcm_substream_t * substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + unsigned int i; + + // printk("prepare: etram_pages = 0x%p, dma_area = 0x%x, buffer_size = 0x%x (0x%x)\n", emu->fx8010.etram_pages, runtime->dma_area, runtime->buffer_size, runtime->buffer_size << 2); + memset(&pcm->pcm_rec, 0, sizeof(pcm->pcm_rec)); + pcm->pcm_rec.hw_buffer_size = pcm->buffer_size * 2; /* byte size */ + pcm->pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); + pcm->tram_shift = 0; + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_running, 0, 0); /* reset */ + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); /* reset */ + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_size, 0, runtime->buffer_size); + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_ptr, 0, 0); /* reset ptr number */ + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_count, 0, runtime->period_size); + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_tmpcount, 0, runtime->period_size); + for (i = 0; i < pcm->channels; i++) + snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, (TANKMEMADDRREG_READ|TANKMEMADDRREG_ALIGN) + i * (runtime->buffer_size / pcm->channels)); + return 0; +} + +static int snd_emu10k1_fx8010_playback_trigger(snd_pcm_substream_t * substream, int cmd) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + int result = 0; + + spin_lock(&emu->reg_lock); + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + /* follow thru */ + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: +#ifdef EMU10K1_SET_AC3_IEC958 + { + int i; + for (i = 0; i < 3; i++) { + unsigned int bits; + bits = SPCS_CLKACCY_1000PPM | SPCS_SAMPLERATE_48 | + SPCS_CHANNELNUM_LEFT | SPCS_SOURCENUM_UNSPEC | SPCS_GENERATIONSTATUS | + 0x00001200 | SPCS_EMPHASIS_NONE | SPCS_COPYRIGHT | SPCS_NOTAUDIODATA; + snd_emu10k1_ptr_write(emu, SPCS0 + i, 0, bits); + } + } +#endif + result = snd_emu10k1_fx8010_register_irq_handler(emu, snd_emu10k1_fx8010_playback_irq, pcm->gpr_running, substream, &pcm->irq); + if (result < 0) + goto __err; + snd_emu10k1_fx8010_playback_transfer(substream); /* roll the ball */ + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 1); + break; + case SNDRV_PCM_TRIGGER_STOP: + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + snd_emu10k1_fx8010_unregister_irq_handler(emu, pcm->irq); pcm->irq = NULL; + snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); + pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); + pcm->tram_shift = 0; + break; + default: + result = -EINVAL; + break; + } + __err: + spin_unlock(&emu->reg_lock); + return result; +} + +static snd_pcm_uframes_t snd_emu10k1_fx8010_playback_pointer(snd_pcm_substream_t * substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + size_t ptr; /* byte pointer */ + + if (!snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_trigger, 0)) + return 0; + ptr = snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_ptr, 0) << 2; + return snd_pcm_indirect_playback_pointer(substream, &pcm->pcm_rec, ptr); +} + +static snd_pcm_hardware_t snd_emu10k1_fx8010_playback = +{ + .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | + /* SNDRV_PCM_INFO_MMAP_VALID | */ SNDRV_PCM_INFO_PAUSE), + .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_48000, + .rate_min = 48000, + .rate_max = 48000, + .channels_min = 1, + .channels_max = 1, + .buffer_bytes_max = (128*1024), + .period_bytes_min = 1024, + .period_bytes_max = (128*1024), + .periods_min = 1, + .periods_max = 1024, + .fifo_size = 0, +}; + +static int snd_emu10k1_fx8010_playback_open(snd_pcm_substream_t * substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + + runtime->hw = snd_emu10k1_fx8010_playback; + runtime->hw.channels_min = runtime->hw.channels_max = pcm->channels; + runtime->hw.period_bytes_max = (pcm->buffer_size * 2) / 2; + spin_lock_irq(&emu->reg_lock); + if (pcm->valid == 0) { + spin_unlock_irq(&emu->reg_lock); + return -ENODEV; + } + pcm->opened = 1; + spin_unlock_irq(&emu->reg_lock); + return 0; +} + +static int snd_emu10k1_fx8010_playback_close(snd_pcm_substream_t * substream) +{ + emu10k1_t *emu = snd_pcm_substream_chip(substream); + snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; + + spin_lock_irq(&emu->reg_lock); + pcm->opened = 0; + spin_unlock_irq(&emu->reg_lock); + return 0; +} + +static snd_pcm_ops_t snd_emu10k1_fx8010_playback_ops = { + .open = snd_emu10k1_fx8010_playback_open, + .close = snd_emu10k1_fx8010_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_emu10k1_fx8010_playback_hw_params, + .hw_free = snd_emu10k1_fx8010_playback_hw_free, + .prepare = snd_emu10k1_fx8010_playback_prepare, + .trigger = snd_emu10k1_fx8010_playback_trigger, + .pointer = snd_emu10k1_fx8010_playback_pointer, + .ack = snd_emu10k1_fx8010_playback_transfer, +}; + static void snd_emu10k1_pcm_efx_free(snd_pcm_t *pcm) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, pcm->private_data, return); + emu10k1_t *emu = pcm->private_data; emu->pcm_efx = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1140,12 +1374,13 @@ if (rpcm) *rpcm = NULL; - if ((err = snd_pcm_new(emu->card, "emu10k1 efx", device, 0, 1, &pcm)) < 0) + if ((err = snd_pcm_new(emu->card, "emu10k1 efx", device, 8, 1, &pcm)) < 0) return err; pcm->private_data = emu; pcm->private_free = snd_emu10k1_pcm_efx_free; + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops); pcm->info_flags = 0; diff -Nru a/sound/pci/emu10k1/emuproc.c b/sound/pci/emu10k1/emuproc.c --- a/sound/pci/emu10k1/emuproc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/emuproc.c 2004-08-25 19:27:40 -07:00 @@ -71,31 +71,32 @@ static void snd_emu10k1_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - static char *outputs[32] = { - /* 00 */ "PCM Left", - /* 01 */ "PCM Right", - /* 02 */ "PCM Surround Left", - /* 03 */ "PCM Surround Right", - /* 04 */ "MIDI Left", - /* 05 */ "MIDI Right", - /* 06 */ "PCM Center", - /* 07 */ "PCM LFE", - /* 08 */ "???", - /* 09 */ "???", - /* 10 */ "???", - /* 11 */ "???", - /* 12 */ "MIDI Reverb", - /* 13 */ "MIDI Chorus", - /* 14 */ "???", + /* FIXME - output names are in emufx.c too */ + static char *creative_outs[32] = { + /* 00 */ "AC97 Left", + /* 01 */ "AC97 Right", + /* 02 */ "Optical IEC958 Left", + /* 03 */ "Optical IEC958 Right", + /* 04 */ "Center", + /* 05 */ "LFE", + /* 06 */ "Headphone Left", + /* 07 */ "Headphone Right", + /* 08 */ "Surround Left", + /* 09 */ "Surround Right", + /* 10 */ "PCM Capture Left", + /* 11 */ "PCM Capture Right", + /* 12 */ "MIC Capture", + /* 13 */ "AC97 Surround Left", + /* 14 */ "AC97 Surround Right", /* 15 */ "???", /* 16 */ "???", - /* 17 */ "???", - /* 18 */ "ADC Left / CDROM S/PDIF Left", - /* 19 */ "ADC Right / CDROM S/PDIF Right", - /* 20 */ "MIC / Zoom Video Left", - /* 21 */ "Zoom Video Right", - /* 22 */ "S/PDIF Left", - /* 23 */ "S/PDIF Right", + /* 17 */ "Analog Center", + /* 18 */ "Analog LFE", + /* 19 */ "???", + /* 20 */ "???", + /* 21 */ "???", + /* 22 */ "???", + /* 23 */ "???", /* 24 */ "???", /* 25 */ "???", /* 26 */ "???", @@ -105,9 +106,78 @@ /* 30 */ "???", /* 31 */ "???" }; - emu10k1_t *emu = snd_magic_cast(emu10k1_t, entry->private_data, return); + + static char *audigy_outs[64] = { + /* 00 */ "Digital Front Left", + /* 01 */ "Digital Front Right", + /* 02 */ "Digital Center", + /* 03 */ "Digital LEF", + /* 04 */ "Headphone Left", + /* 05 */ "Headphone Right", + /* 06 */ "Digital Rear Left", + /* 07 */ "Digital Rear Right", + /* 08 */ "Front Left", + /* 09 */ "Front Right", + /* 10 */ "Center", + /* 11 */ "LFE", + /* 12 */ "???", + /* 13 */ "???", + /* 14 */ "Rear Left", + /* 15 */ "Rear Right", + /* 16 */ "AC97 Front Left", + /* 17 */ "AC97 Front Right", + /* 18 */ "ADC Caputre Left", + /* 19 */ "ADC Capture Right", + /* 20 */ "???", + /* 21 */ "???", + /* 22 */ "???", + /* 23 */ "???", + /* 24 */ "???", + /* 25 */ "???", + /* 26 */ "???", + /* 27 */ "???", + /* 28 */ "???", + /* 29 */ "???", + /* 30 */ "???", + /* 31 */ "???", + /* 32 */ "???", + /* 33 */ "???", + /* 34 */ "???", + /* 35 */ "???", + /* 36 */ "???", + /* 37 */ "???", + /* 38 */ "???", + /* 39 */ "???", + /* 40 */ "???", + /* 41 */ "???", + /* 42 */ "???", + /* 43 */ "???", + /* 44 */ "???", + /* 45 */ "???", + /* 46 */ "???", + /* 47 */ "???", + /* 48 */ "???", + /* 49 */ "???", + /* 50 */ "???", + /* 51 */ "???", + /* 52 */ "???", + /* 53 */ "???", + /* 54 */ "???", + /* 55 */ "???", + /* 56 */ "???", + /* 57 */ "???", + /* 58 */ "???", + /* 59 */ "???", + /* 60 */ "???", + /* 61 */ "???", + /* 62 */ "???", + /* 33 */ "???" + }; + + emu10k1_t *emu = entry->private_data; unsigned int val; int nefx = emu->audigy ? 64 : 32; + char **outputs = emu->audigy ? audigy_outs : creative_outs; int idx; snd_iprintf(buffer, "EMU10K1\n\n"); @@ -117,7 +187,7 @@ snd_iprintf(buffer, "Card : %s\n", emu->audigy ? "Audigy" : (emu->APS ? "EMU APS" : "Creative")); snd_iprintf(buffer, "Internal TRAM (words) : 0x%x\n", emu->fx8010.itram_size); - snd_iprintf(buffer, "External TRAM (words) : 0x%x\n", emu->fx8010.etram_pages.bytes); + snd_iprintf(buffer, "External TRAM (words) : 0x%x\n", (int)emu->fx8010.etram_pages.bytes); snd_iprintf(buffer, "\n"); if (emu->audigy) { snd_iprintf(buffer, "Effect Send Routing : A=%i, B=%i, C=%i, D=%i\n", @@ -135,7 +205,7 @@ snd_iprintf(buffer, "\nCaptured FX Outputs :\n"); for (idx = 0; idx < nefx; idx++) { if (emu->efx_voices_mask[idx/32] & (1 << (idx%32))) - snd_iprintf(buffer, " Output %02i [%s]\n", idx, outputs[idx%32]); + snd_iprintf(buffer, " Output %02i [%s]\n", idx, outputs[idx]); } snd_iprintf(buffer, "\nAll FX Outputs :\n"); for (idx = 0; idx < 32; idx++) @@ -155,7 +225,7 @@ snd_info_buffer_t * buffer) { u32 pc; - emu10k1_t *emu = snd_magic_cast(emu10k1_t, entry->private_data, return); + emu10k1_t *emu = entry->private_data; snd_iprintf(buffer, "FX8010 Instruction List '%s'\n", emu->fx8010.name); snd_iprintf(buffer, " Code dump :\n"); @@ -195,7 +265,7 @@ unsigned long count, unsigned long pos) { long size; - emu10k1_t *emu = snd_magic_cast(emu10k1_t, entry->private_data, return -ENXIO); + emu10k1_t *emu = entry->private_data; unsigned int offset; if (!strcmp(entry->name, "fx8010_tram_addr")) { diff -Nru a/sound/pci/emu10k1/io.c b/sound/pci/emu10k1/io.c --- a/sound/pci/emu10k1/io.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/io.c 2004-08-25 19:27:40 -07:00 @@ -231,7 +231,7 @@ unsigned short snd_emu10k1_ac97_read(ac97_t *ac97, unsigned short reg) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, ac97->private_data, return -ENXIO); + emu10k1_t *emu = ac97->private_data; unsigned long flags; unsigned short val; @@ -244,7 +244,7 @@ void snd_emu10k1_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short data) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, ac97->private_data, return); + emu10k1_t *emu = ac97->private_data; unsigned long flags; spin_lock_irqsave(&emu->emu_lock, flags); diff -Nru a/sound/pci/emu10k1/irq.c b/sound/pci/emu10k1/irq.c --- a/sound/pci/emu10k1/irq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/irq.c 2004-08-25 19:27:40 -07:00 @@ -32,7 +32,7 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, dev_id, return IRQ_NONE); + emu10k1_t *emu = dev_id; unsigned int status, orig_status; int handled = 0; diff -Nru a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c --- a/sound/pci/emu10k1/memory.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/emu10k1/memory.c 2004-08-25 19:27:40 -07:00 @@ -22,6 +22,7 @@ */ #include +#include #include #include #include @@ -291,7 +292,7 @@ snd_emu10k1_alloc_pages(emu10k1_t *emu, snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - struct snd_sg_buf *sgbuf = runtime->dma_private; + struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream); snd_util_memhdr_t *hdr; emu10k1_memblk_t *blk; int page, err, idx; @@ -441,10 +442,11 @@ get_single_page_range(emu->memhdr, blk, &first_page, &last_page); /* allocate kernel pages */ for (page = first_page; page <= last_page; page++) { - if (snd_dma_alloc_pages(&emu->dma_dev, PAGE_SIZE, &dmab) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), + PAGE_SIZE, &dmab) < 0) goto __fail; if (! is_valid_page(emu, dmab.addr)) { - snd_dma_free_pages(&emu->dma_dev, &dmab); + snd_dma_free_pages(&dmab); goto __fail; } emu->page_addr_table[page] = dmab.addr; @@ -459,7 +461,7 @@ dmab.area = emu->page_ptr_table[page]; dmab.addr = emu->page_addr_table[page]; dmab.bytes = PAGE_SIZE; - snd_dma_free_pages(&emu->dma_dev, &dmab); + snd_dma_free_pages(&dmab); emu->page_addr_table[page] = 0; emu->page_ptr_table[page] = NULL; } @@ -476,13 +478,15 @@ struct snd_dma_buffer dmab; get_single_page_range(emu->memhdr, blk, &first_page, &last_page); + dmab.dev.type = SNDRV_DMA_TYPE_DEV; + dmab.dev.dev = snd_dma_pci_data(emu->pci); for (page = first_page; page <= last_page; page++) { if (emu->page_ptr_table[page] == NULL) continue; dmab.area = emu->page_ptr_table[page]; dmab.addr = emu->page_addr_table[page]; dmab.bytes = PAGE_SIZE; - snd_dma_free_pages(&emu->dma_dev, &dmab); + snd_dma_free_pages(&dmab); emu->page_addr_table[page] = 0; emu->page_ptr_table[page] = NULL; } diff -Nru a/sound/pci/ens1370.c b/sound/pci/ens1370.c --- a/sound/pci/ens1370.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ens1370.c 2004-08-25 19:27:40 -07:00 @@ -40,8 +40,6 @@ #include #include -#define chip_t ensoniq_t - #ifndef CHIP1371 #undef CHIP1370 #define CHIP1370 @@ -56,15 +54,14 @@ MODULE_AUTHOR("Jaroslav Kysela , Thomas Sailer "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifdef CHIP1370 MODULE_DESCRIPTION("Ensoniq AudioPCI ES1370"); -MODULE_DEVICES("{{Ensoniq,AudioPCI-97 ES1370}," +MODULE_SUPPORTED_DEVICE("{{Ensoniq,AudioPCI-97 ES1370}," "{Creative Labs,SB PCI64/128 (ES1370)}}"); #endif #ifdef CHIP1371 MODULE_DESCRIPTION("Ensoniq/Creative AudioPCI ES1371+"); -MODULE_DEVICES("{{Ensoniq,AudioPCI ES1371/73}," +MODULE_SUPPORTED_DEVICE("{{Ensoniq,AudioPCI ES1371/73}," "{Ensoniq,AudioPCI ES1373}," "{Creative Labs,Ectiva EV1938}," "{Creative Labs,SB PCI64/128 (ES1371/73)}," @@ -90,22 +87,17 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef SUPPORT_JOYSTICK #ifdef CHIP1371 module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address."); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED ",allows:{{0},{1},{0x200},{0x208},{0x210},{0x218}},dialog:list"); #else module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif #endif /* SUPPORT_JOYSTICK */ @@ -388,7 +380,6 @@ unsigned long capture3size; unsigned long port; - struct resource *res_port; unsigned int mode; unsigned int uartm; /* UART mode */ @@ -435,7 +426,6 @@ unsigned int spdif_stream; #ifdef CHIP1370 - struct snd_dma_device dma_dev; struct snd_dma_buffer dma_bug; #endif @@ -581,7 +571,7 @@ static void snd_es1370_codec_write(ak4531_t *ak4531, unsigned short reg, unsigned short val) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ak4531->private_data, return); + ensoniq_t *ensoniq = ak4531->private_data; unsigned long flags; unsigned long end_time = jiffies + HZ / 10; @@ -611,7 +601,7 @@ static void snd_es1371_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return); + ensoniq_t *ensoniq = ac97->private_data; unsigned long flags; unsigned int t, x; @@ -649,7 +639,7 @@ static unsigned short snd_es1371_codec_read(ac97_t *ac97, unsigned short reg) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return -ENXIO); + ensoniq_t *ensoniq = ac97->private_data; unsigned long flags; unsigned int t, x, fail = 0; @@ -844,7 +834,6 @@ static int snd_ensoniq_playback1_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -855,7 +844,7 @@ mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_DAC1_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); @@ -878,13 +867,12 @@ snd_es1371_dac1_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_playback2_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -895,7 +883,7 @@ mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_DAC2_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); @@ -917,13 +905,12 @@ snd_es1371_dac2_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_capture_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -934,7 +921,7 @@ mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_ADC_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_ADC), ES_REG(ensoniq, MEM_PAGE)); @@ -954,7 +941,7 @@ snd_es1371_adc_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } @@ -1151,31 +1138,29 @@ static int snd_ensoniq_playback2_close(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); ensoniq->playback2_substream = NULL; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); #ifdef CHIP1370 ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_PLAY2; #endif ensoniq->mode &= ~ES_MODE_PLAY2; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_capture_close(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); ensoniq->capture_substream = NULL; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); #ifdef CHIP1370 ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_CAPTURE; #endif ensoniq->mode &= ~ES_MODE_CAPTURE; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } @@ -1214,7 +1199,7 @@ static void snd_ensoniq_pcm_free(snd_pcm_t *pcm) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, pcm->private_data, return); + ensoniq_t *ensoniq = pcm->private_data; ensoniq->pcm1 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1261,7 +1246,7 @@ static void snd_ensoniq_pcm_free2(snd_pcm_t *pcm) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, pcm->private_data, return); + ensoniq_t *ensoniq = pcm->private_data; ensoniq->pcm2 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1565,7 +1550,7 @@ static void snd_ensoniq_mixer_free_ac97(ac97_t *ac97) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return); + ensoniq_t *ensoniq = ac97->private_data; ensoniq->u.es1371.ac97 = NULL; } @@ -1585,14 +1570,15 @@ static int snd_ensoniq_1371_mixer(ensoniq_t * ensoniq) { snd_card_t *card = ensoniq->card; - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err, idx; + static ac97_bus_ops_t ops = { + .write = snd_es1371_codec_write, + .read = snd_es1371_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_es1371_codec_write; - bus.read = snd_es1371_codec_read; - if ((err = snd_ac97_bus(card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -1663,30 +1649,28 @@ static int snd_ensoniq_control_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ensoniq_t *ensoniq = snd_kcontrol_chip(kcontrol); - unsigned long flags; int mask = kcontrol->private_value; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ucontrol->value.integer.value[0] = ensoniq->ctrl & mask ? 1 : 0; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ensoniq_t *ensoniq = snd_kcontrol_chip(kcontrol); - unsigned long flags; int mask = kcontrol->private_value; unsigned int nval; int change; nval = ucontrol->value.integer.value[0] ? mask : 0; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); change = (ensoniq->ctrl & mask) != nval; ensoniq->ctrl &= ~mask; ensoniq->ctrl |= nval; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return change; } @@ -1703,7 +1687,7 @@ static void snd_ensoniq_mixer_free_ak4531(ak4531_t *ak4531) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ak4531->private_data, return); + ensoniq_t *ensoniq = ak4531->private_data; ensoniq->u.es1370.ak4531 = NULL; } @@ -1785,7 +1769,7 @@ static void snd_ensoniq_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, entry->private_data, return); + ensoniq_t *ensoniq = entry->private_data; #ifdef CHIP1370 snd_iprintf(buffer, "Ensoniq AudioPCI ES1370\n\n"); @@ -1833,21 +1817,18 @@ __hw_end: #ifdef CHIP1370 if (ensoniq->dma_bug.area) - snd_dma_free_pages(&ensoniq->dma_dev, &ensoniq->dma_bug); + snd_dma_free_pages(&ensoniq->dma_bug); #endif - if (ensoniq->res_port) { - release_resource(ensoniq->res_port); - kfree_nocheck(ensoniq->res_port); - } if (ensoniq->irq >= 0) free_irq(ensoniq->irq, (void *)ensoniq); - snd_magic_kfree(ensoniq); + pci_release_regions(ensoniq->pci); + kfree(ensoniq); return 0; } static int snd_ensoniq_dev_free(snd_device_t *device) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, device->device_data, return -ENXIO); + ensoniq_t *ensoniq = device->device_data; return snd_ensoniq_free(ensoniq); } @@ -1894,19 +1875,18 @@ *rensoniq = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - ensoniq = snd_magic_kcalloc(ensoniq_t, 0, GFP_KERNEL); + ensoniq = kcalloc(1, sizeof(*ensoniq), GFP_KERNEL); if (ensoniq == NULL) return -ENOMEM; spin_lock_init(&ensoniq->reg_lock); ensoniq->card = card; ensoniq->pci = pci; ensoniq->irq = -1; - ensoniq->port = pci_resource_start(pci, 0); - if ((ensoniq->res_port = request_region(ensoniq->port, 0x40, "Ensoniq AudioPCI")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ensoniq->port, ensoniq->port + 0x40 - 1); - snd_ensoniq_free(ensoniq); - return -EBUSY; + if ((err = pci_request_regions(pci, "Ensoniq AudioPCI")) < 0) { + kfree(ensoniq); + return err; } + ensoniq->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_audiopci_interrupt, SA_INTERRUPT|SA_SHIRQ, "Ensoniq AudioPCI", (void *)ensoniq)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_ensoniq_free(ensoniq); @@ -1914,10 +1894,8 @@ } ensoniq->irq = pci->irq; #ifdef CHIP1370 - memset(&ensoniq->dma_dev, 0, sizeof(ensoniq->dma_dev)); - ensoniq->dma_dev.type = SNDRV_DMA_TYPE_DEV; - ensoniq->dma_dev.dev = snd_dma_pci_data(pci); - if (snd_dma_alloc_pages(&ensoniq->dma_dev, 16, &ensoniq->dma_bug) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + 16, &ensoniq->dma_bug) < 0) { snd_printk("unable to allocate space for phantom area - dma_bug\n"); snd_ensoniq_free(ensoniq); return -EBUSY; @@ -2074,10 +2052,9 @@ static int snd_ensoniq_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->uartm |= ES_MODE_INPUT; ensoniq->midi_input = substream; if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { @@ -2085,16 +2062,15 @@ outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); } - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); @@ -2103,16 +2079,15 @@ } ensoniq->midi_input = NULL; ensoniq->uartm &= ~ES_MODE_INPUT; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->uartm |= ES_MODE_OUTPUT; ensoniq->midi_output = substream; if (!(ensoniq->uartm & ES_MODE_INPUT)) { @@ -2120,16 +2095,15 @@ outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); } - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); if (!(ensoniq->uartm & ES_MODE_INPUT)) { outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); @@ -2138,14 +2112,14 @@ } ensoniq->midi_output = NULL; ensoniq->uartm &= ~ES_MODE_OUTPUT; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static void snd_ensoniq_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return); + ensoniq_t *ensoniq = substream->rmidi->private_data; int idx; spin_lock_irqsave(&ensoniq->reg_lock, flags); @@ -2169,7 +2143,7 @@ static void snd_ensoniq_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return); + ensoniq_t *ensoniq = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&ensoniq->reg_lock, flags); @@ -2240,7 +2214,7 @@ static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, dev_id, return IRQ_NONE); + ensoniq_t *ensoniq = dev_id; unsigned int status, sctrl; if (ensoniq == NULL) diff -Nru a/sound/pci/es1938.c b/sound/pci/es1938.c --- a/sound/pci/es1938.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/es1938.c 2004-08-25 19:27:40 -07:00 @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -63,13 +64,10 @@ #include -#define chip_t es1938_t - MODULE_AUTHOR("Jaromir Koutek "); MODULE_DESCRIPTION("ESS Solo-1"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES1938}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES1938}," "{ESS,ES1946}," "{ESS,ES1969}," "{TerraTec,128i PCI}}"); @@ -88,13 +86,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #define SLIO_REG(chip, x) ((chip)->io_port + ESSIO_REG_##x) @@ -202,19 +197,16 @@ typedef struct _snd_es1938 es1938_t; +#define SAVED_REG_SIZE 32 /* max. number of registers to save */ + struct _snd_es1938 { int irq; unsigned long io_port; - struct resource *res_io_port; unsigned long sb_port; - struct resource *res_sb_port; unsigned long vc_port; - struct resource *res_vc_port; unsigned long mpu_port; - struct resource *res_mpu_port; unsigned long game_port; - struct resource *res_game_port; unsigned long ddma_port; unsigned char irqmask; @@ -227,6 +219,7 @@ struct pci_dev *pci; snd_card_t *card; + snd_pcm_t *pcm; snd_pcm_substream_t *capture_substream; snd_pcm_substream_t *playback1_substream; snd_pcm_substream_t *playback2_substream; @@ -248,6 +241,9 @@ #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) struct gameport gameport; #endif +#ifdef CONFIG_PM + unsigned char saved_regs[SAVED_REG_SIZE]; +#endif }; static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); @@ -573,7 +569,12 @@ case SNDRV_PCM_TRIGGER_START: /* According to the documentation this should be: 0x13 but that value may randomly swap stereo channels */ + snd_es1938_mixer_write(chip, ESSSB_IREG_AUDIO2CONTROL1, 0x92); + udelay(10); snd_es1938_mixer_write(chip, ESSSB_IREG_AUDIO2CONTROL1, 0x93); + /* This two stage init gives the FIFO -> DAC connection time to + * settle before first data from DMA flows in. This should ensure + * no swapping of stereo channels. Report a bug if otherwise :-) */ outb(0x0a, SLIO_REG(chip, AUDIO2MODE)); chip->active |= DAC2; break; @@ -690,6 +691,8 @@ chip->dma2_shift = 2 - mono - is8; + snd_es1938_reset_fifo(chip); + /* set clock and counters */ snd_es1938_rate_set(chip, substream, DAC2); @@ -874,9 +877,9 @@ .rate_max = 48000, .channels_min = 1, .channels_max = 2, - .buffer_bytes_max = 65536, + .buffer_bytes_max = 0x8000, /* DMA controller screws on higher values */ .period_bytes_min = 64, - .period_bytes_max = 65536, + .period_bytes_max = 0x8000, .periods_min = 1, .periods_max = 1024, .fifo_size = 256, @@ -896,9 +899,9 @@ .rate_max = 48000, .channels_min = 1, .channels_max = 2, - .buffer_bytes_max = 65536, + .buffer_bytes_max = 0x8000, /* DMA controller screws on higher values */ .period_bytes_min = 64, - .period_bytes_max = 65536, + .period_bytes_max = 0x8000, .periods_min = 1, .periods_max = 1024, .fifo_size = 256, @@ -998,13 +1001,11 @@ snd_pcm_lib_preallocate_free_for_all(pcm); } -static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device, snd_pcm_t ** rpcm) +static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device) { snd_pcm_t *pcm; int err; - if (rpcm) - *rpcm = NULL; if ((err = snd_pcm_new(chip->card, "es-1938-1946", device, 2, 1, &pcm)) < 0) return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_es1938_playback_ops); @@ -1018,8 +1019,7 @@ snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 64*1024, 64*1024); - if (rpcm) - *rpcm = pcm; + chip->pcm = pcm; return 0; } @@ -1129,7 +1129,7 @@ static void snd_es1938_hwv_free(snd_kcontrol_t *kcontrol) { - es1938_t *chip = snd_magic_cast(es1938_t, _snd_kcontrol_chip(kcontrol), return); + es1938_t *chip = snd_kcontrol_chip(kcontrol); chip->master_volume = NULL; chip->master_switch = NULL; chip->hw_volume = NULL; @@ -1340,43 +1340,106 @@ /* ---------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- */ +/* + * initialize the chip - used by resume callback, too + */ +static void snd_es1938_chip_init(es1938_t *chip) +{ + /* reset chip */ + snd_es1938_reset(chip); + + /* configure native mode */ + + /* enable bus master */ + pci_set_master(chip->pci); + + /* disable legacy audio */ + pci_write_config_word(chip->pci, SL_PCI_LEGACYCONTROL, 0x805f); + + /* set DDMA base */ + pci_write_config_word(chip->pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1); + + /* set DMA/IRQ policy */ + pci_write_config_dword(chip->pci, SL_PCI_CONFIG, 0); + + /* enable Audio 1, Audio 2, MPU401 IRQ and HW volume IRQ*/ + outb(0xf0, SLIO_REG(chip, IRQCONTROL)); + + /* reset DMA */ + outb(0, SLDM_REG(chip, DMACLEAR)); +} + +#ifdef CONFIG_PM +/* + * PM support + */ + +static unsigned char saved_regs[SAVED_REG_SIZE+1] = { + 0x14, 0x1a, 0x1c, 0x3a, 0x3c, 0x3e, 0x36, 0x38, + 0x50, 0x52, 0x60, 0x61, 0x62, 0x63, 0x64, 0x68, + 0x69, 0x6a, 0x6b, 0x6d, 0x6e, 0x6f, 0x7c, 0x7d, + 0xa8, 0xb4, +}; + + +static int es1938_suspend(snd_card_t *card, unsigned int state) +{ + es1938_t *chip = card->pm_private_data; + unsigned char *s, *d; + + snd_pcm_suspend_all(chip->pcm); + + /* save mixer-related registers */ + for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) + *d = snd_es1938_reg_read(chip, *s); + + outb(0x00, SLIO_REG(chip, IRQCONTROL)); /* disable irqs */ + + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + return 0; +} + +static int es1938_resume(snd_card_t *card, unsigned int state) +{ + es1938_t *chip = card->pm_private_data; + unsigned char *s, *d; + + pci_enable_device(chip->pci); + snd_es1938_chip_init(chip); + + /* restore mixer-related registers */ + for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) { + if (*s < 0xa0) + snd_es1938_mixer_write(chip, *s, *d); + else + snd_es1938_write(chip, *s, *d); + } + + snd_power_change_state(card, SNDRV_CTL_POWER_D0); + return 0; +} +#endif /* CONFIG_PM */ + static int snd_es1938_free(es1938_t *chip) { + /* disable irqs */ + outb(0x00, SLIO_REG(chip, IRQCONTROL)); /*if (chip->rmidi) snd_es1938_mixer_bits(chip, ESSSB_IREG_MPU401CONTROL, 0x40, 0);*/ #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) if (chip->gameport.io) gameport_unregister_port(&chip->gameport); #endif - if (chip->res_io_port) { - release_resource(chip->res_io_port); - kfree_nocheck(chip->res_io_port); - } - if (chip->res_sb_port) { - release_resource(chip->res_sb_port); - kfree_nocheck(chip->res_sb_port); - } - if (chip->res_vc_port) { - release_resource(chip->res_vc_port); - kfree_nocheck(chip->res_vc_port); - } - if (chip->res_mpu_port) { - release_resource(chip->res_mpu_port); - kfree_nocheck(chip->res_mpu_port); - } - if (chip->res_game_port) { - release_resource(chip->res_game_port); - kfree_nocheck(chip->res_game_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_es1938_dev_free(snd_device_t *device) { - es1938_t *chip = snd_magic_cast(es1938_t, device->device_data, return -ENXIO); + es1938_t *chip = device->device_data; return snd_es1938_free(chip); } @@ -1402,43 +1465,22 @@ return -ENXIO; } - chip = snd_magic_kcalloc(es1938_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); spin_lock_init(&chip->mixer_lock); chip->card = card; chip->pci = pci; - chip->io_port = pci_resource_start(pci, 0); - if ((chip->res_io_port = request_region(chip->io_port, 8, "ESS Solo-1")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->io_port, chip->io_port + 8 - 1); - snd_es1938_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ESS Solo-1")) < 0) { + kfree(chip); + return err; } + chip->io_port = pci_resource_start(pci, 0); chip->sb_port = pci_resource_start(pci, 1); - if ((chip->res_sb_port = request_region(chip->sb_port, 0x10, "ESS Solo-1 SB")) == NULL) { - snd_printk("unable to grab SB region 0x%lx-0x%lx\n", chip->sb_port, chip->sb_port + 0x10 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->vc_port = pci_resource_start(pci, 2); - if ((chip->res_vc_port = request_region(chip->vc_port, 0x10, "ESS Solo-1 VC (DMA)")) == NULL) { - snd_printk("unable to grab VC (DMA) region 0x%lx-0x%lx\n", chip->vc_port, chip->vc_port + 0x10 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->mpu_port = pci_resource_start(pci, 3); - if ((chip->res_mpu_port = request_region(chip->mpu_port, 4, "ESS Solo-1 MIDI")) == NULL) { - snd_printk("unable to grab MIDI region 0x%lx-0x%lx\n", chip->mpu_port, chip->mpu_port + 4 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->game_port = pci_resource_start(pci, 4); - if ((chip->res_game_port = request_region(chip->game_port, 4, "ESS Solo-1 GAME")) == NULL) { - snd_printk("unable to grab GAME region 0x%lx-0x%lx\n", chip->game_port, chip->game_port + 4 - 1); - snd_es1938_free(chip); - return -EBUSY; - } if (request_irq(pci->irq, snd_es1938_interrupt, SA_INTERRUPT|SA_SHIRQ, "ES1938", (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_es1938_free(chip); @@ -1449,32 +1491,12 @@ snd_printk("create: io: 0x%lx, sb: 0x%lx, vc: 0x%lx, mpu: 0x%lx, game: 0x%lx\n", chip->io_port, chip->sb_port, chip->vc_port, chip->mpu_port, chip->game_port); #endif - /* reset chip */ - snd_es1938_reset(chip); - - /* configure native mode */ - - /* enable bus master */ - pci_set_master(pci); - - /* disable legacy audio */ - pci_write_config_word(pci, SL_PCI_LEGACYCONTROL, 0x805f); - /* set DDMA base */ chip->ddma_port = chip->vc_port + 0x00; /* fix from Thomas Sailer */ - pci_write_config_word(pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1); - /* set DMA/IRQ policy */ - pci_write_config_dword(pci, SL_PCI_CONFIG, 0); + snd_es1938_chip_init(chip); - /* enable Audio 1, Audio 2, MPU401 IRQ and HW volume IRQ*/ - outb(0xf0, SLIO_REG(chip, IRQCONTROL)); - - /* reset DMA */ - outb(0, SLDM_REG(chip, DMACLEAR)); - - /* enable bus mastering */ - pci_set_master(pci); + snd_card_set_pm_callback(card, es1938_suspend, es1938_resume, chip); if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) { snd_es1938_free(chip); @@ -1492,7 +1514,7 @@ * -------------------------------------------------------------------- */ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es1938_t *chip = snd_magic_cast(es1938_t, dev_id, return IRQ_NONE); + es1938_t *chip = dev_id; unsigned char status, audiostatus; int handled = 0; @@ -1560,19 +1582,15 @@ #define ES1938_DMA_SIZE 64 -static int __devinit snd_es1938_mixer(snd_pcm_t *pcm) +static int __devinit snd_es1938_mixer(es1938_t *chip) { snd_card_t *card; - es1938_t *chip; unsigned int idx; int err; - snd_assert(pcm != NULL && pcm->card != NULL, return -EINVAL); + card = chip->card; - card = pcm->card; - chip = snd_pcm_chip(pcm); - - strcpy(card->mixername, pcm->name); + strcpy(card->mixername, "ESS Solo-1"); for (idx = 0; idx < ARRAY_SIZE(snd_es1938_controls); idx++) { snd_kcontrol_t *kctl; @@ -1608,7 +1626,6 @@ static int dev; snd_card_t *card; es1938_t *chip; - snd_pcm_t *pcm; opl3_t *opl3; int idx, err; @@ -1641,11 +1658,11 @@ chip->revision, chip->irq); - if ((err = snd_es1938_new_pcm(chip, 0, &pcm)) < 0) { + if ((err = snd_es1938_new_pcm(chip, 0)) < 0) { snd_card_free(card); return err; } - if ((err = snd_es1938_mixer(pcm)) < 0) { + if ((err = snd_es1938_mixer(chip)) < 0) { snd_card_free(card); return err; } @@ -1697,6 +1714,7 @@ .id_table = snd_es1938_ids, .probe = snd_es1938_probe, .remove = __devexit_p(snd_es1938_remove), + SND_PCI_PM_CALLBACKS }; static int __init alsa_card_es1938_init(void) diff -Nru a/sound/pci/es1968.c b/sound/pci/es1968.c --- a/sound/pci/es1968.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/es1968.c 2004-08-25 19:27:40 -07:00 @@ -109,15 +109,12 @@ #include #include -#define chip_t es1968_t - #define CARD_NAME "ESS Maestro1/2" #define DRIVER_NAME "ES1968" MODULE_DESCRIPTION("ESS Maestro"); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); -MODULE_DEVICES("{{ESS,Maestro 2e}," +MODULE_SUPPORTED_DEVICE("{{ESS,Maestro 2e}," "{ESS,Maestro 2}," "{ESS,Maestro 1}," "{TerraTec,DMX}}"); @@ -142,35 +139,25 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(total_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(total_bufsize, "Total buffer size in kB."); -MODULE_PARM_SYNTAX(total_bufsize, SNDRV_ENABLED ",allows:{{1,4096}},skill:advanced"); module_param_array(pcm_substreams_p, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams_p, "PCM Playback substreams for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcm_substreams_p, SNDRV_ENABLED ",allows:{{1,8}}"); module_param_array(pcm_substreams_c, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams_c, "PCM Capture substreams for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcm_substreams_c, SNDRV_ENABLED ",allows:{{0,8}}"); module_param_array(clock, int, boot_devs, 0444); MODULE_PARM_DESC(clock, "Clock on " CARD_NAME " soundcard. (0 = auto-detect)"); -MODULE_PARM_SYNTAX(clock, SNDRV_ENABLED); module_param_array(use_pm, int, boot_devs, 0444); MODULE_PARM_DESC(use_pm, "Toggle power-management. (0 = off, 1 = on, 2 = auto)"); -MODULE_PARM_SYNTAX(use_pm, SNDRV_ENABLED ",allows:{{0,1,2}},default:2,skill:advanced"); module_param_array(enable_mpu, int, boot_devs, 0444); MODULE_PARM_DESC(enable_mpu, "Enable MPU401. (0 = off, 1 = on, 2 = auto)"); -MODULE_PARM_SYNTAX(enable_mpu, SNDRV_ENABLED ",allows:{{0,2}},default:2"); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif @@ -522,9 +509,7 @@ /* DMA Hack! */ struct snd_esm_memory { - char *buf; - unsigned long addr; - int size; + struct snd_dma_buffer buf; int empty; /* status */ struct list_head list; }; @@ -573,13 +558,11 @@ unsigned int clock; /* clock */ /* buffer */ - struct snd_dma_device dma_dev; struct snd_dma_buffer dma; /* Resources... */ int irq; unsigned long io_port; - struct resource *res_io_port; int type; struct pci_dev *pci; snd_card_t *card; @@ -696,7 +679,7 @@ static void snd_es1968_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - es1968_t *chip = snd_magic_cast(es1968_t, ac97->private_data, return); + es1968_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -715,7 +698,7 @@ static unsigned short snd_es1968_ac97_read(ac97_t *ac97, unsigned short reg) { u16 data = 0; - es1968_t *chip = snd_magic_cast(es1968_t, ac97->private_data, return 0); + es1968_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1078,10 +1061,10 @@ for (channel = 0; channel <= high_apu; channel++) { apu = es->apu[channel]; - snd_es1968_program_wavecache(chip, es, channel, es->memory->addr, 0); + snd_es1968_program_wavecache(chip, es, channel, es->memory->buf.addr, 0); /* Offset to PCMBAR */ - pa = es->memory->addr; + pa = es->memory->buf.addr; pa -= chip->dma.addr; pa >>= 1; /* words */ @@ -1230,20 +1213,20 @@ /* input mixer (left/mono) */ /* parallel in crap, see maestro reg 0xC [8-11] */ init_capture_apu(chip, es, 2, - es->mixbuf->addr, ESM_MIXBUF_SIZE/4, /* in words */ + es->mixbuf->buf.addr, ESM_MIXBUF_SIZE/4, /* in words */ ESM_APU_INPUTMIXER, 0x14); /* SRC (left/mono); get input from inputing apu */ - init_capture_apu(chip, es, 0, es->memory->addr, size, + init_capture_apu(chip, es, 0, es->memory->buf.addr, size, ESM_APU_SRCONVERTOR, es->apu[2]); if (es->fmt & ESS_FMT_STEREO) { /* input mixer (right) */ init_capture_apu(chip, es, 3, - es->mixbuf->addr + ESM_MIXBUF_SIZE/2, + es->mixbuf->buf.addr + ESM_MIXBUF_SIZE/2, ESM_MIXBUF_SIZE/4, /* in words */ ESM_APU_INPUTMIXER, 0x15); /* SRC (right) */ init_capture_apu(chip, es, 1, - es->memory->addr + size*2, size, + es->memory->buf.addr + size*2, size, ESM_APU_SRCONVERTOR, es->apu[3]); } @@ -1281,7 +1264,7 @@ { es1968_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - esschan_t *es = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + esschan_t *es = runtime->private_data; es->dma_size = snd_pcm_lib_buffer_bytes(substream); es->frag_size = snd_pcm_lib_period_bytes(substream); @@ -1312,10 +1295,9 @@ static int snd_es1968_pcm_trigger(snd_pcm_substream_t *substream, int cmd) { es1968_t *chip = snd_pcm_substream_chip(substream); - esschan_t *es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - unsigned long flags; + esschan_t *es = substream->runtime->private_data; - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock(&chip->substream_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -1336,14 +1318,14 @@ snd_es1968_bob_dec(chip); break; } - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock(&chip->substream_lock); return 0; } static snd_pcm_uframes_t snd_es1968_pcm_pointer(snd_pcm_substream_t *substream) { es1968_t *chip = snd_pcm_substream_chip(substream); - esschan_t *es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); + esschan_t *es = substream->runtime->private_data; unsigned int ptr; ptr = snd_es1968_get_dma_ptr(chip, es) << es->wav_shift; @@ -1408,8 +1390,8 @@ down(&chip->memory_mutex); list_for_each(p, &chip->buf_list) { esm_memory_t *buf = list_entry(p, esm_memory_t, list); - if (buf->empty && buf->size > max_size) - max_size = buf->size; + if (buf->empty && buf->buf.bytes > max_size) + max_size = buf->buf.bytes; } up(&chip->memory_mutex); if (max_size >= 128*1024) @@ -1427,24 +1409,25 @@ down(&chip->memory_mutex); list_for_each(p, &chip->buf_list) { buf = list_entry(p, esm_memory_t, list); - if (buf->empty && buf->size >= size) + if (buf->empty && buf->buf.bytes >= size) goto __found; } up(&chip->memory_mutex); return NULL; __found: - if (buf->size > size) { + if (buf->buf.bytes > size) { esm_memory_t *chunk = kmalloc(sizeof(*chunk), GFP_KERNEL); if (chunk == NULL) { up(&chip->memory_mutex); return NULL; } - chunk->size = buf->size - size; - chunk->buf = buf->buf + size; - chunk->addr = buf->addr + size; + chunk->buf = buf->buf; + chunk->buf.bytes -= size; + chunk->buf.area += size; + chunk->buf.addr += size; chunk->empty = 1; - buf->size = size; + buf->buf.bytes = size; list_add(&chunk->list, &buf->list); } buf->empty = 0; @@ -1462,7 +1445,7 @@ if (buf->list.prev != &chip->buf_list) { chunk = list_entry(buf->list.prev, esm_memory_t, list); if (chunk->empty) { - chunk->size += buf->size; + chunk->buf.bytes += buf->buf.bytes; list_del(&buf->list); kfree(buf); buf = chunk; @@ -1471,7 +1454,7 @@ if (buf->list.next != &chip->buf_list) { chunk = list_entry(buf->list.next, esm_memory_t, list); if (chunk->empty) { - buf->size += chunk->size; + buf->buf.bytes += chunk->buf.bytes; list_del(&chunk->list); kfree(chunk); } @@ -1485,7 +1468,7 @@ if (! chip->dma.area) return; - snd_dma_free_reserved(&chip->dma_dev); + snd_dma_reserve_buf(&chip->dma, snd_dma_pci_buf_id(chip->pci)); while ((p = chip->buf_list.next) != &chip->buf_list) { esm_memory_t *chunk = list_entry(p, esm_memory_t, list); list_del(p); @@ -1499,22 +1482,22 @@ int err; esm_memory_t *chunk; - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(chip->pci); - chip->dma_dev.id = 0; - if (! snd_dma_get_reserved(&chip->dma_dev, &chip->dma)) { - err = snd_dma_alloc_pages_fallback(&chip->dma_dev, chip->total_bufsize, &chip->dma); + chip->dma.dev.type = SNDRV_DMA_TYPE_DEV; + chip->dma.dev.dev = snd_dma_pci_data(chip->pci); + if (! snd_dma_get_reserved_buf(&chip->dma, snd_dma_pci_buf_id(chip->pci))) { + err = snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, + snd_dma_pci_data(chip->pci), + chip->total_bufsize, &chip->dma); if (err < 0 || ! chip->dma.area) { snd_printk("es1968: can't allocate dma pages for size %d\n", chip->total_bufsize); return -ENOMEM; } if ((chip->dma.addr + chip->dma.bytes - 1) & ~((1 << 28) - 1)) { - snd_dma_free_pages(&chip->dma_dev, &chip->dma); + snd_dma_free_pages(&chip->dma); snd_printk("es1968: DMA buffer beyond 256MB.\n"); return -ENOMEM; } - snd_dma_set_reserved(&chip->dma_dev, &chip->dma); } INIT_LIST_HEAD(&chip->buf_list); @@ -1525,9 +1508,10 @@ return -ENOMEM; } memset(chip->dma.area, 0, ESM_MEM_ALIGN); - chunk->buf = chip->dma.area + ESM_MEM_ALIGN; - chunk->addr = chip->dma.addr + ESM_MEM_ALIGN; - chunk->size = chip->dma.bytes - ESM_MEM_ALIGN; + chunk->buf = chip->dma; + chunk->buf.area += ESM_MEM_ALIGN; + chunk->buf.addr += ESM_MEM_ALIGN; + chunk->buf.bytes -= ESM_MEM_ALIGN; chunk->empty = 1; list_add(&chunk->list, &chip->buf_list); @@ -1541,11 +1525,11 @@ { es1968_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - esschan_t *chan = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + esschan_t *chan = runtime->private_data; int size = params_buffer_bytes(hw_params); if (chan->memory) { - if (chan->memory->size >= size) { + if (chan->memory->buf.bytes >= size) { runtime->dma_bytes = size; return 0; } @@ -1556,9 +1540,7 @@ // snd_printd("cannot allocate dma buffer: size = %d\n", size); return -ENOMEM; } - runtime->dma_bytes = size; - runtime->dma_area = chan->memory->buf; - runtime->dma_addr = chan->memory->addr; + snd_pcm_set_runtime_buffer(substream, &chan->memory->buf); return 1; /* area was changed */ } @@ -1571,7 +1553,7 @@ if (runtime->private_data == NULL) return 0; - chan = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + chan = runtime->private_data; if (chan->memory) { snd_es1968_free_memory(chip, chan->memory); chan->memory = NULL; @@ -1616,14 +1598,13 @@ snd_pcm_runtime_t *runtime = substream->runtime; esschan_t *es; int apu1; - unsigned long flags; /* search 2 APUs */ apu1 = snd_es1968_alloc_apu_pair(chip, ESM_APU_PCM_PLAY); if (apu1 < 0) return apu1; - es = snd_magic_kcalloc(esschan_t, 0, GFP_KERNEL); + es = kcalloc(1, sizeof(*es), GFP_KERNEL); if (!es) { snd_es1968_free_apu_pair(chip, apu1); return -ENOMEM; @@ -1645,9 +1626,9 @@ snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 1024); #endif - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); return 0; } @@ -1658,7 +1639,6 @@ es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; int apu1, apu2; - unsigned long flags; apu1 = snd_es1968_alloc_apu_pair(chip, ESM_APU_PCM_CAPTURE); if (apu1 < 0) @@ -1669,7 +1649,7 @@ return apu2; } - es = snd_magic_kcalloc(esschan_t, 0, GFP_KERNEL); + es = kcalloc(1, sizeof(*es), GFP_KERNEL); if (!es) { snd_es1968_free_apu_pair(chip, apu1); snd_es1968_free_apu_pair(chip, apu2); @@ -1692,10 +1672,10 @@ if ((es->mixbuf = snd_es1968_new_memory(chip, ESM_MIXBUF_SIZE)) == NULL) { snd_es1968_free_apu_pair(chip, apu1); snd_es1968_free_apu_pair(chip, apu2); - snd_magic_kfree(es); + kfree(es); return -ENOMEM; } - memset(es->mixbuf->buf, 0, ESM_MIXBUF_SIZE); + memset(es->mixbuf->buf.area, 0, ESM_MIXBUF_SIZE); runtime->private_data = es; runtime->hw = snd_es1968_capture; @@ -1705,9 +1685,9 @@ snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 1024); #endif - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); return 0; } @@ -1716,16 +1696,15 @@ { es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; - unsigned long flags; if (substream->runtime->private_data == NULL) return 0; - es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - spin_lock_irqsave(&chip->substream_lock, flags); + es = substream->runtime->private_data; + spin_lock_irq(&chip->substream_lock); list_del(&es->list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); snd_es1968_free_apu_pair(chip, es->apu[0]); - snd_magic_kfree(es); + kfree(es); return 0; } @@ -1734,18 +1713,17 @@ { es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; - unsigned long flags; if (substream->runtime->private_data == NULL) return 0; - es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - spin_lock_irqsave(&chip->substream_lock, flags); + es = substream->runtime->private_data; + spin_lock_irq(&chip->substream_lock); list_del(&es->list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); snd_es1968_free_memory(chip, es->mixbuf); snd_es1968_free_apu_pair(chip, es->apu[0]); snd_es1968_free_apu_pair(chip, es->apu[2]); - snd_magic_kfree(es); + kfree(es); return 0; } @@ -1783,7 +1761,6 @@ int i, apu; unsigned int pa, offset, t; esm_memory_t *memory; - unsigned long flags; struct timeval start_time, stop_time; if (chip->clock == 0) @@ -1800,11 +1777,11 @@ return; } - memset(memory->buf, 0, CLOCK_MEASURE_BUFSIZE); + memset(memory->buf.area, 0, CLOCK_MEASURE_BUFSIZE); - wave_set_register(chip, apu << 3, (memory->addr - 0x10) & 0xfff8); + wave_set_register(chip, apu << 3, (memory->buf.addr - 0x10) & 0xfff8); - pa = (unsigned int)((memory->addr - chip->dma.addr) >> 1); + pa = (unsigned int)((memory->buf.addr - chip->dma.addr) >> 1); pa |= 0x00400000; /* System RAM (Bit 22) */ /* initialize apu */ @@ -1820,18 +1797,18 @@ apu_set_register(chip, apu, 9, 0xD000); apu_set_register(chip, apu, 10, 0x8F08); apu_set_register(chip, apu, 11, 0x0000); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); outw(1, chip->io_port + 0x04); /* clear WP interrupts */ outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ); /* enable WP ints */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); snd_es1968_apu_set_freq(chip, apu, ((unsigned int)48000 << 16) / chip->clock); /* 48000 Hz */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); __apu_set_register(chip, apu, 5, pa & 0xffff); snd_es1968_trigger_apu(chip, apu, ESM_APU_16BITLINEAR); do_gettimeofday(&start_time); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); #if 0 set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(HZ / 20); /* 50 msec */ @@ -1842,11 +1819,11 @@ */ mdelay(50); #endif - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); offset = __apu_get_register(chip, apu, 5); do_gettimeofday(&stop_time); snd_es1968_trigger_apu(chip, apu, 0); /* stop */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); /* check the current position */ offset -= (pa & 0xffff); @@ -1879,7 +1856,7 @@ static void snd_es1968_pcm_free(snd_pcm_t *pcm) { - es1968_t *esm = snd_magic_cast(es1968_t, pcm->private_data, return); + es1968_t *esm = pcm->private_data; snd_es1968_free_dmabuf(esm); esm->pcm = NULL; } @@ -1952,7 +1929,7 @@ */ static void es1968_update_hw_volume(unsigned long private_data) { - es1968_t *chip = snd_magic_cast(es1968_t, (void*)private_data, return); + es1968_t *chip = (es1968_t *) private_data; int x, val; /* Figure out which volume control button was pushed, @@ -1990,8 +1967,6 @@ if ((val & 0xff00) < 0x1f00) val += 0x0100; } - if (val == 0x1f1f) - val |= 0x8000; snd_ac97_write_cache(chip->ac97, AC97_MASTER, val); snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->master_volume->id); @@ -2003,7 +1978,7 @@ */ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es1968_t *chip = snd_magic_cast(es1968_t, dev_id, return IRQ_NONE); + es1968_t *chip = dev_id; u32 event; if (!(event = inb(chip->io_port + 0x1A))) @@ -2042,15 +2017,16 @@ static int __devinit snd_es1968_mixer(es1968_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; snd_ctl_elem_id_t id; int err; + static ac97_bus_ops_t ops = { + .write = snd_es1968_ac97_write, + .read = snd_es1968_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_es1968_ac97_write; - bus.read = snd_es1968_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -2420,7 +2396,7 @@ */ static int es1968_suspend(snd_card_t *card, unsigned int state) { - es1968_t *chip = snd_magic_cast(es1968_t, card->pm_private_data, return -EINVAL); + es1968_t *chip = card->pm_private_data; if (! chip->do_pm) return 0; @@ -2435,7 +2411,7 @@ static int es1968_resume(snd_card_t *card, unsigned int state) { - es1968_t *chip = snd_magic_cast(es1968_t, card->pm_private_data, return -EINVAL); + es1968_t *chip = card->pm_private_data; if (! chip->do_pm) return 0; @@ -2466,12 +2442,14 @@ static int snd_es1968_free(es1968_t *chip) { - if (chip->res_io_port) { + if (chip->io_port) { synchronize_irq(chip->irq); outw(1, chip->io_port + 0x04); /* clear WP interrupts */ outw(0, chip->io_port + ESM_PORT_HOST_IRQ); /* disable IRQ */ } + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); #ifdef SUPPORT_JOYSTICK if (chip->res_joystick) { gameport_unregister_port(&chip->gameport); @@ -2482,19 +2460,14 @@ snd_es1968_set_acpi(chip, ACPI_D3); chip->master_switch = NULL; chip->master_volume = NULL; - if (chip->res_io_port) { - release_resource(chip->res_io_port); - kfree_nocheck(chip->res_io_port); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_es1968_dev_free(snd_device_t *device) { - es1968_t *chip = snd_magic_cast(es1968_t, device->device_data, return -ENXIO); + es1968_t *chip = device->device_data; return snd_es1968_free(chip); } @@ -2542,7 +2515,7 @@ return -ENXIO; } - chip = (es1968_t *) snd_magic_kcalloc(es1968_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) return -ENOMEM; @@ -2561,12 +2534,11 @@ chip->playback_streams = play_streams; chip->capture_streams = capt_streams; - chip->io_port = pci_resource_start(pci, 0); - if ((chip->res_io_port = request_region(chip->io_port, 0x100, "ESS Maestro")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->io_port, chip->io_port + 0x100 - 1); - snd_es1968_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ESS Maestro")) < 0) { + kfree(chip); + return err; } + chip->io_port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_es1968_interrupt, SA_INTERRUPT|SA_SHIRQ, "ESS Maestro", (void*)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); diff -Nru a/sound/pci/fm801.c b/sound/pci/fm801.c --- a/sound/pci/fm801.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/fm801.c 2004-08-25 19:27:40 -07:00 @@ -40,13 +40,10 @@ #define TEA575X_RADIO 1 #endif -#define chip_t fm801_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ForteMedia FM801"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ForteMedia,FM801}," +MODULE_SUPPORTED_DEVICE("{{ForteMedia,FM801}," "{Genius,SoundMaker Live 5.1}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -64,16 +61,12 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the FM801 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the FM801 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable FM801 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(tea575x_tuner, bool, boot_devs, 0444); MODULE_PARM_DESC(tea575x_tuner, "Enable TEA575x tuner."); -MODULE_PARM_SYNTAX(tea575x_tuner, SNDRV_ENABLE_DESC); /* * Direct registers @@ -161,7 +154,6 @@ int irq; unsigned long port; /* I/O port number */ - struct resource *res_port; unsigned int multichannel: 1, /* multichannel support */ secondary: 1; /* secondary codec */ unsigned char secondary_addr; /* address of the secondary codec */ @@ -233,7 +225,7 @@ unsigned short reg, unsigned short val) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return); + fm801_t *chip = ac97->private_data; int idx; /* @@ -264,7 +256,7 @@ static unsigned short snd_fm801_codec_read(ac97_t *ac97, unsigned short reg) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return -ENXIO); + fm801_t *chip = ac97->private_data; int idx; /* @@ -308,10 +300,8 @@ 38400, 44100, 48000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -336,11 +326,11 @@ { unsigned int idx; - for (idx = 0; idx < 11; idx++) + for (idx = 0; idx < ARRAY_SIZE(rates); idx++) if (rates[idx] == rate) return idx; snd_BUG(); - return RATES - 1; + return ARRAY_SIZE(rates) - 1; } /* @@ -487,42 +477,40 @@ static snd_pcm_uframes_t snd_fm801_playback_pointer(snd_pcm_substream_t * substream) { fm801_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; size_t ptr; if (!(chip->ply_ctrl & FM801_START)) return 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); ptr = chip->ply_pos + (chip->ply_count - 1) - inw(FM801_REG(chip, PLY_COUNT)); if (inw(FM801_REG(chip, IRQ_STATUS)) & FM801_IRQ_PLAYBACK) { ptr += chip->ply_count; ptr %= chip->ply_size; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(substream->runtime, ptr); } static snd_pcm_uframes_t snd_fm801_capture_pointer(snd_pcm_substream_t * substream) { fm801_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; size_t ptr; if (!(chip->cap_ctrl & FM801_START)) return 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); ptr = chip->cap_pos + (chip->cap_count - 1) - inw(FM801_REG(chip, CAP_COUNT)); if (inw(FM801_REG(chip, IRQ_STATUS)) & FM801_IRQ_CAPTURE) { ptr += chip->cap_count; ptr %= chip->cap_size; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(substream->runtime, ptr); } static irqreturn_t snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - fm801_t *chip = snd_magic_cast(fm801_t, dev_id, return IRQ_NONE); + fm801_t *chip = dev_id; unsigned short status; unsigned int tmp; @@ -680,7 +668,7 @@ static void snd_fm801_pcm_free(snd_pcm_t *pcm) { - fm801_t *chip = snd_magic_cast(fm801_t, pcm->private_data, return); + fm801_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1076,10 +1064,10 @@ int mask = (kcontrol->private_value >> 16) & 0xff; int invert = (kcontrol->private_value >> 24) & 0xff; - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); ucontrol->value.integer.value[0] = (inw(chip->port + reg) >> shift_left) & mask; ucontrol->value.integer.value[1] = (inw(chip->port + reg) >> shift_right) & mask; - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); if (invert) { ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; ucontrol->value.integer.value[1] = mask - ucontrol->value.integer.value[1]; @@ -1176,13 +1164,13 @@ static void snd_fm801_mixer_free_ac97_bus(ac97_bus_t *bus) { - fm801_t *chip = snd_magic_cast(fm801_t, bus->private_data, return); + fm801_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_fm801_mixer_free_ac97(ac97_t *ac97) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return); + fm801_t *chip = ac97->private_data; if (ac97->num == 0) { chip->ac97 = NULL; } else { @@ -1192,18 +1180,17 @@ static int __devinit snd_fm801_mixer(fm801_t *chip) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; unsigned int i; int err; + static ac97_bus_ops_t ops = { + .write = snd_fm801_codec_write, + .read = snd_fm801_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_fm801_codec_write; - bus.read = snd_fm801_codec_read; - bus.private_data = chip; - bus.private_free = snd_fm801_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_fm801_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1245,20 +1232,17 @@ #ifdef TEA575X_RADIO snd_tea575x_exit(&chip->tea); #endif - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_fm801_dev_free(snd_device_t *device) { - fm801_t *chip = snd_magic_cast(fm801_t, device->device_data, return -ENXIO); + fm801_t *chip = device->device_data; return snd_fm801_free(chip); } @@ -1279,19 +1263,18 @@ *rchip = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(fm801_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); chip->card = card; chip->pci = pci; chip->irq = -1; - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 0x80, "FM801")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->port, chip->port + 0x80 - 1); - snd_fm801_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "FM801")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_fm801_interrupt, SA_INTERRUPT|SA_SHIRQ, "FM801", (void *)chip)) { snd_printk("unable to grab IRQ %d\n", chip->irq); snd_fm801_free(chip); diff -Nru a/sound/pci/ice1712/Makefile b/sound/pci/ice1712/Makefile --- a/sound/pci/ice1712/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/Makefile 2004-08-25 19:27:40 -07:00 @@ -5,7 +5,7 @@ snd-ice17xx-ak4xxx-objs := ak4xxx.o snd-ice1712-objs := ice1712.o delta.o hoontech.o ews.o -snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o +snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o vt1720_mobo.o pontis.o # Toplevel Module Dependency obj-$(CONFIG_SND_ICE1712) += snd-ice1712.o snd-ice17xx-ak4xxx.o diff -Nru a/sound/pci/ice1712/ak4xxx.c b/sound/pci/ice1712/ak4xxx.c --- a/sound/pci/ice1712/ak4xxx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ak4xxx.c 2004-08-25 19:27:40 -07:00 @@ -33,7 +33,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); static void snd_ice1712_akm4xxx_lock(akm4xxx_t *ak, int chip) { diff -Nru a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c --- a/sound/pci/ice1712/aureon.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/aureon.c 2004-08-25 19:27:40 -07:00 @@ -75,7 +75,7 @@ #define WM_DAC_ATTEN 0x00 /* DAC1-8 analog attenuation */ #define WM_DAC_MASTER_ATTEN 0x08 /* DAC master analog attenuation */ #define WM_DAC_DIG_ATTEN 0x09 /* DAC1-8 digital attenuation */ -#define WM_DAC_DIG_MATER_ATTEN 0x11 /* DAC master digital attenuation */ +#define WM_DAC_DIG_MASTER_ATTEN 0x11 /* DAC master digital attenuation */ #define WM_PHASE_SWAP 0x12 /* DAC phase */ #define WM_DAC_CTRL1 0x13 /* DAC control bits */ #define WM_MUTE 0x14 /* mute controls */ @@ -149,20 +149,27 @@ } /* + * set the register value of WM codec + */ +static void wm_put_nocache(ice1712_t *ice, int reg, unsigned short val) +{ + aureon_spi_write(ice, AUREON_WM_CS, (reg << 9) | (val & 0x1ff), 16); +} + +/* * set the register value of WM codec and remember it */ static void wm_put(ice1712_t *ice, int reg, unsigned short val) { - aureon_spi_write(ice, AUREON_WM_CS, (reg << 9) | (val & 0x1ff), 16); + wm_put_nocache(ice, reg, val); reg <<= 1; ice->akm[0].images[reg] = val >> 8; ice->akm[0].images[reg + 1] = val; } /* - * DAC mute control */ -static int wm_dac_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) +static int aureon_mono_bool_info(snd_kcontrol_t *k, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; uinfo->count = 1; @@ -171,6 +178,11 @@ return 0; } +/* + * DAC mute control + */ +#define wm_dac_mute_info aureon_mono_bool_info + static int wm_dac_mute_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); @@ -205,9 +217,10 @@ */ static int wm_dac_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { + int voices = kcontrol->private_value >> 8; uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; - uinfo->count = 1; - uinfo->value.integer.min = 0; /* mute */ + uinfo->count = voices; + uinfo->value.integer.min = 0; /* mute (-101dB) */ uinfo->value.integer.max = 101; /* 0dB */ return 0; } @@ -215,19 +228,20 @@ static int wm_dac_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx, ofs, voices; unsigned short vol; + voices = kcontrol->private_value >> 8; + ofs = kcontrol->private_value & 0xff; down(&ice->gpio_mutex); - if (kcontrol->private_value) - idx = WM_DAC_MASTER_ATTEN; - else - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_DAC_ATTEN; - vol = wm_get(ice, idx) & 0x7f; - if (vol <= 0x1a) - ucontrol->value.integer.value[0] = 0; - else - ucontrol->value.integer.value[0] = vol - 0x1a; + for (i = 0; i < voices; i++) { + idx = WM_DAC_ATTEN + ofs + i; + vol = wm_get(ice, idx) & 0x7f; + if (vol <= 0x1a) + ucontrol->value.integer.value[i] = 0; + else + ucontrol->value.integer.value[i] = vol - 0x1a; + } up(&ice->gpio_mutex); return 0; } @@ -235,23 +249,69 @@ static int wm_dac_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx, ofs, voices; unsigned short ovol, nvol; - int change; + int change = 0; + voices = kcontrol->private_value >> 8; + ofs = kcontrol->private_value & 0xff; snd_ice1712_save_gpio_status(ice); - if (kcontrol->private_value) - idx = WM_DAC_MASTER_ATTEN; - else - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_DAC_ATTEN; - nvol = ucontrol->value.integer.value[0] + 0x1a; - ovol = wm_get(ice, idx) & 0x7f; - change = (ovol != nvol); - if (change) { - if (nvol <= 0x1a && ovol <= 0x1a) - change = 0; - else - wm_put(ice, idx, nvol | 0x180); /* update on zero detect */ + for (i = 0; i < voices; i++) { + idx = WM_DAC_ATTEN + ofs + i; + nvol = ucontrol->value.integer.value[i] + 0x1a; + ovol = wm_get(ice, idx) & 0x7f; + if (ovol != nvol) { + if (nvol <= 0x1a && ovol <= 0x1a) + continue; + wm_put(ice, idx, nvol | 0x80); /* zero-detect, prelatch */ + wm_put_nocache(ice, idx, nvol | 0x180); /* update */ + change = 1; + } + } + snd_ice1712_restore_gpio_status(ice); + return change; +} + +/* digital master volume */ +#define MASTER_0dB 0xff +#define MASTER_RES 128 /* -64dB */ +#define MASTER_MIN (MASTER_0dB - MASTER_RES) +static int wm_master_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 1; + uinfo->value.integer.min = 0; /* mute (-64dB) */ + uinfo->value.integer.max = MASTER_RES; /* 0dB */ + return 0; +} + +static int wm_master_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val; + + down(&ice->gpio_mutex); + val = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff; + val = val > MASTER_MIN ? (val - MASTER_MIN) : 0; + ucontrol->value.integer.value[0] = val; + up(&ice->gpio_mutex); + return 0; +} + +static int wm_master_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short ovol, nvol; + int change = 0; + + snd_ice1712_save_gpio_status(ice); + nvol = ucontrol->value.integer.value[0]; + nvol = (nvol ? (nvol + MASTER_MIN) : 0) & 0xff; + ovol = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff; + if (ovol != nvol) { + wm_put(ice, WM_DAC_DIG_MASTER_ATTEN, nvol); /* prelatch */ + wm_put_nocache(ice, WM_DAC_DIG_MASTER_ATTEN, nvol | 0x100); /* update */ + change = 1; } snd_ice1712_restore_gpio_status(ice); return change; @@ -260,10 +320,10 @@ /* * ADC mute control */ -static int wm_adc_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) +static int wm_adc_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.integer.min = 0; uinfo->value.integer.max = 1; return 0; @@ -273,10 +333,13 @@ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned short val; + int i; down(&ice->gpio_mutex); - val = wm_get(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN); - ucontrol->value.integer.value[0] = ~val>>5 & 0x1; + for (i = 0; i < 2; i++) { + val = wm_get(ice, WM_ADC_GAIN + i); + ucontrol->value.integer.value[i] = ~val>>5 & 0x1; + } up(&ice->gpio_mutex); return 0; } @@ -285,14 +348,17 @@ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned short new, old; - int change; + int i, change = 0; snd_ice1712_save_gpio_status(ice); - old = wm_get(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN); - new = (~ucontrol->value.integer.value[0]<<5&0x20) | (old&~0x20); - change = (new != old); - if (change) - wm_put(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN, new); + for (i = 0; i < 2; i++) { + old = wm_get(ice, WM_ADC_GAIN + i); + new = (~ucontrol->value.integer.value[i]<<5&0x20) | (old&~0x20); + if (new != old) { + wm_put(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN, new); + change = 1; + } + } snd_ice1712_restore_gpio_status(ice); return change; @@ -304,7 +370,7 @@ static int wm_adc_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.integer.min = 0; /* -12dB */ uinfo->value.integer.max = 0x1f; /* 19dB */ return 0; @@ -313,13 +379,15 @@ static int wm_adc_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx; unsigned short vol; down(&ice->gpio_mutex); - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_ADC_GAIN; - vol = wm_get(ice, idx) & 0x1f; - ucontrol->value.integer.value[0] = vol; + for (i = 0; i < 2; i++) { + idx = WM_ADC_GAIN + i; + vol = wm_get(ice, idx) & 0x1f; + ucontrol->value.integer.value[i] = vol; + } up(&ice->gpio_mutex); return 0; } @@ -327,17 +395,20 @@ static int wm_adc_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx; unsigned short ovol, nvol; - int change; + int change = 0; snd_ice1712_save_gpio_status(ice); - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_ADC_GAIN; - nvol = ucontrol->value.integer.value[0]; - ovol = wm_get(ice, idx); - change = ((ovol & 0x1f) != nvol); - if (change) - wm_put(ice, idx, nvol | (ovol & ~0x1f)); + for (i = 0; i < 2; i++) { + idx = WM_ADC_GAIN + i; + nvol = ucontrol->value.integer.value[i]; + ovol = wm_get(ice, idx); + if ((ovol & 0x1f) != nvol) { + wm_put(ice, idx, nvol | (ovol & ~0x1f)); + change = 1; + } + } snd_ice1712_restore_gpio_status(ice); return change; } @@ -355,7 +426,7 @@ "AC97" //AIN5 }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.enumerated.items = 5; if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; @@ -420,14 +491,7 @@ return ( tmp & AUREON_HP_SEL )!= 0; } -static int aureon_bool_info(snd_kcontrol_t *k, snd_ctl_elem_info_t *uinfo) -{ - uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; - uinfo->count = 1; - uinfo->value.integer.min = 0; - uinfo->value.integer.max = 1; - return 0; -} +#define aureon_hpamp_info aureon_mono_bool_info static int aureon_hpamp_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { @@ -448,6 +512,9 @@ /* * Deemphasis */ + +#define aureon_deemp_info aureon_mono_bool_info + static int aureon_deemp_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); @@ -519,44 +586,67 @@ * mixers */ -static snd_kcontrol_new_t aureon51_dac_control __devinitdata = { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DAC Volume", - .count = 6, - .info = wm_dac_vol_info, - .get = wm_dac_vol_get, - .put = wm_dac_vol_put, -}; - -static snd_kcontrol_new_t aureon71_dac_control __devinitdata = { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DAC Volume", - .count = 8, - .info = wm_dac_vol_info, - .get = wm_dac_vol_get, - .put = wm_dac_vol_put, -}; - -static snd_kcontrol_new_t wm_controls[] __devinitdata = { +static snd_kcontrol_new_t aureon_dac_controls[] __devinitdata = { { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Master Playback Switch", - .info = wm_dac_mute_info, - .get = wm_dac_mute_get, - .put = wm_dac_mute_put, + .name = "Front Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (2 << 8) | 0 }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Master Playback Volume", + .name = "Rear Playback Volume", .info = wm_dac_vol_info, .get = wm_dac_vol_get, .put = wm_dac_vol_put, - .private_value = 1, + .private_value = (2 << 8) | 2 }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "ADC Switch", - .count = 2, + .name = "Center Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (1 << 8) | 4 + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "LFE Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (1 << 8) | 5 + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Side Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (2 << 8) | 6 + } +}; + +static snd_kcontrol_new_t wm_controls[] __devinitdata = { + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Master Playback Switch", + .info = wm_dac_mute_info, + .get = wm_dac_mute_get, + .put = wm_dac_mute_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Master Playback Volume", + .info = wm_master_vol_info, + .get = wm_master_vol_get, + .put = wm_master_vol_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Capture Switch", .info = wm_adc_mute_info, .get = wm_adc_mute_get, .put = wm_adc_mute_put, @@ -564,15 +654,14 @@ }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "ADC Volume", - .count = 2, + .name = "Capture Volume", .info = wm_adc_vol_info, .get = wm_adc_vol_get, .put = wm_adc_vol_put, }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Capture Route", + .name = "Capture Source", .info = wm_adc_mux_info, .get = wm_adc_mux_get, .put = wm_adc_mux_put, @@ -580,14 +669,14 @@ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "Headphone Amplifier Switch", - .info = aureon_bool_info, + .info = aureon_hpamp_info, .get = aureon_hpamp_get, .put = aureon_hpamp_put }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DAC Deemphasis Switch", - .info = aureon_bool_info, + .info = aureon_deemp_info, .get = aureon_deemp_get, .put = aureon_deemp_put }, @@ -603,15 +692,17 @@ static int __devinit aureon_add_controls(ice1712_t *ice) { - unsigned int i; + unsigned int i, counts; int err; + counts = ARRAY_SIZE(aureon_dac_controls); if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) - err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon51_dac_control, ice)); - else - err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon71_dac_control, ice)); - if (err < 0) - return err; + counts--; /* no side */ + for (i = 0; i < counts; i++) { + err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon_dac_controls[i], ice)); + if (err < 0) + return err; + } for (i = 0; i < ARRAY_SIZE(wm_controls); i++) { err = snd_ctl_add(ice->card, snd_ctl_new1(&wm_controls[i], ice)); @@ -718,15 +809,15 @@ if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) { ice->num_total_dacs = 6; - ice->num_total_adcs = 6; + ice->num_total_adcs = 2; } else { /* aureon 7.1 and prodigy 7.1 */ ice->num_total_dacs = 8; - ice->num_total_adcs = 8; + ice->num_total_adcs = 2; } /* to remeber the register values */ - ice->akm = snd_kcalloc(sizeof(akm4xxx_t), GFP_KERNEL); + ice->akm = kcalloc(1, sizeof(akm4xxx_t), GFP_KERNEL); if (! ice->akm) return -ENOMEM; ice->akm_codecs = 1; @@ -780,7 +871,7 @@ */ static unsigned char aureon51_eeprom[] __devinitdata = { - 0x2a, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 3DACs */ + 0x0a, /* SYSCONF: clock 512, spdif-in/ADC, 3DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -796,7 +887,7 @@ }; static unsigned char aureon71_eeprom[] __devinitdata = { - 0x2b, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 4DACs */ + 0x0b, /* SYSCONF: clock 512, spdif-in/ADC, 4DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -812,7 +903,7 @@ }; static unsigned char prodigy71_eeprom[] __devinitdata = { - 0x2b, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 4DACs */ + 0x0b, /* SYSCONF: clock 512, spdif-in/ADC, 4DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -837,6 +928,7 @@ .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon51_eeprom), .eeprom_data = aureon51_eeprom, + .driver = "Aureon51", }, { .subvendor = VT1724_SUBDEVICE_AUREON71_SPACE, @@ -846,6 +938,7 @@ .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon71_eeprom), .eeprom_data = aureon71_eeprom, + .driver = "Aureon71", }, { .subvendor = VT1724_SUBDEVICE_AUREON71_UNIVERSE, @@ -855,6 +948,7 @@ .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon71_eeprom), .eeprom_data = aureon71_eeprom, + .driver = "Aureon71", }, { .subvendor = VT1724_SUBDEVICE_PRODIGY71, @@ -864,6 +958,7 @@ .build_controls = aureon_add_controls, .eeprom_size = sizeof(prodigy71_eeprom), .eeprom_data = prodigy71_eeprom, + .driver = "Prodigy71", /* should be identical with Aureon71 */ }, { } /* terminator */ }; diff -Nru a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c --- a/sound/pci/ice1712/delta.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/delta.c 2004-08-25 19:27:40 -07:00 @@ -126,7 +126,7 @@ /* sequential write */ static int ap_cs8427_sendbytes(snd_i2c_device_t *device, unsigned char *bytes, int count) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->bus->private_data, return -EIO); + ice1712_t *ice = device->bus->private_data; int res = count; unsigned char tmp; @@ -143,7 +143,7 @@ /* sequential read */ static int ap_cs8427_readbytes(snd_i2c_device_t *device, unsigned char *bytes, int count) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->bus->private_data, return -EIO); + ice1712_t *ice = device->bus->private_data; int res = count; unsigned char tmp; diff -Nru a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c --- a/sound/pci/ice1712/ews.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ews.c 2004-08-25 19:27:40 -07:00 @@ -45,7 +45,7 @@ /* send SDA and SCL */ static void ewx_i2c_setlines(snd_i2c_bus_t *bus, int clk, int data) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char tmp = 0; if (clk) tmp |= ICE1712_EWX2496_SERIAL_CLOCK; @@ -57,13 +57,13 @@ static int ewx_i2c_getclock(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return -EIO); + ice1712_t *ice = bus->private_data; return snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA) & ICE1712_EWX2496_SERIAL_CLOCK ? 1 : 0; } static int ewx_i2c_getdata(snd_i2c_bus_t *bus, int ack) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return -EIO); + ice1712_t *ice = bus->private_data; int bit; /* set RW pin to low */ snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ~ICE1712_EWX2496_RW); @@ -80,7 +80,7 @@ static void ewx_i2c_start(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char mask; snd_ice1712_save_gpio_status(ice); @@ -99,13 +99,13 @@ static void ewx_i2c_stop(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; snd_ice1712_restore_gpio_status(ice); } static void ewx_i2c_direction(snd_i2c_bus_t *bus, int clock, int data) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char mask = 0; if (clock) @@ -223,6 +223,7 @@ switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: snd_runtime_check(snd_i2c_sendbytes(ice->cs8404, &bits, 1) == 1, goto _error); break; case ICE1712_SUBDEVICE_EWS88D: @@ -410,6 +411,7 @@ break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: ice->num_total_dacs = 8; ice->num_total_adcs = 8; break; @@ -440,6 +442,7 @@ break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: if ((err = snd_i2c_device_create(ice->i2c, "CS8404", ICE1712_EWS88MT_CS8404_ADDR, &ice->cs8404)) < 0) return err; if ((err = snd_i2c_device_create(ice->i2c, "PCF8574 (1st)", ICE1712_EWS88MT_INPUT_ADDR, &ice->i2cdevs[0])) < 0) @@ -470,6 +473,7 @@ break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: case ICE1712_SUBDEVICE_EWS88D: /* set up CS8404 */ ice->spdif.ops.open = ews88_open_spdif; @@ -498,6 +502,7 @@ switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice); break; case ICE1712_SUBDEVICE_EWX2496: @@ -924,6 +929,7 @@ case ICE1712_SUBDEVICE_EWX2496: case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: case ICE1712_SUBDEVICE_DMX6FIRE: err = snd_ice1712_akm4xxx_build_controls(ice); if (err < 0) @@ -942,6 +948,7 @@ break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice)); if (err < 0) return err; @@ -988,6 +995,13 @@ .subvendor = ICE1712_SUBDEVICE_EWS88MT_NEW, .name = "TerraTec EWS88MT", .model = "ews88mt_new", + .chip_init = snd_ice1712_ews_init, + .build_controls = snd_ice1712_ews_add_controls, + }, + { + .subvendor = ICE1712_SUBDEVICE_PHASE88, + .name = "TerraTec Phase88", + .model = "phase88", .chip_init = snd_ice1712_ews_init, .build_controls = snd_ice1712_ews_add_controls, }, diff -Nru a/sound/pci/ice1712/ews.h b/sound/pci/ice1712/ews.h --- a/sound/pci/ice1712/ews.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ews.h 2004-08-25 19:27:40 -07:00 @@ -29,13 +29,15 @@ "{TerraTec,EWX 24/96},"\ "{TerraTec,EWS 88MT},"\ "{TerraTec,EWS 88D},"\ - "{TerraTec,DMX 6Fire}," + "{TerraTec,DMX 6Fire},"\ + "{TerraTec,Phase 88}," #define ICE1712_SUBDEVICE_EWX2496 0x3b153011 #define ICE1712_SUBDEVICE_EWS88MT 0x3b151511 #define ICE1712_SUBDEVICE_EWS88MT_NEW 0x3b152511 #define ICE1712_SUBDEVICE_EWS88D 0x3b152b11 #define ICE1712_SUBDEVICE_DMX6FIRE 0x3b153811 +#define ICE1712_SUBDEVICE_PHASE88 0x3b155111 /* entry point */ extern struct snd_ice1712_card_info snd_ice1712_ews_cards[]; diff -Nru a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c --- a/sound/pci/ice1712/ice1712.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ice1712.c 2004-08-25 19:27:40 -07:00 @@ -73,8 +73,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ICEnsemble ICE1712 (Envy24)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{" +MODULE_SUPPORTED_DEVICE("{" HOONTECH_DEVICE_DESC DELTA_DEVICE_DESC EWS_DEVICE_DESC @@ -91,19 +90,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ICE1712 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ICE1712 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ICE1712 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(omni, bool, boot_devs, 0444); MODULE_PARM_DESC(omni, "Enable Midiman M-Audio Delta Omni I/O support."); -MODULE_PARM_SYNTAX(omni, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(cs8427_timeout, int, boot_devs, 0444); MODULE_PARM_DESC(cs8427_timeout, "Define reset timeout for cs8427 chip in msec resolution."); -MODULE_PARM_SYNTAX(cs8427_timeout, SNDRV_ENABLED ", allows:{{1,1000}},default=500,skill:advanced"); module_param_array(model, charp, boot_devs, 0444); MODULE_PARM_DESC(model, "Use the given board model."); @@ -416,7 +410,7 @@ static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return IRQ_NONE); + ice1712_t *ice = dev_id; unsigned char status; int handled = 0; @@ -590,7 +584,7 @@ rate = (runtime->rate * 8192) / 375; if (rate > 0x000fffff) rate = 0x000fffff; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outb(0, ice->ddma_port + 15); outb(ICE1712_DMA_MODE_WRITE | ICE1712_DMA_AUTOINIT, ice->ddma_port + 0x0b); outl(runtime->dma_addr, ice->ddma_port + 0); @@ -603,7 +597,7 @@ snd_ice1712_write(ice, ICE1712_IREG_PBK_COUNT_HI, period_size >> 8); snd_ice1712_write(ice, ICE1712_IREG_PBK_LEFT, 0); snd_ice1712_write(ice, ICE1712_IREG_PBK_RIGHT, 0); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -626,7 +620,7 @@ ice->playback_con_active_buf[substream->number] = 0; ice->playback_con_virt_addr[substream->number] = runtime->dma_addr; chn = substream->number * 2; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_ADDR0, runtime->dma_addr); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_COUNT0, period_size); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_ADDR1, runtime->dma_addr + (runtime->periods > 1 ? period_size + 1 : 0)); @@ -638,7 +632,7 @@ snd_ice1712_ds_write(ice, chn + 1, ICE1712_DSC_RATE, rate); snd_ice1712_ds_write(ice, chn + 1, ICE1712_DSC_VOLUME, 0); } - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -656,13 +650,13 @@ tmp &= ~0x04; if (runtime->channels == 2) tmp &= ~0x02; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(ice->capture_con_virt_addr = runtime->dma_addr, ICEREG(ice, CONCAP_ADDR)); outw(buf_size, ICEREG(ice, CONCAP_COUNT)); snd_ice1712_write(ice, ICE1712_IREG_CAP_COUNT_HI, period_size >> 8); snd_ice1712_write(ice, ICE1712_IREG_CAP_COUNT_LO, period_size & 0xff); snd_ice1712_write(ice, ICE1712_IREG_CAP_CTRL, tmp); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); snd_ac97_set_rate(ice->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate); return 0; } @@ -874,7 +868,7 @@ static void snd_ice1712_pcm_free(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -912,7 +906,7 @@ static void snd_ice1712_pcm_free_ds(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm_ds = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -952,10 +946,8 @@ static unsigned int rates[] = { 8000, 9600, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -1077,11 +1069,11 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); ice->playback_pro_size = snd_pcm_lib_buffer_bytes(substream); - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ICEMT(ice, PLAYBACK_ADDR)); outw((ice->playback_pro_size >> 2) - 1, ICEMT(ice, PLAYBACK_SIZE)); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ICEMT(ice, PLAYBACK_COUNT)); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -1100,11 +1092,11 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); ice->capture_pro_size = snd_pcm_lib_buffer_bytes(substream); - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ICEMT(ice, CAPTURE_ADDR)); outw((ice->capture_pro_size >> 2) - 1, ICEMT(ice, CAPTURE_SIZE)); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ICEMT(ice, CAPTURE_COUNT)); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -1238,7 +1230,7 @@ static void snd_ice1712_pcm_profi_free(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm_pro = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1511,21 +1503,26 @@ static void snd_ice1712_mixer_free_ac97(ac97_t *ac97) { - ice1712_t *ice = snd_magic_cast(ice1712_t, ac97->private_data, return); + ice1712_t *ice = ac97->private_data; ice->ac97 = NULL; } static int __devinit snd_ice1712_ac97_mixer(ice1712_t * ice) { - int err; - ac97_t ac97; - ac97_bus_t bus, *pbus; + int err, bus_num = 0; + ac97_template_t ac97; + ac97_bus_t *pbus; + static ac97_bus_ops_t con_ops = { + .write = snd_ice1712_ac97_write, + .read = snd_ice1712_ac97_read, + }; + static ac97_bus_ops_t pro_ops = { + .write = snd_ice1712_pro_ac97_write, + .read = snd_ice1712_pro_ac97_read, + }; if (ice_has_con_ac97(ice)) { - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ice1712_ac97_write; - bus.read = snd_ice1712_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, bus_num++, &con_ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1540,10 +1537,7 @@ } if (! (ice->eeprom.data[ICE_EEP1_ACLINK] & ICE1712_CFG_PRO_I2S)) { - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ice1712_pro_ac97_write; - bus.read = snd_ice1712_pro_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, bus_num, &pro_ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1570,7 +1564,7 @@ static void snd_ice1712_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ice1712_t *ice = snd_magic_cast(ice1712_t, entry->private_data, return); + ice1712_t *ice = entry->private_data; unsigned int idx; snd_iprintf(buffer, "%s\n\n", ice->card->longname); @@ -2468,7 +2462,7 @@ static int snd_ice1712_free(ice1712_t *ice) { - if (ice->res_port == NULL) + if (! ice->port) goto __hw_end; /* mask all interrupts */ outb(0xc0, ICEMT(ice, IRQ)); @@ -2479,30 +2473,16 @@ synchronize_irq(ice->irq); free_irq(ice->irq, (void *) ice); } - if (ice->res_port) { - release_resource(ice->res_port); - kfree_nocheck(ice->res_port); - } - if (ice->res_ddma_port) { - release_resource(ice->res_ddma_port); - kfree_nocheck(ice->res_ddma_port); - } - if (ice->res_dmapath_port) { - release_resource(ice->res_dmapath_port); - kfree_nocheck(ice->res_dmapath_port); - } - if (ice->res_profi_port) { - release_resource(ice->res_profi_port); - kfree_nocheck(ice->res_profi_port); - } + if (ice->port) + pci_release_regions(ice->pci); snd_ice1712_akm4xxx_free(ice); - snd_magic_kfree(ice); + kfree(ice); return 0; } static int snd_ice1712_dev_free(snd_device_t *device) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->device_data, return -ENXIO); + ice1712_t *ice = device->device_data; return snd_ice1712_free(ice); } @@ -2531,7 +2511,7 @@ return -ENXIO; } - ice = snd_magic_kcalloc(ice1712_t, 0, GFP_KERNEL); + ice = kcalloc(1, sizeof(*ice), GFP_KERNEL); if (ice == NULL) return -ENOMEM; ice->omni = omni ? 1 : 0; @@ -2555,36 +2535,21 @@ ice->card = card; ice->pci = pci; ice->irq = -1; - ice->port = pci_resource_start(pci, 0); - ice->ddma_port = pci_resource_start(pci, 1); - ice->dmapath_port = pci_resource_start(pci, 2); - ice->profi_port = pci_resource_start(pci, 3); pci_set_master(pci); pci_write_config_word(ice->pci, 0x40, 0x807f); pci_write_config_word(ice->pci, 0x42, 0x0006); snd_ice1712_proc_init(ice); synchronize_irq(pci->irq); - if ((ice->res_port = request_region(ice->port, 32, "ICE1712 - Controller")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->port, ice->port + 32 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_ddma_port = request_region(ice->ddma_port, 16, "ICE1712 - DDMA")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->ddma_port, ice->ddma_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_dmapath_port = request_region(ice->dmapath_port, 16, "ICE1712 - DMA path")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->dmapath_port, ice->dmapath_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_profi_port = request_region(ice->profi_port, 64, "ICE1712 - Professional")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->profi_port, ice->profi_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; + if ((err = pci_request_regions(pci, "ICE1712")) < 0) { + kfree(ice); + return err; } + ice->port = pci_resource_start(pci, 0); + ice->ddma_port = pci_resource_start(pci, 1); + ice->dmapath_port = pci_resource_start(pci, 2); + ice->profi_port = pci_resource_start(pci, 3); + if (request_irq(pci->irq, snd_ice1712_interrupt, SA_INTERRUPT|SA_SHIRQ, "ICE1712", (void *) ice)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_ice1712_free(ice); diff -Nru a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h --- a/sound/pci/ice1712/ice1712.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ice1712.h 2004-08-25 19:27:40 -07:00 @@ -294,13 +294,9 @@ int irq; unsigned long port; - struct resource *res_port; unsigned long ddma_port; - struct resource *res_ddma_port; unsigned long dmapath_port; - struct resource *res_dmapath_port; unsigned long profi_port; - struct resource *res_profi_port; struct pci_dev *pci; snd_card_t *card; @@ -367,8 +363,6 @@ } gpio; struct semaphore gpio_mutex; }; - -#define chip_t ice1712_t /* diff -Nru a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c --- a/sound/pci/ice1712/ice1724.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/ice1724.c 2004-08-25 19:27:40 -07:00 @@ -44,16 +44,19 @@ #include "amp.h" #include "revo.h" #include "aureon.h" +#include "vt1720_mobo.h" +#include "pontis.h" MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("VIA ICEnsemble ICE1724/1720 (Envy24HT/PT)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{" +MODULE_SUPPORTED_DEVICE("{" REVO_DEVICE_DESC AMP_AUDIO2000_DEVICE_DESC AUREON_DEVICE_DESC + VT1720_MOBO_DEVICE_DESC + PONTIS_DEVICE_DESC "{VIA,VT1720}," "{VIA,VT1724}," "{ICEnsemble,Generic ICE1724}," @@ -68,13 +71,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ICE1724 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ICE1724 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ICE1724 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(model, charp, boot_devs, 0444); MODULE_PARM_DESC(model, "Use the given board model."); @@ -190,21 +190,26 @@ static void snd_vt1724_set_gpio_mask(ice1712_t *ice, unsigned int data) { outw(data, ICEREG1724(ice, GPIO_WRITE_MASK)); - outb((data >> 16) & 0xff, ICEREG1724(ice, GPIO_WRITE_MASK_22)); + if (! ice->vt1720) /* VT1720 supports only 16 GPIO bits */ + outb((data >> 16) & 0xff, ICEREG1724(ice, GPIO_WRITE_MASK_22)); inw(ICEREG1724(ice, GPIO_WRITE_MASK)); /* dummy read for pci-posting */ } static void snd_vt1724_set_gpio_data(ice1712_t *ice, unsigned int data) { outw(data, ICEREG1724(ice, GPIO_DATA)); - outb(data >> 16, ICEREG1724(ice, GPIO_DATA_22)); + if (! ice->vt1720) + outb(data >> 16, ICEREG1724(ice, GPIO_DATA_22)); inw(ICEREG1724(ice, GPIO_DATA)); /* dummy read for pci-posting */ } static unsigned int snd_vt1724_get_gpio_data(ice1712_t *ice) { unsigned int data; - data = (unsigned int)inb(ICEREG1724(ice, GPIO_DATA_22)); + if (! ice->vt1720) + data = (unsigned int)inb(ICEREG1724(ice, GPIO_DATA_22)); + else + data = 0; data = (data << 16) | inw(ICEREG1724(ice, GPIO_DATA)); return data; } @@ -215,7 +220,7 @@ static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return IRQ_NONE); + ice1712_t *ice = dev_id; unsigned char status; int handled = 0; @@ -230,7 +235,7 @@ if ((status & VT1724_IRQ_MPU_RX)||(status & VT1724_IRQ_MPU_TX)) { if (ice->rmidi[0]) snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data, regs); - outb(VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX, ICEREG1724(ice, IRQSTAT)); + outb(status & (VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX), ICEREG1724(ice, IRQSTAT)); status &= ~(VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX); } if (status & VT1724_IRQ_MTPCM) { @@ -317,6 +322,13 @@ .mask = 0, }; +struct vt1724_pcm_reg { + unsigned int addr; /* ADDR register offset */ + unsigned int size; /* SIZE register offset */ + unsigned int count; /* COUNT register offset */ + unsigned int start; /* start & pause bit */ +}; + static int snd_vt1724_pcm_trigger(snd_pcm_substream_t *substream, int cmd) { ice1712_t *ice = snd_pcm_substream_chip(substream); @@ -327,8 +339,10 @@ what = 0; snd_pcm_group_for_each(pos, substream) { + struct vt1724_pcm_reg *reg; s = snd_pcm_group_substream_entry(pos); - what |= (unsigned long)(s->runtime->private_data); + reg = s->runtime->private_data; + what |= reg->start; snd_pcm_trigger_done(s, substream); } @@ -371,12 +385,26 @@ #define DMA_PAUSES (VT1724_RDMA0_PAUSE|VT1724_PDMA0_PAUSE|VT1724_RDMA1_PAUSE|\ VT1724_PDMA1_PAUSE|VT1724_PDMA2_PAUSE|VT1724_PDMA3_PAUSE|VT1724_PDMA4_PAUSE) +static int get_max_rate(ice1712_t *ice) +{ + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { + if ((ice->eeprom.data[ICE_EEP2_I2S] & 0x08) && !ice->vt1720) + return 192000; + else + return 96000; + } else + return 48000; +} + static void snd_vt1724_set_pro_rate(ice1712_t *ice, unsigned int rate, int force) { unsigned long flags; unsigned char val, old; unsigned int i; + if (rate > get_max_rate(ice)) + return; + spin_lock_irqsave(&ice->reg_lock, flags); if ((inb(ICEMT1724(ice, DMA_CONTROL)) & DMA_STARTS) || (inb(ICEMT1724(ice, DMA_PAUSE)) & DMA_PAUSES)) { @@ -410,6 +438,8 @@ val = 0; break; } + old = inb(ICEMT1724(ice, RATE)); + val |= (old & 0xf0); outb(val, ICEMT1724(ice, RATE)); if (rate == ice->cur_rate) { spin_unlock_irqrestore(&ice->reg_lock, flags); @@ -419,7 +449,7 @@ ice->cur_rate = rate; /* check MT02 */ - if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) { + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { val = old = inb(ICEMT1724(ice, I2S_FORMAT)); if (rate > 96000) val |= VT1724_MT_I2S_MCLK_128X; /* 128x MCLK */ @@ -446,15 +476,6 @@ if (ice->akm[i].ops.set_rate_val) ice->akm[i].ops.set_rate_val(&ice->akm[i], rate); } - - /* set up AC97 registers if needed */ - if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) && ice->ac97) { - snd_ac97_set_rate(ice->ac97, AC97_PCM_FRONT_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_SURR_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_LFE_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_SPDIF, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_LR_ADC_RATE, rate); - } } static int snd_vt1724_pcm_hw_params(snd_pcm_substream_t * substream, @@ -518,7 +539,7 @@ unsigned char val; unsigned int size; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); val = (8 - substream->runtime->channels) >> 1; outb(val, ICEMT1724(ice, BURST)); @@ -533,7 +554,7 @@ outw(size, ICEMT1724(ice, PLAYBACK_COUNT)); outb(size >> 16, ICEMT1724(ice, PLAYBACK_COUNT) + 2); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); // printk("pro prepare: ch = %d, addr = 0x%x, buffer = 0x%x, period = 0x%x\n", substream->runtime->channels, (unsigned int)substream->runtime->dma_addr, snd_pcm_lib_buffer_bytes(substream), snd_pcm_lib_period_bytes(substream)); return 0; @@ -562,7 +583,9 @@ ptr = inl(ICEMT1724(ice, PLAYBACK_SIZE)) & 0xffffff; ptr = (ptr + 1) << 2; ptr = bytes_to_frames(substream->runtime, ptr); - if (ptr <= substream->runtime->buffer_size) + if (! ptr) + ; + else if (ptr <= substream->runtime->buffer_size) ptr = substream->runtime->buffer_size - ptr; else { snd_printd("ice1724: invalid ptr %d (size=%d)\n", (int)ptr, (int)substream->runtime->buffer_size); @@ -572,29 +595,23 @@ return ptr; } -struct vt1724_pcm_reg { - unsigned int addr; /* ADDR register offset */ - unsigned int size; /* SIZE register offset */ - unsigned int count; /* COUNT register offset */ - unsigned int start; /* start bit */ - unsigned int pause; /* pause bit */ -}; - -static int snd_vt1724_pcm_prepare(snd_pcm_substream_t *substream, const struct vt1724_pcm_reg *reg) +static int snd_vt1724_pcm_prepare(snd_pcm_substream_t *substream) { ice1712_t *ice = snd_pcm_substream_chip(substream); + struct vt1724_pcm_reg *reg = substream->runtime->private_data; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ice->profi_port + reg->addr); outw((snd_pcm_lib_buffer_bytes(substream) >> 2) - 1, ice->profi_port + reg->size); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ice->profi_port + reg->count); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } -static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream, const struct vt1724_pcm_reg *reg) +static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream) { ice1712_t *ice = snd_pcm_substream_chip(substream); + struct vt1724_pcm_reg *reg = substream->runtime->private_data; size_t ptr; if (!(inl(ICEMT1724(ice, DMA_CONTROL)) & reg->start)) @@ -607,7 +624,9 @@ ptr = inw(ice->profi_port + reg->size); ptr = (ptr + 1) << 2; ptr = bytes_to_frames(substream->runtime, ptr); - if (ptr <= substream->runtime->buffer_size) + if (! ptr) + ; + else if (ptr <= substream->runtime->buffer_size) ptr = substream->runtime->buffer_size - ptr; else { snd_printd("ice1724: invalid ptr %d (size=%d)\n", (int)ptr, (int)substream->runtime->buffer_size); @@ -617,24 +636,20 @@ #endif } -const static struct vt1724_pcm_reg vt1724_capture_pro_reg = { +static struct vt1724_pcm_reg vt1724_playback_pro_reg = { + .addr = VT1724_MT_PLAYBACK_ADDR, + .size = VT1724_MT_PLAYBACK_SIZE, + .count = VT1724_MT_PLAYBACK_COUNT, + .start = VT1724_PDMA0_START, +}; + +static struct vt1724_pcm_reg vt1724_capture_pro_reg = { .addr = VT1724_MT_CAPTURE_ADDR, .size = VT1724_MT_CAPTURE_SIZE, .count = VT1724_MT_CAPTURE_COUNT, .start = VT1724_RDMA0_START, - .pause = VT1724_RDMA0_PAUSE, }; -static int snd_vt1724_capture_pro_prepare(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_prepare(substream, &vt1724_capture_pro_reg); -} - -static snd_pcm_uframes_t snd_vt1724_capture_pro_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_capture_pro_reg); -} - static snd_pcm_hardware_t snd_vt1724_playback_pro = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | @@ -698,9 +713,10 @@ static int set_rate_constraints(ice1712_t *ice, snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) { + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { /* I2S */ - if (ice->eeprom.data[ICE_EEP2_I2S] & 0x08) + /* VT1720 doesn't support more than 96kHz */ + if ((ice->eeprom.data[ICE_EEP2_I2S] & 0x08) && !ice->vt1720) return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_192); else { runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_96000; @@ -709,25 +725,14 @@ } } else if (ice->ac97) { /* ACLINK */ - int ratec; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - ratec = AC97_RATES_FRONT_DAC; - else - ratec = AC97_RATES_ADC; - runtime->hw.rates = ice->ac97->rates[ratec]; runtime->hw.rate_max = 48000; - if (runtime->hw.rates == SNDRV_PCM_RATE_48000) { - runtime->hw.rate_min = 48000; - return 0; - } else { - runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000; - return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_48); - } + runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000; + return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_48); } return 0; } -/* multi-channel playback needs alignment 8x32bit regarless of the channels +/* multi-channel playback needs alignment 8x32bit regardless of the channels * actually used */ #define VT1724_BUFFER_ALIGN 0x20 @@ -738,7 +743,7 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); int chs; - runtime->private_data = (void*)VT1724_PDMA0_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_playback_pro_reg; ice->playback_pro_substream = substream; runtime->hw = snd_vt1724_playback_pro; snd_pcm_set_sync(substream); @@ -767,12 +772,16 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_RDMA0_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_capture_pro_reg; ice->capture_pro_substream = substream; runtime->hw = snd_vt1724_2ch_stereo; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); set_rate_constraints(ice, substream); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -814,9 +823,9 @@ .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_vt1724_pcm_hw_params, .hw_free = snd_vt1724_pcm_hw_free, - .prepare = snd_vt1724_capture_pro_prepare, + .prepare = snd_vt1724_pcm_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_capture_pro_pointer, + .pointer = snd_vt1724_pcm_pointer, }; static int __devinit snd_vt1724_pcm_profi(ice1712_t * ice, int device) @@ -848,40 +857,60 @@ * SPDIF PCM */ -const static struct vt1724_pcm_reg vt1724_playback_spdif_reg = { +static struct vt1724_pcm_reg vt1724_playback_spdif_reg = { .addr = VT1724_MT_PDMA4_ADDR, .size = VT1724_MT_PDMA4_SIZE, .count = VT1724_MT_PDMA4_COUNT, .start = VT1724_PDMA4_START, - .pause = VT1724_PDMA4_PAUSE, }; -const static struct vt1724_pcm_reg vt1724_capture_spdif_reg = { +static struct vt1724_pcm_reg vt1724_capture_spdif_reg = { .addr = VT1724_MT_RDMA1_ADDR, .size = VT1724_MT_RDMA1_SIZE, .count = VT1724_MT_RDMA1_COUNT, .start = VT1724_RDMA1_START, - .pause = VT1724_RDMA1_PAUSE, }; -static int snd_vt1724_playback_spdif_prepare(snd_pcm_substream_t * substream) +/* update spdif control bits; call with reg_lock */ +static void update_spdif_bits(ice1712_t *ice, unsigned int val) { - return snd_vt1724_pcm_prepare(substream, &vt1724_playback_spdif_reg); -} + unsigned char cbit, disabled; -static snd_pcm_uframes_t snd_vt1724_playback_spdif_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_playback_spdif_reg); + cbit = inb(ICEREG1724(ice, SPDIF_CFG)); + disabled = cbit & ~VT1724_CFG_SPDIF_OUT_EN; + if (cbit != disabled) + outb(disabled, ICEREG1724(ice, SPDIF_CFG)); + outw(val, ICEMT1724(ice, SPDIF_CTRL)); + if (cbit != disabled) + outb(cbit, ICEREG1724(ice, SPDIF_CFG)); + outw(val, ICEMT1724(ice, SPDIF_CTRL)); } -static int snd_vt1724_capture_spdif_prepare(snd_pcm_substream_t * substream) +/* update SPDIF control bits according to the given rate */ +static void update_spdif_rate(ice1712_t *ice, unsigned int rate) { - return snd_vt1724_pcm_prepare(substream, &vt1724_capture_spdif_reg); + unsigned int val, nval; + unsigned long flags; + + spin_lock_irqsave(&ice->reg_lock, flags); + nval = val = inw(ICEMT1724(ice, SPDIF_CTRL)); + nval &= ~(7 << 12); + switch (rate) { + case 44100: break; + case 48000: nval |= 2 << 12; break; + case 32000: nval |= 3 << 12; break; + } + if (val != nval) + update_spdif_bits(ice, nval); + spin_unlock_irqrestore(&ice->reg_lock, flags); } -static snd_pcm_uframes_t snd_vt1724_capture_spdif_pointer(snd_pcm_substream_t * substream) +static int snd_vt1724_playback_spdif_prepare(snd_pcm_substream_t * substream) { - return snd_vt1724_pcm_pointer(substream, &vt1724_capture_spdif_reg); + ice1712_t *ice = snd_pcm_substream_chip(substream); + if (! ice->force_pdma4) + update_spdif_rate(ice, substream->runtime->rate); + return snd_vt1724_pcm_prepare(substream); } static int snd_vt1724_playback_spdif_open(snd_pcm_substream_t *substream) @@ -889,7 +918,7 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_PDMA4_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_playback_spdif_reg; ice->playback_con_substream = substream; if (ice->force_pdma4) { runtime->hw = snd_vt1724_2ch_stereo; @@ -898,6 +927,10 @@ runtime->hw = snd_vt1724_spdif; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -917,7 +950,7 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_RDMA1_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_capture_spdif_reg; ice->capture_con_substream = substream; if (ice->force_rdma1) { runtime->hw = snd_vt1724_2ch_stereo; @@ -926,6 +959,10 @@ runtime->hw = snd_vt1724_spdif; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -948,7 +985,7 @@ .hw_free = snd_vt1724_pcm_hw_free, .prepare = snd_vt1724_playback_spdif_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_playback_spdif_pointer, + .pointer = snd_vt1724_pcm_pointer, }; static snd_pcm_ops_t snd_vt1724_capture_spdif_ops = { @@ -957,9 +994,9 @@ .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_vt1724_pcm_hw_params, .hw_free = snd_vt1724_pcm_hw_free, - .prepare = snd_vt1724_capture_spdif_prepare, + .prepare = snd_vt1724_pcm_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_capture_spdif_pointer, + .pointer = snd_vt1724_pcm_pointer, }; @@ -1017,27 +1054,24 @@ * independent surround PCMs */ -const static struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = { +static struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = { { .addr = VT1724_MT_PDMA1_ADDR, .size = VT1724_MT_PDMA1_SIZE, .count = VT1724_MT_PDMA1_COUNT, .start = VT1724_PDMA1_START, - .pause = VT1724_PDMA1_PAUSE, }, { .addr = VT1724_MT_PDMA2_ADDR, .size = VT1724_MT_PDMA2_SIZE, .count = VT1724_MT_PDMA2_COUNT, .start = VT1724_PDMA2_START, - .pause = VT1724_PDMA2_PAUSE, }, { .addr = VT1724_MT_PDMA3_ADDR, .size = VT1724_MT_PDMA3_SIZE, .count = VT1724_MT_PDMA3_COUNT, .start = VT1724_PDMA3_START, - .pause = VT1724_PDMA3_PAUSE, }, }; @@ -1046,17 +1080,12 @@ ice1712_t *ice = snd_pcm_substream_chip(substream); unsigned char val; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); val = 3 - substream->number; if (inb(ICEMT1724(ice, BURST)) < val) outb(val, ICEMT1724(ice, BURST)); - spin_unlock(&ice->reg_lock); - return snd_vt1724_pcm_prepare(substream, &vt1724_playback_dma_regs[substream->number]); -} - -static snd_pcm_uframes_t snd_vt1724_playback_indep_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_playback_dma_regs[substream->number]); + spin_unlock_irq(&ice->reg_lock); + return snd_vt1724_pcm_prepare(substream); } static int snd_vt1724_playback_indep_open(snd_pcm_substream_t *substream) @@ -1071,7 +1100,7 @@ return -EBUSY; /* FIXME: should handle blocking mode properly */ } up(&ice->open_mutex); - runtime->private_data = (void*)(1UL << (substream->number + 4)); + runtime->private_data = &vt1724_playback_dma_regs[substream->number]; ice->playback_con_substream_ds[substream->number] = substream; runtime->hw = snd_vt1724_2ch_stereo; snd_pcm_set_sync(substream); @@ -1100,7 +1129,7 @@ .hw_free = snd_vt1724_pcm_hw_free, .prepare = snd_vt1724_playback_indep_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_playback_indep_pointer, + .pointer = snd_vt1724_pcm_pointer, }; @@ -1143,17 +1172,19 @@ int err; if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S)) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; + static ac97_bus_ops_t ops = { + .write = snd_vt1724_ac97_write, + .read = snd_vt1724_ac97_read, + }; + /* cold reset */ outb(inb(ICEMT1724(ice, AC97_CMD)) | 0x80, ICEMT1724(ice, AC97_CMD)); mdelay(5); /* FIXME */ outb(inb(ICEMT1724(ice, AC97_CMD)) & ~0x80, ICEMT1724(ice, AC97_CMD)); - memset(&bus, 0, sizeof(bus)); - bus.write = snd_vt1724_ac97_write; - bus.read = snd_vt1724_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1181,7 +1212,7 @@ static void snd_vt1724_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ice1712_t *ice = snd_magic_cast(ice1712_t, entry->private_data, return); + ice1712_t *ice = entry->private_data; unsigned int idx; snd_iprintf(buffer, "%s\n\n", ice->card->longname); @@ -1274,7 +1305,7 @@ } } else { /* consumer */ - val |= diga->status[0] & 0x04; /* copyright */ + val |= diga->status[1] & 0x04; /* copyright */ if ((diga->status[0] & IEC958_AES0_CON_EMPHASIS)== IEC958_AES0_CON_EMPHASIS_5015) val |= 1U << 3; val |= (unsigned int)(diga->status[1] & 0x3f) << 4; /* category */ @@ -1326,22 +1357,13 @@ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned int val, old; - unsigned long flags; val = encode_spdif_bits(&ucontrol->value.iec958); - spin_lock_irqsave(&ice->reg_lock, flags); + spin_lock_irq(&ice->reg_lock); old = inw(ICEMT1724(ice, SPDIF_CTRL)); - if (val != old) { - unsigned char cbit, disabled; - cbit = inb(ICEREG1724(ice, SPDIF_CFG)); - disabled = cbit & ~VT1724_CFG_SPDIF_OUT_EN; - if (cbit != disabled) - outb(disabled, ICEREG1724(ice, SPDIF_CFG)); - outw(val, ICEMT1724(ice, SPDIF_CTRL)); - if (cbit != disabled) - outb(cbit, ICEREG1724(ice, SPDIF_CFG)); - } - spin_unlock_irqrestore(&ice->reg_lock, flags); + if (val != old) + update_spdif_bits(ice, val); + spin_unlock_irq(&ice->reg_lock); return (val != old); } @@ -1415,15 +1437,15 @@ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned char old, val; - unsigned long flags; - spin_lock_irqsave(&ice->reg_lock, flags); + + spin_lock_irq(&ice->reg_lock); old = val = inb(ICEREG1724(ice, SPDIF_CFG)); val &= ~VT1724_CFG_SPDIF_OUT_EN; if (ucontrol->value.integer.value[0]) val |= VT1724_CFG_SPDIF_OUT_EN; if (old != val) outb(val, ICEREG1724(ice, SPDIF_CFG)); - spin_unlock_irqrestore(&ice->reg_lock, flags); + spin_unlock_irq(&ice->reg_lock); return old != val; } @@ -1490,7 +1512,7 @@ */ static int snd_vt1724_pro_internal_clock_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - static char *texts[] = { + static char *texts_1724[] = { "8000", /* 0: 6 */ "9600", /* 1: 3 */ "11025", /* 2: 10 */ @@ -1508,12 +1530,32 @@ "192000", /* 14: 14 */ "IEC958 Input", /* 15: -- */ }; + static char *texts_1720[] = { + "8000", /* 0: 6 */ + "9600", /* 1: 3 */ + "11025", /* 2: 10 */ + "12000", /* 3: 2 */ + "16000", /* 4: 5 */ + "22050", /* 5: 9 */ + "24000", /* 6: 1 */ + "32000", /* 7: 4 */ + "44100", /* 8: 8 */ + "48000", /* 9: 0 */ + "64000", /* 10: 15 */ + "88200", /* 11: 11 */ + "96000", /* 12: 7 */ + "IEC958 Input", /* 13: -- */ + }; + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; - uinfo->value.enumerated.items = 16; + uinfo->value.enumerated.items = ice->vt1720 ? 14 : 16; if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; - strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); + strcpy(uinfo->value.enumerated.name, + ice->vt1720 ? texts_1720[uinfo->value.enumerated.item] : + texts_1724[uinfo->value.enumerated.item]); return 0; } @@ -1527,7 +1569,7 @@ spin_lock_irq(&ice->reg_lock); if (is_spdif_master(ice)) { - ucontrol->value.enumerated.item[0] = 15; + ucontrol->value.enumerated.item[0] = ice->vt1720 ? 13 : 15; } else { val = xlate[inb(ICEMT1724(ice, RATE)) & 15]; if (val == 255) { @@ -1544,17 +1586,22 @@ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned char oval; + int rate; int change = 0; + int spdif = ice->vt1720 ? 13 : 15; spin_lock_irq(&ice->reg_lock); oval = inb(ICEMT1724(ice, RATE)); - if (ucontrol->value.enumerated.item[0] == 15) { + if (ucontrol->value.enumerated.item[0] == spdif) { outb(oval | VT1724_SPDIF_MASTER, ICEMT1724(ice, RATE)); } else { - PRO_RATE_DEFAULT = rates[ucontrol->value.integer.value[0] % 15]; - spin_unlock_irq(&ice->reg_lock); - snd_vt1724_set_pro_rate(ice, PRO_RATE_DEFAULT, 1); - spin_lock_irq(&ice->reg_lock); + rate = rates[ucontrol->value.integer.value[0] % 15]; + if (rate <= get_max_rate(ice)) { + PRO_RATE_DEFAULT = rate; + spin_unlock_irq(&ice->reg_lock); + snd_vt1724_set_pro_rate(ice, PRO_RATE_DEFAULT, 1); + spin_lock_irq(&ice->reg_lock); + } } change = inb(ICEMT1724(ice, RATE)) != oval; spin_unlock_irq(&ice->reg_lock); @@ -1815,6 +1862,8 @@ snd_vt1724_revo_cards, snd_vt1724_amp_cards, snd_vt1724_aureon_cards, + snd_vt1720_mobo_cards, + snd_vt1720_pontis_cards, NULL, }; @@ -1822,24 +1871,28 @@ /* */ -unsigned char snd_vt1724_read_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr) +static void wait_i2c_busy(ice1712_t *ice) { - long t = 0x10000; + int t = 0x10000; + while ((inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY) && t--) + ; +} +unsigned char snd_vt1724_read_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr) +{ outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR)); outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR)); - while (t-- > 0 && (inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY)) ; + wait_i2c_busy(ice); return inb(ICEREG1724(ice, I2C_DATA)); } void snd_vt1724_write_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr, unsigned char data) { - long t = 0x10000; - + wait_i2c_busy(ice); outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR)); outb(data, ICEREG1724(ice, I2C_DATA)); outb(dev | VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR)); - while (t-- > 0 && (inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY)) ; + wait_i2c_busy(ice); } static int __devinit snd_vt1724_read_eeprom(ice1712_t *ice, const char *modelname) @@ -1930,9 +1983,6 @@ outb(0, ICEREG1724(ice, POWERDOWN)); - /* read back to check the availability of SPDIF out */ - ice->eeprom.data[ICE_EEP2_SPDIF] = inb(ICEREG1724(ice, SPDIF_CFG)); - return 0; } @@ -1994,10 +2044,9 @@ if (ice->num_total_dacs > 0) { snd_kcontrol_new_t tmp = snd_vt1724_mixer_pro_analog_route; - if (ice->vt1720) + tmp.count = ice->num_total_dacs; + if (ice->vt1720 && tmp.count > 2) tmp.count = 2; - else - tmp.count = ice->num_total_dacs; err = snd_ctl_add(ice->card, snd_ctl_new1(&tmp, ice)); if (err < 0) return err; @@ -2012,7 +2061,7 @@ static int snd_vt1724_free(ice1712_t *ice) { - if (ice->res_port == NULL) + if (! ice->port) goto __hw_end; /* mask all interrupts */ outb(0xff, ICEMT1724(ice, DMA_INT_MASK)); @@ -2023,22 +2072,15 @@ synchronize_irq(ice->irq); free_irq(ice->irq, (void *) ice); } - if (ice->res_port) { - release_resource(ice->res_port); - kfree_nocheck(ice->res_port); - } - if (ice->res_profi_port) { - release_resource(ice->res_profi_port); - kfree_nocheck(ice->res_profi_port); - } + pci_release_regions(ice->pci); snd_ice1712_akm4xxx_free(ice); - snd_magic_kfree(ice); + kfree(ice); return 0; } static int snd_vt1724_dev_free(snd_device_t *device) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->device_data, return -ENXIO); + ice1712_t *ice = device->device_data; return snd_vt1724_free(ice); } @@ -2060,7 +2102,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - ice = snd_magic_kcalloc(ice1712_t, 0, GFP_KERNEL); + ice = kcalloc(1, sizeof(*ice), GFP_KERNEL); if (ice == NULL) return -ENOMEM; ice->vt1724 = 1; @@ -2074,24 +2116,17 @@ ice->card = card; ice->pci = pci; ice->irq = -1; - ice->port = pci_resource_start(pci, 0); - ice->profi_port = pci_resource_start(pci, 1); pci_set_master(pci); snd_vt1724_proc_init(ice); synchronize_irq(pci->irq); - if ((ice->res_port = request_region(ice->port, 32, "ICE1724 - Controller")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->port, ice->port + 32 - 1); - snd_vt1724_free(ice); - return -EIO; + if ((err = pci_request_regions(pci, "ICE1724")) < 0) { + kfree(ice); + return err; } + ice->port = pci_resource_start(pci, 0); + ice->profi_port = pci_resource_start(pci, 1); - if ((ice->res_profi_port = request_region(ice->profi_port, 128, "ICE1724 - Professional")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->profi_port, ice->profi_port + 16 - 1); - snd_vt1724_free(ice); - return -EIO; - } - if (request_irq(pci->irq, snd_vt1724_interrupt, SA_INTERRUPT|SA_SHIRQ, "ICE1724", (void *) ice)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_vt1724_free(ice); diff -Nru a/sound/pci/ice1712/pontis.c b/sound/pci/ice1712/pontis.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/pci/ice1712/pontis.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,839 @@ +/* + * ALSA driver for ICEnsemble VT1724 (Envy24HT) + * + * Lowlevel functions for Pontis MS300 + * + * Copyright (c) 2004 Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ice1712.h" +#include "envy24ht.h" +#include "pontis.h" + +/* I2C addresses */ +#define WM_DEV 0x34 +#define CS_DEV 0x20 + +/* WM8776 registers */ +#define WM_HP_ATTEN_L 0x00 /* headphone left attenuation */ +#define WM_HP_ATTEN_R 0x01 /* headphone left attenuation */ +#define WM_HP_MASTER 0x02 /* headphone master (both channels), override LLR */ +#define WM_DAC_ATTEN_L 0x03 /* digital left attenuation */ +#define WM_DAC_ATTEN_R 0x04 +#define WM_DAC_MASTER 0x05 +#define WM_PHASE_SWAP 0x06 /* DAC phase swap */ +#define WM_DAC_CTRL1 0x07 +#define WM_DAC_MUTE 0x08 +#define WM_DAC_CTRL2 0x09 +#define WM_DAC_INT 0x0a +#define WM_ADC_INT 0x0b +#define WM_MASTER_CTRL 0x0c +#define WM_POWERDOWN 0x0d +#define WM_ADC_ATTEN_L 0x0e +#define WM_ADC_ATTEN_R 0x0f +#define WM_ALC_CTRL1 0x10 +#define WM_ALC_CTRL2 0x11 +#define WM_ALC_CTRL3 0x12 +#define WM_NOISE_GATE 0x13 +#define WM_LIMITER 0x14 +#define WM_ADC_MUX 0x15 +#define WM_OUT_MUX 0x16 +#define WM_RESET 0x17 + +/* + * GPIO + */ +#define PONTIS_CS_CS (1<<4) /* CS */ +#define PONTIS_CS_CLK (1<<5) /* CLK */ +#define PONTIS_CS_RDATA (1<<6) /* CS8416 -> VT1720 */ +#define PONTIS_CS_WDATA (1<<7) /* VT1720 -> CS8416 */ + + +/* + * get the current register value of WM codec + */ +static unsigned short wm_get(ice1712_t *ice, int reg) +{ + reg <<= 1; + return ((unsigned short)ice->akm[0].images[reg] << 8) | + ice->akm[0].images[reg + 1]; +} + +/* + * set the register value of WM codec and remember it + */ +static void wm_put_nocache(ice1712_t *ice, int reg, unsigned short val) +{ + unsigned short cval; + cval = (reg << 9) | val; + snd_vt1724_write_i2c(ice, WM_DEV, cval >> 8, cval & 0xff); +} + +static void wm_put(ice1712_t *ice, int reg, unsigned short val) +{ + wm_put_nocache(ice, reg, val); + reg <<= 1; + ice->akm[0].images[reg] = val >> 8; + ice->akm[0].images[reg + 1] = val; +} + +/* + * DAC volume attenuation mixer control (-64dB to 0dB) + */ + +#define DAC_0dB 0xff +#define DAC_RES 128 +#define DAC_MIN (DAC_0dB - DAC_RES) + +static int wm_dac_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 2; + uinfo->value.integer.min = 0; /* mute */ + uinfo->value.integer.max = DAC_RES; /* 0dB, 0.5dB step */ + return 0; +} + +static int wm_dac_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val; + int i; + + down(&ice->gpio_mutex); + for (i = 0; i < 2; i++) { + val = wm_get(ice, WM_DAC_ATTEN_L + i) & 0xff; + val = val > DAC_MIN ? (val - DAC_MIN) : 0; + ucontrol->value.integer.value[i] = val; + } + up(&ice->gpio_mutex); + return 0; +} + +static int wm_dac_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short oval, nval; + int i, idx, change = 0; + + down(&ice->gpio_mutex); + for (i = 0; i < 2; i++) { + nval = ucontrol->value.integer.value[i]; + nval = (nval ? (nval + DAC_MIN) : 0) & 0xff; + idx = WM_DAC_ATTEN_L + i; + oval = wm_get(ice, idx) & 0xff; + if (oval != nval) { + wm_put(ice, idx, nval); + wm_put_nocache(ice, idx, nval | 0x100); + change = 1; + } + } + up(&ice->gpio_mutex); + return change; +} + +/* + * ADC gain mixer control (-64dB to 0dB) + */ + +#define ADC_0dB 0xcf +#define ADC_RES 128 +#define ADC_MIN (ADC_0dB - ADC_RES) + +static int wm_adc_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 2; + uinfo->value.integer.min = 0; /* mute (-64dB) */ + uinfo->value.integer.max = ADC_RES; /* 0dB, 0.5dB step */ + return 0; +} + +static int wm_adc_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val; + int i; + + down(&ice->gpio_mutex); + for (i = 0; i < 2; i++) { + val = wm_get(ice, WM_ADC_ATTEN_L + i) & 0xff; + val = val > ADC_MIN ? (val - ADC_MIN) : 0; + ucontrol->value.integer.value[i] = val; + } + up(&ice->gpio_mutex); + return 0; +} + +static int wm_adc_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short ovol, nvol; + int i, idx, change = 0; + + down(&ice->gpio_mutex); + for (i = 0; i < 2; i++) { + nvol = ucontrol->value.integer.value[i]; + nvol = nvol ? (nvol + ADC_MIN) : 0; + idx = WM_ADC_ATTEN_L + i; + ovol = wm_get(ice, idx) & 0xff; + if (ovol != nvol) { + wm_put(ice, idx, nvol); + change = 1; + } + } + up(&ice->gpio_mutex); + return change; +} + +/* + * ADC input mux mixer control + */ +static int wm_adc_mux_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 1; + return 0; +} + +static int wm_adc_mux_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + int bit = kcontrol->private_value; + + down(&ice->gpio_mutex); + ucontrol->value.integer.value[0] = (wm_get(ice, WM_ADC_MUX) & (1 << bit)) ? 1 : 0; + up(&ice->gpio_mutex); + return 0; +} + +static int wm_adc_mux_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + int bit = kcontrol->private_value; + unsigned short oval, nval; + int change; + + down(&ice->gpio_mutex); + nval = oval = wm_get(ice, WM_ADC_MUX); + if (ucontrol->value.integer.value[0]) + nval |= (1 << bit); + else + nval &= ~(1 << bit); + change = nval != oval; + if (change) { + wm_put(ice, WM_ADC_MUX, nval); + } + up(&ice->gpio_mutex); + return 0; +} + +/* + * Analog bypass (In -> Out) + */ +static int wm_bypass_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 1; + return 0; +} + +static int wm_bypass_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + + down(&ice->gpio_mutex); + ucontrol->value.integer.value[0] = (wm_get(ice, WM_OUT_MUX) & 0x04) ? 1 : 0; + up(&ice->gpio_mutex); + return 0; +} + +static int wm_bypass_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val, oval; + int change = 0; + + down(&ice->gpio_mutex); + val = oval = wm_get(ice, WM_OUT_MUX); + if (ucontrol->value.integer.value[0]) + val |= 0x04; + else + val &= ~0x04; + if (val != oval) { + wm_put(ice, WM_OUT_MUX, val); + change = 1; + } + up(&ice->gpio_mutex); + return change; +} + +/* + * Left/Right swap + */ +static int wm_chswap_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 1; + return 0; +} + +static int wm_chswap_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + + down(&ice->gpio_mutex); + ucontrol->value.integer.value[0] = (wm_get(ice, WM_DAC_CTRL1) & 0xf0) != 0x90; + up(&ice->gpio_mutex); + return 0; +} + +static int wm_chswap_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val, oval; + int change = 0; + + down(&ice->gpio_mutex); + oval = wm_get(ice, WM_DAC_CTRL1); + val = oval & 0x0f; + if (ucontrol->value.integer.value[0]) + val |= 0x60; + else + val |= 0x90; + if (val != oval) { + wm_put(ice, WM_DAC_CTRL1, val); + wm_put_nocache(ice, WM_DAC_CTRL1, val); + change = 1; + } + up(&ice->gpio_mutex); + return change; +} + +/* + * write data in the SPI mode + */ +static void set_gpio_bit(ice1712_t *ice, unsigned int bit, int val) +{ + unsigned int tmp = snd_ice1712_gpio_read(ice); + if (val) + tmp |= bit; + else + tmp &= ~bit; + snd_ice1712_gpio_write(ice, tmp); +} + +static void spi_send_bits(ice1712_t *ice, unsigned int data, int bits) +{ + int i; + /* assume bits are aligned to 8 */ + for (i = 0; i < bits; i++) { + set_gpio_bit(ice, PONTIS_CS_CLK, 0); + udelay(1); + set_gpio_bit(ice, PONTIS_CS_WDATA, data & 0x80); + udelay(1); + set_gpio_bit(ice, PONTIS_CS_CLK, 1); + udelay(1); + data <<= 1; + } +} + +static unsigned int spi_read_bits(ice1712_t *ice, int bits) +{ + int i; + unsigned int val = 0; + + for (i = 0; i < bits; i++) { + set_gpio_bit(ice, PONTIS_CS_CLK, 0); + udelay(1); + if (snd_ice1712_gpio_read(ice) & PONTIS_CS_RDATA) + val |= 1; + udelay(1); + set_gpio_bit(ice, PONTIS_CS_CLK, 1); + udelay(1); + val <<= 1; + } + return val; +} + + +static void spi_write(ice1712_t *ice, unsigned int dev, unsigned int reg, unsigned int data) +{ + unsigned int val; + val = ((dev & ~1) << 16) | (reg << 8) | data; + snd_ice1712_gpio_set_dir(ice, PONTIS_CS_CS|PONTIS_CS_WDATA|PONTIS_CS_CLK); + snd_ice1712_gpio_set_mask(ice, ~(PONTIS_CS_CS|PONTIS_CS_WDATA|PONTIS_CS_CLK)); + set_gpio_bit(ice, PONTIS_CS_CS, 0); + spi_send_bits(ice, val, 24); + set_gpio_bit(ice, PONTIS_CS_CS, 1); + udelay(1); + /* restore */ + snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask); + snd_ice1712_gpio_set_dir(ice, ice->gpio.direction); +} + +static unsigned int spi_read(ice1712_t *ice, unsigned int dev, unsigned int reg) +{ + unsigned int val; + val = ((dev & ~1) << 8) | reg; + snd_ice1712_gpio_set_dir(ice, PONTIS_CS_CS|PONTIS_CS_WDATA|PONTIS_CS_CLK); + snd_ice1712_gpio_set_mask(ice, ~(PONTIS_CS_CS|PONTIS_CS_WDATA|PONTIS_CS_CLK)); + set_gpio_bit(ice, PONTIS_CS_CS, 0); + spi_send_bits(ice, val, 16); + set_gpio_bit(ice, PONTIS_CS_CS, 1); + udelay(1); + set_gpio_bit(ice, PONTIS_CS_CS, 0); + spi_send_bits(ice, dev | 1, 8); + val = spi_read_bits(ice, 8); + set_gpio_bit(ice, PONTIS_CS_CS, 1); + udelay(1); + /* restore */ + snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask); + snd_ice1712_gpio_set_dir(ice, ice->gpio.direction); + return val; +} + + +/* + * SPDIF input source + */ +static int cs_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + static char *texts[] = { + "Coax", /* RXP0 */ + "Optical", /* RXP1 */ + "CD", /* RXP2 */ + }; + uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; + uinfo->count = 1; + uinfo->value.enumerated.items = 3; + if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) + uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; + strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); + return 0; +} + +static int cs_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + + down(&ice->gpio_mutex); + ucontrol->value.enumerated.item[0] = ice->gpio.saved[0]; + up(&ice->gpio_mutex); + return 0; +} + +static int cs_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned char val; + int change = 0; + + down(&ice->gpio_mutex); + if (ucontrol->value.enumerated.item[0] != ice->gpio.saved[0]) { + ice->gpio.saved[0] = ucontrol->value.enumerated.item[0] & 3; + val = 0x80 | (ice->gpio.saved[0] << 3); + spi_write(ice, CS_DEV, 0x04, val); + change = 1; + } + up(&ice->gpio_mutex); + return 0; +} + + +/* + * GPIO controls + */ +static int pontis_gpio_mask_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 0xffff; /* 16bit */ + return 0; +} + +static int pontis_gpio_mask_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + down(&ice->gpio_mutex); + /* 4-7 reserved */ + ucontrol->value.integer.value[0] = (~ice->gpio.write_mask & 0xffff) | 0x00f0; + up(&ice->gpio_mutex); + return 0; +} + +static int pontis_gpio_mask_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + down(&ice->gpio_mutex); + /* 4-7 reserved */ + ice->gpio.write_mask = (~ucontrol->value.integer.value[0] & 0xffff) | 0x00f0; + up(&ice->gpio_mutex); + return 0; +} + +static int pontis_gpio_dir_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + down(&ice->gpio_mutex); + /* 4-7 reserved */ + ucontrol->value.integer.value[0] = ice->gpio.direction & 0xff0f; + up(&ice->gpio_mutex); + return 0; +} + +static int pontis_gpio_dir_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + down(&ice->gpio_mutex); + /* 4-7 reserved */ + ice->gpio.direction = ucontrol->value.integer.value[0] & 0xff0f; + up(&ice->gpio_mutex); + return 0; +} + +static int pontis_gpio_data_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + down(&ice->gpio_mutex); + snd_ice1712_gpio_set_dir(ice, ice->gpio.direction); + snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask); + ucontrol->value.integer.value[0] = snd_ice1712_gpio_read(ice) & 0xffff; + up(&ice->gpio_mutex); + return 0; +} + +static int pontis_gpio_data_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned int val, nval; + int changed = 0; + down(&ice->gpio_mutex); + snd_ice1712_gpio_set_dir(ice, ice->gpio.direction); + snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask); + val = snd_ice1712_gpio_read(ice) & 0xffff; + nval = ucontrol->value.integer.value[0] & 0xffff; + if (val != nval) { + snd_ice1712_gpio_write(ice, nval); + changed = 1; + } + up(&ice->gpio_mutex); + return changed; +} + +/* + * mixers + */ + +static snd_kcontrol_new_t pontis_controls[] __devinitdata = { + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "PCM Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Capture Volume", + .info = wm_adc_vol_info, + .get = wm_adc_vol_get, + .put = wm_adc_vol_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "CD Capture Switch", + .info = wm_adc_mux_info, + .get = wm_adc_mux_get, + .put = wm_adc_mux_put, + .private_value = 0, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Line Capture Switch", + .info = wm_adc_mux_info, + .get = wm_adc_mux_get, + .put = wm_adc_mux_put, + .private_value = 1, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Analog Bypass Switch", + .info = wm_bypass_info, + .get = wm_bypass_get, + .put = wm_bypass_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Swap Output Channels", + .info = wm_chswap_info, + .get = wm_chswap_get, + .put = wm_chswap_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "IEC958 Input Source", + .info = cs_source_info, + .get = cs_source_get, + .put = cs_source_put, + }, + /* FIXME: which interface? */ + { + .iface = SNDRV_CTL_ELEM_IFACE_CARD, + .name = "GPIO Mask", + .info = pontis_gpio_mask_info, + .get = pontis_gpio_mask_get, + .put = pontis_gpio_mask_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_CARD, + .name = "GPIO Direction", + .info = pontis_gpio_mask_info, + .get = pontis_gpio_dir_get, + .put = pontis_gpio_dir_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_CARD, + .name = "GPIO Data", + .info = pontis_gpio_mask_info, + .get = pontis_gpio_data_get, + .put = pontis_gpio_data_put, + }, +}; + + +/* + * WM codec registers + */ +static void wm_proc_regs_write(snd_info_entry_t *entry, snd_info_buffer_t *buffer) +{ + ice1712_t *ice = (ice1712_t *)entry->private_data; + char line[64]; + unsigned int reg, val; + down(&ice->gpio_mutex); + while (!snd_info_get_line(buffer, line, sizeof(line))) { + if (sscanf(line, "%x %x", ®, &val) != 2) + continue; + if (reg <= 0x17 && val <= 0xffff) + wm_put(ice, reg, val); + } + up(&ice->gpio_mutex); +} + +static void wm_proc_regs_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) +{ + ice1712_t *ice = (ice1712_t *)entry->private_data; + int reg, val; + + down(&ice->gpio_mutex); + for (reg = 0; reg <= 0x17; reg++) { + val = wm_get(ice, reg); + snd_iprintf(buffer, "%02x = %04x\n", reg, val); + } + up(&ice->gpio_mutex); +} + +static void wm_proc_init(ice1712_t *ice) +{ + snd_info_entry_t *entry; + if (! snd_card_proc_new(ice->card, "wm_codec", &entry)) { + snd_info_set_text_ops(entry, ice, 1024, wm_proc_regs_read); + entry->mode |= S_IWUSR; + entry->c.text.write_size = 1024; + entry->c.text.write = wm_proc_regs_write; + } +} + +static void cs_proc_regs_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) +{ + ice1712_t *ice = (ice1712_t *)entry->private_data; + int reg, val; + + down(&ice->gpio_mutex); + for (reg = 0; reg <= 0x26; reg++) { + val = spi_read(ice, CS_DEV, reg); + snd_iprintf(buffer, "%02x = %02x\n", reg, val); + } + val = spi_read(ice, CS_DEV, 0x7f); + snd_iprintf(buffer, "%02x = %02x\n", 0x7f, val); + up(&ice->gpio_mutex); +} + +static void cs_proc_init(ice1712_t *ice) +{ + snd_info_entry_t *entry; + if (! snd_card_proc_new(ice->card, "cs_codec", &entry)) { + snd_info_set_text_ops(entry, ice, 1024, cs_proc_regs_read); + } +} + + +static int __devinit pontis_add_controls(ice1712_t *ice) +{ + unsigned int i; + int err; + + for (i = 0; i < ARRAY_SIZE(pontis_controls); i++) { + err = snd_ctl_add(ice->card, snd_ctl_new1(&pontis_controls[i], ice)); + if (err < 0) + return err; + } + + wm_proc_init(ice); + cs_proc_init(ice); + + return 0; +} + + +/* + * initialize the chip + */ +static int __devinit pontis_init(ice1712_t *ice) +{ + static unsigned short wm_inits[] = { + /* These come first to reduce init pop noise */ + WM_ADC_MUX, 0x00c0, /* ADC mute */ + WM_DAC_MUTE, 0x0001, /* DAC softmute */ + WM_DAC_CTRL1, 0x0000, /* DAC mute */ + + WM_POWERDOWN, 0x0008, /* All power-up except HP */ + WM_RESET, 0x0000, /* reset */ + }; + static unsigned short wm_inits2[] = { + WM_MASTER_CTRL, 0x0022, /* 256fs, slave mode */ + WM_DAC_INT, 0x0022, /* I2S, normal polarity, 24bit */ + WM_ADC_INT, 0x0022, /* I2S, normal polarity, 24bit */ + WM_DAC_CTRL1, 0x0090, /* DAC L/R */ + WM_OUT_MUX, 0x0001, /* OUT DAC */ + WM_HP_ATTEN_L, 0x0179, /* HP 0dB */ + WM_HP_ATTEN_R, 0x0179, /* HP 0dB */ + WM_DAC_ATTEN_L, 0x0000, /* DAC 0dB */ + WM_DAC_ATTEN_L, 0x0100, /* DAC 0dB */ + WM_DAC_ATTEN_R, 0x0000, /* DAC 0dB */ + WM_DAC_ATTEN_R, 0x0100, /* DAC 0dB */ + // WM_DAC_MASTER, 0x0100, /* DAC master muted */ + WM_PHASE_SWAP, 0x0000, /* phase normal */ + WM_DAC_CTRL2, 0x0000, /* no deemphasis, no ZFLG */ + WM_ADC_ATTEN_L, 0x0000, /* ADC muted */ + WM_ADC_ATTEN_R, 0x0000, /* ADC muted */ +#if 0 + WM_ALC_CTRL1, 0x007b, /* */ + WM_ALC_CTRL2, 0x0000, /* */ + WM_ALC_CTRL3, 0x0000, /* */ + WM_NOISE_GATE, 0x0000, /* */ +#endif + WM_DAC_MUTE, 0x0000, /* DAC unmute */ + WM_ADC_MUX, 0x0003, /* ADC unmute, both CD/Line On */ + }; + static unsigned char cs_inits[] = { + 0x04, 0x80, /* RUN, RXP0 */ + 0x05, 0x00, /* slave, 24bit */ + 0x01, 0x00, + 0x02, 0x00, + 0x03, 0x00, + }; + unsigned int i; + + ice->vt1720 = 1; + ice->num_total_dacs = 2; + ice->num_total_adcs = 2; + + /* to remeber the register values */ + ice->akm = kcalloc(1, sizeof(akm4xxx_t), GFP_KERNEL); + if (! ice->akm) + return -ENOMEM; + ice->akm_codecs = 1; + + /* HACK - use this as the SPDIF source. + * don't call snd_ice1712_gpio_get/put(), otherwise it's overwritten + */ + ice->gpio.saved[0] = 0; + + /* initialize WM8776 codec */ + for (i = 0; i < ARRAY_SIZE(wm_inits); i += 2) + wm_put(ice, wm_inits[i], wm_inits[i+1]); + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); + for (i = 0; i < ARRAY_SIZE(wm_inits2); i += 2) + wm_put(ice, wm_inits2[i], wm_inits2[i+1]); + + /* initialize CS8416 codec */ + /* assert PRST#; MT05 bit 7 */ + outb(inb(ICEMT1724(ice, AC97_CMD)) | 0x80, ICEMT1724(ice, AC97_CMD)); + mdelay(5); + /* deassert PRST# */ + outb(inb(ICEMT1724(ice, AC97_CMD)) & ~0x80, ICEMT1724(ice, AC97_CMD)); + + for (i = 0; i < ARRAY_SIZE(cs_inits); i += 2) + spi_write(ice, CS_DEV, cs_inits[i], cs_inits[i+1]); + + return 0; +} + + +/* + * Pontis boards don't provide the EEPROM data at all. + * hence the driver needs to sets up it properly. + */ + +static unsigned char pontis_eeprom[] __devinitdata = { + 0x08, /* SYSCONF: clock 256, mpu401, spdif-in/ADC, 1DAC */ + 0x80, /* ACLINK: I2S */ + 0xf8, /* I2S: vol, 96k, 24bit, 192k */ + 0xc3, /* SPDIF: out-en, out-int, spdif-in */ + 0x07, /* GPIO_DIR */ + 0x00, /* GPIO_DIR1 */ + 0x00, /* GPIO_DIR2 (ignored) */ + 0x0f, /* GPIO_MASK (4-7 reserved for CS8416) */ + 0xff, /* GPIO_MASK1 */ + 0x00, /* GPIO_MASK2 (ignored) */ + 0x06, /* GPIO_STATE (0-low, 1-high, 2-high) */ + 0x00, /* GPIO_STATE1 */ + 0x00, /* GPIO_STATE2 (ignored) */ +}; + +/* entry point */ +struct snd_ice1712_card_info snd_vt1720_pontis_cards[] __devinitdata = { + { + .subvendor = VT1720_SUBDEVICE_PONTIS_MS300, + .name = "Pontis MS300", + .model = "ms300", + .chip_init = pontis_init, + .build_controls = pontis_add_controls, + .eeprom_size = sizeof(pontis_eeprom), + .eeprom_data = pontis_eeprom, + }, + { } /* terminator */ +}; diff -Nru a/sound/pci/ice1712/pontis.h b/sound/pci/ice1712/pontis.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/pci/ice1712/pontis.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,33 @@ +#ifndef __SOUND_PONTIS_H +#define __SOUND_PONTIS_H + +/* + * ALSA driver for VIA VT1724 (Envy24HT) + * + * Lowlevel functions for Pontis MS300 boards + * + * Copyright (c) 2004 Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#define PONTIS_DEVICE_DESC "{Pontis,MS300}," + +#define VT1720_SUBDEVICE_PONTIS_MS300 0x00020002 /* a dummy id for MS300 */ + +extern struct snd_ice1712_card_info snd_vt1720_pontis_cards[]; + +#endif /* __SOUND_PONTIS_H */ diff -Nru a/sound/pci/ice1712/revo.c b/sound/pci/ice1712/revo.c --- a/sound/pci/ice1712/revo.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ice1712/revo.c 2004-08-25 19:27:40 -07:00 @@ -128,7 +128,7 @@ switch (ice->eeprom.subvendor) { case VT1724_SUBDEVICE_REVOLUTION71: ice->num_total_dacs = 8; - ice->num_total_adcs = 4; + ice->num_total_adcs = 2; break; default: snd_BUG(); @@ -136,7 +136,7 @@ } /* second stage of initialization, analog parts and others */ - ak = ice->akm = snd_kcalloc(sizeof(akm4xxx_t) * 2, GFP_KERNEL); + ak = ice->akm = kcalloc(2, sizeof(akm4xxx_t), GFP_KERNEL); if (! ak) return -ENOMEM; ice->akm_codecs = 2; diff -Nru a/sound/pci/ice1712/vt1720_mobo.c b/sound/pci/ice1712/vt1720_mobo.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/pci/ice1712/vt1720_mobo.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,106 @@ +/* + * ALSA driver for VT1720/VT1724 (Envy24PT/Envy24HT) + * + * Lowlevel functions for VT1720-based motherboards + * + * Copyright (c) 2004 Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "ice1712.h" +#include "vt1720_mobo.h" + + +static int __devinit k8x800_init(ice1712_t *ice) +{ + ice->vt1720 = 1; + + /* VT1616 codec */ + ice->num_total_dacs = 6; + ice->num_total_adcs = 2; + + /* WM8728 codec */ + /* FIXME: TODO */ + + return 0; +} + +static int __devinit k8x800_add_controls(ice1712_t *ice) +{ + /* FIXME: needs some quirks for VT1616? */ + return 0; +} + +/* EEPROM image */ + +static unsigned char k8x800_eeprom[] __devinitdata = { + 0x01, /* SYSCONF: clock 256, 1ADC, 2DACs */ + 0x02, /* ACLINK: ACLINK, packed */ + 0x00, /* I2S: - */ + 0x00, /* SPDIF: - */ + 0xff, /* GPIO_DIR */ + 0xff, /* GPIO_DIR1 */ + 0x00, /* - */ + 0xff, /* GPIO_MASK */ + 0xff, /* GPIO_MASK1 */ + 0x00, /* - */ + 0x00, /* GPIO_STATE */ + 0x00, /* GPIO_STATE1 */ + 0x00, /* - */ +}; + + +/* entry point */ +struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = { + { + .subvendor = VT1720_SUBDEVICE_K8X800, + .name = "Albatron K8X800 Pro II", + .model = "k8x800", + .chip_init = k8x800_init, + .build_controls = k8x800_add_controls, + .eeprom_size = sizeof(k8x800_eeprom), + .eeprom_data = k8x800_eeprom, + }, + { + .subvendor = VT1720_SUBDEVICE_ZNF3_150, + .name = "Chaintech ZNF3-150", + /* identical with k8x800 */ + .chip_init = k8x800_init, + .build_controls = k8x800_add_controls, + .eeprom_size = sizeof(k8x800_eeprom), + .eeprom_data = k8x800_eeprom, + }, + { + .subvendor = VT1720_SUBDEVICE_ZNF3_250, + .name = "Chaintech ZNF3-250", + /* identical with k8x800 */ + .chip_init = k8x800_init, + .build_controls = k8x800_add_controls, + .eeprom_size = sizeof(k8x800_eeprom), + .eeprom_data = k8x800_eeprom, + }, + { } /* terminator */ +}; + diff -Nru a/sound/pci/ice1712/vt1720_mobo.h b/sound/pci/ice1712/vt1720_mobo.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/pci/ice1712/vt1720_mobo.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,37 @@ +#ifndef __SOUND_VT1720_MOBO_H +#define __SOUND_VT1720_MOBO_H + +/* + * ALSA driver for VT1720/VT1724 (Envy24PT/Envy24HT) + * + * Lowlevel functions for VT1720-based motherboards + * + * Copyright (c) 2004 Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#define VT1720_MOBO_DEVICE_DESC "{Albatron,K8X800 Pro II},"\ + "{Chaintech,ZNF3-150},"\ + "{Chaintech,ZNF3-250}," + +#define VT1720_SUBDEVICE_K8X800 0xf217052c +#define VT1720_SUBDEVICE_ZNF3_150 0x0f2741f6 +#define VT1720_SUBDEVICE_ZNF3_250 0x0f2745f6 + +extern struct snd_ice1712_card_info snd_vt1720_mobo_cards[]; + +#endif /* __SOUND_VT1720_MOBO_H */ diff -Nru a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c --- a/sound/pci/intel8x0.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/intel8x0.c 2004-08-25 19:27:40 -07:00 @@ -48,8 +48,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Intel,82801AA-ICH}," +MODULE_SUPPORTED_DEVICE("{{Intel,82801AA-ICH}," "{Intel,82901AB-ICH0}," "{Intel,82801BA-ICH2}," "{Intel,82801CA-ICH3}," @@ -75,6 +74,7 @@ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ static int ac97_clock[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; static int ac97_quirk[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = AC97_TUNE_DEFAULT}; +static int buggy_irq[SNDRV_CARDS]; #ifdef SUPPORT_JOYSTICK static int joystick[SNDRV_CARDS]; #endif @@ -85,28 +85,23 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:0"); module_param_array(ac97_quirk, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); -MODULE_PARM_SYNTAX(ac97_quirk, SNDRV_ENABLED ",allows:{{-1,4}},dialog:list,default:-1"); +module_param_array(buggy_irq, bool, boot_devs, 0444); +MODULE_PARM_DESC(buggy_irq, "Enable workaround for buggy interrupts on some motherboards."); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif #ifdef SUPPORT_MIDI module_param_array(mpu_port, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU401 port # for Intel i8x0 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0},{0x330},{0x300}},dialog:list"); #endif /* @@ -146,9 +141,15 @@ #ifndef PCI_DEVICE_ID_NVIDIA_MCP_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 0x01b1 #endif +#ifndef PCI_DEVICE_ID_NVIDIA_CK804_AUDIO +#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 0x0059 +#endif #ifndef PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a #endif +#ifndef PCI_DEVICE_ID_NVIDIA_CK8_AUDIO +#define PCI_DEVICE_ID_NVIDIA_CK8_AUDIO 0x008a +#endif #ifndef PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da #endif @@ -397,25 +398,18 @@ } ichdev_t; typedef struct _snd_intel8x0 intel8x0_t; -#define chip_t intel8x0_t struct _snd_intel8x0 { unsigned int device_type; - char ac97_name[32]; - char ctrl_name[32]; int irq; unsigned int mmio; unsigned long addr; unsigned long remap_addr; - struct resource *res; unsigned int bm_mmio; unsigned long bmaddr; unsigned long remap_bmaddr; - struct resource *res_bm; - - struct snd_dma_device dma_dev; struct pci_dev *pci; snd_card_t *card; @@ -430,6 +424,7 @@ int in_ac97_init: 1, in_sdin_init: 1; int fix_nocache: 1; /* workaround for 440MX */ + int buggy_irq: 1; /* workaround for buggy mobos */ ac97_bus_t *ac97_bus; ac97_t *ac97[3]; @@ -444,10 +439,6 @@ struct snd_dma_buffer bdbars; u32 int_sta_reg; /* interrupt status register */ u32 int_sta_mask; /* interrupt status mask */ - -#ifdef CONFIG_PM - u32 pci_state[64 / sizeof(u32)]; -#endif }; static struct pci_device_id snd_intel8x0_ids[] = { @@ -462,7 +453,10 @@ { 0x8086, 0x7195, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 440MX */ { 0x1039, 0x7012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_SIS }, /* SI7012 */ { 0x10de, 0x01b1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ + { 0x10de, 0x003a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* MCP04 */ { 0x10de, 0x006a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ + { 0x10de, 0x0059, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK804 */ + { 0x10de, 0x008a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK8 */ { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ { 0x10de, 0x00ea, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK8S */ { 0x1022, 0x746d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ @@ -605,7 +599,7 @@ unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0_codec_semaphore(chip, ac97->num) < 0) { @@ -619,7 +613,7 @@ static unsigned short snd_intel8x0_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short res; unsigned int tmp; @@ -642,6 +636,21 @@ return res; } +static void snd_intel8x0_codec_read_test(intel8x0_t *chip, unsigned int codec) +{ + unsigned int tmp; + + spin_lock(&chip->ac97_lock); + if (snd_intel8x0_codec_semaphore(chip, codec) >= 0) { + iagetword(chip, codec * 0x80); + if ((tmp = igetdword(chip, ICHREG(GLOB_STA))) & ICH_RCS) { + /* reset RCS and preserve other R/WC bits */ + iputdword(chip, ICHREG(GLOB_STA), tmp & ~(ICH_SRI|ICH_PRI|ICH_TRI|ICH_GSCI)); + } + } + spin_unlock(&chip->ac97_lock); +} + /* * access to AC97 for Ali5455 */ @@ -669,7 +678,7 @@ static unsigned short snd_intel8x0_ali_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short data = 0xffff; spin_lock(&chip->ac97_lock); @@ -689,7 +698,7 @@ static void snd_intel8x0_ali_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0_ali_codec_semaphore(chip)) { @@ -778,6 +787,7 @@ int status, civ, i, step; int ack = 0; + spin_lock(&chip->reg_lock); status = igetbyte(chip, port + ichdev->roff_sr); civ = igetbyte(chip, port + ICH_REG_OFF_CIV); if (!(status & ICH_BCIS)) { @@ -811,10 +821,9 @@ ack = 1; } } + spin_unlock(&chip->reg_lock); if (ack && ichdev->substream) { - spin_unlock(&chip->reg_lock); snd_pcm_period_elapsed(ichdev->substream); - spin_lock(&chip->reg_lock); } iputbyte(chip, port + ichdev->roff_sr, status & (ICH_FIFOE | ICH_BCIS | ICH_LVBCI)); @@ -822,24 +831,22 @@ static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, dev_id, return IRQ_NONE); + intel8x0_t *chip = dev_id; ichdev_t *ichdev; unsigned int status; unsigned int i; - spin_lock(&chip->reg_lock); status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) /* we are not yet resumed */ + return IRQ_NONE; + if ((status & chip->int_sta_mask) == 0) { if (status) { /* ack */ iputdword(chip, chip->int_sta_reg, status); - /* some Nforce[2] boards have problems when - IRQ_NONE is returned here. - */ - if (chip->device_type != DEVICE_NFORCE) + if (! chip->buggy_irq) status = 0; } - spin_unlock(&chip->reg_lock); return IRQ_RETVAL(status); } @@ -851,7 +858,6 @@ /* ack them */ iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask); - spin_unlock(&chip->reg_lock); return IRQ_HANDLED; } @@ -1021,8 +1027,10 @@ /* reset to 2ch once to keep the 6 channel data in alignment, * to start from Front Left always */ - iputdword(chip, ICHREG(GLOB_CNT), (cnt & 0xcfffff)); - mdelay(50); /* grrr... */ + if (cnt & ICH_PCM_246_MASK) { + iputdword(chip, ICHREG(GLOB_CNT), cnt & ~ICH_PCM_246_MASK); + msleep(50); /* grrr... */ + } } else if (chip->device_type == DEVICE_INTEL_ICH4) { if (sample_bits > 16) cnt |= ICH_PCM_20BIT; @@ -1041,16 +1049,16 @@ ichdev->physbuf = runtime->dma_addr; ichdev->size = snd_pcm_lib_buffer_bytes(substream); ichdev->fragsize = snd_pcm_lib_period_bytes(substream); + spin_lock_irq(&chip->reg_lock); if (ichdev->ichd == ICHD_PCMOUT) { - spin_lock(&chip->reg_lock); snd_intel8x0_setup_pcm_out(chip, runtime->channels, runtime->sample_bits); - spin_unlock(&chip->reg_lock); if (chip->device_type == DEVICE_INTEL_ICH4) { ichdev->pos_shift = (runtime->sample_bits > 16) ? 2 : 1; } } snd_intel8x0_setup_periods(chip, ichdev); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1058,17 +1066,25 @@ { intel8x0_t *chip = snd_pcm_substream_chip(substream); ichdev_t *ichdev = get_ichdev(substream); - unsigned long flags; size_t ptr1, ptr; + int civ, timeout = 10; + unsigned int position; - ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << ichdev->pos_shift; - if (ptr1 != 0) - ptr = ichdev->fragsize1 - ptr1; - else - ptr = 0; - spin_lock_irqsave(&chip->reg_lock, flags); - ptr += ichdev->position; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); + do { + civ = igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV); + ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb); + position = ichdev->position; + if (ptr1 == 0) + udelay(1); + if (civ == igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV) && + ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) + break; + } while (timeout--); + ptr1 <<= ichdev->pos_shift; + ptr = ichdev->fragsize1 - ptr1; + ptr += position; + spin_unlock(&chip->reg_lock); if (ptr >= ichdev->size) return 0; return bytes_to_frames(substream->runtime, ptr); @@ -1099,10 +1115,8 @@ 2, 4, }; -#define CHANNELS4 sizeof(channels4) / sizeof(channels4[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_channels4 = { - .count = CHANNELS4, + .count = ARRAY_SIZE(channels4), .list = channels4, .mask = 0, }; @@ -1111,10 +1125,8 @@ 2, 4, 6, }; -#define CHANNELS6 sizeof(channels6) / sizeof(channels6[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_channels6 = { - .count = CHANNELS6, + .count = ARRAY_SIZE(channels6), .list = channels6, .mask = 0, }; @@ -1156,8 +1168,10 @@ runtime->hw.channels_max = 4; snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, &hw_constraints_channels4); } - if (chip->smp20bit) + if (chip->smp20bit) { runtime->hw.formats |= SNDRV_PCM_FMTBIT_S32_LE; + snd_pcm_hw_constraint_msbits(runtime, 0, 32, 20); + } return 0; } @@ -1249,14 +1263,14 @@ static int snd_intel8x0_ali_ac97spdifout_open(snd_pcm_substream_t * substream) { intel8x0_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; unsigned int val; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = igetdword(chip, ICHREG(ALI_INTERFACECR)); val |= ICH_ALI_IF_AC97SP; + iputdword(chip, ICHREG(ALI_INTERFACECR), val); /* also needs to set ALI_SC_CODEC_SPDF correctly */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_AC97SPDIFOUT]); } @@ -1264,14 +1278,14 @@ static int snd_intel8x0_ali_ac97spdifout_close(snd_pcm_substream_t * substream) { intel8x0_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; unsigned int val; chip->ichd[ALID_AC97SPDIFOUT].substream = NULL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = igetdword(chip, ICHREG(ALI_INTERFACECR)); val &= ~ICH_ALI_IF_AC97SP; - spin_unlock_irqrestore(&chip->reg_lock, flags); + iputdword(chip, ICHREG(ALI_INTERFACECR), val); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1627,13 +1641,13 @@ static void snd_intel8x0_mixer_free_ac97_bus(ac97_bus_t *bus) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, bus->private_data, return); + intel8x0_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_intel8x0_mixer_free_ac97(ac97_t *ac97) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; chip->ac97[ac97->num] = NULL; } @@ -1726,12 +1740,30 @@ .name = "Dell Optiplex GX260", /* AD1981A */ .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x1028, + .device = 0x012d, + .name = "Dell Precision 450", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, { /* FIXME: which codec? */ .vendor = 0x103c, .device = 0x00c3, .name = "Hewlett-Packard onboard", .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x103c, + .device = 0x12f1, + .name = "HP xw8200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x103c, + .device = 0x3008, + .name = "HP xw4200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, { .vendor = 0x1043, .device = 0x80f3, @@ -1802,6 +1834,12 @@ }, { .vendor = 0x8086, + .device = 0x4d56, + .name = "Intel ICH/AD1885", + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x8086, .device = 0x6000, .mask = 0xfff0, .name = "Intel ICH5/AD1985", @@ -1828,12 +1866,21 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac97_quirk) { - ac97_bus_t bus, *pbus; - ac97_t ac97, *x97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err; unsigned int i, codecs; unsigned int glob_sta = 0; int spdif_idx = -1; /* disabled */ + ac97_bus_ops_t *ops; + static ac97_bus_ops_t standard_bus_ops = { + .write = snd_intel8x0_codec_write, + .read = snd_intel8x0_codec_read, + }; + static ac97_bus_ops_t ali_bus_ops = { + .write = snd_intel8x0_ali_codec_write, + .read = snd_intel8x0_ali_codec_read, + }; switch (chip->device_type) { case DEVICE_NFORCE: @@ -1849,13 +1896,6 @@ }; chip->in_ac97_init = 1; - memset(&bus, 0, sizeof(bus)); - bus.private_data = chip; - bus.private_free = snd_intel8x0_mixer_free_ac97_bus; - if (ac97_clock >= 8000 && ac97_clock <= 48000) - bus.clock = ac97_clock; - else - bus.clock = 48000; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1863,8 +1903,7 @@ ac97.scaps = AC97_SCAP_SKIP_MODEM; if (chip->device_type != DEVICE_ALI) { glob_sta = igetdword(chip, ICHREG(GLOB_STA)); - bus.write = snd_intel8x0_codec_write; - bus.read = snd_intel8x0_codec_read; + ops = &standard_bus_ops; if (chip->device_type == DEVICE_INTEL_ICH4) { codecs = 0; if (glob_sta & ICH_PCR) @@ -1875,19 +1914,15 @@ codecs++; chip->in_sdin_init = 1; for (i = 0; i < codecs; i++) { - ac97.num = i; - snd_intel8x0_codec_read(&ac97, 0); + snd_intel8x0_codec_read_test(chip, i); chip->ac97_sdin[i] = igetbyte(chip, ICHREG(SDM)) & ICH_LDI_MASK; } - ac97.num = 0; chip->in_sdin_init = 0; } else { codecs = glob_sta & ICH_SCR ? 2 : 1; } - bus.vra = 1; } else { - bus.write = snd_intel8x0_ali_codec_write; - bus.read = snd_intel8x0_ali_codec_read; + ops = &ali_bus_ops; codecs = 1; /* detect the secondary codec */ for (i = 0; i < 100; i++) { @@ -1899,23 +1934,28 @@ iputdword(chip, ICHREG(ALI_RTSR), reg | 0x40); udelay(1); } - /* FIXME: my test board doens't work well with VRA... */ - bus.vra = 0; } - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, ops, chip, &pbus)) < 0) goto __err; + pbus->private_free = snd_intel8x0_mixer_free_ac97_bus; + pbus->shared_type = AC97_SHARED_TYPE_ICH; /* shared with modem driver */ + if (ac97_clock >= 8000 && ac97_clock <= 48000) + pbus->clock = ac97_clock; + /* FIXME: my test board doesn't work well with VRA... */ + if (chip->device_type == DEVICE_ALI) + pbus->no_vra = 1; chip->ac97_bus = pbus; + ac97.pci = chip->pci; for (i = 0; i < codecs; i++) { ac97.num = i; - if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { + if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) { if (err != -EACCES) snd_printk(KERN_ERR "Unable to initialize codec #%d\n", i); if (i == 0) goto __err; continue; } - chip->ac97[i] = x97; } /* tune up the primary codec */ snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, ac97_quirk); @@ -2179,26 +2219,19 @@ /* --- */ synchronize_irq(chip->irq); __hw_end: + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->bdbars.area) { if (chip->fix_nocache) fill_nocache(chip->bdbars.area, chip->bdbars.bytes, 0); - snd_dma_free_pages(&chip->dma_dev, &chip->bdbars); + snd_dma_free_pages(&chip->bdbars); } if (chip->remap_addr) iounmap((void *) chip->remap_addr); if (chip->remap_bmaddr) iounmap((void *) chip->remap_bmaddr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } - if (chip->res_bm) { - release_resource(chip->res_bm); - kfree_nocheck(chip->res_bm); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } @@ -2208,7 +2241,7 @@ */ static int intel8x0_suspend(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; for (i = 0; i < chip->pcm_devs; i++) @@ -2216,17 +2249,15 @@ for (i = 0; i < 3; i++) if (chip->ac97[i]) snd_ac97_suspend(chip->ac97[i]); - pci_save_state(chip->pci, chip->pci_state); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } static int intel8x0_resume(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; - pci_restore_state(chip->pci, chip->pci_state); pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); @@ -2264,7 +2295,6 @@ ichdev_t *ichdev; unsigned long port; unsigned long pos, t; - unsigned long flags; struct timeval start_time, stop_time; if (chip->ac97_bus->clock != 48000) @@ -2287,7 +2317,7 @@ } snd_intel8x0_setup_periods(chip, ichdev); port = ichdev->reg_offset; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* trigger */ if (chip->device_type != DEVICE_ALI) iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE | ICH_STARTBM); @@ -2296,7 +2326,7 @@ iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); } do_gettimeofday(&start_time); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); #if 0 set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(HZ / 20); @@ -2304,7 +2334,7 @@ /* FIXME: schedule() can take too long time and overlap the boundary.. */ mdelay(50); #endif - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* check the position */ pos = ichdev->fragsize1; pos -= igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << ichdev->pos_shift; @@ -2322,7 +2352,7 @@ ; } iputbyte(chip, port + ICH_REG_OFF_CR, ICH_RESETREGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); t = stop_time.tv_sec - start_time.tv_sec; t *= 1000000; @@ -2346,7 +2376,7 @@ static void snd_intel8x0_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, entry->private_data, return); + intel8x0_t *chip = entry->private_data; unsigned int tmp; snd_iprintf(buffer, "Intel8x0\n\n"); @@ -2379,7 +2409,7 @@ static int snd_intel8x0_dev_free(snd_device_t *device) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, device->device_data, return -ENXIO); + intel8x0_t *chip = device->device_data; return snd_intel8x0_free(chip); } @@ -2438,7 +2468,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(intel8x0_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -2447,32 +2477,33 @@ chip->card = card; chip->pci = pci; chip->irq = -1; - snd_intel8x0_proc_init(chip); - sprintf(chip->ac97_name, "%s - AC'97", card->shortname); - sprintf(chip->ctrl_name, "%s - Controller", card->shortname); + if (pci->vendor == PCI_VENDOR_ID_INTEL && pci->device == PCI_DEVICE_ID_INTEL_440MX) chip->fix_nocache = 1; /* enable workaround */ + + /* some Nforce[2] and ICH boards have problems with IRQ handling. + * Needs to return IRQ_HANDLED for unknown irqs. + */ + if (device_type == DEVICE_NFORCE) + chip->buggy_irq = 1; + + if ((err = pci_request_regions(pci, card->shortname)) < 0) { + kfree(chip); + return err; + } + if (device_type == DEVICE_ALI) { /* ALI5455 has no ac97 region */ chip->bmaddr = pci_resource_start(pci, 0); - if ((chip->res_bm = request_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 64 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } goto port_inited; } if (pci_resource_flags(pci, 2) & IORESOURCE_MEM) { /* ICH4 and Nforce */ chip->mmio = 1; chip->addr = pci_resource_start(pci, 2); - if ((chip->res = request_mem_region(chip->addr, 512, chip->ac97_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->addr, chip->addr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, 512); + chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, + pci_resource_len(pci, 2)); if (chip->remap_addr == 0) { snd_printk("AC'97 space ioremap problem\n"); snd_intel8x0_free(chip); @@ -2480,21 +2511,12 @@ } } else { chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_region(chip->addr, 256, chip->ac97_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->addr, chip->addr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } if (pci_resource_flags(pci, 3) & IORESOURCE_MEM) { /* ICH4 */ chip->bm_mmio = 1; chip->bmaddr = pci_resource_start(pci, 3); - if ((chip->res_bm = request_mem_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, 256); + chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, + pci_resource_len(pci, 3)); if (chip->remap_bmaddr == 0) { snd_printk("Controller space ioremap problem\n"); snd_intel8x0_free(chip); @@ -2502,11 +2524,6 @@ } } else { chip->bmaddr = pci_resource_start(pci, 1); - if ((chip->res_bm = request_region(chip->bmaddr, 64, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 64 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } port_inited: @@ -2552,13 +2569,11 @@ ichdev->pos_shift = (device_type == DEVICE_SIS) ? 0 : 1; } - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - /* allocate buffer descriptor lists */ /* the start of each lists must be aligned to 8 bytes */ - if (snd_dma_alloc_pages(&chip->dma_dev, chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, &chip->bdbars) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, + &chip->bdbars) < 0) { snd_intel8x0_free(chip); snd_printk(KERN_ERR "intel8x0: cannot allocate buffer descriptors\n"); return -ENOMEM; @@ -2614,6 +2629,9 @@ { PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO, "NVidia nForce2" }, { PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO, "NVidia nForce3" }, { PCI_DEVICE_ID_NVIDIA_CK8S_AUDIO, "NVidia CK8S" }, + { PCI_DEVICE_ID_NVIDIA_CK804_AUDIO, "NVidia CK804" }, + { PCI_DEVICE_ID_NVIDIA_CK8_AUDIO, "NVidia CK8" }, + { 0x003a, "NVidia MCP04" }, { 0x746d, "AMD AMD8111" }, { 0x7445, "AMD AMD768" }, { 0x5455, "ALi M5455" }, @@ -2661,6 +2679,8 @@ snd_card_free(card); return err; } + if (buggy_irq[dev]) + chip->buggy_irq = 1; if ((err = snd_intel8x0_mixer(chip, ac97_clock[dev], ac97_quirk[dev])) < 0) { snd_card_free(card); @@ -2680,6 +2700,8 @@ } } else mpu_port[dev] = 0; + + snd_intel8x0_proc_init(chip); sprintf(card->longname, "%s at 0x%lx, irq %i", card->shortname, chip->addr, chip->irq); diff -Nru a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c --- a/sound/pci/intel8x0m.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/intel8x0m.c 2004-08-25 19:27:40 -07:00 @@ -40,10 +40,9 @@ #include MODULE_AUTHOR("Jaroslav Kysela "); -MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440 modem"); +MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7013; NVidia MCP/2/2S/3 modems"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Intel,82801AA-ICH}," +MODULE_SUPPORTED_DEVICE("{{Intel,82801AA-ICH}," "{Intel,82901AB-ICH0}," "{Intel,82801BA-ICH2}," "{Intel,82801CA-ICH3}," @@ -60,16 +59,12 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:0"); /* * Direct registers @@ -99,18 +94,20 @@ #ifndef PCI_DEVICE_ID_SI_7013 #define PCI_DEVICE_ID_SI_7013 0x7013 #endif -#if 0 -#ifndef PCI_DEVICE_ID_NVIDIA_MCP_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 0x01b1 +#ifndef PCI_DEVICE_ID_NVIDIA_MCP_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP_MODEM 0x01c1 #endif -#ifndef PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a +#ifndef PCI_DEVICE_ID_NVIDIA_MCP2_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP2_MODEM 0x0069 #endif -#ifndef PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da +#ifndef PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM 0x0089 #endif +#ifndef PCI_DEVICE_ID_NVIDIA_MCP3_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP3_MODEM 0x00d9 #endif + enum { DEVICE_INTEL, DEVICE_SIS, DEVICE_ALI, DEVICE_NFORCE }; #define ICHREG(x) ICH_REG_##x @@ -228,23 +225,18 @@ } ichdev_t; typedef struct _snd_intel8x0m intel8x0_t; -#define chip_t intel8x0_t struct _snd_intel8x0m { unsigned int device_type; - char ac97_name[64]; - char ctrl_name[64]; int irq; unsigned int mmio; unsigned long addr; unsigned long remap_addr; - struct resource *res; unsigned int bm_mmio; unsigned long bmaddr; unsigned long remap_bmaddr; - struct resource *res_bm; struct pci_dev *pci; snd_card_t *card; @@ -261,7 +253,6 @@ spinlock_t reg_lock; spinlock_t ac97_lock; - struct snd_dma_device dma_dev; struct snd_dma_buffer bdbars; u32 bdbars_count; u32 int_sta_reg; /* interrupt status register */ @@ -278,12 +269,12 @@ { 0x8086, 0x24d6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* ICH5 */ { 0x8086, 0x7196, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 440MX */ { 0x1022, 0x7446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD768 */ -#if 0 - /* TODO: support needed */ { 0x1039, 0x7013, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_SIS }, /* SI7013 */ - { 0x10de, 0x01b1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ - { 0x10de, 0x006a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ - { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ + { 0x10de, 0x01c1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ + { 0x10de, 0x0069, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ + { 0x10de, 0x0089, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2s */ + { 0x10de, 0x00d9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ +#if 0 { 0x1022, 0x746d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ { 0x10b9, 0x5455, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALI }, /* Ali5455 */ #endif @@ -328,6 +319,14 @@ outb(val, chip->bmaddr + offset); } +static void iputword(intel8x0_t *chip, u32 offset, u16 val) +{ + if (chip->bm_mmio) + writew(val, chip->remap_bmaddr + offset); + else + outw(val, chip->bmaddr + offset); +} + static void iputdword(intel8x0_t *chip, u32 offset, u32 val) { if (chip->bm_mmio) @@ -408,7 +407,7 @@ unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0m_codec_semaphore(chip, ac97->num) < 0) { @@ -422,7 +421,7 @@ static unsigned short snd_intel8x0_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short res; unsigned int tmp; @@ -542,13 +541,17 @@ static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, dev_id, return IRQ_NONE); + intel8x0_t *chip = dev_id; ichdev_t *ichdev; unsigned int status; unsigned int i; spin_lock(&chip->reg_lock); status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) { /* we are not yet resumed */ + spin_unlock(&chip->reg_lock); + return IRQ_NONE; + } if ((status & chip->int_sta_mask) == 0) { if (status) iputdword(chip, chip->int_sta_reg, status); @@ -684,9 +687,9 @@ .rate_max = 16000, .channels_min = 1, .channels_max = 1, - .buffer_bytes_max = 32 * 1024, + .buffer_bytes_max = 64 * 1024, .period_bytes_min = 32, - .period_bytes_max = 32 * 1024, + .period_bytes_max = 64 * 1024, .periods_min = 1, .periods_max = 1024, .fifo_size = 0, @@ -818,8 +821,8 @@ .suffix = "Modem", .playback_ops = &snd_intel8x0m_playback_ops, .capture_ops = &snd_intel8x0m_capture_ops, - .prealloc_size = 4 * 1024, - .prealloc_max_size = 16 * 1024, + .prealloc_size = 32 * 1024, + .prealloc_max_size = 64 * 1024, }, }; @@ -872,32 +875,30 @@ static void snd_intel8x0_mixer_free_ac97_bus(ac97_bus_t *bus) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, bus->private_data, return); + intel8x0_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_intel8x0_mixer_free_ac97(ac97_t *ac97) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; chip->ac97 = NULL; } static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock) { - ac97_bus_t bus, *pbus; - ac97_t ac97, *x97; + ac97_bus_t *pbus; + ac97_template_t ac97; + ac97_t *x97; int err; unsigned int glob_sta = 0; + static ac97_bus_ops_t ops = { + .write = snd_intel8x0_codec_write, + .read = snd_intel8x0_codec_read, + }; chip->in_ac97_init = 1; - memset(&bus, 0, sizeof(bus)); - bus.private_data = chip; - bus.private_free = snd_intel8x0_mixer_free_ac97_bus; - if (ac97_clock >= 8000 && ac97_clock <= 48000) - bus.clock = ac97_clock; - else - bus.clock = 48000; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -905,13 +906,15 @@ ac97.scaps = AC97_SCAP_SKIP_AUDIO; glob_sta = igetdword(chip, ICHREG(GLOB_STA)); - bus.write = snd_intel8x0_codec_write; - bus.read = snd_intel8x0_codec_read; - bus.vra = 1; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0) goto __err; + pbus->private_free = snd_intel8x0_mixer_free_ac97_bus; + pbus->shared_type = AC97_SHARED_TYPE_ICH; /* shared with audio driver */ + if (ac97_clock >= 8000 && ac97_clock <= 48000) + pbus->clock = ac97_clock; chip->ac97_bus = pbus; + ac97.pci = chip->pci; ac97.num = glob_sta & ICH_SCR ? 1 : 0; if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { @@ -1016,6 +1019,11 @@ } while (time_after_eq(end_time, jiffies)); } + if (chip->device_type == DEVICE_SIS) { + /* unmute the output on SIS7012 */ + iputword(chip, 0x4c, igetword(chip, 0x4c) | 1); + } + return 0; } @@ -1056,22 +1064,15 @@ synchronize_irq(chip->irq); __hw_end: if (chip->bdbars.area) - snd_dma_free_pages(&chip->dma_dev, &chip->bdbars); + snd_dma_free_pages(&chip->bdbars); if (chip->remap_addr) iounmap((void *) chip->remap_addr); if (chip->remap_bmaddr) iounmap((void *) chip->remap_bmaddr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } - if (chip->res_bm) { - release_resource(chip->res_bm); - kfree_nocheck(chip->res_bm); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } @@ -1081,7 +1082,7 @@ */ static int intel8x0m_suspend(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; for (i = 0; i < chip->pcm_devs; i++) @@ -1094,7 +1095,7 @@ static int intel8x0m_resume(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); @@ -1109,7 +1110,7 @@ static void snd_intel8x0m_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, entry->private_data, return); + intel8x0_t *chip = entry->private_data; unsigned int tmp; snd_iprintf(buffer, "Intel8x0m\n\n"); @@ -1135,7 +1136,7 @@ static int snd_intel8x0_dev_free(snd_device_t *device) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, device->device_data, return -ENXIO); + intel8x0_t *chip = device->device_data; return snd_intel8x0_free(chip); } @@ -1168,7 +1169,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(intel8x0_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1177,29 +1178,23 @@ chip->card = card; chip->pci = pci; chip->irq = -1; - snd_intel8x0m_proc_init(chip); - sprintf(chip->ac97_name, "%s - AC'97", card->shortname); - sprintf(chip->ctrl_name, "%s - Controller", card->shortname); + + if ((err = pci_request_regions(pci, card->shortname)) < 0) { + kfree(chip); + return err; + } + if (device_type == DEVICE_ALI) { /* ALI5455 has no ac97 region */ chip->bmaddr = pci_resource_start(pci, 0); - if ((chip->res_bm = request_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } goto port_inited; } if (pci_resource_flags(pci, 2) & IORESOURCE_MEM) { /* ICH4 and Nforce */ chip->mmio = 1; chip->addr = pci_resource_start(pci, 2); - if ((chip->res = request_mem_region(chip->addr, 512, chip->ac97_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->addr, chip->addr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, 512); + chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, + pci_resource_len(pci, 2)); if (chip->remap_addr == 0) { snd_printk("AC'97 space ioremap problem\n"); snd_intel8x0_free(chip); @@ -1207,21 +1202,12 @@ } } else { chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_region(chip->addr, 256, chip->ac97_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->addr, chip->addr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } if (pci_resource_flags(pci, 3) & IORESOURCE_MEM) { /* ICH4 */ chip->bm_mmio = 1; chip->bmaddr = pci_resource_start(pci, 3); - if ((chip->res_bm = request_mem_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, 256); + chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, + pci_resource_len(pci, 3)); if (chip->remap_bmaddr == 0) { snd_printk("Controller space ioremap problem\n"); snd_intel8x0_free(chip); @@ -1229,11 +1215,6 @@ } } else { chip->bmaddr = pci_resource_start(pci, 1); - if ((chip->res_bm = request_region(chip->bmaddr, 128, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 128 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } port_inited: @@ -1271,10 +1252,9 @@ /* allocate buffer descriptor lists */ /* the start of each lists must be aligned to 8 bytes */ - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - if (snd_dma_alloc_pages(&chip->dma_dev, chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, &chip->bdbars) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, + &chip->bdbars) < 0) { snd_intel8x0_free(chip); return -ENOMEM; } @@ -1320,11 +1300,12 @@ { PCI_DEVICE_ID_INTEL_ICH4_6, "Intel 82801DB-ICH4" }, { PCI_DEVICE_ID_INTEL_ICH5_6, "Intel ICH5" }, { 0x7446, "AMD AMD768" }, -#if 0 { PCI_DEVICE_ID_SI_7013, "SiS SI7013" }, - { PCI_DEVICE_ID_NVIDIA_MCP_AUDIO, "NVidia nForce" }, - { PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO, "NVidia nForce2" }, - { PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO, "NVidia nForce3" }, + { PCI_DEVICE_ID_NVIDIA_MCP_MODEM, "NVidia nForce" }, + { PCI_DEVICE_ID_NVIDIA_MCP2_MODEM, "NVidia nForce2" }, + { PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM, "NVidia nForce2s" }, + { PCI_DEVICE_ID_NVIDIA_MCP3_MODEM, "NVidia nForce3" }, +#if 0 { 0x5455, "ALi M5455" }, { 0x746d, "AMD AMD8111" }, #endif @@ -1353,10 +1334,10 @@ switch (pci_id->driver_data) { case DEVICE_NFORCE: - strcpy(card->driver, "NFORCE"); + strcpy(card->driver, "NFORCE-MODEM"); break; default: - strcpy(card->driver, "ICH"); + strcpy(card->driver, "ICH-MODEM"); break; } @@ -1383,6 +1364,8 @@ return err; } + snd_intel8x0m_proc_init(chip); + sprintf(card->longname, "%s at 0x%lx, irq %i", card->shortname, chip->addr, chip->irq); diff -Nru a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c --- a/sound/pci/korg1212/korg1212.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/korg1212/korg1212.c 2004-08-25 19:27:40 -07:00 @@ -343,12 +343,6 @@ unsigned long inIRQ; unsigned long iobase; - struct resource *res_iomem; - struct resource *res_ioport; - struct resource *res_iomem2; - - struct snd_dma_device dma_dev; - struct snd_dma_buffer dma_dsp; struct snd_dma_buffer dma_play; struct snd_dma_buffer dma_rec; @@ -411,8 +405,7 @@ MODULE_DESCRIPTION("korg1212"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{KORG,korg1212}}"); +MODULE_SUPPORTED_DEVICE("{{KORG,korg1212}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -421,13 +414,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Haroldo Gamal "); static struct pci_device_id snd_korg1212_ids[] = { @@ -637,7 +627,7 @@ /* timer callback for checking the ack of stop request */ static void snd_korg1212_timer_func(unsigned long data) { - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, (void*)data, return); + korg1212_t *korg1212 = (korg1212_t *) data; spin_lock(&korg1212->lock); if (readl(&korg1212->sharedBufferPtr->cardCommand) == 0) { @@ -1143,7 +1133,7 @@ static irqreturn_t snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs) { u32 doorbellValue; - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, dev_id, return IRQ_NONE); + korg1212_t *korg1212 = dev_id; if(irq != korg1212->irq) return IRQ_NONE; @@ -1407,7 +1397,7 @@ static int snd_korg1212_playback_open(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; #if K1212_DEBUG_LEVEL > 0 @@ -1419,8 +1409,7 @@ snd_korg1212_OpenCard(korg1212); runtime->hw = snd_korg1212_playback_info; - runtime->dma_area = (char *) korg1212->playDataBufsPtr; - runtime->dma_bytes = K1212_BUF_SIZE; + snd_pcm_set_runtime_buffer(substream, &korg1212->dma_play); spin_lock_irqsave(&korg1212->lock, flags); @@ -1438,7 +1427,7 @@ static int snd_korg1212_capture_open(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; #if K1212_DEBUG_LEVEL > 0 @@ -1450,8 +1439,7 @@ snd_korg1212_OpenCard(korg1212); runtime->hw = snd_korg1212_capture_info; - runtime->dma_area = (char *) korg1212->recordDataBufsPtr; - runtime->dma_bytes = K1212_BUF_SIZE; + snd_pcm_set_runtime_buffer(substream, &korg1212->dma_rec); spin_lock_irqsave(&korg1212->lock, flags); @@ -1468,7 +1456,7 @@ static int snd_korg1212_playback_close(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_close [%s]\n", stateName[korg1212->cardState]); @@ -1490,7 +1478,7 @@ static int snd_korg1212_capture_close(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_capture_close [%s]\n", stateName[korg1212->cardState]); @@ -1532,7 +1520,7 @@ snd_pcm_hw_params_t *params) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int err; #if K1212_DEBUG_LEVEL > 0 @@ -1560,21 +1548,21 @@ static int snd_korg1212_prepare(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int rc; #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_prepare [%s]\n", stateName[korg1212->cardState]); #endif - spin_lock(&korg1212->lock); + spin_lock_irq(&korg1212->lock); /* FIXME: we should wait for ack! */ if (korg1212->stop_pending_cnt > 0) { #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_prepare - Stop is pending... [%s]\n", stateName[korg1212->cardState]); #endif - spin_unlock(&korg1212->lock); + spin_unlock_irq(&korg1212->lock); return -EAGAIN; /* writel(0, &korg1212->sharedBufferPtr->cardCommand); @@ -1587,7 +1575,7 @@ korg1212->currentBuffer = 0; - spin_unlock(&korg1212->lock); + spin_unlock_irq(&korg1212->lock); return rc ? -EINVAL : 0; } @@ -1595,7 +1583,7 @@ static int snd_korg1212_trigger(snd_pcm_substream_t *substream, int cmd) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int rc; #if K1212_DEBUG_LEVEL > 0 @@ -1640,7 +1628,7 @@ static snd_pcm_uframes_t snd_korg1212_playback_pointer(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_uframes_t pos; pos = korg1212->currentBuffer * kPlayBufferFrames; @@ -1655,7 +1643,7 @@ static snd_pcm_uframes_t snd_korg1212_capture_pointer(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_uframes_t pos; pos = korg1212->currentBuffer * kPlayBufferFrames; @@ -1674,7 +1662,7 @@ void __user *src, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 2 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_copy [%s] %ld %ld\n", stateName[korg1212->cardState], pos, count); @@ -1689,7 +1677,7 @@ snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_silence [%s]\n", stateName[korg1212->cardState]); @@ -1704,7 +1692,7 @@ void __user *dst, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 2 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_capture_copy [%s] %ld %ld\n", stateName[korg1212->cardState], pos, count); @@ -1749,30 +1737,28 @@ static int snd_korg1212_control_phase_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i = kcontrol->private_value; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); u->value.integer.value[0] = korg1212->volumePhase[i]; if (i >= 8) u->value.integer.value[1] = korg1212->volumePhase[i+1]; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_phase_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; int i, val; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1798,7 +1784,7 @@ } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1814,11 +1800,10 @@ static int snd_korg1212_control_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; u->value.integer.value[0] = abs(korg1212->sharedBufferPtr->volumeData[i]); @@ -1826,20 +1811,19 @@ if (i >= 8) u->value.integer.value[1] = abs(korg1212->sharedBufferPtr->volumeData[i+1]); - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; int i; int val; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1859,7 +1843,7 @@ } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1878,11 +1862,10 @@ static int snd_korg1212_control_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; u->value.enumerated.item[0] = korg1212->sharedBufferPtr->routeData[i]; @@ -1890,18 +1873,17 @@ if (i >= 8) u->value.enumerated.item[1] = korg1212->sharedBufferPtr->routeData[i+1]; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_route_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0, i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1917,7 +1899,7 @@ } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1933,26 +1915,24 @@ static int snd_korg1212_control_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); u->value.integer.value[0] = korg1212->leftADCInSens; u->value.integer.value[1] = korg1212->rightADCInSens; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); if (u->value.integer.value[0] != korg1212->leftADCInSens) { korg1212->leftADCInSens = u->value.integer.value[0]; @@ -1963,7 +1943,7 @@ change = 1; } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); if (change) snd_korg1212_WriteADCSensitivity(korg1212); @@ -1985,29 +1965,27 @@ static int snd_korg1212_control_sync_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); ucontrol->value.enumerated.item[0] = korg1212->clkSource; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_sync_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); change = val != korg1212->clkSource; snd_korg1212_SetClockSource(korg1212, val); - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -2063,8 +2041,6 @@ } }; -#define K1212_CONTROL_ELEMENTS (sizeof(snd_korg1212_controls) / sizeof(snd_korg1212_controls[0])) - /* * proc interface */ @@ -2120,29 +2096,13 @@ korg1212->iobase = 0; } - if (korg1212->res_iomem != NULL) { - release_resource(korg1212->res_iomem); - kfree_nocheck(korg1212->res_iomem); - korg1212->res_iomem = NULL; - } - - if (korg1212->res_ioport != NULL) { - release_resource(korg1212->res_ioport); - kfree_nocheck(korg1212->res_ioport); - korg1212->res_ioport = NULL; - } - - if (korg1212->res_iomem2 != NULL) { - release_resource(korg1212->res_iomem2); - kfree_nocheck(korg1212->res_iomem2); - korg1212->res_iomem2 = NULL; - } + pci_release_regions(korg1212->pci); // ---------------------------------------------------- // free up memory resources used for the DSP download. // ---------------------------------------------------- if (korg1212->dma_dsp.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_dsp); + snd_dma_free_pages(&korg1212->dma_dsp); korg1212->dma_dsp.area = NULL; } @@ -2152,12 +2112,12 @@ // free up memory resources used for the Play/Rec Buffers // ------------------------------------------------------ if (korg1212->dma_play.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_play); + snd_dma_free_pages(&korg1212->dma_play); korg1212->dma_play.area = NULL; } if (korg1212->dma_rec.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_rec); + snd_dma_free_pages(&korg1212->dma_rec); korg1212->dma_rec.area = NULL; } @@ -2167,17 +2127,17 @@ // free up memory resources used for the Shared Buffers // ---------------------------------------------------- if (korg1212->dma_shared.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_shared); + snd_dma_free_pages(&korg1212->dma_shared); korg1212->dma_shared.area = NULL; } - snd_magic_kfree(korg1212); + kfree(korg1212); return 0; } static int snd_korg1212_dev_free(snd_device_t *device) { - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, device->device_data, return -ENXIO); + korg1212_t *korg1212 = device->device_data; #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: Freeing device\n"); #endif @@ -2201,7 +2161,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - korg1212 = snd_magic_kcalloc(korg1212_t, 0, GFP_KERNEL); + korg1212 = kcalloc(1, sizeof(*korg1212), GFP_KERNEL); if (korg1212 == NULL) return -ENOMEM; @@ -2232,6 +2192,11 @@ for (i=0; ivolumePhase[i] = 0; + if ((err = pci_request_regions(pci, "korg1212")) < 0) { + kfree(korg1212); + return err; + } + korg1212->iomem = pci_resource_start(korg1212->pci, 0); korg1212->ioport = pci_resource_start(korg1212->pci, 1); korg1212->iomem2 = pci_resource_start(korg1212->pci, 2); @@ -2252,27 +2217,6 @@ stateName[korg1212->cardState]); #endif - korg1212->res_iomem = request_mem_region(korg1212->iomem, iomem_size, "korg1212"); - if (korg1212->res_iomem == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->iomem, korg1212->iomem + iomem_size - 1); - return -EBUSY; - } - - korg1212->res_ioport = request_region(korg1212->ioport, ioport_size, "korg1212"); - if (korg1212->res_ioport == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->ioport, korg1212->ioport + ioport_size - 1); - return -EBUSY; - } - - korg1212->res_iomem2 = request_mem_region(korg1212->iomem2, iomem2_size, "korg1212"); - if (korg1212->res_iomem2 == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->iomem2, korg1212->iomem2 + iomem2_size - 1); - return -EBUSY; - } - if ((korg1212->iobase = (unsigned long) ioremap(korg1212->iomem, iomem_size)) == 0) { snd_printk(KERN_ERR "unable to remap memory region 0x%lx-0x%lx\n", korg1212->iobase, korg1212->iobase + iomem_size - 1); @@ -2329,11 +2273,8 @@ stateName[korg1212->cardState]); #endif - memset(&korg1212->dma_dev, 0, sizeof(korg1212->dma_dev)); - korg1212->dma_dev.type = SNDRV_DMA_TYPE_DEV; - korg1212->dma_dev.dev = snd_dma_pci_data(korg1212->pci); - - if (snd_dma_alloc_pages(&korg1212->dma_dev, sizeof(KorgSharedBuffer), &korg1212->dma_shared) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + sizeof(KorgSharedBuffer), &korg1212->dma_shared) < 0) { snd_printk(KERN_ERR "can not allocate shared buffer memory (%Zd bytes)\n", sizeof(KorgSharedBuffer)); return -ENOMEM; } @@ -2348,7 +2289,8 @@ korg1212->DataBufsSize = sizeof(KorgAudioBuffer) * kNumBuffers; - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->DataBufsSize, &korg1212->dma_play) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->DataBufsSize, &korg1212->dma_play) < 0) { snd_printk(KERN_ERR "can not allocate play data buffer memory (%d bytes)\n", korg1212->DataBufsSize); return -ENOMEM; } @@ -2360,7 +2302,8 @@ korg1212->playDataBufsPtr, korg1212->PlayDataPhy, korg1212->DataBufsSize); #endif - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->DataBufsSize, &korg1212->dma_rec) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->DataBufsSize, &korg1212->dma_rec) < 0) { snd_printk(KERN_ERR "can not allocate record data buffer memory (%d bytes)\n", korg1212->DataBufsSize); return -ENOMEM; } @@ -2390,7 +2333,8 @@ korg1212->AdatTimeCodePhy = korg1212->sharedBufferPhy + offsetof(KorgSharedBuffer, AdatTimeCode); - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->dspCodeSize, &korg1212->dma_dsp) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->dspCodeSize, &korg1212->dma_dsp) < 0) { snd_printk(KERN_ERR "can not allocate dsp code memory (%d bytes)\n", korg1212->dspCodeSize); return -ENOMEM; } @@ -2420,7 +2364,7 @@ "VolumeTablePhy = %08x L[%08x]\n" "RoutingTablePhy = %08x L[%08x]\n" "AdatTimeCodePhy = %08x L[%08x]\n", - korg1212->dma_dsp.addr, UpperWordSwap(korg1212->dma_dsp.addr), + (int)korg1212->dma_dsp.addr, UpperWordSwap(korg1212->dma_dsp.addr), korg1212->PlayDataPhy, LowerWordSwap(korg1212->PlayDataPhy), korg1212->RecDataPhy, LowerWordSwap(korg1212->RecDataPhy), korg1212->VolumeTablePhy, LowerWordSwap(korg1212->VolumeTablePhy), @@ -2443,7 +2387,7 @@ //snd_pcm_lib_preallocate_pages_for_all(korg1212->pcm, // K1212_MAX_BUF_SIZE, K1212_MAX_BUF_SIZE, GFP_KERNEL); - for (i = 0; i < K1212_CONTROL_ELEMENTS; i++) { + for (i = 0; i < ARRAY_SIZE(snd_korg1212_controls); i++) { err = snd_ctl_add(korg1212->card, snd_ctl_new1(&snd_korg1212_controls[i], korg1212)); if (err < 0) return err; diff -Nru a/sound/pci/maestro3.c b/sound/pci/maestro3.c --- a/sound/pci/maestro3.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/maestro3.c 2004-08-25 19:27:40 -07:00 @@ -51,8 +51,7 @@ MODULE_AUTHOR("Zach Brown , Takashi Iwai "); MODULE_DESCRIPTION("ESS Maestro3 PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,Maestro3 PCI}," +MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI}," "{ESS,ES1988}," "{ESS,Allegro PCI}," "{ESS,Allegro-1 PCI}," @@ -67,19 +66,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(external_amp, bool, boot_devs, 0444); MODULE_PARM_DESC(external_amp, "Enable external amp for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(external_amp, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); module_param_array(amp_gpio, int, boot_devs, 0444); MODULE_PARM_DESC(amp_gpio, "GPIO pin number for external amp. (default = -1)"); -MODULE_PARM_SYNTAX(amp_gpio, SNDRV_ENABLED); #define MAX_PLAYBACKS 2 #define MAX_CAPTURES 1 @@ -776,8 +770,6 @@ typedef struct snd_m3_dma m3_dma_t; typedef struct snd_m3 m3_t; -#define chip_t m3_t - /* quirk lists */ struct m3_quirk { @@ -827,7 +819,6 @@ snd_card_t *card; unsigned long iobase; - struct resource *iobase_res; int irq; int allegro_flag : 1; @@ -1165,12 +1156,11 @@ { m3_t *chip = snd_pcm_substream_chip(subs); m3_dma_t *s = (m3_dma_t*)subs->runtime->private_data; - unsigned long flags; int err = -EINVAL; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -1191,7 +1181,7 @@ } break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -1477,7 +1467,6 @@ m3_t *chip = snd_pcm_substream_chip(subs); snd_pcm_runtime_t *runtime = subs->runtime; m3_dma_t *s = (m3_dma_t*)runtime->private_data; - unsigned long flags; snd_assert(s != NULL, return -ENXIO); @@ -1488,7 +1477,7 @@ runtime->rate < 8000) return -EINVAL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_m3_pcm_setup1(chip, s, subs); @@ -1499,7 +1488,7 @@ snd_m3_pcm_setup2(chip, s, runtime); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1573,7 +1562,7 @@ static irqreturn_t snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - m3_t *chip = snd_magic_cast(m3_t, dev_id, ); + m3_t *chip = dev_id; u8 status; int i; @@ -1670,20 +1659,19 @@ { int i; m3_dma_t *s; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < chip->num_substreams; i++) { s = &chip->substreams[i]; if (! s->opened) goto __found; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return -ENOMEM; __found: s->opened = 1; s->running = 0; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); subs->runtime->private_data = s; s->substream = subs; @@ -1703,12 +1691,11 @@ snd_m3_substream_close(m3_t *chip, snd_pcm_substream_t *subs) { m3_dma_t *s = (m3_dma_t*) subs->runtime->private_data; - unsigned long flags; if (s == NULL) return; /* not opened properly */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (s->substream && s->running) snd_m3_pcm_stop(chip, s, s->substream); /* does this happen? */ if (s->in_lists) { @@ -1719,7 +1706,7 @@ } s->running = 0; s->opened = 0; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } static int @@ -1848,7 +1835,7 @@ static unsigned short snd_m3_ac97_read(ac97_t *ac97, unsigned short reg) { - m3_t *chip = snd_magic_cast(m3_t, ac97->private_data, return -ENXIO); + m3_t *chip = ac97->private_data; unsigned short ret = 0; unsigned long flags; @@ -1867,7 +1854,7 @@ static void snd_m3_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - m3_t *chip = snd_magic_cast(m3_t, ac97->private_data, return); + m3_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1983,14 +1970,15 @@ static int __devinit snd_m3_mixer(m3_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_m3_ac97_write, + .read = snd_m3_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_m3_ac97_write; - bus.read = snd_m3_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -2167,7 +2155,7 @@ KDATA_DMA_XFER0); /* write kernel into code memory.. */ - for (i = 0 ; i < sizeof(assp_kernel_image) / 2; i++) { + for (i = 0 ; i < ARRAY_SIZE(assp_kernel_image); i++) { snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, REV_B_CODE_MEMORY_BEGIN + i, assp_kernel_image[i]); @@ -2179,7 +2167,7 @@ * drop it there. It seems that the minisrc doesn't * need vectors, so we won't bother with them.. */ - for (i = 0; i < sizeof(assp_minisrc_image) / 2; i++) { + for (i = 0; i < ARRAY_SIZE(assp_minisrc_image); i++) { snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, 0x400 + i, assp_minisrc_image[i]); @@ -2368,22 +2356,21 @@ static int snd_m3_free(m3_t *chip) { - unsigned long flags; m3_dma_t *s; int i; if (chip->substreams) { - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < chip->num_substreams; i++) { s = &chip->substreams[i]; /* check surviving pcms; this should not happen though.. */ if (s->substream && s->running) snd_m3_pcm_stop(chip, s, s->substream); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); kfree(chip->substreams); } - if (chip->iobase_res) { + if (chip->iobase) { snd_m3_outw(chip, HOST_INT_CTRL, 0); /* disable ints */ } @@ -2392,17 +2379,15 @@ vfree(chip->suspend_mem); #endif - if (chip->irq >= 0) + if (chip->irq >= 0) { synchronize_irq(chip->irq); - - if (chip->iobase_res) { - release_resource(chip->iobase_res); - kfree_nocheck(chip->iobase_res); - } - if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + } + + if (chip->iobase) + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -2413,7 +2398,7 @@ #ifdef CONFIG_PM static int m3_suspend(snd_card_t *card, unsigned int state) { - m3_t *chip = snd_magic_cast(m3_t, card->pm_private_data, return -EINVAL); + m3_t *chip = card->pm_private_data; int i, index; if (chip->suspend_mem == NULL) @@ -2444,12 +2429,14 @@ static int m3_resume(snd_card_t *card, unsigned int state) { - m3_t *chip = snd_magic_cast(m3_t, card->pm_private_data, return -EINVAL); + m3_t *chip = card->pm_private_data; int i, index; if (chip->suspend_mem == NULL) return 0; + pci_set_master(chip->pci); + /* first lets just bring everything back. .*/ snd_m3_outw(chip, 0, 0x54); snd_m3_outw(chip, 0, 0x56); @@ -2489,7 +2476,7 @@ static int snd_m3_dev_free(snd_device_t *device) { - m3_t *chip = snd_magic_cast(m3_t, device->device_data, return -ENXIO); + m3_t *chip = device->device_data; return snd_m3_free(chip); } @@ -2519,7 +2506,7 @@ return -ENXIO; } - chip = snd_magic_kcalloc(m3_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -2562,18 +2549,16 @@ chip->num_substreams = NR_DSPS; chip->substreams = kmalloc(sizeof(m3_dma_t) * chip->num_substreams, GFP_KERNEL); if (chip->substreams == NULL) { - snd_magic_kfree(chip); + kfree(chip); return -ENOMEM; } memset(chip->substreams, 0, sizeof(m3_dma_t) * chip->num_substreams); - chip->iobase = pci_resource_start(pci, 0); - if ((chip->iobase_res = request_region(chip->iobase, 256, - card->driver)) == NULL) { - snd_printk("unable to grab i/o ports %ld\n", chip->iobase); + if ((err = pci_request_regions(pci, card->driver)) < 0) { snd_m3_free(chip); - return -EBUSY; + return err; } + chip->iobase = pci_resource_start(pci, 0); /* just to be sure */ pci_set_master(pci); diff -Nru a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c --- a/sound/pci/mixart/mixart.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/mixart/mixart.c 2004-08-25 19:27:40 -07:00 @@ -42,25 +42,19 @@ MODULE_AUTHOR("Digigram "); MODULE_DESCRIPTION("Digigram " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ static int boot_devs; -#define chip_t mixart_t - module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* */ @@ -247,21 +241,27 @@ /* pipe is not yet defined */ if( pipe->status == PIPE_UNDEFINED ) { int err, i; - mixart_streaming_group_t streaming_group_resp; - mixart_streaming_group_req_t streaming_group_req; + struct { + mixart_streaming_group_req_t sgroup_req; + mixart_streaming_group_t sgroup_resp; + } *buf; snd_printdd("add_ref_pipe audio chip(%d) pcm(%d)\n", chip->chip_idx, pcm_number); + buf = kmalloc(sizeof(*buf), GFP_KERNEL); + if (!buf) + return NULL; + request.uid = (mixart_uid_t){0,0}; /* should be StreamManagerUID, but zero is OK if there is only one ! */ - request.data = &streaming_group_req; - request.size = sizeof(streaming_group_req); + request.data = &buf->sgroup_req; + request.size = sizeof(buf->sgroup_req); - memset(&streaming_group_req, 0, sizeof(streaming_group_req)); + memset(&buf->sgroup_req, 0, sizeof(buf->sgroup_req)); - streaming_group_req.stream_count = stream_count; - streaming_group_req.channel_count = 2; - streaming_group_req.latency = 256; - streaming_group_req.connector = pipe->uid_left_connector; /* the left connector */ + buf->sgroup_req.stream_count = stream_count; + buf->sgroup_req.channel_count = 2; + buf->sgroup_req.latency = 256; + buf->sgroup_req.connector = pipe->uid_left_connector; /* the left connector */ for (i=0; isgroup_req.stream_info[i].size_max_byte_frame = 1024; + buf->sgroup_req.stream_info[i].size_max_sample_frame = 256; + buf->sgroup_req.stream_info[i].nb_bytes_max_per_sample = MIXART_FLOAT_P__4_0_TO_HEX; /* is 4.0f */ /* find the right bufferinfo_array */ j = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (pcm_number * (MIXART_PLAYBACK_STREAMS + MIXART_CAPTURE_STREAMS)) + i; if(capture) j += MIXART_PLAYBACK_STREAMS; /* in the array capture is behind playback */ - streaming_group_req.flow_entry[i] = j; + buf->sgroup_req.flow_entry[i] = j; flowinfo = (struct mixart_flowinfo *)chip->mgr->flowinfo.area; flowinfo[j].bufferinfo_array_phy_address = (u32)chip->mgr->bufferinfo.addr + (j * sizeof(mixart_bufferinfo_t)); @@ -294,17 +294,19 @@ } } - err = snd_mixart_send_msg(chip->mgr, &request, sizeof(streaming_group_resp), &streaming_group_resp); - if((err < 0) || (streaming_group_resp.status != 0)) { - snd_printk(KERN_ERR "error MSG_STREAM_ADD_**PUT_GROUP err=%x stat=%x !\n", err, streaming_group_resp.status); + err = snd_mixart_send_msg(chip->mgr, &request, sizeof(buf->sgroup_resp), &buf->sgroup_resp); + if((err < 0) || (buf->sgroup_resp.status != 0)) { + snd_printk(KERN_ERR "error MSG_STREAM_ADD_**PUT_GROUP err=%x stat=%x !\n", err, buf->sgroup_resp.status); + kfree(buf); return NULL; } - pipe->group_uid = streaming_group_resp.group; /* id of the pipe, as returned by embedded */ - pipe->stream_count = streaming_group_resp.stream_count; - /* pipe->stream_uid[i] = streaming_group_resp.stream[i].stream_uid; */ + pipe->group_uid = buf->sgroup_resp.group; /* id of the pipe, as returned by embedded */ + pipe->stream_count = buf->sgroup_resp.stream_count; + /* pipe->stream_uid[i] = buf->sgroup_resp.stream[i].stream_uid; */ pipe->status = PIPE_STOPPED; + kfree(buf); } if(monitoring) pipe->monitoring = 1; @@ -458,8 +460,6 @@ /* * prepare callback for all pcms - * - * NOTE: this callback is non-atomic (pcm->info_flags |= SNDRV_PCM_INFO_NONATOMIC_OPS) */ static int snd_mixart_prepare(snd_pcm_substream_t *subs) { @@ -901,6 +901,7 @@ static void preallocate_buffers(mixart_t *chip, snd_pcm_t *pcm) { +#if 0 snd_pcm_substream_t *subs; int stream; @@ -912,6 +913,7 @@ subs->stream << 8 | (subs->number + 1) | (chip->chip_idx + 1) << 24; } +#endif snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->mgr->pci), 32*1024, 32*1024); } @@ -937,7 +939,7 @@ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_mixart_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_mixart_capture_ops); - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; strcpy(pcm->name, name); preallocate_buffers(chip, pcm); @@ -968,7 +970,7 @@ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_mixart_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_mixart_capture_ops); - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; strcpy(pcm->name, name); preallocate_buffers(chip, pcm); @@ -979,13 +981,13 @@ static int snd_mixart_chip_free(mixart_t *chip) { - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_mixart_chip_dev_free(snd_device_t *device) { - mixart_t *chip = snd_magic_cast(mixart_t, device->device_data, return -ENXIO); + mixart_t *chip = device->device_data; return snd_mixart_chip_free(chip); } @@ -1000,7 +1002,7 @@ .dev_free = snd_mixart_chip_dev_free, }; - mgr->chip[idx] = chip = snd_magic_kcalloc(mixart_t, 0, GFP_KERNEL); + mgr->chip[idx] = chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) { snd_printk(KERN_ERR "cannot allocate chip\n"); return -ENOMEM; @@ -1074,24 +1076,21 @@ for (i = 0; i < 2; i++) { if (mgr->mem[i].virt) iounmap((void *)mgr->mem[i].virt); - if (mgr->mem[i].res) { - release_resource(mgr->mem[i].res); - kfree_nocheck(mgr->mem[i].res); - } } + pci_release_regions(mgr->pci); /* free flowarray */ if(mgr->flowinfo.area) { - snd_dma_free_pages(&mgr->dma_dev, &mgr->flowinfo); + snd_dma_free_pages(&mgr->flowinfo); mgr->flowinfo.area = NULL; } /* free bufferarray */ if(mgr->bufferinfo.area) { - snd_dma_free_pages(&mgr->dma_dev, &mgr->bufferinfo); + snd_dma_free_pages(&mgr->bufferinfo); mgr->bufferinfo.area = NULL; } - snd_magic_kfree(mgr); + kfree(mgr); return 0; } @@ -1157,7 +1156,7 @@ struct file *file, char __user *buf, unsigned long count, unsigned long pos) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, entry->private_data, return -ENXIO); + mixart_mgr_t *mgr = entry->private_data; count = count & ~3; /* make sure the read size is a multiple of 4 bytes */ if(count <= 0) @@ -1176,7 +1175,7 @@ struct file *file, char __user *buf, unsigned long count, unsigned long pos) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, entry->private_data, return -ENXIO); + mixart_mgr_t *mgr = entry->private_data; count = count & ~3; /* make sure the read size is a multiple of 4 bytes */ if(count <= 0) @@ -1202,7 +1201,7 @@ static void snd_mixart_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - mixart_t *chip = snd_magic_cast(mixart_t, entry->private_data, return); + mixart_t *chip = entry->private_data; u32 ref; snd_iprintf(buffer, "Digigram miXart (alsa card %d)\n\n", chip->chip_idx); @@ -1297,7 +1296,7 @@ /* */ - mgr = snd_magic_kcalloc(mixart_mgr_t, 0, GFP_KERNEL); + mgr = kcalloc(1, sizeof(*mgr), GFP_KERNEL); if (! mgr) return -ENOMEM; @@ -1305,19 +1304,14 @@ mgr->irq = -1; /* resource assignment */ + if ((err = pci_request_regions(pci, CARD_NAME)) < 0) { + kfree(mgr); + return err; + } for (i = 0; i < 2; i++) { - static int memory_sizes[2] = { - MIXART_BA0_SIZE, /* 16M */ - MIXART_BA1_SIZE /* 4 k */ - }; mgr->mem[i].phys = pci_resource_start(pci, i); - mgr->mem[i].res = request_mem_region(mgr->mem[i].phys, memory_sizes[i], CARD_NAME); - if (! mgr->mem[i].res) { - snd_printk(KERN_ERR "unable to grab memory 0x%lx\n", mgr->mem[i].phys); - snd_mixart_free(mgr); - return -EBUSY; - } - mgr->mem[i].virt = (unsigned long)ioremap_nocache(mgr->mem[i].phys, memory_sizes[i]); + mgr->mem[i].virt = (unsigned long)ioremap_nocache(mgr->mem[i].phys, + pci_resource_len(pci, i)); } if (request_irq(pci->irq, snd_mixart_interrupt, SA_INTERRUPT|SA_SHIRQ, CARD_NAME, (void *)mgr)) { @@ -1331,13 +1325,13 @@ sprintf(mgr->longname, "%s at 0x%lx & 0x%lx, irq %i", mgr->shortname, mgr->mem[0].phys, mgr->mem[1].phys, mgr->irq); /* ISR spinlock */ - mgr->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&mgr->lock); /* init mailbox */ mgr->msg_fifo_readptr = 0; mgr->msg_fifo_writeptr = 0; - mgr->msg_lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&mgr->msg_lock); init_MUTEX(&mgr->msg_mutex); init_waitqueue_head(&mgr->msg_sleep); atomic_set(&mgr->msg_processed, 0); @@ -1391,13 +1385,10 @@ /* init firmware status (mgr->hwdep->dsp_loaded reset in hwdep_new) */ mgr->board_type = MIXART_DAUGHTER_TYPE_NONE; - memset(&mgr->dma_dev, 0, sizeof(mgr->dma_dev)); - mgr->dma_dev.type = SNDRV_DMA_TYPE_DEV; - mgr->dma_dev.dev = snd_dma_pci_data(mgr->pci); - /* create array of streaminfo */ size = PAGE_ALIGN( (MIXART_MAX_STREAM_PER_CARD * MIXART_MAX_CARDS * sizeof(mixart_flowinfo_t)) ); - if (snd_dma_alloc_pages(&mgr->dma_dev, size, &mgr->flowinfo) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, &mgr->flowinfo) < 0) { snd_mixart_free(mgr); return -ENOMEM; } @@ -1406,7 +1397,8 @@ /* create array of bufferinfo */ size = PAGE_ALIGN( (MIXART_MAX_STREAM_PER_CARD * MIXART_MAX_CARDS * sizeof(mixart_bufferinfo_t)) ); - if (snd_dma_alloc_pages(&mgr->dma_dev, size, &mgr->bufferinfo) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, &mgr->bufferinfo) < 0) { snd_mixart_free(mgr); return -ENOMEM; } diff -Nru a/sound/pci/mixart/mixart.h b/sound/pci/mixart/mixart.h --- a/sound/pci/mixart/mixart.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/mixart/mixart.h 2004-08-25 19:27:40 -07:00 @@ -115,7 +115,6 @@ snd_hwdep_t *hwdep; unsigned int board_type; /* read from embedded once elf file is loaded, 250 = miXart8, 251 = with AES, 252 = with Cobranet */ - struct snd_dma_device dma_dev; struct snd_dma_buffer flowinfo; struct snd_dma_buffer bufferinfo; diff -Nru a/sound/pci/mixart/mixart_core.c b/sound/pci/mixart/mixart_core.c --- a/sound/pci/mixart/mixart_core.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/mixart/mixart_core.c 2004-08-25 19:27:40 -07:00 @@ -403,7 +403,7 @@ irqreturn_t snd_mixart_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, dev_id, return IRQ_NONE); + mixart_mgr_t *mgr = dev_id; int err; mixart_msg_t resp; diff -Nru a/sound/pci/mixart/mixart_hwdep.c b/sound/pci/mixart/mixart_hwdep.c --- a/sound/pci/mixart/mixart_hwdep.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/mixart/mixart_hwdep.c 2004-08-25 19:27:40 -07:00 @@ -146,7 +146,7 @@ static int mixart_hwdep_dsp_status(snd_hwdep_t *hw, snd_hwdep_dsp_status_t *info) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, hw->private_data, return -ENXIO); + mixart_mgr_t *mgr = hw->private_data; strcpy(info->id, "miXart"); info->num_dsps = MIXART_HARDW_FILES_MAX_INDEX; @@ -346,7 +346,7 @@ static int mixart_hwdep_dsp_load(snd_hwdep_t *hw, snd_hwdep_dsp_image_t *dsp) { - mixart_mgr_t* mgr = snd_magic_cast(mixart_mgr_t, hw->private_data, return -ENXIO); + mixart_mgr_t* mgr = hw->private_data; int err, card_index; u32 status_xilinx, status_elf, status_daught; u32 val; diff -Nru a/sound/pci/mixart/mixart_mixer.c b/sound/pci/mixart/mixart_mixer.c --- a/sound/pci/mixart/mixart_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/mixart/mixart_mixer.c 2004-08-25 19:27:40 -07:00 @@ -31,8 +31,6 @@ #include #include "mixart_mixer.h" -#define chip_t mixart_t - static u32 mixart_analog_level[256] = { 0xc2c00000, /* [000] -96.0 dB */ 0xc2bf0000, /* [001] -95.5 dB */ diff -Nru a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c --- a/sound/pci/nm256/nm256.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/nm256/nm256.c 2004-08-25 19:27:40 -07:00 @@ -45,8 +45,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("NeoMagic NM256AV/ZX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{NeoMagic,NM256AV}," +MODULE_SUPPORTED_DEVICE("{{NeoMagic,NM256AV}," "{NeoMagic,NM256ZX}}"); /* @@ -66,31 +65,22 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(playback_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(playback_bufsize, "DAC frame size in kB for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(playback_bufsize, SNDRV_ENABLED); module_param_array(capture_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(capture_bufsize, "ADC frame size in kB for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(capture_bufsize, SNDRV_ENABLED); module_param_array(force_ac97, bool, boot_devs, 0444); MODULE_PARM_DESC(force_ac97, "Force to use AC97 codec for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(force_ac97, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(buffer_top, int, boot_devs, 0444); MODULE_PARM_DESC(buffer_top, "Set the top address of audio buffer for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(buffer_top, SNDRV_ENABLED); module_param_array(use_cache, bool, boot_devs, 0444); MODULE_PARM_DESC(use_cache, "Enable the cache for coefficient table access."); -MODULE_PARM_SYNTAX(use_cache, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(vaio_hack, bool, boot_devs, 0444); MODULE_PARM_DESC(vaio_hack, "Enable workaround for Sony VAIO notebooks."); -MODULE_PARM_SYNTAX(vaio_hack, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); /* * hw definitions @@ -191,7 +181,6 @@ typedef struct snd_nm256 nm256_t; typedef struct snd_nm256_stream nm256_stream_t; -#define chip_t nm256_t struct snd_nm256_stream { @@ -414,9 +403,8 @@ static unsigned int samplerates[8] = { 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000, }; -#define NUM_SAMPLERATES (sizeof(samplerates) / sizeof(samplerates[0])) static snd_pcm_hw_constraint_list_t constraints_rates = { - .count = NUM_SAMPLERATES, + .count = ARRAY_SIZE(samplerates), .list = samplerates, .mask = 0, }; @@ -428,7 +416,7 @@ snd_nm256_fixed_rate(unsigned int rate) { unsigned int i; - for (i = 0; i < NUM_SAMPLERATES; i++) { + for (i = 0; i < ARRAY_SIZE(samplerates); i++) { if (rate == samplerates[i]) return i; } @@ -542,12 +530,11 @@ { nm256_t *chip = snd_pcm_substream_chip(substream); nm256_stream_t *s = (nm256_stream_t*)substream->runtime->private_data; - unsigned long flags; int err = 0; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -567,7 +554,7 @@ err = -EINVAL; break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -576,12 +563,11 @@ { nm256_t *chip = snd_pcm_substream_chip(substream); nm256_stream_t *s = (nm256_stream_t*)substream->runtime->private_data; - unsigned long flags; int err = 0; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -601,7 +587,7 @@ err = -EINVAL; break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -614,7 +600,6 @@ nm256_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; nm256_stream_t *s = (nm256_stream_t*)runtime->private_data; - unsigned long flags; snd_assert(s, return -ENXIO); s->dma_size = frames_to_bytes(runtime, substream->runtime->buffer_size); @@ -622,10 +607,10 @@ s->periods = substream->runtime->periods; s->cur_period = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); s->running = 0; snd_nm256_set_format(chip, s, substream); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -660,9 +645,9 @@ return bytes_to_frames(substream->runtime, curp); } +/* Remapped I/O space can be accessible as pointer on i386 */ +/* This might be changed in the future */ #ifndef __i386__ -/* FIXME: I/O space is not accessible via pointers on all architectures */ - /* * silence / copy for playback */ @@ -757,10 +742,8 @@ */ static snd_pcm_hardware_t snd_nm256_playback = { - .info = -#ifdef __i386__ - SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| -#endif + .info = SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| + SNDRV_PCM_INFO_MMAP_IOMEM| SNDRV_PCM_INFO_INTERLEAVED | /*SNDRV_PCM_INFO_PAUSE |*/ SNDRV_PCM_INFO_RESUME, @@ -779,10 +762,8 @@ static snd_pcm_hardware_t snd_nm256_capture = { - .info = -#ifdef __i386__ - SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| -#endif + .info = SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| + SNDRV_PCM_INFO_MMAP_IOMEM| SNDRV_PCM_INFO_INTERLEAVED | /*SNDRV_PCM_INFO_PAUSE |*/ SNDRV_PCM_INFO_RESUME, @@ -932,16 +913,14 @@ static void snd_nm256_init_chip(nm256_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* Reset everything. */ snd_nm256_writeb(chip, 0x0, 0x11); snd_nm256_writew(chip, 0x214, 0); /* stop sounds.. */ //snd_nm256_playback_stop(chip); //snd_nm256_capture_stop(chip); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } @@ -981,7 +960,7 @@ static irqreturn_t snd_nm256_interrupt(int irq, void *dev_id, struct pt_regs *dummy) { - nm256_t *chip = snd_magic_cast(nm256_t, dev_id, return IRQ_NONE); + nm256_t *chip = dev_id; u16 status; u8 cbyte; @@ -1048,7 +1027,7 @@ static irqreturn_t snd_nm256_interrupt_zx(int irq, void *dev_id, struct pt_regs *dummy) { - nm256_t *chip = snd_magic_cast(nm256_t, dev_id, return IRQ_NONE); + nm256_t *chip = dev_id; u32 status; u8 cbyte; @@ -1139,7 +1118,7 @@ static unsigned short snd_nm256_ac97_read(ac97_t *ac97, unsigned short reg) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return -ENXIO); + nm256_t *chip = ac97->private_data; int res; if (reg >= 128) @@ -1159,7 +1138,7 @@ snd_nm256_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return); + nm256_t *chip = ac97->private_data; int tries = 2; u32 base; @@ -1181,10 +1160,9 @@ static void snd_nm256_ac97_reset(ac97_t *ac97) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return); - unsigned long flags; + nm256_t *chip = ac97->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* Reset the mixer. 'Tis magic! */ snd_nm256_writeb(chip, 0x6c0, 1); if (chip->latitude_workaround) { @@ -1193,20 +1171,25 @@ } snd_nm256_writeb(chip, 0x6cc, 0x80); snd_nm256_writeb(chip, 0x6cc, 0x0); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); } /* create an ac97 mixer interface */ static int __devinit snd_nm256_mixer(nm256_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int i, err; + static ac97_bus_ops_t ops = { + .reset = snd_nm256_ac97_reset, + .write = snd_nm256_ac97_write, + .read = snd_nm256_ac97_read, + }; /* looks like nm256 hangs up when unexpected registers are touched... */ static int mixer_regs[] = { AC97_MASTER, AC97_HEADPHONE, AC97_MASTER_MONO, - AC97_PC_BEEP, AC97_PHONE, AC97_MIC, AC97_LINE, + AC97_PC_BEEP, AC97_PHONE, AC97_MIC, AC97_LINE, AC97_CD, AC97_VIDEO, AC97_AUX, AC97_PCM, AC97_REC_SEL, AC97_REC_GAIN, AC97_GENERAL_PURPOSE, AC97_3D_CONTROL, AC97_EXTENDED_ID, @@ -1214,11 +1197,7 @@ -1 }; - memset(&bus, 0, sizeof(bus)); - bus.reset = snd_nm256_ac97_reset; - bus.write = snd_nm256_ac97_write; - bus.read = snd_nm256_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -1290,7 +1269,7 @@ */ static int nm256_suspend(snd_card_t *card, unsigned int state) { - nm256_t *chip = snd_magic_cast(nm256_t, card->pm_private_data, return -EINVAL); + nm256_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); snd_ac97_suspend(chip->ac97); @@ -1301,7 +1280,7 @@ static int nm256_resume(snd_card_t *card, unsigned int state) { - nm256_t *chip = snd_magic_cast(nm256_t, card->pm_private_data, return -EINVAL); + nm256_t *chip = card->pm_private_data; /* Perform a full reset on the hardware */ pci_enable_device(chip->pci); @@ -1340,13 +1319,13 @@ if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_nm256_dev_free(snd_device_t *device) { - nm256_t *chip = snd_magic_cast(nm256_t, device->device_data, return -ENXIO); + nm256_t *chip = device->device_data; return snd_nm256_free(chip); } @@ -1368,7 +1347,7 @@ *chip_ret = NULL; - chip = snd_magic_kcalloc(nm256_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; diff -Nru a/sound/pci/rme32.c b/sound/pci/rme32.c --- a/sound/pci/rme32.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/rme32.c 2004-08-25 19:27:40 -07:00 @@ -1,7 +1,8 @@ /* * ALSA driver for RME Digi32, Digi32/8 and Digi32 PRO audio interfaces * - * Copyright (c) 2002, 2003 Martin Langer + * Copyright (c) 2002-2004 Martin Langer , + * Pilo Chambert * * Thanks to : Anders Torger , * Henk Hesselink @@ -52,6 +53,19 @@ * patch would be welcome! * * **************************************************************************** + * + * "The story after the long seeking" -- tiwai + * + * Ok, the situation regarding the full duplex is now improved a bit. + * In the fullduplex mode (given by the module parameter), the hardware buffer + * is split to halves for read and write directions at the DMA pointer. + * That is, the half above the current DMA pointer is used for write, and + * the half below is used for read. To mangle this strange behavior, an + * software intermediate buffer is introduced. This is, of course, not good + * from the viewpoint of the data transfer efficiency. However, this allows + * you to use arbitrary buffer sizes, instead of the fixed I/O buffer size. + * + * **************************************************************************** */ @@ -68,6 +82,7 @@ #include #include #include +#include #include #include @@ -76,22 +91,21 @@ static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ +static int fullduplex[SNDRV_CARDS]; // = {[0 ... (SNDRV_CARDS - 1)] = 1}; static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); -MODULE_AUTHOR("Martin Langer "); +module_param_array(fullduplex, bool, boot_devs, 0444); +MODULE_PARM_DESC(fullduplex, "Support full-duplex mode."); +MODULE_AUTHOR("Martin Langer , Pilo Chambert "); MODULE_DESCRIPTION("RME Digi32, Digi32/8, Digi32 PRO"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); +MODULE_SUPPORTED_DEVICE("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); /* Defines for RME Digi32 series */ #define RME32_SPDIF_NCHANNELS 2 @@ -140,7 +154,7 @@ #define RME32_WCR_BITPOS_INP_1 7 /* Read control register bits */ -#define RME32_RCR_AUDIO_ADDR_MASK 0x10001 +#define RME32_RCR_AUDIO_ADDR_MASK 0x1ffff #define RME32_RCR_LOCK (1 << 23) /* 1=locked, 0=not locked */ #define RME32_RCR_ERF (1 << 26) /* 1=Error, 0=no Error */ #define RME32_RCR_FREQ_0 (1 << 27) /* CS841x frequency (record) */ @@ -168,6 +182,9 @@ /* Block sizes in bytes */ #define RME32_BLOCK_SIZE 8192 +/* Software intermediate buffer (max) size */ +#define RME32_MID_BUFFER_SIZE (1024*1024) + /* Hardware revisions */ #define RME32_32_REVISION 192 #define RME32_328_REVISION_OLD 100 @@ -194,7 +211,6 @@ spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; u32 wcreg; /* cached write control register value */ @@ -213,9 +229,11 @@ size_t playback_periodsize; /* in bytes, zero if not used */ size_t capture_periodsize; /* in bytes, zero if not used */ - snd_pcm_uframes_t playback_last_appl_ptr; - size_t playback_ptr; - size_t capture_ptr; + unsigned int fullduplex_mode; + int running; + + snd_pcm_indirect_t playback_pcm; + snd_pcm_indirect_t capture_pcm; snd_card_t *card; snd_pcm_t *spdif_pcm; @@ -243,33 +261,16 @@ static int snd_rme32_capture_prepare(snd_pcm_substream_t * substream); -static int -snd_rme32_playback_trigger(snd_pcm_substream_t * substream, int cmd); - -static int -snd_rme32_capture_trigger(snd_pcm_substream_t * substream, int cmd); - -static snd_pcm_uframes_t -snd_rme32_playback_pointer(snd_pcm_substream_t * substream); - -static snd_pcm_uframes_t -snd_rme32_capture_pointer(snd_pcm_substream_t * substream); +static int snd_rme32_pcm_trigger(snd_pcm_substream_t * substream, int cmd); static void snd_rme32_proc_init(rme32_t * rme32); static int snd_rme32_create_switches(snd_card_t * card, rme32_t * rme32); -static inline unsigned int snd_rme32_playback_ptr(rme32_t * rme32) -{ - - return (readl(rme32->iobase + RME32_IO_GET_POS) - & RME32_RCR_AUDIO_ADDR_MASK) >> rme32->playback_frlog; -} - -static inline unsigned int snd_rme32_capture_ptr(rme32_t * rme32) +static inline unsigned int snd_rme32_pcm_byteptr(rme32_t * rme32) { return (readl(rme32->iobase + RME32_IO_GET_POS) - & RME32_RCR_AUDIO_ADDR_MASK) >> rme32->capture_frlog; + & RME32_RCR_AUDIO_ADDR_MASK); } static int snd_rme32_ratecode(int rate) @@ -285,22 +286,24 @@ return 0; } +/* silence callback for halfduplex mode */ static int snd_rme32_playback_silence(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->playback_frlog; pos <<= rme32->playback_frlog; memset_io(rme32->iobase + RME32_IO_DATA_BUFFER + pos, 0, count); return 0; } +/* copy callback for halfduplex mode */ static int snd_rme32_playback_copy(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->playback_frlog; pos <<= rme32->playback_frlog; if (copy_from_user_toio(rme32->iobase + RME32_IO_DATA_BUFFER + pos, @@ -309,11 +312,12 @@ return 0; } +/* copy callback for halfduplex mode */ static int snd_rme32_capture_copy(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->capture_frlog; pos <<= rme32->capture_frlog; if (copy_to_user_fromio(dst, @@ -324,13 +328,15 @@ } /* - * Digital output capabilites (S/PDIF) + * SPDIF I/O capabilites (half-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_playback_spdif_info = { +static snd_pcm_hardware_t snd_rme32_spdif_info = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE), .rates = (SNDRV_PCM_RATE_32000 | @@ -349,13 +355,40 @@ }; /* - * Digital input capabilites (S/PDIF) + * ADAT I/O capabilites (half-duplex mode) + */ +static snd_pcm_hardware_t snd_rme32_adat_info = +{ + .info = (SNDRV_PCM_INFO_MMAP | + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), + .formats= SNDRV_PCM_FMTBIT_S16_LE, + .rates = (SNDRV_PCM_RATE_44100 | + SNDRV_PCM_RATE_48000), + .rate_min = 44100, + .rate_max = 48000, + .channels_min = 8, + .channels_max = 8, + .buffer_bytes_max = RME32_BUFFER_SIZE, + .period_bytes_min = RME32_BLOCK_SIZE, + .period_bytes_max = RME32_BLOCK_SIZE, + .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .fifo_size = 0, +}; + +/* + * SPDIF I/O capabilites (full-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_capture_spdif_info = { +static snd_pcm_hardware_t snd_rme32_spdif_fd_info = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE), .rates = (SNDRV_PCM_RATE_32000 | @@ -365,23 +398,24 @@ .rate_max = 48000, .channels_min = 2, .channels_max = 2, - .buffer_bytes_max = RME32_BUFFER_SIZE, + .buffer_bytes_max = RME32_MID_BUFFER_SIZE, .period_bytes_min = RME32_BLOCK_SIZE, .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_min = 2, + .periods_max = RME32_MID_BUFFER_SIZE / RME32_BLOCK_SIZE, .fifo_size = 0, }; /* - * Digital output capabilites (ADAT) + * ADAT I/O capabilites (full-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_playback_adat_info = +static snd_pcm_hardware_t snd_rme32_adat_fd_info = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats= SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000), @@ -389,38 +423,14 @@ .rate_max = 48000, .channels_min = 8, .channels_max = 8, - .buffer_bytes_max = RME32_BUFFER_SIZE, + .buffer_bytes_max = RME32_MID_BUFFER_SIZE, .period_bytes_min = RME32_BLOCK_SIZE, .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_min = 2, + .periods_max = RME32_MID_BUFFER_SIZE / RME32_BLOCK_SIZE, .fifo_size = 0, }; -/* - * Digital input capabilites (ADAT) - */ -static snd_pcm_hardware_t snd_rme32_capture_adat_info = -{ - .info = (SNDRV_PCM_INFO_MMAP | - SNDRV_PCM_INFO_MMAP_VALID | - SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), - .formats = SNDRV_PCM_FMTBIT_S16_LE, - .rates = (SNDRV_PCM_RATE_44100 | - SNDRV_PCM_RATE_48000), - .rate_min = 44100, - .rate_max = 48000, - .channels_min = 8, - .channels_max = 8, - .buffer_bytes_max = RME32_BUFFER_SIZE, - .period_bytes_min = RME32_BLOCK_SIZE, - .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .fifo_size = 0, -}; - static void snd_rme32_reset_dac(rme32_t *rme32) { writel(rme32->wcreg | RME32_WCR_PD, @@ -677,11 +687,19 @@ snd_pcm_hw_params_t * params) { int err, rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + + if (rme32->fullduplex_mode) { + err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); + if (err < 0) + return err; + } else { + runtime->dma_area = (void *)(rme32->iobase + RME32_IO_DATA_BUFFER); + runtime->dma_addr = rme32->port + RME32_IO_DATA_BUFFER; + runtime->dma_bytes = RME32_BUFFER_SIZE; + } - if ((err = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(params))) < 0) - return err; spin_lock_irq(&rme32->lock); if ((rme32->rcreg & RME32_RCR_KMODE) && (rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) { @@ -719,45 +737,45 @@ return 0; } -static int snd_rme32_playback_hw_free(snd_pcm_substream_t * substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - static int snd_rme32_capture_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * params) { - unsigned long flags; int err, isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - if ((err = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme32->lock, flags); + if (rme32->fullduplex_mode) { + err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); + if (err < 0) + return err; + } else { + runtime->dma_area = (void *)rme32->iobase + RME32_IO_DATA_BUFFER; + runtime->dma_addr = rme32->port + RME32_IO_DATA_BUFFER; + runtime->dma_bytes = RME32_BUFFER_SIZE; + } + + spin_lock_irq(&rme32->lock); /* enable AutoSync for record-preparing */ rme32->wcreg |= RME32_WCR_AUTOSYNC; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); if ((err = snd_rme32_setformat(rme32, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return err; } if ((err = snd_rme32_playback_setrate(rme32, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return err; } if ((rate = snd_rme32_capture_getrate(rme32, &isadat)) > 0) { if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EIO; } if ((isadat && runtime->hw.channels_min == 2) || (!isadat && runtime->hw.channels_min == 8)) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EIO; } } @@ -769,36 +787,26 @@ if (rme32->playback_periodsize != 0) { if (params_period_size(params) << rme32->capture_frlog != rme32->playback_periodsize) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } } rme32->capture_periodsize = params_period_size(params) << rme32->capture_frlog; - spin_unlock_irqrestore(&rme32->lock, flags); - - return 0; -} + spin_unlock_irq(&rme32->lock); -static int snd_rme32_capture_hw_free(snd_pcm_substream_t * substream) -{ - snd_pcm_lib_free_pages(substream); return 0; } -static void snd_rme32_playback_start(rme32_t * rme32, int from_pause) +static int snd_rme32_pcm_hw_free(snd_pcm_substream_t * substream) { - if (!from_pause) { - writel(0, rme32->iobase + RME32_IO_RESET_POS); - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - } - - rme32->wcreg |= RME32_WCR_START; - writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); + rme32_t *rme32 = snd_pcm_substream_chip(substream); + if (! rme32->fullduplex_mode) + return 0; + return snd_pcm_lib_free_pages(substream); } -static void snd_rme32_capture_start(rme32_t * rme32, int from_pause) +static void snd_rme32_pcm_start(rme32_t * rme32, int from_pause) { if (!from_pause) { writel(0, rme32->iobase + RME32_IO_RESET_POS); @@ -808,7 +816,7 @@ writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); } -static void snd_rme32_playback_stop(rme32_t * rme32) +static void snd_rme32_pcm_stop(rme32_t * rme32, int to_pause) { /* * Check if there is an unconfirmed IRQ, if so confirm it, or else @@ -822,16 +830,8 @@ if (rme32->wcreg & RME32_WCR_SEL) rme32->wcreg |= RME32_WCR_MUTE; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); -} - -static void snd_rme32_capture_stop(rme32_t * rme32) -{ - rme32->rcreg = readl(rme32->iobase + RME32_IO_CONTROL_REGISTER); - if (rme32->rcreg & RME32_RCR_IRQ) { - writel(0, rme32->iobase + RME32_IO_CONFIRM_ACTION_IRQ); - } - rme32->wcreg &= ~RME32_WCR_START; - writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); + if (! to_pause) + writel(0, rme32->iobase + RME32_IO_RESET_POS); } static irqreturn_t @@ -857,36 +857,46 @@ static unsigned int period_bytes[] = { RME32_BLOCK_SIZE }; -#define PERIOD_BYTES sizeof(period_bytes) / sizeof(period_bytes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes = { - .count = PERIOD_BYTES, + .count = ARRAY_SIZE(period_bytes), .list = period_bytes, .mask = 0 }; +static void snd_rme32_set_buffer_constraint(rme32_t *rme32, snd_pcm_runtime_t *runtime) +{ + if (! rme32->fullduplex_mode) { + snd_pcm_hw_constraint_minmax(runtime, + SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); + snd_pcm_hw_constraint_list(runtime, 0, + SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + &hw_constraints_period_bytes); + } +} + static int snd_rme32_playback_spdif_open(snd_pcm_substream_t * substream) { - unsigned long flags; int rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->playback_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->wcreg &= ~RME32_WCR_ADAT; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); rme32->playback_substream = substream; - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_playback_spdif_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_spdif_fd_info; + else + runtime->hw = snd_rme32_spdif_info; if (rme32->pci->device == PCI_DEVICE_ID_DIGI32_PRO) { runtime->hw.rates |= SNDRV_PCM_RATE_64000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000; runtime->hw.rate_max = 96000; @@ -898,12 +908,8 @@ runtime->hw.rate_min = rate; runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, - SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, - SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + + snd_rme32_set_buffer_constraint(rme32, runtime); rme32->wcreg_spdif_stream = rme32->wcreg_spdif; rme32->spdif_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; @@ -914,23 +920,24 @@ static int snd_rme32_capture_spdif_open(snd_pcm_substream_t * substream) { - unsigned long flags; int isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->capture_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->capture_substream = substream; - rme32->capture_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_capture_spdif_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_spdif_fd_info; + else + runtime->hw = snd_rme32_spdif_info; if (RME32_PRO_WITH_8414(rme32)) { runtime->hw.rates |= SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000; runtime->hw.rate_max = 96000; @@ -944,12 +951,7 @@ runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, - SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, - SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } @@ -957,26 +959,26 @@ static int snd_rme32_playback_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->playback_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->wcreg |= RME32_WCR_ADAT; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); rme32->playback_substream = substream; - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_playback_adat_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_adat_fd_info; + else + runtime->hw = snd_rme32_adat_info; if ((rme32->rcreg & RME32_RCR_KMODE) && (rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) { /* AutoSync */ @@ -984,22 +986,22 @@ runtime->hw.rate_min = rate; runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } static int snd_rme32_capture_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->hw = snd_rme32_capture_adat_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_adat_fd_info; + else + runtime->hw = snd_rme32_adat_info; if ((rate = snd_rme32_capture_getrate(rme32, &isadat)) > 0) { if (!isadat) { return -EIO; @@ -1011,33 +1013,28 @@ snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->capture_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->capture_substream = substream; - rme32->capture_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } static int snd_rme32_playback_close(snd_pcm_substream_t * substream) { - unsigned long flags; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); int spdif = 0; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); rme32->playback_substream = NULL; rme32->playback_periodsize = 0; spdif = (rme32->wcreg & RME32_WCR_ADAT) == 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); if (spdif) { rme32->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme32->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -1049,207 +1046,203 @@ static int snd_rme32_capture_close(snd_pcm_substream_t * substream) { - unsigned long flags; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); rme32->capture_substream = NULL; rme32->capture_periodsize = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock(&rme32->lock); return 0; } static int snd_rme32_playback_prepare(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); - if (RME32_ISWORKING(rme32)) { - snd_rme32_playback_stop(rme32); + spin_lock_irq(&rme32->lock); + if (rme32->fullduplex_mode) { + memset(&rme32->playback_pcm, 0, sizeof(rme32->playback_pcm)); + rme32->playback_pcm.hw_buffer_size = RME32_BUFFER_SIZE; + rme32->playback_pcm.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + } else { + writel(0, rme32->iobase + RME32_IO_RESET_POS); } - writel(0, rme32->iobase + RME32_IO_RESET_POS); if (rme32->wcreg & RME32_WCR_SEL) rme32->wcreg &= ~RME32_WCR_MUTE; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_capture_prepare(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); - if (RME32_ISWORKING(rme32)) { - snd_rme32_capture_stop(rme32); + spin_lock_irq(&rme32->lock); + if (rme32->fullduplex_mode) { + memset(&rme32->capture_pcm, 0, sizeof(rme32->capture_pcm)); + rme32->capture_pcm.hw_buffer_size = RME32_BUFFER_SIZE; + rme32->capture_pcm.hw_queue_size = RME32_BUFFER_SIZE / 2; + rme32->capture_pcm.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + } else { + writel(0, rme32->iobase + RME32_IO_RESET_POS); } - writel(0, rme32->iobase + RME32_IO_RESET_POS); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int -snd_rme32_playback_trigger(snd_pcm_substream_t * substream, int cmd) +snd_rme32_pcm_trigger(snd_pcm_substream_t * substream, int cmd) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - if (!RME32_ISWORKING(rme32)) { - if (substream != rme32->playback_substream) { - return -EBUSY; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + struct list_head *pos; + snd_pcm_substream_t *s; + + spin_lock(&rme32->lock); + snd_pcm_group_for_each(pos, substream) { + s = snd_pcm_group_substream_entry(pos); + if (s != rme32->playback_substream && + s != rme32->capture_substream) + continue; + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + rme32->running |= (1 << s->stream); + if (rme32->fullduplex_mode) { + /* remember the current DMA position */ + if (s == rme32->playback_substream) { + rme32->playback_pcm.hw_io = + rme32->playback_pcm.hw_data = snd_rme32_pcm_byteptr(rme32); + } else { + rme32->capture_pcm.hw_io = + rme32->capture_pcm.hw_data = snd_rme32_pcm_byteptr(rme32); + } } - snd_rme32_playback_start(rme32, 0); + break; + case SNDRV_PCM_TRIGGER_STOP: + rme32->running &= ~(1 << s->stream); + break; } - break; - - case SNDRV_PCM_TRIGGER_STOP: - if (RME32_ISWORKING(rme32)) { - if (substream != rme32->playback_substream) { - return -EBUSY; + snd_pcm_trigger_done(s, substream); + } + + /* prefill playback buffer */ + if (cmd == SNDRV_PCM_TRIGGER_START) { + snd_pcm_group_for_each(pos, substream) { + s = snd_pcm_group_substream_entry(pos); + if (s == rme32->playback_substream) { + s->ops->ack(s); + break; } - snd_rme32_playback_stop(rme32); - } - break; - - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (RME32_ISWORKING(rme32)) { - snd_rme32_playback_stop(rme32); - } - break; - - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (!RME32_ISWORKING(rme32)) { - snd_rme32_playback_start(rme32, 1); } - break; - - default: - return -EINVAL; } - return 0; -} - -static int -snd_rme32_capture_trigger(snd_pcm_substream_t * substream, int cmd) -{ - rme32_t *rme32 = _snd_pcm_substream_chip(substream); switch (cmd) { case SNDRV_PCM_TRIGGER_START: - if (!RME32_ISWORKING(rme32)) { - if (substream != rme32->capture_substream) { - return -EBUSY; - } - snd_rme32_capture_start(rme32, 0); - } + if (rme32->running && ! RME32_ISWORKING(rme32)) + snd_rme32_pcm_start(rme32, 0); break; - case SNDRV_PCM_TRIGGER_STOP: - if (RME32_ISWORKING(rme32)) { - if (substream != rme32->capture_substream) { - return -EBUSY; - } - snd_rme32_capture_stop(rme32); - } + if (! rme32->running && RME32_ISWORKING(rme32)) + snd_rme32_pcm_stop(rme32, 0); break; - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (RME32_ISWORKING(rme32)) { - snd_rme32_capture_stop(rme32); - } + if (rme32->running && RME32_ISWORKING(rme32)) + snd_rme32_pcm_stop(rme32, 1); break; - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (!RME32_ISWORKING(rme32)) { - snd_rme32_capture_start(rme32, 1); - } + if (rme32->running && ! RME32_ISWORKING(rme32)) + snd_rme32_pcm_start(rme32, 1); break; - - default: - return -EINVAL; } - + spin_unlock(&rme32->lock); return 0; } +/* pointer callback for halfduplex mode */ static snd_pcm_uframes_t snd_rme32_playback_pointer(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_sframes_t diff; - size_t bytes; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_rme32_pcm_byteptr(rme32) >> rme32->playback_frlog; +} +static snd_pcm_uframes_t +snd_rme32_capture_pointer(snd_pcm_substream_t * substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_rme32_pcm_byteptr(rme32) >> rme32->capture_frlog; +} - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - diff = runtime->control->appl_ptr - - rme32->playback_last_appl_ptr; - rme32->playback_last_appl_ptr = runtime->control->appl_ptr; - if (diff != 0 && diff < -(snd_pcm_sframes_t) (runtime->boundary >> 1)) { - diff += runtime->boundary; - } - bytes = diff << rme32->playback_frlog; - if (bytes > RME32_BUFFER_SIZE - rme32->playback_ptr) { - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER + rme32->playback_ptr), - runtime->dma_area + rme32->playback_ptr, - RME32_BUFFER_SIZE - rme32->playback_ptr); - bytes -= RME32_BUFFER_SIZE - rme32->playback_ptr; - if (bytes > RME32_BUFFER_SIZE) { - bytes = RME32_BUFFER_SIZE; - } - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER), - runtime->dma_area, bytes); - rme32->playback_ptr = bytes; - } else if (bytes != 0) { - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER + rme32->playback_ptr), - runtime->dma_area + rme32->playback_ptr, bytes); - rme32->playback_ptr += bytes; - } - } - return snd_rme32_playback_ptr(rme32); + +/* ack and pointer callbacks for fullduplex mode */ +static void snd_rme32_pb_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + memcpy_toio(rme32->iobase + RME32_IO_DATA_BUFFER + rec->hw_data, + substream->runtime->dma_area + rec->sw_data, bytes); +} + +static int snd_rme32_playback_fd_ack(snd_pcm_substream_t *substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_indirect_t *rec, *cprec; + unsigned long flags; + + rec = &rme32->playback_pcm; + cprec = &rme32->capture_pcm; + spin_lock_irqsave(&rme32->lock, flags); + rec->hw_queue_size = RME32_BUFFER_SIZE; + if (rme32->running & (1 << SNDRV_PCM_STREAM_CAPTURE)) + rec->hw_queue_size -= cprec->hw_ready; + spin_unlock_irqrestore(&rme32->lock, flags); + snd_pcm_indirect_playback_transfer(substream, rec, + snd_rme32_pb_trans_copy); + return 0; +} + +static void snd_rme32_cp_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + memcpy_fromio(substream->runtime->dma_area + rec->sw_data, + rme32->iobase + RME32_IO_DATA_BUFFER + rec->hw_data, + bytes); +} + +static int snd_rme32_capture_fd_ack(snd_pcm_substream_t *substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_indirect_capture_transfer(substream, &rme32->capture_pcm, + snd_rme32_cp_trans_copy); + return 0; } static snd_pcm_uframes_t -snd_rme32_capture_pointer(snd_pcm_substream_t * substream) +snd_rme32_playback_fd_pointer(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t frameptr; - size_t ptr; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_pcm_indirect_playback_pointer(substream, &rme32->playback_pcm, + snd_rme32_pcm_byteptr(rme32)); +} - frameptr = snd_rme32_capture_ptr(rme32); - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - ptr = frameptr << rme32->capture_frlog; - if (ptr > rme32->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme32->capture_ptr, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER + - rme32->capture_ptr), - ptr - rme32->capture_ptr); - rme32->capture_ptr += ptr - rme32->capture_ptr; - } else if (ptr < rme32->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme32->capture_ptr, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER + - rme32->capture_ptr), - RME32_BUFFER_SIZE - rme32->capture_ptr); - memcpy_fromio(runtime->dma_area, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER), - ptr); - rme32->capture_ptr = ptr; - } - } - return frameptr; +static snd_pcm_uframes_t +snd_rme32_capture_fd_pointer(snd_pcm_substream_t * substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_pcm_indirect_capture_pointer(substream, &rme32->capture_pcm, + snd_rme32_pcm_byteptr(rme32)); } +/* for halfduplex mode */ static snd_pcm_ops_t snd_rme32_playback_spdif_ops = { .open = snd_rme32_playback_spdif_open, .close = snd_rme32_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_playback_hw_params, - .hw_free = snd_rme32_playback_hw_free, + .hw_free = snd_rme32_pcm_hw_free, .prepare = snd_rme32_playback_prepare, - .trigger = snd_rme32_playback_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_playback_pointer, .copy = snd_rme32_playback_copy, .silence = snd_rme32_playback_silence, @@ -1260,9 +1253,9 @@ .close = snd_rme32_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_capture_hw_params, - .hw_free = snd_rme32_capture_hw_free, + .hw_free = snd_rme32_pcm_hw_free, .prepare = snd_rme32_capture_prepare, - .trigger = snd_rme32_capture_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_capture_pointer, .copy = snd_rme32_capture_copy, }; @@ -1272,9 +1265,8 @@ .close = snd_rme32_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_playback_hw_params, - .hw_free = snd_rme32_playback_hw_free, .prepare = snd_rme32_playback_prepare, - .trigger = snd_rme32_playback_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_playback_pointer, .copy = snd_rme32_playback_copy, .silence = snd_rme32_playback_silence, @@ -1285,13 +1277,59 @@ .close = snd_rme32_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_capture_hw_params, - .hw_free = snd_rme32_capture_hw_free, .prepare = snd_rme32_capture_prepare, - .trigger = snd_rme32_capture_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_capture_pointer, .copy = snd_rme32_capture_copy, }; +/* for fullduplex mode */ +static snd_pcm_ops_t snd_rme32_playback_spdif_fd_ops = { + .open = snd_rme32_playback_spdif_open, + .close = snd_rme32_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_playback_hw_params, + .hw_free = snd_rme32_pcm_hw_free, + .prepare = snd_rme32_playback_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_playback_fd_pointer, + .ack = snd_rme32_playback_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_capture_spdif_fd_ops = { + .open = snd_rme32_capture_spdif_open, + .close = snd_rme32_capture_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_capture_hw_params, + .hw_free = snd_rme32_pcm_hw_free, + .prepare = snd_rme32_capture_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_capture_fd_pointer, + .ack = snd_rme32_capture_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_playback_adat_fd_ops = { + .open = snd_rme32_playback_adat_open, + .close = snd_rme32_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_playback_hw_params, + .prepare = snd_rme32_playback_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_playback_fd_pointer, + .ack = snd_rme32_playback_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_capture_adat_fd_ops = { + .open = snd_rme32_capture_adat_open, + .close = snd_rme32_capture_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_capture_hw_params, + .prepare = snd_rme32_capture_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_capture_fd_pointer, + .ack = snd_rme32_capture_fd_ack, +}; + static void snd_rme32_free(void *private_data) { rme32_t *rme32 = (rme32_t *) private_data; @@ -1300,8 +1338,7 @@ return; } if (rme32->irq >= 0) { - snd_rme32_playback_stop(rme32); - snd_rme32_capture_stop(rme32); + snd_rme32_pcm_stop(rme32, 0); free_irq(rme32->irq, (void *) rme32); rme32->irq = -1; } @@ -1309,9 +1346,9 @@ iounmap((void *) rme32->iobase); rme32->iobase = 0; } - if (rme32->res_port != NULL) { - release_resource(rme32->res_port); - rme32->res_port = NULL; + if (rme32->port) { + pci_release_regions(rme32->pci); + rme32->port = 0; } } @@ -1319,7 +1356,6 @@ { rme32_t *rme32 = (rme32_t *) pcm->private_data; rme32->spdif_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static void @@ -1327,7 +1363,6 @@ { rme32_t *rme32 = (rme32_t *) pcm->private_data; rme32->adat_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static int __devinit snd_rme32_create(rme32_t * rme32) @@ -1336,25 +1371,21 @@ int err; rme32->irq = -1; + spin_lock_init(&rme32->lock); if ((err = pci_enable_device(pci)) < 0) return err; + if ((err = pci_request_regions(pci, "RME32")) < 0) + return err; rme32->port = pci_resource_start(rme32->pci, 0); - if ((rme32->res_port = request_mem_region(rme32->port, RME32_IO_SIZE, "RME32")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", - rme32->port, rme32->port + RME32_IO_SIZE - 1); - return -EBUSY; - } - if (request_irq(pci->irq, snd_rme32_interrupt, SA_INTERRUPT | SA_SHIRQ, "RME32", (void *) rme32)) { snd_printk("unable to grab IRQ %d\n", pci->irq); return -EBUSY; } rme32->irq = pci->irq; - spin_lock_init(&rme32->lock); if ((rme32->iobase = (unsigned long) ioremap_nocache(rme32->port, RME32_IO_SIZE)) == 0) { snd_printk("unable to remap memory region 0x%lx-0x%lx\n", rme32->port, rme32->port + RME32_IO_SIZE - 1); @@ -1371,18 +1402,22 @@ rme32->spdif_pcm->private_data = rme32; rme32->spdif_pcm->private_free = snd_rme32_free_spdif_pcm; strcpy(rme32->spdif_pcm->name, "Digi32 IEC958"); - snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, - &snd_rme32_playback_spdif_ops); - snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, - &snd_rme32_capture_spdif_ops); - - rme32->spdif_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme32->spdif_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME32_BUFFER_SIZE, - RME32_BUFFER_SIZE); + if (rme32->fullduplex_mode) { + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_spdif_fd_ops); + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_spdif_fd_ops); + snd_pcm_lib_preallocate_pages_for_all(rme32->spdif_pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, RME32_MID_BUFFER_SIZE); + rme32->spdif_pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; + } else { + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_spdif_ops); + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_spdif_ops); + rme32->spdif_pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; + } /* set up ALSA pcm device for ADAT */ if ((pci->device == PCI_DEVICE_ID_DIGI32) || @@ -1399,18 +1434,22 @@ rme32->adat_pcm->private_data = rme32; rme32->adat_pcm->private_free = snd_rme32_free_adat_pcm; strcpy(rme32->adat_pcm->name, "Digi32 ADAT"); - snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, - &snd_rme32_playback_adat_ops); - snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, - &snd_rme32_capture_adat_ops); - - rme32->adat_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme32->adat_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME32_BUFFER_SIZE, - RME32_BUFFER_SIZE); + if (rme32->fullduplex_mode) { + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_adat_fd_ops); + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_adat_fd_ops); + snd_pcm_lib_preallocate_pages_for_all(rme32->adat_pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, RME32_MID_BUFFER_SIZE); + rme32->adat_pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; + } else { + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_adat_ops); + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_adat_ops); + rme32->adat_pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; + } } @@ -1418,8 +1457,7 @@ rme32->capture_periodsize = 0; /* make sure playback/capture is stopped, if by some reason active */ - snd_rme32_playback_stop(rme32); - snd_rme32_capture_stop(rme32); + snd_rme32_pcm_stop(rme32, 0); /* reset DAC */ snd_rme32_reset_dac(rme32); @@ -1464,6 +1502,10 @@ snd_iprintf(buffer, " (index #%d)\n", rme32->card->number + 1); snd_iprintf(buffer, "\nGeneral settings\n"); + if (rme32->fullduplex_mode) + snd_iprintf(buffer, " Full-duplex mode\n"); + else + snd_iprintf(buffer, " Half-duplex mode\n"); if (RME32_PRO_WITH_8414(rme32)) { snd_iprintf(buffer, " receiver: CS8414\n"); } else { @@ -1569,26 +1611,24 @@ snd_rme32_get_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.integer.value[0] = rme32->wcreg & RME32_WCR_SEL ? 0 : 1; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.integer.value[0] ? 0 : RME32_WCR_SEL; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); val = (rme32->wcreg & ~RME32_WCR_SEL) | val; change = val != rme32->wcreg; if (ucontrol->value.integer.value[0]) @@ -1597,7 +1637,7 @@ val |= RME32_WCR_MUTE; writel(rme32->wcreg = val, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1605,7 +1645,7 @@ snd_rme32_info_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); static char *texts[4] = { "Optical", "Coaxial", "Internal", "XLR" }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; @@ -1635,11 +1675,10 @@ snd_rme32_get_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int items = 3; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.enumerated.item[0] = snd_rme32_getinputtype(rme32); switch (rme32->pci->device) { @@ -1658,15 +1697,14 @@ ucontrol->value.enumerated.item[0] = items - 1; } - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change, items = 3; @@ -1684,10 +1722,10 @@ } val = ucontrol->value.enumerated.item[0] % items; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != (unsigned int)snd_rme32_getinputtype(rme32); snd_rme32_setinputtype(rme32, val); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1714,28 +1752,26 @@ snd_rme32_get_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.enumerated.item[0] = snd_rme32_getclockmode(rme32); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != (unsigned int)snd_rme32_getclockmode(rme32); snd_rme32_setclockmode(rme32, val); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1770,7 +1806,7 @@ static int snd_rme32_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); snd_rme32_convert_to_aes(&ucontrol->value.iec958, rme32->wcreg_spdif); @@ -1780,16 +1816,15 @@ static int snd_rme32_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme32_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != rme32->wcreg_spdif; rme32->wcreg_spdif = val; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1805,7 +1840,7 @@ snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); snd_rme32_convert_to_aes(&ucontrol->value.iec958, rme32->wcreg_spdif_stream); @@ -1816,18 +1851,17 @@ snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme32_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != rme32->wcreg_spdif_stream; rme32->wcreg_spdif_stream = val; rme32->wcreg &= ~(RME32_WCR_PRO | RME32_WCR_EMP); writel(rme32->wcreg |= val, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1907,7 +1941,7 @@ int idx, err; snd_kcontrol_t *kctl; - for (idx = 0; idx < 7; idx++) { + for (idx = 0; idx < (int)ARRAY_SIZE(snd_rme32_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme32_controls[idx], rme32))) < 0) return err; if (idx == 1) /* IEC958 (S/PDIF) Stream */ @@ -1952,6 +1986,8 @@ rme32->card = card; rme32->pci = pci; snd_card_set_dev(card, &pci->dev); + if (fullduplex[dev]) + rme32->fullduplex_mode = 1; if ((err = snd_rme32_create(rme32)) < 0) { snd_card_free(card); return err; diff -Nru a/sound/pci/rme96.c b/sound/pci/rme96.c --- a/sound/pci/rme96.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/rme96.c 2004-08-25 19:27:40 -07:00 @@ -47,8 +47,7 @@ MODULE_DESCRIPTION("RME Digi96, Digi96/8, Digi96/8 PRO, Digi96/8 PST, " "Digi96/8 PAD"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Digi96}," +MODULE_SUPPORTED_DEVICE("{{RME,Digi96}," "{RME,Digi96/8}," "{RME,Digi96/8 PRO}," "{RME,Digi96/8 PST}," @@ -61,13 +60,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* * Defines for RME Digi96 series, from internal RME reference documents @@ -229,7 +225,6 @@ spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; u32 wcreg; /* cached write control register value */ @@ -250,10 +245,6 @@ size_t playback_periodsize; /* in bytes, zero if not used */ size_t capture_periodsize; /* in bytes, zero if not used */ - snd_pcm_uframes_t playback_last_appl_ptr; - size_t playback_ptr; - size_t capture_ptr; - snd_card_t *card; snd_pcm_t *spdif_pcm; snd_pcm_t *adat_pcm; @@ -349,7 +340,7 @@ snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->playback_frlog; pos <<= rme96->playback_frlog; memset_io(rme96->iobase + RME96_IO_PLAY_BUFFER + pos, @@ -364,7 +355,7 @@ void __user *src, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->playback_frlog; pos <<= rme96->playback_frlog; copy_from_user_toio(rme96->iobase + RME96_IO_PLAY_BUFFER + pos, src, @@ -379,7 +370,7 @@ void __user *dst, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->capture_frlog; pos <<= rme96->capture_frlog; copy_to_user_fromio(dst, rme96->iobase + RME96_IO_REC_BUFFER + pos, @@ -394,6 +385,7 @@ { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), .formats = (SNDRV_PCM_FMTBIT_S16_LE | @@ -423,6 +415,7 @@ { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), .formats = (SNDRV_PCM_FMTBIT_S16_LE | @@ -452,6 +445,7 @@ { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), .formats = (SNDRV_PCM_FMTBIT_S16_LE | @@ -477,6 +471,7 @@ { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), .formats = (SNDRV_PCM_FMTBIT_S16_LE | @@ -991,28 +986,30 @@ snd_rme96_playback_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; int err, rate, dummy; - if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme96->lock, flags); + runtime->dma_area = (void *)(rme96->iobase + RME96_IO_PLAY_BUFFER); + runtime->dma_addr = rme96->port + RME96_IO_PLAY_BUFFER; + runtime->dma_bytes = RME96_BUFFER_SIZE; + + spin_lock_irq(&rme96->lock); if (!(rme96->wcreg & RME96_WCR_MASTER) && snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG && (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0) { /* slave clock */ if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } } else if ((err = snd_rme96_playback_setrate(rme96, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } if ((err = snd_rme96_playback_setformat(rme96, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } snd_rme96_setframelog(rme96, params_channels(params), 1); @@ -1020,7 +1017,7 @@ if (params_period_size(params) << rme96->playback_frlog != rme96->capture_periodsize) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } } @@ -1032,50 +1029,44 @@ rme96->wcreg &= ~(RME96_WCR_PRO | RME96_WCR_DOLBY | RME96_WCR_EMP); writel(rme96->wcreg |= rme96->wcreg_spdif_stream, rme96->iobase + RME96_IO_CONTROL_REGISTER); } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int -snd_rme96_playback_hw_free(snd_pcm_substream_t *substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - -static int snd_rme96_capture_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int err, isadat, rate; - if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme96->lock, flags); + runtime->dma_area = (void *)(rme96->iobase + RME96_IO_REC_BUFFER); + runtime->dma_addr = rme96->port + RME96_IO_REC_BUFFER; + runtime->dma_bytes = RME96_BUFFER_SIZE; + + spin_lock_irq(&rme96->lock); if ((err = snd_rme96_capture_setformat(rme96, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } if (snd_rme96_getinputtype(rme96) == RME96_INPUT_ANALOG) { if ((err = snd_rme96_capture_analog_setrate(rme96, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } } else if ((rate = snd_rme96_capture_getrate(rme96, &isadat)) > 0) { if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } if ((isadat && runtime->hw.channels_min == 2) || (!isadat && runtime->hw.channels_min == 8)) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } } @@ -1084,33 +1075,24 @@ if (params_period_size(params) << rme96->capture_frlog != rme96->playback_periodsize) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } } rme96->capture_periodsize = params_period_size(params) << rme96->capture_frlog; snd_rme96_set_period_properties(rme96, rme96->capture_periodsize); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } -static int -snd_rme96_capture_hw_free(snd_pcm_substream_t *substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - static void snd_rme96_playback_start(rme96_t *rme96, int from_pause) { if (!from_pause) { writel(0, rme96->iobase + RME96_IO_RESET_PLAY_POS); - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; } rme96->wcreg |= RME96_WCR_START; @@ -1123,7 +1105,6 @@ { if (!from_pause) { writel(0, rme96->iobase + RME96_IO_RESET_REC_POS); - rme96->capture_ptr = 0; } rme96->wcreg |= RME96_WCR_START_2; @@ -1186,10 +1167,8 @@ static unsigned int period_bytes[] = { RME96_SMALL_BLOCK_SIZE, RME96_LARGE_BLOCK_SIZE }; -#define PERIOD_BYTES sizeof(period_bytes) / sizeof(period_bytes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes = { - .count = PERIOD_BYTES, + .count = ARRAY_SIZE(period_bytes), .list = period_bytes, .mask = 0 }; @@ -1197,24 +1176,21 @@ static int snd_rme96_playback_spdif_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->playback_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->wcreg &= ~RME96_WCR_ADAT; writel(rme96->wcreg, rme96->iobase + RME96_IO_CONTROL_REGISTER); rme96->playback_substream = substream; - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); runtime->hw = snd_rme96_playback_spdif_info; if (!(rme96->wcreg & RME96_WCR_MASTER) && @@ -1239,9 +1215,8 @@ static int snd_rme96_capture_spdif_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); @@ -1258,14 +1233,13 @@ runtime->hw.rate_max = rate; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->capture_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->capture_substream = substream; - rme96->capture_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, RME96_BUFFER_SIZE, RME96_BUFFER_SIZE); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_period_bytes); @@ -1276,24 +1250,21 @@ static int snd_rme96_playback_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->playback_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->wcreg |= RME96_WCR_ADAT; writel(rme96->wcreg, rme96->iobase + RME96_IO_CONTROL_REGISTER); rme96->playback_substream = substream; - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); runtime->hw = snd_rme96_playback_adat_info; if (!(rme96->wcreg & RME96_WCR_MASTER) && @@ -1313,9 +1284,8 @@ static int snd_rme96_capture_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); @@ -1335,14 +1305,13 @@ runtime->hw.rate_max = rate; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->capture_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->capture_substream = substream; - rme96->capture_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, RME96_BUFFER_SIZE, RME96_BUFFER_SIZE); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_period_bytes); @@ -1352,18 +1321,17 @@ static int snd_rme96_playback_close(snd_pcm_substream_t *substream) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); int spdif = 0; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISPLAYING(rme96)) { snd_rme96_playback_stop(rme96); } rme96->playback_substream = NULL; rme96->playback_periodsize = 0; spdif = (rme96->wcreg & RME96_WCR_ADAT) == 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); if (spdif) { rme96->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme96->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -1375,46 +1343,43 @@ static int snd_rme96_capture_close(snd_pcm_substream_t *substream) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISRECORDING(rme96)) { snd_rme96_capture_stop(rme96); } rme96->capture_substream = NULL; rme96->capture_periodsize = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_playback_prepare(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISPLAYING(rme96)) { snd_rme96_playback_stop(rme96); } writel(0, rme96->iobase + RME96_IO_RESET_PLAY_POS); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_capture_prepare(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISRECORDING(rme96)) { snd_rme96_capture_stop(rme96); } writel(0, rme96->iobase + RME96_IO_RESET_REC_POS); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } @@ -1422,7 +1387,7 @@ snd_rme96_playback_trigger(snd_pcm_substream_t *substream, int cmd) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -1465,7 +1430,7 @@ snd_rme96_capture_trigger(snd_pcm_substream_t *substream, int cmd) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -1508,75 +1473,15 @@ static snd_pcm_uframes_t snd_rme96_playback_pointer(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_sframes_t diff; - size_t bytes; - - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - diff = runtime->control->appl_ptr - - rme96->playback_last_appl_ptr; - rme96->playback_last_appl_ptr = runtime->control->appl_ptr; - if (diff != 0 && - diff < -(snd_pcm_sframes_t)(runtime->boundary >> 1)) - { - diff += runtime->boundary; - } - bytes = diff << rme96->playback_frlog; - - if (bytes > RME96_BUFFER_SIZE - rme96->playback_ptr) { - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER + - rme96->playback_ptr), - runtime->dma_area + rme96->playback_ptr, - RME96_BUFFER_SIZE - rme96->playback_ptr); - bytes -= RME96_BUFFER_SIZE - rme96->playback_ptr; - if (bytes > RME96_BUFFER_SIZE) { - bytes = RME96_BUFFER_SIZE; - } - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER), - runtime->dma_area, - bytes); - rme96->playback_ptr = bytes; - } else if (bytes != 0) { - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER + - rme96->playback_ptr), - runtime->dma_area + rme96->playback_ptr, - bytes); - rme96->playback_ptr += bytes; - } - } + rme96_t *rme96 = snd_pcm_substream_chip(substream); return snd_rme96_playback_ptr(rme96); } static snd_pcm_uframes_t snd_rme96_capture_pointer(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t frameptr; - size_t ptr; - - frameptr = snd_rme96_capture_ptr(rme96); - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - ptr = frameptr << rme96->capture_frlog; - if (ptr > rme96->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme96->capture_ptr, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER + - rme96->capture_ptr), - ptr - rme96->capture_ptr); - rme96->capture_ptr += ptr - rme96->capture_ptr; - } else if (ptr < rme96->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme96->capture_ptr, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER + - rme96->capture_ptr), - RME96_BUFFER_SIZE - rme96->capture_ptr); - memcpy_fromio(runtime->dma_area, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER), - ptr); - rme96->capture_ptr = ptr; - } - } - return frameptr; + rme96_t *rme96 = snd_pcm_substream_chip(substream); + return snd_rme96_capture_ptr(rme96); } static snd_pcm_ops_t snd_rme96_playback_spdif_ops = { @@ -1584,7 +1489,6 @@ .close = snd_rme96_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_playback_hw_params, - .hw_free = snd_rme96_playback_hw_free, .prepare = snd_rme96_playback_prepare, .trigger = snd_rme96_playback_trigger, .pointer = snd_rme96_playback_pointer, @@ -1597,7 +1501,6 @@ .close = snd_rme96_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_capture_hw_params, - .hw_free = snd_rme96_capture_hw_free, .prepare = snd_rme96_capture_prepare, .trigger = snd_rme96_capture_trigger, .pointer = snd_rme96_capture_pointer, @@ -1609,7 +1512,6 @@ .close = snd_rme96_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_playback_hw_params, - .hw_free = snd_rme96_playback_hw_free, .prepare = snd_rme96_playback_prepare, .trigger = snd_rme96_playback_trigger, .pointer = snd_rme96_playback_pointer, @@ -1622,7 +1524,6 @@ .close = snd_rme96_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_capture_hw_params, - .hw_free = snd_rme96_capture_hw_free, .prepare = snd_rme96_capture_prepare, .trigger = snd_rme96_capture_trigger, .pointer = snd_rme96_capture_pointer, @@ -1649,10 +1550,9 @@ iounmap((void *)rme96->iobase); rme96->iobase = 0; } - if (rme96->res_port != NULL) { - release_resource(rme96->res_port); - kfree_nocheck(rme96->res_port); - rme96->res_port = NULL; + if (rme96->port) { + pci_release_regions(rme96->pci); + rme96->port = 0; } } @@ -1661,7 +1561,6 @@ { rme96_t *rme96 = (rme96_t *) pcm->private_data; rme96->spdif_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static void @@ -1669,7 +1568,6 @@ { rme96_t *rme96 = (rme96_t *) pcm->private_data; rme96->adat_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static int __devinit @@ -1679,24 +1577,21 @@ int err; rme96->irq = -1; + spin_lock_init(&rme96->lock); if ((err = pci_enable_device(pci)) < 0) return err; + if ((err = pci_request_regions(pci, "RME96")) < 0) + return err; rme96->port = pci_resource_start(rme96->pci, 0); - if ((rme96->res_port = request_mem_region(rme96->port, RME96_IO_SIZE, "RME96")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", rme96->port, rme96->port + RME96_IO_SIZE - 1); - return -EBUSY; - } - if (request_irq(pci->irq, snd_rme96_interrupt, SA_INTERRUPT|SA_SHIRQ, "RME96", (void *)rme96)) { snd_printk("unable to grab IRQ %d\n", pci->irq); return -EBUSY; } rme96->irq = pci->irq; - spin_lock_init(&rme96->lock); if ((rme96->iobase = (unsigned long) ioremap_nocache(rme96->port, RME96_IO_SIZE)) == 0) { snd_printk("unable to remap memory region 0x%lx-0x%lx\n", rme96->port, rme96->port + RME96_IO_SIZE - 1); return -ENOMEM; @@ -1719,12 +1614,6 @@ rme96->spdif_pcm->info_flags = 0; - snd_pcm_lib_preallocate_pages_for_all(rme96->spdif_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME96_BUFFER_SIZE, - RME96_BUFFER_SIZE); - /* set up ALSA pcm device for ADAT */ if (pci->device == PCI_DEVICE_ID_DIGI96) { /* ADAT is not available on the base model */ @@ -1742,12 +1631,6 @@ snd_pcm_set_ops(rme96->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_rme96_capture_adat_ops); rme96->adat_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme96->adat_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME96_BUFFER_SIZE, - RME96_BUFFER_SIZE); } rme96->playback_periodsize = 0; @@ -1958,28 +1841,26 @@ static int snd_rme96_get_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.integer.value[0] = rme96->wcreg & RME96_WCR_SEL ? 0 : 1; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.integer.value[0] ? 0 : RME96_WCR_SEL; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); val = (rme96->wcreg & ~RME96_WCR_SEL) | val; change = val != rme96->wcreg; writel(rme96->wcreg = val, rme96->iobase + RME96_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -1987,7 +1868,7 @@ snd_rme96_info_inputtype_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *_texts[5] = { "Optical", "Coaxial", "Internal", "XLR", "Analog" }; - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); char *texts[5] = { _texts[0], _texts[1], _texts[2], _texts[3], _texts[4] }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; @@ -2023,11 +1904,10 @@ static int snd_rme96_get_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int items = 3; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getinputtype(rme96); switch (rme96->pci->device) { @@ -2057,14 +1937,13 @@ ucontrol->value.enumerated.item[0] = items - 1; } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change, items = 3; @@ -2096,10 +1975,10 @@ } } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getinputtype(rme96); snd_rme96_setinputtype(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2120,27 +1999,25 @@ static int snd_rme96_get_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getclockmode(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getclockmode(rme96); snd_rme96_setclockmode(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2161,28 +2038,26 @@ static int snd_rme96_get_attenuation_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getattenuation(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_attenuation_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 4; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getattenuation(rme96); snd_rme96_setattenuation(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2203,27 +2078,25 @@ static int snd_rme96_get_montracks_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getmontracks(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_montracks_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 4; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getmontracks(rme96); snd_rme96_setmontracks(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2258,7 +2131,7 @@ static int snd_rme96_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); snd_rme96_convert_to_aes(&ucontrol->value.iec958, rme96->wcreg_spdif); return 0; @@ -2266,16 +2139,15 @@ static int snd_rme96_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme96_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = val != rme96->wcreg_spdif; rme96->wcreg_spdif = val; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2288,7 +2160,7 @@ static int snd_rme96_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); snd_rme96_convert_to_aes(&ucontrol->value.iec958, rme96->wcreg_spdif_stream); return 0; @@ -2296,18 +2168,17 @@ static int snd_rme96_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme96_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = val != rme96->wcreg_spdif_stream; rme96->wcreg_spdif_stream = val; rme96->wcreg &= ~(RME96_WCR_PRO | RME96_WCR_DOLBY | RME96_WCR_EMP); writel(rme96->wcreg |= val, rme96->iobase + RME96_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2327,7 +2198,7 @@ static int snd_rme96_dac_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; uinfo->count = 2; @@ -2339,13 +2210,12 @@ static int snd_rme96_dac_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); u->value.integer.value[0] = rme96->vol[0]; u->value.integer.value[1] = rme96->vol[1]; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } @@ -2353,14 +2223,13 @@ static int snd_rme96_dac_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change = 0; if (!RME96_HAS_ANALOG_OUT(rme96)) { return -EINVAL; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (u->value.integer.value[0] != rme96->vol[0]) { rme96->vol[0] = u->value.integer.value[0]; change = 1; @@ -2372,7 +2241,7 @@ if (change) { snd_rme96_apply_dac_volume(rme96); } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } diff -Nru a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c --- a/sound/pci/rme9652/hdsp.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/rme9652/hdsp.c 2004-08-25 19:27:40 -07:00 @@ -52,24 +52,18 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Hammerfall DSP interface."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Hammerfall DSP interface."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable/disable specific Hammerfall DSP soundcards."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(precise_ptr, bool, boot_devs, 0444); MODULE_PARM_DESC(precise_ptr, "Enable precise pointer (doesn't work reliably)."); -MODULE_PARM_SYNTAX(precise_ptr, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(line_outs_monitor, bool, boot_devs, 0444); MODULE_PARM_DESC(line_outs_monitor, "Send all input and playback streams to line outs by default."); -MODULE_PARM_SYNTAX(line_outs_monitor, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); MODULE_AUTHOR("Paul Davis , Marcus Andersson, Thomas Charbonnel "); MODULE_DESCRIPTION("RME Hammerfall DSP"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME Hammerfall-DSP}," +MODULE_SUPPORTED_DEVICE("{{RME Hammerfall-DSP}," "{RME HDSP-9652}," "{RME HDSP-9632}}"); @@ -462,12 +456,12 @@ unsigned char qs_out_channels; unsigned char ds_out_channels; unsigned char ss_out_channels; - void *capture_buffer_unaligned; /* original buffer addresses */ - void *playback_buffer_unaligned; /* original buffer addresses */ + + struct snd_dma_buffer capture_dma_buf; + struct snd_dma_buffer playback_dma_buf; unsigned char *capture_buffer; /* suitably aligned address */ unsigned char *playback_buffer; /* suitably aligned address */ - dma_addr_t capture_buffer_addr; - dma_addr_t playback_buffer_addr; + pid_t capture_pid; pid_t playback_pid; int running; @@ -477,7 +471,6 @@ int dev; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; snd_card_t *card; snd_pcm_t *pcm; @@ -561,50 +554,24 @@ -1, -1 }; -#define HDSP_PREALLOCATE_MEMORY /* via module snd-hdsp_mem */ - -#ifdef HDSP_PREALLOCATE_MEMORY -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) { - struct snd_dma_device pdev; - struct snd_dma_buffer dmbuf; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - dmbuf.bytes = 0; - if (! snd_dma_get_reserved(&pdev, &dmbuf)) { - if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) - return NULL; - snd_dma_set_reserved(&pdev, &dmbuf); + dmab->dev.type = SNDRV_DMA_TYPE_DEV; + dmab->dev.dev = snd_dma_pci_data(pci); + if (! snd_dma_get_reserved_buf(dmab, snd_dma_pci_buf_id(pci))) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, dmab) < 0) + return -ENOMEM; } - *addrp = dmbuf.addr; - return dmbuf.area; + return 0; } -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) { - struct snd_dma_device pdev; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - snd_dma_free_reserved(&pdev); + if (dmab->area) + snd_dma_reserve_buf(dmab, snd_dma_pci_buf_id(pci)); } -#else -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) -{ - return snd_malloc_pci_pages(pci, size, addrp); -} - -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - snd_free_pci_pages(pci, size, ptr, addr); -} -#endif static struct pci_device_id snd_hdsp_ids[] = { { @@ -621,15 +588,15 @@ /* prototypes */ static int __devinit snd_hdsp_create_alsa_devices(snd_card_t *card, hdsp_t *hdsp); static int __devinit snd_hdsp_create_pcm(snd_card_t *card, hdsp_t *hdsp); -static inline int snd_hdsp_enable_io (hdsp_t *hdsp); -static inline void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp); -static inline void snd_hdsp_initialize_channels (hdsp_t *hdsp); -static inline int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout); +static int snd_hdsp_enable_io (hdsp_t *hdsp); +static void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp); +static void snd_hdsp_initialize_channels (hdsp_t *hdsp); +static int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout); static int hdsp_autosync_ref(hdsp_t *hdsp); static int snd_hdsp_set_defaults(hdsp_t *hdsp); -static inline void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp); +static void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp); -static inline int hdsp_playback_to_output_key (hdsp_t *hdsp, int in, int out) +static int hdsp_playback_to_output_key (hdsp_t *hdsp, int in, int out) { switch (hdsp->firmware_rev) { case 0xa: @@ -642,7 +609,7 @@ } } -static inline int hdsp_input_to_output_key (hdsp_t *hdsp, int in, int out) +static int hdsp_input_to_output_key (hdsp_t *hdsp, int in, int out) { switch (hdsp->firmware_rev) { case 0xa: @@ -655,17 +622,17 @@ } } -static inline void hdsp_write(hdsp_t *hdsp, int reg, int val) +static void hdsp_write(hdsp_t *hdsp, int reg, int val) { writel(val, hdsp->iobase + reg); } -static inline unsigned int hdsp_read(hdsp_t *hdsp, int reg) +static unsigned int hdsp_read(hdsp_t *hdsp, int reg) { return readl (hdsp->iobase + reg); } -static inline int hdsp_check_for_iobox (hdsp_t *hdsp) +static int hdsp_check_for_iobox (hdsp_t *hdsp) { if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return 0; @@ -738,7 +705,7 @@ return 0; } -static inline int hdsp_get_iobox_version (hdsp_t *hdsp) +static int hdsp_get_iobox_version (hdsp_t *hdsp) { int err; @@ -781,7 +748,7 @@ } -static inline int hdsp_check_for_firmware (hdsp_t *hdsp) +static int hdsp_check_for_firmware (hdsp_t *hdsp) { if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return 0; if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { @@ -793,7 +760,7 @@ } -static inline int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout) +static int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout) { int i; @@ -818,7 +785,7 @@ return -1; } -static inline int hdsp_read_gain (hdsp_t *hdsp, unsigned int addr) +static int hdsp_read_gain (hdsp_t *hdsp, unsigned int addr) { if (addr >= HDSP_MATRIX_MIXER_SIZE) { return 0; @@ -826,7 +793,7 @@ return hdsp->mixer_matrix[addr]; } -static inline int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned short data) +static int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned short data) { unsigned int ad; @@ -835,7 +802,7 @@ if (hdsp->io_type == H9652 || hdsp->io_type == H9632) { - /* from martin björnsen: + /* from martin björnsen: "You can only write dwords to the mixer memory which contain two @@ -889,7 +856,7 @@ return 0; } -static inline int snd_hdsp_use_is_exclusive(hdsp_t *hdsp) +static int snd_hdsp_use_is_exclusive(hdsp_t *hdsp) { unsigned long flags; int ret = 1; @@ -903,7 +870,7 @@ return ret; } -static inline int hdsp_external_sample_rate (hdsp_t *hdsp) +static int hdsp_external_sample_rate (hdsp_t *hdsp) { unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register); unsigned int rate_bits = status2 & HDSP_systemFrequencyMask; @@ -920,7 +887,7 @@ } } -static inline int hdsp_spdif_sample_rate(hdsp_t *hdsp) +static int hdsp_spdif_sample_rate(hdsp_t *hdsp) { unsigned int status = hdsp_read(hdsp, HDSP_statusRegister); unsigned int rate_bits = (status & HDSP_spdifFrequencyMask); @@ -952,7 +919,7 @@ return 0; } -static inline void hdsp_compute_period_size(hdsp_t *hdsp) +static void hdsp_compute_period_size(hdsp_t *hdsp) { hdsp->period_bytes = 1 << ((hdsp_decode_latency(hdsp->control_register) + 8)); } @@ -974,24 +941,24 @@ return position; } -static inline void hdsp_reset_hw_pointer(hdsp_t *hdsp) +static void hdsp_reset_hw_pointer(hdsp_t *hdsp) { hdsp_write (hdsp, HDSP_resetPointer, 0); } -static inline void hdsp_start_audio(hdsp_t *s) +static void hdsp_start_audio(hdsp_t *s) { s->control_register |= (HDSP_AudioInterruptEnable | HDSP_Start); hdsp_write(s, HDSP_controlRegister, s->control_register); } -static inline void hdsp_stop_audio(hdsp_t *s) +static void hdsp_stop_audio(hdsp_t *s) { s->control_register &= ~(HDSP_Start | HDSP_AudioInterruptEnable); hdsp_write(s, HDSP_controlRegister, s->control_register); } -static inline void hdsp_silence_playback(hdsp_t *hdsp) +static void hdsp_silence_playback(hdsp_t *hdsp) { memset(hdsp->playback_buffer, 0, HDSP_DMA_AREA_BYTES); } @@ -1236,7 +1203,7 @@ MIDI ----------------------------------------------------------------------------*/ -static inline unsigned char snd_hdsp_midi_read_byte (hdsp_t *hdsp, int id) +static unsigned char snd_hdsp_midi_read_byte (hdsp_t *hdsp, int id) { /* the hardware already does the relevant bit-mask with 0xff */ if (id) { @@ -1246,7 +1213,7 @@ } } -static inline void snd_hdsp_midi_write_byte (hdsp_t *hdsp, int id, int val) +static void snd_hdsp_midi_write_byte (hdsp_t *hdsp, int id, int val) { /* the hardware already does the relevant bit-mask with 0xff */ if (id) { @@ -1256,7 +1223,7 @@ } } -static inline int snd_hdsp_midi_input_available (hdsp_t *hdsp, int id) +static int snd_hdsp_midi_input_available (hdsp_t *hdsp, int id) { if (id) { return (hdsp_read(hdsp, HDSP_midiStatusIn1) & 0xff); @@ -1265,7 +1232,7 @@ } } -static inline int snd_hdsp_midi_output_possible (hdsp_t *hdsp, int id) +static int snd_hdsp_midi_output_possible (hdsp_t *hdsp, int id) { int fifo_bytes_used; @@ -1282,7 +1249,7 @@ } } -static inline void snd_hdsp_flush_midi_input (hdsp_t *hdsp, int id) +static void snd_hdsp_flush_midi_input (hdsp_t *hdsp, int id) { while (snd_hdsp_midi_input_available (hdsp, id)) { snd_hdsp_midi_read_byte (hdsp, id); @@ -1429,13 +1396,12 @@ static int snd_hdsp_midi_input_open(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); snd_hdsp_flush_midi_input (hmidi->hdsp, hmidi->id); hmidi->input = substream; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1443,12 +1409,11 @@ static int snd_hdsp_midi_output_open(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->output = substream; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1456,14 +1421,13 @@ static int snd_hdsp_midi_input_close(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; snd_hdsp_midi_input_trigger (substream, 0); hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->input = NULL; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1471,14 +1435,13 @@ static int snd_hdsp_midi_output_close(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; snd_hdsp_midi_output_trigger (substream, 0); hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->output = NULL; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1563,7 +1526,7 @@ static int snd_hdsp_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif); return 0; @@ -1571,16 +1534,15 @@ static int snd_hdsp_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_hdsp_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp->creg_spdif; hdsp->creg_spdif = val; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1593,7 +1555,7 @@ static int snd_hdsp_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif_stream); return 0; @@ -1601,18 +1563,17 @@ static int snd_hdsp_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_hdsp_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp->creg_spdif_stream; hdsp->creg_spdif_stream = val; hdsp->control_register &= ~(HDSP_SPDIFProfessional | HDSP_SPDIFNonAudio | HDSP_SPDIFEmphasis); hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register |= val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1653,7 +1614,7 @@ static int snd_hdsp_info_spdif_in(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[4] = {"Optical", "Coaxial", "Internal", "AES"}; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1666,7 +1627,7 @@ static int snd_hdsp_get_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_spdif_in(hdsp); return 0; @@ -1674,19 +1635,18 @@ static int snd_hdsp_put_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % ((hdsp->io_type == H9632) ? 4 : 3); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp_spdif_in(hdsp); if (change) hdsp_set_spdif_input(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1722,7 +1682,7 @@ static int snd_hdsp_get_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_out(hdsp); return 0; @@ -1730,18 +1690,17 @@ static int snd_hdsp_put_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_out(hdsp); hdsp_set_spdif_output(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1768,7 +1727,7 @@ static int snd_hdsp_get_spdif_professional(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_professional(hdsp); return 0; @@ -1776,18 +1735,17 @@ static int snd_hdsp_put_spdif_professional(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_professional(hdsp); hdsp_set_spdif_professional(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1814,7 +1772,7 @@ static int snd_hdsp_get_spdif_emphasis(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_emphasis(hdsp); return 0; @@ -1822,18 +1780,17 @@ static int snd_hdsp_put_spdif_emphasis(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_emphasis(hdsp); hdsp_set_spdif_emphasis(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1860,7 +1817,7 @@ static int snd_hdsp_get_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_nonaudio(hdsp); return 0; @@ -1868,18 +1825,17 @@ static int snd_hdsp_put_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_nonaudio(hdsp); hdsp_set_spdif_nonaudio(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1895,7 +1851,7 @@ static int snd_hdsp_info_spdif_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"32000", "44100", "48000", "64000", "88200", "96000", "None", "128000", "176400", "192000"}; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1908,7 +1864,7 @@ static int snd_hdsp_get_spdif_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); switch (hdsp_spdif_sample_rate(hdsp)) { case 32000: @@ -1962,7 +1918,7 @@ static int snd_hdsp_get_system_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp->system_sample_rate; return 0; @@ -1979,7 +1935,7 @@ static int snd_hdsp_info_autosync_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); static char *texts[] = {"32000", "44100", "48000", "64000", "88200", "96000", "None", "128000", "176400", "192000"}; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1992,7 +1948,7 @@ static int snd_hdsp_get_autosync_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); switch (hdsp_external_sample_rate(hdsp)) { case 32000: @@ -2062,7 +2018,7 @@ static int snd_hdsp_get_system_clock_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_system_clock_mode(hdsp); return 0; @@ -2159,7 +2115,7 @@ static int snd_hdsp_info_clock_source(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"AutoSync", "Internal 32.0 kHz", "Internal 44.1 kHz", "Internal 48.0 kHz", "Internal 64.0 kHz", "Internal 88.2 kHz", "Internal 96.0 kHz", "Internal 128 kHz", "Internal 176.4 kHz", "Internal 192.0 KHz" }; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -2175,7 +2131,7 @@ static int snd_hdsp_get_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_clock_source(hdsp); return 0; @@ -2183,8 +2139,7 @@ static int snd_hdsp_put_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2197,13 +2152,13 @@ } else { if (val > 6) val = 6; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_clock_source(hdsp)) { change = (hdsp_set_clock_source(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2266,7 +2221,7 @@ static int snd_hdsp_get_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_da_gain(hdsp); return 0; @@ -2274,8 +2229,7 @@ static int snd_hdsp_put_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2284,13 +2238,13 @@ val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_da_gain(hdsp)) { change = (hdsp_set_da_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2353,7 +2307,7 @@ static int snd_hdsp_get_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_ad_gain(hdsp); return 0; @@ -2361,8 +2315,7 @@ static int snd_hdsp_put_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2371,13 +2324,13 @@ val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_ad_gain(hdsp)) { change = (hdsp_set_ad_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2440,7 +2393,7 @@ static int snd_hdsp_get_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_phone_gain(hdsp); return 0; @@ -2448,8 +2401,7 @@ static int snd_hdsp_put_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2458,13 +2410,13 @@ val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_phone_gain(hdsp)) { change = (hdsp_set_phone_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2507,7 +2459,7 @@ static int snd_hdsp_get_xlr_breakout_cable(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_xlr_breakout_cable(hdsp); return 0; @@ -2515,18 +2467,17 @@ static int snd_hdsp_put_xlr_breakout_cable(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_xlr_breakout_cable(hdsp); hdsp_set_xlr_breakout_cable(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2573,7 +2524,7 @@ static int snd_hdsp_get_aeb(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_aeb(hdsp); return 0; @@ -2581,18 +2532,17 @@ static int snd_hdsp_put_aeb(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_aeb(hdsp); hdsp_set_aeb(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2662,7 +2612,7 @@ static int snd_hdsp_info_pref_sync_ref(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"Word", "IEC958", "ADAT1", "ADAT Sync", "ADAT2", "ADAT3" }; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -2691,7 +2641,7 @@ static int snd_hdsp_get_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp); return 0; @@ -2699,8 +2649,7 @@ static int snd_hdsp_put_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change, max; unsigned int val; @@ -2723,10 +2672,10 @@ } val = ucontrol->value.enumerated.item[0] % max; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_pref_sync_ref(hdsp); hdsp_set_pref_sync_ref(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2780,7 +2729,7 @@ static int snd_hdsp_get_autosync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp); return 0; @@ -2806,19 +2755,17 @@ static int snd_hdsp_get_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[0] = hdsp->passthru; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; int err = 0; @@ -2827,11 +2774,11 @@ return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (ucontrol->value.integer.value[0] != hdsp->passthru); if (change) err = hdsp_set_passthru(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return err ? err : change; } @@ -2871,29 +2818,27 @@ static int snd_hdsp_get_line_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[0] = hdsp_line_out(hdsp); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_line_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_line_out(hdsp); hdsp_set_line_output(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2920,8 +2865,7 @@ static int snd_hdsp_get_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int source; int destination; int addr; @@ -2935,16 +2879,15 @@ addr = hdsp_input_to_output_key(hdsp,source, destination); } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[2] = hdsp_read_gain (hdsp, addr); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int source; int destination; @@ -2965,11 +2908,11 @@ gain = ucontrol->value.integer.value[2]; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = gain != hdsp_read_gain(hdsp, addr); if (change) hdsp_write_gain(hdsp, addr, gain); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -3011,7 +2954,7 @@ static int snd_hdsp_get_wc_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_wc_sync_check(hdsp); return 0; @@ -3043,7 +2986,7 @@ static int snd_hdsp_get_spdif_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_spdif_sync_check(hdsp); return 0; @@ -3074,7 +3017,7 @@ static int snd_hdsp_get_adatsync_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_adatsync_sync_check(hdsp); return 0; @@ -3105,7 +3048,7 @@ static int snd_hdsp_get_adat_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { int offset; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); offset = ucontrol->id.index - 1; snd_assert(offset >= 0); @@ -3194,10 +3137,6 @@ HDSP_LINE_OUT("Line Out", 0), }; -#define HDSP_CONTROLS (sizeof(snd_hdsp_controls)/sizeof(snd_kcontrol_new_t)) - -#define HDSP_9632_CONTROLS (sizeof(snd_hdsp_9632_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_hdsp_96xx_aeb = HDSP_AEB("Analog Extension Board", 0); static snd_kcontrol_new_t snd_hdsp_adat_sync_check = HDSP_ADAT_SYNC_CHECK; @@ -3207,7 +3146,7 @@ int err; snd_kcontrol_t *kctl; - for (idx = 0; idx < HDSP_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_controls[idx], hdsp))) < 0) { return err; } @@ -3232,7 +3171,7 @@ /* DA, AD and Phone gain and XLR breakout cable controls for H9632 cards */ if (hdsp->io_type == H9632) { - for (idx = 0; idx < HDSP_9632_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_9632_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_9632_controls[idx], hdsp))) < 0) { return err; } @@ -3583,59 +3522,34 @@ static void snd_hdsp_free_buffers(hdsp_t *hdsp) { - if (hdsp->capture_buffer_unaligned) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, - hdsp->capture_buffer_unaligned, - hdsp->capture_buffer_addr, 1); - } - - if (hdsp->playback_buffer_unaligned) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, - hdsp->playback_buffer_unaligned, - hdsp->playback_buffer_addr, 0); - } + snd_hammerfall_free_buffer(&hdsp->capture_dma_buf, hdsp->pci); + snd_hammerfall_free_buffer(&hdsp->playback_dma_buf, hdsp->pci); } static int __devinit snd_hdsp_initialize_memory(hdsp_t *hdsp) { - void *pb, *cb; - dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; - cb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &cb_addr, 1); - pb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &pb_addr, 0); - - if (cb == 0 || pb == 0) { - if (cb) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, cb, cb_addr, 1); - } - if (pb) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, pb, pb_addr, 0); - } - + if (snd_hammerfall_get_buffer(hdsp->pci, &hdsp->capture_dma_buf, HDSP_DMA_AREA_BYTES) < 0 || + snd_hammerfall_get_buffer(hdsp->pci, &hdsp->playback_dma_buf, HDSP_DMA_AREA_BYTES) < 0) { + if (hdsp->capture_dma_buf.area) + snd_dma_free_pages(&hdsp->capture_dma_buf); printk(KERN_ERR "%s: no buffers available\n", hdsp->card_name); return -ENOMEM; } - /* save raw addresses for use when freeing memory later */ - - hdsp->capture_buffer_unaligned = cb; - hdsp->playback_buffer_unaligned = pb; - hdsp->capture_buffer_addr = cb_addr; - hdsp->playback_buffer_addr = pb_addr; - /* Align to bus-space 64K boundary */ - cb_bus = (cb_addr + 0xFFFF) & ~0xFFFFl; - pb_bus = (pb_addr + 0xFFFF) & ~0xFFFFl; + cb_bus = (hdsp->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; + pb_bus = (hdsp->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; /* Tell the card where it is */ hdsp_write(hdsp, HDSP_inputBufferAddress, cb_bus); hdsp_write(hdsp, HDSP_outputBufferAddress, pb_bus); - hdsp->capture_buffer = cb + (cb_bus - cb_addr); - hdsp->playback_buffer = pb + (pb_bus - pb_addr); + hdsp->capture_buffer = hdsp->capture_dma_buf.area + (cb_bus - hdsp->capture_dma_buf.addr); + hdsp->playback_buffer = hdsp->playback_dma_buf.area + (pb_bus - hdsp->playback_dma_buf.addr); return 0; } @@ -3809,7 +3723,7 @@ static snd_pcm_uframes_t snd_hdsp_hw_pointer(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); return hdsp_hw_pointer(hdsp); } @@ -3836,7 +3750,7 @@ static int snd_hdsp_playback_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= HDSP_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -3851,7 +3765,7 @@ static int snd_hdsp_capture_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= HDSP_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -3866,7 +3780,7 @@ static int snd_hdsp_hw_silence(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel); @@ -3878,7 +3792,7 @@ static int snd_hdsp_reset(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) other = hdsp->capture_substream; @@ -3906,7 +3820,7 @@ static int snd_hdsp_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int err; pid_t this_pid; pid_t other_pid; @@ -3989,7 +3903,7 @@ static int snd_hdsp_channel_info(snd_pcm_substream_t *substream, snd_pcm_channel_info_t *info) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int mapped_channel; snd_assert(info->channel < hdsp->max_channels, return -EINVAL); @@ -4026,7 +3940,7 @@ static int snd_hdsp_trigger(snd_pcm_substream_t *substream, int cmd) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; int running; @@ -4105,7 +4019,7 @@ static int snd_hdsp_prepare(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int result = 0; if (hdsp_check_for_iobox (hdsp)) { @@ -4123,10 +4037,10 @@ return -EIO; } - spin_lock(&hdsp->lock); + spin_lock_irq(&hdsp->lock); if (!hdsp->running) hdsp_reset_hw_pointer(hdsp); - spin_unlock(&hdsp->lock); + spin_unlock_irq(&hdsp->lock); return result; } @@ -4183,20 +4097,16 @@ static unsigned int hdsp_period_sizes[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; -#define HDSP_PERIOD_SIZES sizeof(hdsp_period_sizes) / sizeof(hdsp_period_sizes[0]) - static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_period_sizes = { - .count = HDSP_PERIOD_SIZES, + .count = ARRAY_SIZE(hdsp_period_sizes), .list = hdsp_period_sizes, .mask = 0 }; static unsigned int hdsp_9632_sample_rates[] = { 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000 }; -#define HDSP_9632_SAMPLE_RATES sizeof(hdsp_9632_sample_rates) / sizeof(hdsp_9632_sample_rates[0]) - static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_9632_sample_rates = { - .count = HDSP_9632_SAMPLE_RATES, + .count = ARRAY_SIZE(hdsp_9632_sample_rates), .list = hdsp_9632_sample_rates, .mask = 0 }; @@ -4364,8 +4274,7 @@ static int snd_hdsp_playback_open(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; if (hdsp_check_for_iobox (hdsp)) { @@ -4383,7 +4292,7 @@ return -EIO; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); snd_pcm_set_sync(substream); @@ -4399,7 +4308,7 @@ hdsp->playback_pid = current->pid; hdsp->playback_substream = substream; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hdsp_hw_constraints_period_sizes); @@ -4430,15 +4339,14 @@ static int snd_hdsp_playback_release(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); hdsp->playback_pid = -1; hdsp->playback_substream = NULL; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); hdsp->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(hdsp->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -4449,8 +4357,7 @@ static int snd_hdsp_capture_open(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; if (hdsp_check_for_iobox (hdsp)) { @@ -4468,7 +4375,7 @@ return -EIO; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); snd_pcm_set_sync(substream); @@ -4484,7 +4391,7 @@ hdsp->capture_pid = current->pid; hdsp->capture_substream = substream; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hdsp_hw_constraints_period_sizes); @@ -4509,15 +4416,14 @@ static int snd_hdsp_capture_release(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); hdsp->capture_pid = -1; hdsp->capture_substream = NULL; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } @@ -4830,19 +4736,13 @@ return 0; } -static inline void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp) +static void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp) { hdsp->control2_register |= HDSP_9652_ENABLE_MIXER; hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register); } -static inline void snd_hdsp_9652_disable_mixer (hdsp_t *hdsp) -{ - hdsp->control2_register &= ~HDSP_9652_ENABLE_MIXER; - hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register); -} - -static inline int snd_hdsp_enable_io (hdsp_t *hdsp) +static int snd_hdsp_enable_io (hdsp_t *hdsp) { int i; @@ -4858,7 +4758,7 @@ return 0; } -static inline void snd_hdsp_initialize_channels(hdsp_t *hdsp) +static void snd_hdsp_initialize_channels(hdsp_t *hdsp) { int status, aebi_channels, aebo_channels; @@ -4901,7 +4801,7 @@ } } -static inline void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp) +static void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp) { snd_hdsp_flush_midi_input (hdsp, 0); snd_hdsp_flush_midi_input (hdsp, 1); @@ -4980,7 +4880,6 @@ spin_lock_init(&hdsp->midi[0].lock); spin_lock_init(&hdsp->midi[1].lock); hdsp->iobase = 0; - hdsp->res_port = NULL; hdsp->control_register = 0; hdsp->control2_register = 0; hdsp->io_type = Undefined; @@ -5035,13 +4934,9 @@ pci_set_master(hdsp->pci); + if ((err = pci_request_regions(pci, "hdsp")) < 0) + return err; hdsp->port = pci_resource_start(pci, 0); - - if ((hdsp->res_port = request_mem_region(hdsp->port, HDSP_IO_EXTENT, "hdsp")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1); - return -EBUSY; - } - if ((hdsp->iobase = (unsigned long) ioremap_nocache(hdsp->port, HDSP_IO_EXTENT)) == 0) { snd_printk("unable to remap region 0x%lx-0x%lx\n", hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1); return -EBUSY; @@ -5114,7 +5009,7 @@ static int snd_hdsp_free(hdsp_t *hdsp) { - if (hdsp->res_port) { + if (hdsp->port) { /* stop the audio, and cancel all interrupts */ hdsp->control_register &= ~(HDSP_Start|HDSP_AudioInterruptEnable|HDSP_Midi0InterruptEnable|HDSP_Midi1InterruptEnable); hdsp_write (hdsp, HDSP_controlRegister, hdsp->control_register); @@ -5128,10 +5023,8 @@ if (hdsp->iobase) iounmap((void *) hdsp->iobase); - if (hdsp->res_port) { - release_resource(hdsp->res_port); - kfree_nocheck(hdsp->res_port); - } + if (hdsp->port) + pci_release_regions(hdsp->pci); return 0; } diff -Nru a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c --- a/sound/pci/rme9652/rme9652.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/rme9652/rme9652.c 2004-08-25 19:27:40 -07:00 @@ -46,21 +46,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi9652 (Hammerfall) soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi9652 (Hammerfall) soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable/disable specific RME96{52,36} soundcards."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(precise_ptr, bool, boot_devs, 0444); MODULE_PARM_DESC(precise_ptr, "Enable precise pointer (doesn't work reliably)."); -MODULE_PARM_SYNTAX(precise_ptr, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); MODULE_AUTHOR("Paul Davis , Winfried Ritsch"); MODULE_DESCRIPTION("RME Digi9652/Digi9636"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Hammerfall}," +MODULE_SUPPORTED_DEVICE("{{RME,Hammerfall}," "{RME,Hammerfall-Light}}"); /* The Hammerfall has two sets of 24 ADAT + 2 S/PDIF channels, one for @@ -217,7 +212,6 @@ spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; int precise_ptr; @@ -239,12 +233,11 @@ unsigned char ds_channels; unsigned char ss_channels; /* different for hammerfall/hammerfall-light */ - void *capture_buffer_unaligned; /* original buffer addresses */ - void *playback_buffer_unaligned; /* original buffer addresses */ + struct snd_dma_buffer playback_dma_buf; + struct snd_dma_buffer capture_dma_buf; + unsigned char *capture_buffer; /* suitably aligned address */ unsigned char *playback_buffer; /* suitably aligned address */ - dma_addr_t capture_buffer_addr; - dma_addr_t playback_buffer_addr; pid_t capture_pid; pid_t playback_pid; @@ -307,50 +300,24 @@ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -#define RME9652_PREALLOCATE_MEMORY /* via module snd-hammerfall-mem */ - -#ifdef RME9652_PREALLOCATE_MEMORY -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) { - struct snd_dma_device pdev; - struct snd_dma_buffer dmbuf; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - dmbuf.bytes = 0; - if (! snd_dma_get_reserved(&pdev, &dmbuf)) { - if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) - return NULL; - snd_dma_set_reserved(&pdev, &dmbuf); + dmab->dev.type = SNDRV_DMA_TYPE_DEV; + dmab->dev.dev = snd_dma_pci_data(pci); + if (! snd_dma_get_reserved_buf(dmab, snd_dma_pci_buf_id(pci))) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, dmab) < 0) + return -ENOMEM; } - *addrp = dmbuf.addr; - return dmbuf.area; -} - -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - struct snd_dma_device pdev; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - snd_dma_free_reserved(&pdev); + return 0; } -#else -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) { - return snd_malloc_pci_pages(pci, size, addrp); + if (dmab->area) + snd_dma_reserve_buf(dmab, snd_dma_pci_buf_id(pci)); } -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - snd_free_pci_pages(pci, size, ptr, addr); -} -#endif static struct pci_device_id snd_rme9652_ids[] = { { @@ -858,7 +825,7 @@ static int snd_rme9652_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); snd_rme9652_convert_to_aes(&ucontrol->value.iec958, rme9652->creg_spdif); return 0; @@ -866,16 +833,15 @@ static int snd_rme9652_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme9652_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652->creg_spdif; rme9652->creg_spdif = val; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -888,7 +854,7 @@ static int snd_rme9652_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); snd_rme9652_convert_to_aes(&ucontrol->value.iec958, rme9652->creg_spdif_stream); return 0; @@ -896,18 +862,17 @@ static int snd_rme9652_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme9652_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652->creg_spdif_stream; rme9652->creg_spdif_stream = val; rme9652->control_register &= ~(RME9652_PRO | RME9652_Dolby | RME9652_EMP); rme9652_write(rme9652, RME9652_control_register, rme9652->control_register |= val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -977,30 +942,28 @@ static int snd_rme9652_get_adat1_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_adat1_in(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_adat1_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % 2; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652_adat1_in(rme9652); if (change) rme9652_set_adat1_input(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1050,30 +1013,28 @@ static int snd_rme9652_get_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_spdif_in(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652_spdif_in(rme9652); if (change) rme9652_set_spdif_input(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1121,29 +1082,27 @@ static int snd_rme9652_get_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652_spdif_out(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_spdif_out(rme9652); rme9652_set_spdif_output(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1210,27 +1169,25 @@ static int snd_rme9652_get_sync_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_sync_mode(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_sync_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_sync_mode(rme9652); rme9652_set_sync_mode(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1291,7 +1248,7 @@ static int snd_rme9652_info_sync_pref(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[4] = {"IEC958 In", "ADAT1 In", "ADAT2 In", "ADAT3 In"}; - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1304,19 +1261,17 @@ static int snd_rme9652_get_sync_pref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_sync_pref(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_sync_pref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change, max; unsigned int val; @@ -1324,16 +1279,16 @@ return -EBUSY; max = rme9652->ss_channels == RME9652_NCHANNELS ? 4 : 3; val = ucontrol->value.enumerated.item[0] % max; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_sync_pref(rme9652); rme9652_set_sync_pref(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } static int snd_rme9652_info_thru(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; uinfo->count = rme9652->ss_channels; uinfo->value.integer.min = 0; @@ -1343,7 +1298,7 @@ static int snd_rme9652_get_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); unsigned int k; u32 thru_bits = rme9652->thru_bits; @@ -1355,8 +1310,7 @@ static int snd_rme9652_put_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int chn; u32 thru_bits = 0; @@ -1369,7 +1323,7 @@ thru_bits |= 1 << chn; } - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = thru_bits ^ rme9652->thru_bits; if (change) { for (chn = 0; chn < rme9652->ss_channels; ++chn) { @@ -1378,7 +1332,7 @@ rme9652_set_thru(rme9652,chn,thru_bits&(1<lock, flags); + spin_unlock_irq(&rme9652->lock); return !!change; } @@ -1399,19 +1353,17 @@ static int snd_rme9652_get_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652->passthru; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; int err = 0; @@ -1420,11 +1372,11 @@ return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (ucontrol->value.integer.value[0] != rme9652->passthru); if (change) err = rme9652_set_passthru(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return err ? err : change; } @@ -1447,12 +1399,11 @@ static int snd_rme9652_get_spdif_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652_spdif_sample_rate(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } @@ -1477,7 +1428,7 @@ static int snd_rme9652_get_adat_sync(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); unsigned int mask1, mask2, val; switch (kcontrol->private_value) { @@ -1509,7 +1460,7 @@ static int snd_rme9652_get_tc_valid(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = (rme9652_read(rme9652, RME9652_status_register) & RME9652_tc_valid) ? 1 : 0; @@ -1573,8 +1524,6 @@ #endif /* ALSA_HAS_STANDARD_WAY_OF_RETURNING_TIMECODE */ -#define RME9652_CONTROLS (sizeof(snd_rme9652_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_rme9652_controls[] = { { .iface = SNDRV_CTL_ELEM_IFACE_PCM, @@ -1642,7 +1591,7 @@ int err; snd_kcontrol_t *kctl; - for (idx = 0; idx < RME9652_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_rme9652_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme9652_controls[idx], rme9652))) < 0) return err; if (idx == 1) /* IEC958 (S/PDIF) Stream */ @@ -1847,17 +1796,8 @@ static void snd_rme9652_free_buffers(rme9652_t *rme9652) { - if (rme9652->capture_buffer_unaligned) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, - rme9652->capture_buffer_unaligned, - rme9652->capture_buffer_addr, 1); - } - - if (rme9652->playback_buffer_unaligned) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, - rme9652->playback_buffer_unaligned, - rme9652->playback_buffer_addr, 0); - } + snd_hammerfall_free_buffer(&rme9652->capture_dma_buf, rme9652->pci); + snd_hammerfall_free_buffer(&rme9652->playback_dma_buf, rme9652->pci); } static int snd_rme9652_free(rme9652_t *rme9652) @@ -1866,57 +1806,40 @@ rme9652_stop(rme9652); snd_rme9652_free_buffers(rme9652); - if (rme9652->iobase) - iounmap((void *) rme9652->iobase); - if (rme9652->res_port) { - release_resource(rme9652->res_port); - kfree_nocheck(rme9652->res_port); - } if (rme9652->irq >= 0) free_irq(rme9652->irq, (void *)rme9652); + if (rme9652->iobase) + iounmap((void *) rme9652->iobase); + if (rme9652->port) + pci_release_regions(rme9652->pci); + return 0; } static int __devinit snd_rme9652_initialize_memory(rme9652_t *rme9652) { - void *pb, *cb; - dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; - cb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &cb_addr, 1); - pb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &pb_addr, 0); - - if (cb == 0 || pb == 0) { - if (cb) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, cb, cb_addr, 1); - } - if (pb) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, pb, pb_addr, 0); - } - + if (snd_hammerfall_get_buffer(rme9652->pci, &rme9652->capture_dma_buf, RME9652_DMA_AREA_BYTES) < 0 || + snd_hammerfall_get_buffer(rme9652->pci, &rme9652->playback_dma_buf, RME9652_DMA_AREA_BYTES) < 0) { + if (rme9652->capture_dma_buf.area) + snd_dma_free_pages(&rme9652->capture_dma_buf); printk(KERN_ERR "%s: no buffers available\n", rme9652->card_name); return -ENOMEM; } - /* save raw addresses for use when freeing memory later */ - - rme9652->capture_buffer_unaligned = cb; - rme9652->playback_buffer_unaligned = pb; - rme9652->capture_buffer_addr = cb_addr; - rme9652->playback_buffer_addr = pb_addr; - /* Align to bus-space 64K boundary */ - cb_bus = (cb_addr + 0xFFFF) & ~0xFFFFl; - pb_bus = (pb_addr + 0xFFFF) & ~0xFFFFl; + cb_bus = (rme9652->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; + pb_bus = (rme9652->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; /* Tell the card where it is */ rme9652_write(rme9652, RME9652_rec_buffer, cb_bus); rme9652_write(rme9652, RME9652_play_buffer, pb_bus); - rme9652->capture_buffer = cb + (cb_bus - cb_addr); - rme9652->playback_buffer = pb + (pb_bus - pb_addr); + rme9652->capture_buffer = rme9652->capture_dma_buf.area + (cb_bus - rme9652->capture_dma_buf.addr); + rme9652->playback_buffer = rme9652->playback_dma_buf.area + (pb_bus - rme9652->playback_dma_buf.addr); return 0; } @@ -1984,7 +1907,7 @@ static snd_pcm_uframes_t snd_rme9652_hw_pointer(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); return rme9652_hw_pointer(rme9652); } @@ -2013,7 +1936,7 @@ static int snd_rme9652_playback_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= RME9652_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -2030,7 +1953,7 @@ static int snd_rme9652_capture_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= RME9652_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -2047,7 +1970,7 @@ static int snd_rme9652_hw_silence(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; channel_buf = rme9652_channel_buffer_location (rme9652, @@ -2061,7 +1984,7 @@ static int snd_rme9652_reset(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) other = rme9652->capture_substream; @@ -2089,7 +2012,7 @@ static int snd_rme9652_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); int err; pid_t this_pid; pid_t other_pid; @@ -2154,7 +2077,7 @@ static int snd_rme9652_channel_info(snd_pcm_substream_t *substream, snd_pcm_channel_info_t *info) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); int chn; snd_assert(info->channel < RME9652_NCHANNELS, return -EINVAL); @@ -2197,7 +2120,7 @@ static int snd_rme9652_trigger(snd_pcm_substream_t *substream, int cmd) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; int running; spin_lock(&rme9652->lock); @@ -2260,13 +2183,14 @@ static int snd_rme9652_prepare(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); + unsigned long flags; int result = 0; - spin_lock(&rme9652->lock); + spin_lock_irqsave(&rme9652->lock, flags); if (!rme9652->running) rme9652_reset_hw_pointer(rme9652); - spin_unlock(&rme9652->lock); + spin_unlock_irqrestore(&rme9652->lock, flags); return result; } @@ -2319,10 +2243,8 @@ static unsigned int period_sizes[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; -#define PERIOD_SIZES sizeof(period_sizes) / sizeof(period_sizes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { - .count = PERIOD_SIZES, + .count = ARRAY_SIZE(period_sizes), .list = period_sizes, .mask = 0 }; @@ -2386,11 +2308,10 @@ static int snd_rme9652_playback_open(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); snd_pcm_set_sync(substream); @@ -2406,7 +2327,7 @@ rme9652->playback_pid = current->pid; rme9652->playback_substream = substream; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes); @@ -2429,15 +2350,14 @@ static int snd_rme9652_playback_release(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); rme9652->playback_pid = -1; rme9652->playback_substream = NULL; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); rme9652->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme9652->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -2448,11 +2368,10 @@ static int snd_rme9652_capture_open(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); snd_pcm_set_sync(substream); @@ -2468,7 +2387,7 @@ rme9652->capture_pid = current->pid; rme9652->capture_substream = substream; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes); @@ -2486,15 +2405,14 @@ static int snd_rme9652_capture_release(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); rme9652->capture_pid = -1; rme9652->capture_substream = NULL; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } @@ -2576,12 +2494,9 @@ spin_lock_init(&rme9652->lock); + if ((err = pci_request_regions(pci, "rme9652")) < 0) + return err; rme9652->port = pci_resource_start(pci, 0); - if ((rme9652->res_port = request_mem_region(rme9652->port, RME9652_IO_EXTENT, "rme9652")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", rme9652->port, rme9652->port + RME9652_IO_EXTENT - 1); - return -EBUSY; - } - rme9652->iobase = (unsigned long) ioremap_nocache(rme9652->port, RME9652_IO_EXTENT); if (rme9652->iobase == 0) { snd_printk("unable to remap region 0x%lx-0x%lx\n", rme9652->port, rme9652->port + RME9652_IO_EXTENT - 1); diff -Nru a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c --- a/sound/pci/sonicvibes.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/sonicvibes.c 2004-08-25 19:27:40 -07:00 @@ -44,8 +44,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("S3 SonicVibes PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{S3,SonicVibes PCI}}"); +MODULE_SUPPORTED_DEVICE("{{S3,SonicVibes PCI}}"); #ifndef PCI_VENDOR_ID_S3 #define PCI_VENDOR_ID_S3 0x5333 @@ -64,22 +63,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(reverb, bool, boot_devs, 0444); MODULE_PARM_DESC(reverb, "Enable reverb (SRAM is present) for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(reverb, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(mge, bool, boot_devs, 0444); MODULE_PARM_DESC(mge, "MIC Gain Enable for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(mge, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param(dmaio, uint, 0444); MODULE_PARM_DESC(dmaio, "DDMA i/o base address for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(dmaio, "global," SNDRV_PORT_DESC); /* * Enhanced port direct registers @@ -207,7 +200,6 @@ */ typedef struct _snd_sonicvibes sonicvibes_t; -#define chip_t sonicvibes_t struct _snd_sonicvibes { unsigned long dma1size; @@ -215,13 +207,9 @@ int irq; unsigned long sb_port; - struct resource *res_sb_port; unsigned long enh_port; - struct resource *res_enh_port; unsigned long synth_port; - struct resource *res_synth_port; unsigned long midi_port; - struct resource *res_midi_port; unsigned long game_port; unsigned int dmaa_port; struct resource *res_dmaa; @@ -599,7 +587,7 @@ static irqreturn_t snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, dev_id, return IRQ_NONE); + sonicvibes_t *sonic = dev_id; unsigned char status; status = inb(SV_REG(sonic, STATUS)); @@ -689,7 +677,6 @@ static int snd_sonicvibes_playback_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; sonicvibes_t *sonic = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned char fmt = 0; @@ -704,17 +691,16 @@ fmt |= 2; snd_sonicvibes_setfmt(sonic, ~3, fmt); snd_sonicvibes_set_dac_rate(sonic, runtime->rate); - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); snd_sonicvibes_setdmaa(sonic, runtime->dma_addr, size); snd_sonicvibes_out1(sonic, SV_IREG_DMA_A_UPPER, count >> 8); snd_sonicvibes_out1(sonic, SV_IREG_DMA_A_LOWER, count); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } static int snd_sonicvibes_capture_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; sonicvibes_t *sonic = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned char fmt = 0; @@ -730,11 +716,11 @@ fmt |= 0x20; snd_sonicvibes_setfmt(sonic, ~0x30, fmt); snd_sonicvibes_set_adc_rate(sonic, runtime->rate); - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); snd_sonicvibes_setdmac(sonic, runtime->dma_addr, size); snd_sonicvibes_out1(sonic, SV_IREG_DMA_C_UPPER, count >> 8); snd_sonicvibes_out1(sonic, SV_IREG_DMA_C_LOWER, count); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } @@ -864,7 +850,7 @@ static void snd_sonicvibes_pcm_free(snd_pcm_t *pcm) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, pcm->private_data, return); + sonicvibes_t *sonic = pcm->private_data; sonic->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -922,19 +908,17 @@ static int snd_sonicvibes_get_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.enumerated.item[0] = ((snd_sonicvibes_in1(sonic, SV_IREG_LEFT_ADC) & SV_RECSRC_OUT) >> 5) - 1; ucontrol->value.enumerated.item[1] = ((snd_sonicvibes_in1(sonic, SV_IREG_RIGHT_ADC) & SV_RECSRC_OUT) >> 5) - 1; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } static int snd_sonicvibes_put_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned short left, right, oval1, oval2; int change; @@ -943,7 +927,7 @@ return -EINVAL; left = (ucontrol->value.enumerated.item[0] + 1) << 5; right = (ucontrol->value.enumerated.item[1] + 1) << 5; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval1 = snd_sonicvibes_in1(sonic, SV_IREG_LEFT_ADC); oval2 = snd_sonicvibes_in1(sonic, SV_IREG_RIGHT_ADC); left = (oval1 & ~SV_RECSRC_OUT) | left; @@ -951,7 +935,7 @@ change = left != oval1 || right != oval2; snd_sonicvibes_out1(sonic, SV_IREG_LEFT_ADC, left); snd_sonicvibes_out1(sonic, SV_IREG_RIGHT_ADC, right); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } @@ -975,15 +959,14 @@ static int snd_sonicvibes_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; int invert = (kcontrol->private_value >> 24) & 0xff; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.integer.value[0] = (snd_sonicvibes_in1(sonic, reg)>> shift) & mask; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); if (invert) ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; return 0; @@ -992,7 +975,6 @@ static int snd_sonicvibes_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -1004,12 +986,12 @@ if (invert) val = mask - val; val <<= shift; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval = snd_sonicvibes_in1(sonic, reg); val = (oval & ~(mask << shift)) | val; change = val != oval; snd_sonicvibes_out1(sonic, reg, val); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } @@ -1033,7 +1015,6 @@ static int snd_sonicvibes_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int left_reg = kcontrol->private_value & 0xff; int right_reg = (kcontrol->private_value >> 8) & 0xff; int shift_left = (kcontrol->private_value >> 16) & 0x07; @@ -1041,10 +1022,10 @@ int mask = (kcontrol->private_value >> 24) & 0xff; int invert = (kcontrol->private_value >> 22) & 1; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.integer.value[0] = (snd_sonicvibes_in1(sonic, left_reg) >> shift_left) & mask; ucontrol->value.integer.value[1] = (snd_sonicvibes_in1(sonic, right_reg) >> shift_right) & mask; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); if (invert) { ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; ucontrol->value.integer.value[1] = mask - ucontrol->value.integer.value[1]; @@ -1055,7 +1036,6 @@ static int snd_sonicvibes_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int left_reg = kcontrol->private_value & 0xff; int right_reg = (kcontrol->private_value >> 8) & 0xff; int shift_left = (kcontrol->private_value >> 16) & 0x07; @@ -1073,7 +1053,7 @@ } val1 <<= shift_left; val2 <<= shift_right; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval1 = snd_sonicvibes_in1(sonic, left_reg); oval2 = snd_sonicvibes_in1(sonic, right_reg); val1 = (oval1 & ~(mask << shift_left)) | val1; @@ -1081,12 +1061,10 @@ change = val1 != oval1 || val2 != oval2; snd_sonicvibes_out1(sonic, left_reg, val1); snd_sonicvibes_out1(sonic, right_reg, val2); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } -#define SONICVIBES_CONTROLS (sizeof(snd_sonicvibes_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_sonicvibes_controls[] __devinitdata = { SONICVIBES_DOUBLE("Capture Volume", 0, SV_IREG_LEFT_ADC, SV_IREG_RIGHT_ADC, 0, 0, 15, 0), SONICVIBES_DOUBLE("Aux Playback Switch", 0, SV_IREG_LEFT_AUX1, SV_IREG_RIGHT_AUX1, 7, 7, 1, 1), @@ -1113,7 +1091,7 @@ static void snd_sonicvibes_master_free(snd_kcontrol_t *kcontrol) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, _snd_kcontrol_chip(kcontrol), return); + sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); sonic->master_mute = NULL; sonic->master_volume = NULL; } @@ -1129,7 +1107,7 @@ card = sonic->card; strcpy(card->mixername, "S3 SonicVibes"); - for (idx = 0; idx < SONICVIBES_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_sonicvibes_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_sonicvibes_controls[idx], sonic))) < 0) return err; switch (idx) { @@ -1147,7 +1125,7 @@ static void snd_sonicvibes_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, entry->private_data, return); + sonicvibes_t *sonic = entry->private_data; unsigned char tmp; tmp = sonic->srs_space & 0x0f; @@ -1197,22 +1175,8 @@ #endif pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); - if (sonic->res_sb_port) { - release_resource(sonic->res_sb_port); - kfree_nocheck(sonic->res_sb_port); - } - if (sonic->res_enh_port) { - release_resource(sonic->res_enh_port); - kfree_nocheck(sonic->res_enh_port); - } - if (sonic->res_synth_port) { - release_resource(sonic->res_synth_port); - kfree_nocheck(sonic->res_synth_port); - } - if (sonic->res_midi_port) { - release_resource(sonic->res_midi_port); - kfree_nocheck(sonic->res_midi_port); - } + if (sonic->irq >= 0) + free_irq(sonic->irq, (void *)sonic); if (sonic->res_dmaa) { release_resource(sonic->res_dmaa); kfree_nocheck(sonic->res_dmaa); @@ -1221,15 +1185,14 @@ release_resource(sonic->res_dmac); kfree_nocheck(sonic->res_dmac); } - if (sonic->irq >= 0) - free_irq(sonic->irq, (void *)sonic); - snd_magic_kfree(sonic); + pci_release_regions(sonic->pci); + kfree(sonic); return 0; } static int snd_sonicvibes_dev_free(snd_device_t *device) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, device->device_data, return -ENXIO); + sonicvibes_t *sonic = device->device_data; return snd_sonicvibes_free(sonic); } @@ -1257,38 +1220,25 @@ return -ENXIO; } - sonic = snd_magic_kcalloc(sonicvibes_t, 0, GFP_KERNEL); + sonic = kcalloc(1, sizeof(*sonic), GFP_KERNEL); if (sonic == NULL) return -ENOMEM; spin_lock_init(&sonic->reg_lock); sonic->card = card; sonic->pci = pci; sonic->irq = -1; - sonic->sb_port = pci_resource_start(pci, 0); - if ((sonic->res_sb_port = request_region(sonic->sb_port, 0x10, "S3 SonicVibes SB")) == NULL) { - snd_printk("unable to grab SB port at 0x%lx-0x%lx\n", sonic->sb_port, sonic->sb_port + 0x10 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; + + if ((err = pci_request_regions(pci, "S3 SonicVibes")) < 0) { + kfree(sonic); + return err; } + + sonic->sb_port = pci_resource_start(pci, 0); sonic->enh_port = pci_resource_start(pci, 1); - if ((sonic->res_enh_port = request_region(sonic->enh_port, 0x10, "S3 SonicVibes Enhanced")) == NULL) { - snd_printk("unable to grab PCM port at 0x%lx-0x%lx\n", sonic->enh_port, sonic->enh_port + 0x10 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->synth_port = pci_resource_start(pci, 2); - if ((sonic->res_synth_port = request_region(sonic->synth_port, 4, "S3 SonicVibes Synth")) == NULL) { - snd_printk("unable to grab synth port at 0x%lx-0x%lx\n", sonic->synth_port, sonic->synth_port + 4 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->midi_port = pci_resource_start(pci, 3); - if ((sonic->res_midi_port = request_region(sonic->midi_port, 4, "S3 SonicVibes Midi")) == NULL) { - snd_printk("unable to grab MIDI port at 0x%lx-0x%lx\n", sonic->midi_port, sonic->midi_port + 4 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->game_port = pci_resource_start(pci, 4); + if (request_irq(pci->irq, snd_sonicvibes_interrupt, SA_INTERRUPT|SA_SHIRQ, "S3 SonicVibes", (void *)sonic)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_sonicvibes_free(sonic); @@ -1396,8 +1346,6 @@ * MIDI section */ -#define SONICVIBES_MIDI_CONTROLS (sizeof(snd_sonicvibes_midi_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_sonicvibes_midi_controls[] __devinitdata = { SONICVIBES_SINGLE("SonicVibes Wave Source RAM", 0, SV_IREG_WAVE_SOURCE, 0, 1, 0), SONICVIBES_SINGLE("SonicVibes Wave Source RAM+ROM", 0, SV_IREG_WAVE_SOURCE, 1, 1, 0), @@ -1408,20 +1356,20 @@ static int snd_sonicvibes_midi_input_open(mpu401_t * mpu) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, mpu->private_data, return -EIO); + sonicvibes_t *sonic = mpu->private_data; outb(sonic->irqmask &= ~SV_MIDI_MASK, SV_REG(sonic, IRQMASK)); return 0; } static void snd_sonicvibes_midi_input_close(mpu401_t * mpu) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, mpu->private_data, return); + sonicvibes_t *sonic = mpu->private_data; outb(sonic->irqmask |= SV_MIDI_MASK, SV_REG(sonic, IRQMASK)); } static int __devinit snd_sonicvibes_midi(sonicvibes_t * sonic, snd_rawmidi_t * rmidi) { - mpu401_t * mpu = snd_magic_cast(mpu401_t, rmidi->private_data, return -ENXIO); + mpu401_t * mpu = rmidi->private_data; snd_card_t *card = sonic->card; snd_rawmidi_str_t *dir; unsigned int idx; @@ -1431,7 +1379,7 @@ mpu->open_input = snd_sonicvibes_midi_input_open; mpu->close_input = snd_sonicvibes_midi_input_close; dir = &rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]; - for (idx = 0; idx < SONICVIBES_MIDI_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_sonicvibes_midi_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_sonicvibes_midi_controls[idx], sonic))) < 0) return err; return 0; diff -Nru a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c --- a/sound/pci/trident/trident.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/trident/trident.c 2004-08-25 19:27:40 -07:00 @@ -33,8 +33,7 @@ MODULE_AUTHOR("Jaroslav Kysela , "); MODULE_DESCRIPTION("Trident 4D-WaveDX/NX & SiS SI7018"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Trident,4DWave DX}," +MODULE_SUPPORTED_DEVICE("{{Trident,4DWave DX}," "{Trident,4DWave NX}," "{SiS,SI7018 PCI Audio}," "{Best Union,Miss Melody 4DWave PCI}," @@ -56,19 +55,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Number of hardware channels assigned for PCM."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",default:32,allows:{{1,32}}"); module_param_array(wavetable_size, int, boot_devs, 0444); MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); -MODULE_PARM_SYNTAX(wavetable_size, SNDRV_ENABLED ",default:8192,skill:advanced"); static struct pci_device_id snd_trident_ids[] = { { 0x1023, 0x2000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Trident 4DWave DX PCI Audio */ diff -Nru a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c --- a/sound/pci/trident/trident_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/trident/trident_main.c 2004-08-25 19:27:40 -07:00 @@ -44,8 +44,6 @@ #include -#define chip_t trident_t - static int snd_trident_pcm_mixer_build(trident_t *trident, snd_trident_voice_t * voice, snd_pcm_substream_t *substream); static int snd_trident_pcm_mixer_free(trident_t *trident, snd_trident_voice_t * voice, snd_pcm_substream_t *substream); static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *regs); @@ -119,7 +117,7 @@ unsigned int data = 0, treg; unsigned short count = 0xffff; unsigned long flags; - trident_t *trident = snd_magic_cast(trident_t, ac97->private_data, return -ENXIO); + trident_t *trident = ac97->private_data; spin_lock_irqsave(&trident->reg_lock, flags); if (trident->device == TRIDENT_DEVICE_ID_DX) { @@ -178,7 +176,7 @@ unsigned int address, data; unsigned short count = 0xffff; unsigned long flags; - trident_t *trident = snd_magic_cast(trident_t, ac97->private_data, return); + trident_t *trident = ac97->private_data; data = ((unsigned long) wdata) << 16; @@ -908,7 +906,7 @@ snd_trident_voice_t *evoice = voice->extra; snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[substream->number]; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); /* set delta (rate) value */ voice->Delta = snd_trident_convert_rate(runtime->rate); @@ -969,7 +967,7 @@ evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1010,7 +1008,7 @@ snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; unsigned int val, ESO_bytes; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); // Initilize the channel and set channel Mode outb(0, TRID_REG(trident, LEGACY_DMAR15)); @@ -1079,7 +1077,7 @@ snd_trident_write_voice_regs(trident, voice); - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1150,7 +1148,7 @@ snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; snd_trident_voice_t *evoice = voice->extra; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); voice->LBA = runtime->dma_addr; voice->Delta = snd_trident_convert_adc_rate(runtime->rate); @@ -1199,7 +1197,7 @@ evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1221,7 +1219,7 @@ snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; snd_trident_voice_t *evoice = voice->extra; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); /* Set channel buffer Address */ if (voice->memblk) @@ -1276,7 +1274,7 @@ evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1367,7 +1365,7 @@ unsigned int RESO, LBAO; unsigned int temp; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); if (trident->device != TRIDENT_DEVICE_ID_SI7018) { @@ -1479,7 +1477,7 @@ outl(temp, TRID_REG(trident, SI_SERIAL_INTF_CTRL)); } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1526,7 +1524,7 @@ val = inl(TRID_REG(trident, T4D_STIMER)) & 0x00ffffff; snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if ((trident_t *) _snd_pcm_chip(s->pcm) == trident) { + if ((trident_t *) snd_pcm_substream_chip(s) == trident) { voice = (snd_trident_voice_t *) s->runtime->private_data; evoice = voice->extra; what |= 1 << (voice->number & 0x1f); @@ -2127,21 +2125,21 @@ ---------------------------------------------------------------------------*/ static void snd_trident_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_trident_foldback_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->foldback = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_trident_spdif_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->spdif = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -2324,13 +2322,12 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->spdif_ctrl; ucontrol->value.integer.value[0] = val == kcontrol->private_value; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2338,12 +2335,11 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; int change; val = ucontrol->value.integer.value[0] ? (unsigned char) kcontrol->private_value : 0x00; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); /* S/PDIF C Channel bits 0-31 : 48khz, SCMS disabled */ change = trident->spdif_ctrl != val; trident->spdif_ctrl = val; @@ -2362,7 +2358,7 @@ outl(temp, TRID_REG(trident, SI_SERIAL_INTF_CTRL)); } } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2393,14 +2389,13 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); ucontrol->value.iec958.status[0] = (trident->spdif_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (trident->spdif_bits >> 8) & 0xff; ucontrol->value.iec958.status[2] = (trident->spdif_bits >> 16) & 0xff; ucontrol->value.iec958.status[3] = (trident->spdif_bits >> 24) & 0xff; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2408,7 +2403,6 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; @@ -2416,7 +2410,7 @@ (ucontrol->value.iec958.status[1] << 8) | (ucontrol->value.iec958.status[2] << 16) | (ucontrol->value.iec958.status[3] << 24); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = trident->spdif_bits != val; trident->spdif_bits = val; if (trident->device != TRIDENT_DEVICE_ID_SI7018) { @@ -2426,7 +2420,7 @@ if (trident->spdif == NULL) outl(trident->spdif_bits, TRID_REG(trident, SI_SPDIF_CS)); } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2488,14 +2482,13 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); ucontrol->value.iec958.status[0] = (trident->spdif_pcm_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (trident->spdif_pcm_bits >> 8) & 0xff; ucontrol->value.iec958.status[2] = (trident->spdif_pcm_bits >> 16) & 0xff; ucontrol->value.iec958.status[3] = (trident->spdif_pcm_bits >> 24) & 0xff; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2503,7 +2496,6 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; @@ -2511,7 +2503,7 @@ (ucontrol->value.iec958.status[1] << 8) | (ucontrol->value.iec958.status[2] << 16) | (ucontrol->value.iec958.status[3] << 24); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = trident->spdif_pcm_bits != val; trident->spdif_pcm_bits = val; if (trident->spdif != NULL) { @@ -2521,7 +2513,7 @@ outl(trident->spdif_bits, TRID_REG(trident, SI_SPDIF_CS)); } } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2554,13 +2546,12 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->ac97_ctrl = inl(TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); ucontrol->value.integer.value[0] = (val & (1 << kcontrol->private_value)) ? 1 : 0; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2568,11 +2559,10 @@ snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; int change = 0; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->ac97_ctrl = inl(TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); val &= ~(1 << kcontrol->private_value); if (ucontrol->value.integer.value[0]) @@ -2580,7 +2570,7 @@ change = val != trident->ac97_ctrl; trident->ac97_ctrl = val; outl(trident->ac97_ctrl = val, TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2624,19 +2614,18 @@ static int snd_trident_vol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); unsigned int val; int change = 0; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->musicvol_wavevol; val &= ~(0xffff << kcontrol->private_value); val |= ((255 - (ucontrol->value.integer.value[0] & 0xff)) | ((255 - (ucontrol->value.integer.value[1] & 0xff)) << 8)) << kcontrol->private_value; change = val != trident->musicvol_wavevol; outl(trident->musicvol_wavevol = val, TRID_REG(trident, T4D_MUSICVOL_WAVEVOL)); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2696,7 +2685,6 @@ static int snd_trident_pcm_vol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned int val; @@ -2707,12 +2695,12 @@ } else { val = (255 - (ucontrol->value.integer.value[0] & 255)) << 2; } - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->vol; mix->vol = val; if (mix->voice != NULL) snd_trident_write_vol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2760,7 +2748,6 @@ static int snd_trident_pcm_pan_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned char val; @@ -2770,12 +2757,12 @@ val = ucontrol->value.integer.value[0] & 0x3f; else val = (0x3f - (ucontrol->value.integer.value[0] & 0x3f)) | 0x40; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->pan; mix->pan = val; if (mix->voice != NULL) snd_trident_write_pan_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2818,19 +2805,18 @@ static int snd_trident_pcm_rvol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned short val; int change = 0; val = 0x7f - (ucontrol->value.integer.value[0] & 0x7f); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->rvol; mix->rvol = val; if (mix->voice != NULL) snd_trident_write_rvol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2873,19 +2859,18 @@ static int snd_trident_pcm_cvol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned short val; int change = 0; val = 0x7f - (ucontrol->value.integer.value[0] & 0x7f); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->cvol; mix->cvol = val; if (mix->voice != NULL) snd_trident_write_cvol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2961,21 +2946,21 @@ static int __devinit snd_trident_mixer(trident_t * trident, int pcm_spdif_device) { - ac97_bus_t _bus; - ac97_t _ac97; + ac97_template_t _ac97; snd_card_t * card = trident->card; snd_kcontrol_t *kctl; snd_ctl_elem_value_t *uctl; int idx, err, retries = 2; + static ac97_bus_ops_t ops = { + .write = snd_trident_codec_write, + .read = snd_trident_codec_read, + }; - uctl = (snd_ctl_elem_value_t *)snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (!uctl) return -ENOMEM; - memset(&_bus, 0, sizeof(_bus)); - _bus.write = snd_trident_codec_write; - _bus.read = snd_trident_codec_read; - if ((err = snd_ac97_bus(trident->card, &_bus, &trident->ac97_bus)) < 0) + if ((err = snd_ac97_bus(trident->card, 0, &ops, NULL, &trident->ac97_bus)) < 0) goto __out; memset(&_ac97, 0, sizeof(_ac97)); @@ -3132,7 +3117,7 @@ trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(trident_t, gp->chip, return 0); + chip = gp->chip; return inb(TRID_REG(chip, GAMEPORT_LEGACY)); } @@ -3141,7 +3126,7 @@ trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(trident_t, gp->chip, return); + chip = gp->chip; outb(0xff, TRID_REG(chip, GAMEPORT_LEGACY)); } @@ -3152,7 +3137,7 @@ int i; snd_assert(gp, return 0); - chip = snd_magic_cast(trident_t, gp->chip, return 0); + chip = gp->chip; *buttons = (~inb(TRID_REG(chip, GAMEPORT_LEGACY)) >> 4) & 0xf; @@ -3169,7 +3154,7 @@ trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return -1); - chip = snd_magic_cast(trident_t, gp->chip, return -1); + chip = gp->chip; switch (mode) { case GAMEPORT_MODE_COOKED: @@ -3280,7 +3265,7 @@ static void snd_trident_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - trident_t *trident = snd_magic_cast(trident_t, entry->private_data, return); + trident_t *trident = entry->private_data; char *s; switch (trident->device) { @@ -3331,7 +3316,7 @@ static int snd_trident_dev_free(snd_device_t *device) { - trident_t *trident = snd_magic_cast(trident_t, device->device_data, return -ENXIO); + trident_t *trident = device->device_data; return snd_trident_free(trident); } @@ -3354,7 +3339,8 @@ /* TLB array must be aligned to 16kB !!! so we allocate 32kB region and correct offset when necessary */ - if (snd_dma_alloc_pages(&trident->dma_dev, 2 * SNDRV_TRIDENT_MAX_PAGES * 4, &trident->tlb.buffer) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(trident->pci), + 2 * SNDRV_TRIDENT_MAX_PAGES * 4, &trident->tlb.buffer) < 0) { snd_printk(KERN_ERR "trident: unable to allocate TLB buffer\n"); return -ENOMEM; } @@ -3367,7 +3353,8 @@ return -ENOMEM; } /* allocate and setup silent page and initialise TLB entries */ - if (snd_dma_alloc_pages(&trident->dma_dev, SNDRV_TRIDENT_PAGE_SIZE, &trident->tlb.silent_page) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(trident->pci), + SNDRV_TRIDENT_PAGE_SIZE, &trident->tlb.silent_page) < 0) { snd_printk(KERN_ERR "trident: unable to allocate silent page\n"); return -ENOMEM; } @@ -3553,7 +3540,7 @@ return -ENXIO; } - trident = snd_magic_kcalloc(trident_t, 0, GFP_KERNEL); + trident = kcalloc(1, sizeof(*trident), GFP_KERNEL); if (trident == NULL) return -ENOMEM; trident->device = (pci->vendor << 16) | pci->device; @@ -3570,18 +3557,17 @@ if (max_wavetable_size < 0 ) max_wavetable_size = 0; trident->synth.max_size = max_wavetable_size * 1024; - trident->port = pci_resource_start(pci, 0); trident->irq = -1; trident->midi_port = TRID_REG(trident, T4D_MPU401_BASE); pci_set_master(pci); - trident->port = pci_resource_start(pci, 0); - if ((trident->res_port = request_region(trident->port, 0x100, "Trident Audio")) == NULL) { - snd_printk("unable to grab I/O region 0x%lx-0x%lx\n", trident->port, trident->port + 0x100 - 1); - snd_trident_free(trident); - return -EBUSY; + if ((err = pci_request_regions(pci, "Trident Audio")) < 0) { + kfree(trident); + return err; } + trident->port = pci_resource_start(pci, 0); + if (request_irq(pci->irq, snd_trident_interrupt, SA_INTERRUPT|SA_SHIRQ, "Trident Audio", (void *) trident)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_trident_free(trident); @@ -3589,10 +3575,6 @@ } trident->irq = pci->irq; - memset(&trident->dma_dev, 0, sizeof(trident->dma_dev)); - trident->dma_dev.type = SNDRV_DMA_TYPE_DEV; - trident->dma_dev.dev = snd_dma_pci_data(pci); - /* allocate 16k-aligned TLB for NX cards */ trident->tlb.entries = NULL; trident->tlb.buffer.area = NULL; @@ -3692,18 +3674,15 @@ if (trident->tlb.memhdr) snd_util_memhdr_free(trident->tlb.memhdr); if (trident->tlb.silent_page.area) - snd_dma_free_pages(&trident->dma_dev, &trident->tlb.silent_page); + snd_dma_free_pages(&trident->tlb.silent_page); if (trident->tlb.shadow_entries) vfree(trident->tlb.shadow_entries); - snd_dma_free_pages(&trident->dma_dev, &trident->tlb.buffer); + snd_dma_free_pages(&trident->tlb.buffer); } if (trident->irq >= 0) free_irq(trident->irq, (void *)trident); - if (trident->res_port) { - release_resource(trident->res_port); - kfree_nocheck(trident->res_port); - } - snd_magic_kfree(trident); + pci_release_regions(trident->pci); + kfree(trident); return 0; } @@ -3727,7 +3706,7 @@ static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - trident_t *trident = snd_magic_cast(trident_t, dev_id, return IRQ_NONE); + trident_t *trident = dev_id; unsigned int audio_int, chn_int, stimer, channel, mask, tmp; int delta; snd_trident_voice_t *voice; @@ -3950,7 +3929,7 @@ #ifdef CONFIG_PM static int snd_trident_suspend(snd_card_t *card, unsigned int state) { - trident_t *trident = snd_magic_cast(trident_t, card->pm_private_data, return -EINVAL); + trident_t *trident = card->pm_private_data; trident->in_suspend = 1; snd_pcm_suspend_all(trident->pcm); @@ -3976,7 +3955,7 @@ static int snd_trident_resume(snd_card_t *card, unsigned int state) { - trident_t *trident = snd_magic_cast(trident_t, card->pm_private_data, return -EINVAL); + trident_t *trident = card->pm_private_data; pci_enable_device(trident->pci); if (pci_set_dma_mask(trident->pci, 0x3fffffff) < 0 || diff -Nru a/sound/pci/trident/trident_memory.c b/sound/pci/trident/trident_memory.c --- a/sound/pci/trident/trident_memory.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/trident/trident_memory.c 2004-08-25 19:27:40 -07:00 @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -189,7 +190,7 @@ snd_util_memblk_t *blk; snd_pcm_runtime_t *runtime = substream->runtime; int idx, page; - struct snd_sg_buf *sgbuf = runtime->dma_private; + struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream); snd_assert(runtime->dma_bytes > 0 && runtime->dma_bytes <= SNDRV_TRIDENT_MAX_PAGES * SNDRV_TRIDENT_PAGE_SIZE, return NULL); hdr = trident->tlb.memhdr; @@ -274,7 +275,7 @@ { snd_assert(trident != NULL, return NULL); snd_assert(substream != NULL, return NULL); - if (substream->dma_device.type == SNDRV_DMA_TYPE_DEV_SG) + if (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV_SG) return snd_trident_alloc_sg_pages(trident, substream); else return snd_trident_alloc_cont_pages(trident, substream); @@ -367,10 +368,12 @@ set_silent_tlb(trident, page); if (ptr) { struct snd_dma_buffer dmab; + dmab.dev.type = SNDRV_DMA_TYPE_DEV; + dmab.dev.dev = snd_dma_pci_data(trident->pci); dmab.area = ptr; dmab.addr = addr; dmab.bytes = ALIGN_PAGE_SIZE; - snd_dma_free_pages(&trident->dma_dev, &dmab); + snd_dma_free_pages(&dmab); } } @@ -412,10 +415,11 @@ * fortunately Trident page size and kernel PAGE_SIZE is identical! */ for (page = first_page; page <= last_page; page++) { - if (snd_dma_alloc_pages(&hw->dma_dev, ALIGN_PAGE_SIZE, &dmab) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(hw->pci), + ALIGN_PAGE_SIZE, &dmab) < 0) goto __fail; if (! is_valid_page(dmab.addr)) { - snd_dma_free_pages(&hw->dma_dev, &dmab); + snd_dma_free_pages(&dmab); goto __fail; } set_tlb_bus(hw, page, (unsigned long)dmab.area, dmab.addr); diff -Nru a/sound/pci/trident/trident_synth.c b/sound/pci/trident/trident_synth.c --- a/sound/pci/trident/trident_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/trident/trident_synth.c 2004-08-25 19:27:40 -07:00 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -506,7 +507,7 @@ static int snd_trident_simple_put_sample(void *private_data, simple_instrument_t * instr, char __user *data, long len, int atomic) { - trident_t *trident = snd_magic_cast(trident_t, private_data, return -ENXIO); + trident_t *trident = private_data; int size = instr->size; int shift = 0; @@ -540,12 +541,12 @@ instr->address.memory = memblk->offset; } else { struct snd_dma_buffer dmab; - - if (snd_dma_alloc_pages(&trident->dma_dev, size, &dmab) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(trident->pci), + size, &dmab) < 0) return -ENOMEM; if (copy_from_user(dmab.area, data, size)) { - snd_dma_free_pages(&trident->dma_dev, &dmab); + snd_dma_free_pages(&dmab); return -EFAULT; } instr->address.ptr = dmab.area; @@ -559,7 +560,7 @@ static int snd_trident_simple_get_sample(void *private_data, simple_instrument_t * instr, char __user *data, long len, int atomic) { - //trident_t *trident = snd_magic_cast(trident_t, private_data, return -ENXIO); + //trident_t *trident = private_data; int size = instr->size; int shift = 0; @@ -580,9 +581,14 @@ static int snd_trident_simple_remove_sample(void *private_data, simple_instrument_t * instr, int atomic) { - trident_t *trident = snd_magic_cast(trident_t, private_data, return -ENXIO); + trident_t *trident = private_data; int size = instr->size; + if (instr->format & SIMPLE_WAVE_16BIT) + size <<= 1; + if (instr->format & SIMPLE_WAVE_STEREO) + size <<= 1; + if (trident->tlb.entries) { snd_util_memblk_t *memblk = (snd_util_memblk_t*)instr->address.ptr; if (memblk) @@ -590,14 +596,15 @@ else return -EFAULT; } else { - kfree(instr->address.ptr); + struct snd_dma_buffer dmab; + dmab.dev.type = SNDRV_DMA_TYPE_DEV; + dmab.dev.dev = snd_dma_pci_data(trident->pci); + dmab.area = instr->address.ptr; + dmab.addr = instr->address.memory; + dmab.bytes = size; + snd_dma_free_pages(&dmab); } - if (instr->format & SIMPLE_WAVE_16BIT) - size <<= 1; - if (instr->format & SIMPLE_WAVE_STEREO) - size <<= 1; - trident->synth.current_size -= size; if (trident->synth.current_size < 0) /* shouldn't need this check... */ trident->synth.current_size = 0; @@ -838,7 +845,7 @@ int what) { int idx; - trident_t *trident = snd_magic_cast(trident_t, private_data, return); + trident_t *trident = private_data; snd_trident_voice_t *pvoice; unsigned long flags; diff -Nru a/sound/pci/via82xx.c b/sound/pci/via82xx.c --- a/sound/pci/via82xx.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/via82xx.c 2004-08-25 19:27:40 -07:00 @@ -67,8 +67,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("VIA VT82xx audio"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{VIA,VT82C686A/B/C,pci},{VIA,VT8233A/C,8235}}"); +MODULE_SUPPORTED_DEVICE("{{VIA,VT82C686A/B/C,pci},{VIA,VT8233A/C,8235}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -88,30 +87,22 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for VIA 82xx bridge."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable audio part of VIA 82xx bridge."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port. (VT82C686x only)"); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick. (VT82C686x only)"); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLE_DESC "," SNDRV_BOOLEAN_FALSE_DESC); #endif module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:48000"); module_param_array(ac97_quirk, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); -MODULE_PARM_SYNTAX(ac97_quirk, SNDRV_ENABLED ",allows:{{-1,4}},dialog:list,default:-1"); module_param_array(dxs_support, int, boot_devs, 0444); MODULE_PARM_DESC(dxs_support, "Support for DXS channels (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA)"); -MODULE_PARM_SYNTAX(dxs_support, SNDRV_ENABLED ",allows:{{0,4}},dialog:list"); /* pci ids */ @@ -318,7 +309,6 @@ typedef struct _snd_via82xx via82xx_t; typedef struct via_dev viadev_t; -#define chip_t via82xx_t /* * pcm stream @@ -362,7 +352,6 @@ int irq; unsigned long port; - struct resource *res_port; struct resource *mpu_res; int chip_type; unsigned char revision; @@ -375,7 +364,6 @@ unsigned char spdif_ctrl_saved; unsigned char capture_src_saved[2]; unsigned int mpu_port_saved; - u32 pci_state[16]; #endif unsigned char playback_volume[4][2]; /* for VIA8233/C/8235; default = 0 */ @@ -405,8 +393,6 @@ spinlock_t ac97_lock; snd_info_entry_t *proc_entry; - struct snd_dma_device dma_dev; - #ifdef SUPPORT_JOYSTICK struct gameport gameport; struct resource *res_joystick; @@ -441,7 +427,9 @@ /* the start of each lists must be aligned to 8 bytes, * but the kernel pages are much bigger, so we don't care */ - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_ALIGN(VIA_TABLE_SIZE * 2 * 8), &dev->table) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_ALIGN(VIA_TABLE_SIZE * 2 * 8), + &dev->table) < 0) return -ENOMEM; } if (! dev->idx_table) { @@ -497,9 +485,8 @@ static int clean_via_table(viadev_t *dev, snd_pcm_substream_t *substream, struct pci_dev *pci) { - via82xx_t *chip = snd_pcm_substream_chip(substream); if (dev->table.area) { - snd_dma_free_pages(&chip->dma_dev, &dev->table); + snd_dma_free_pages(&dev->table); dev->table.area = NULL; } if (dev->idx_table) { @@ -556,7 +543,7 @@ static void snd_via82xx_codec_wait(ac97_t *ac97) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; int err; err = snd_via82xx_codec_ready(chip, ac97->num); /* here we need to wait fairly for long time.. */ @@ -568,7 +555,7 @@ unsigned short reg, unsigned short val) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; unsigned int xval; xval = !ac97->num ? VIA_REG_AC97_CODEC_ID_PRIMARY : VIA_REG_AC97_CODEC_ID_SECONDARY; @@ -583,7 +570,7 @@ static unsigned short snd_via82xx_codec_read(ac97_t *ac97, unsigned short reg) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return ~0); + via82xx_t *chip = ac97->private_data; unsigned int xval, val = 0xffff; int again = 0; @@ -632,11 +619,10 @@ static irqreturn_t snd_via82xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - via82xx_t *chip = snd_magic_cast(via82xx_t, dev_id, return IRQ_NONE); + via82xx_t *chip = dev_id; unsigned int status; unsigned int i; - spin_lock(&chip->reg_lock); #if 0 /* FIXME: does it work on via823x? */ if (chip->chip_type != TYPE_VIA686) @@ -644,7 +630,6 @@ #endif status = inl(VIAREG(chip, SGD_SHADOW)); if (! (status & chip->intr_mask)) { - spin_unlock(&chip->reg_lock); if (chip->rmidi) /* check mpu401 interrupt */ return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); @@ -653,6 +638,7 @@ // _skip_sgd: /* check status for each stream */ + spin_lock(&chip->reg_lock); for (i = 0; i < chip->num_devs; i++) { viadev_t *viadev = &chip->devs[i]; unsigned char c_status = inb(VIADEV_REG(viadev, OFFSET_STATUS)); @@ -720,6 +706,10 @@ /* * calculate the linear position at the given sg-buffer index and the rest count */ + +#define check_invalid_pos(viadev,pos) \ + ((pos) < viadev->lastpos && ((pos) >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2)) + static inline unsigned int calc_linear_pos(viadev_t *viadev, unsigned int idx, unsigned int count) { unsigned int size, res; @@ -728,17 +718,24 @@ res = viadev->idx_table[idx].offset + size - count; /* check the validity of the calculated position */ - if (size < count || (res < viadev->lastpos && (res >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2))) { + if (size < count) { + snd_printd(KERN_ERR "invalid via82xx_cur_ptr (size = %d, count = %d)\n", (int)size, (int)count); + res = viadev->lastpos; + } else if (check_invalid_pos(viadev, res)) { #ifdef POINTER_DEBUG printk("fail: idx = %i/%i, lastpos = 0x%x, bufsize2 = 0x%x, offsize = 0x%x, size = 0x%x, count = 0x%x\n", idx, viadev->tbl_entries, viadev->lastpos, viadev->bufsize2, viadev->idx_table[idx].offset, viadev->idx_table[idx].size, count); #endif - /* count register returns full size when end of buffer is reached */ - if (size != count) { + if (count && size < count) { snd_printd(KERN_ERR "invalid via82xx_cur_ptr, using last valid pointer\n"); res = viadev->lastpos; } else { - res = viadev->idx_table[idx].offset + size; - if (res < viadev->lastpos && (res >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2)) { + if (! count) + /* bogus count 0 on the DMA boundary? */ + res = viadev->idx_table[idx].offset; + else + /* count register returns full size when end of buffer is reached */ + res = viadev->idx_table[idx].offset + size; + if (check_invalid_pos(viadev, res)) { snd_printd(KERN_ERR "invalid via82xx_cur_ptr (2), using last valid pointer\n"); res = viadev->lastpos; } @@ -904,7 +901,7 @@ { int changed = 0; - spin_lock(&rec->lock); + spin_lock_irq(&rec->lock); if (rec->rate != rate) { if (rec->rate && rec->used > 1) /* already set */ changed = -EINVAL; @@ -913,7 +910,7 @@ changed = 1; } } - spin_unlock(&rec->lock); + spin_unlock_irq(&rec->lock); return changed; } @@ -1035,6 +1032,7 @@ .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_PAUSE), .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, .rates = SNDRV_PCM_RATE_48000, @@ -1058,32 +1056,18 @@ { snd_pcm_runtime_t *runtime = substream->runtime; int err; - unsigned long flags; struct via_rate_lock *ratep; - struct ratetbl { - int rate; - unsigned int bit; - } ratebits[] = { - {8000, SNDRV_PCM_RATE_8000}, - {11025, SNDRV_PCM_RATE_11025}, - {16000, SNDRV_PCM_RATE_16000}, - {22050, SNDRV_PCM_RATE_22050}, - {32000, SNDRV_PCM_RATE_32000}, - {44100, SNDRV_PCM_RATE_44100}, - {48000, SNDRV_PCM_RATE_48000}, - }; - int i; runtime->hw = snd_via82xx_hw; /* set the hw rate condition */ ratep = &chip->rates[viadev->direction]; - spin_lock_irqsave(&ratep->lock, flags); + spin_lock_irq(&ratep->lock); ratep->used++; - if (chip->spdif_on) { - runtime->hw.rates = SNDRV_PCM_RATE_32000|SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000; - runtime->hw.rate_min = 32000; - runtime->hw.rate_max = 48000; + if (chip->spdif_on && viadev->reg_offset == 0x30) { + /* DXS#3 and spdif is on */ + runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF]; + snd_pcm_limit_hw_rates(runtime); } else if (chip->dxs_fixed && viadev->reg_offset < 0x40) { /* fixed DXS playback rate */ runtime->hw.rates = SNDRV_PCM_RATE_48000; @@ -1091,30 +1075,13 @@ } else if (! ratep->rate) { int idx = viadev->direction ? AC97_RATES_ADC : AC97_RATES_FRONT_DAC; runtime->hw.rates = chip->ac97->rates[idx]; - for (i = 0; i < (int)ARRAY_SIZE(ratebits); i++) { - if (runtime->hw.rates & ratebits[i].bit) { - runtime->hw.rate_min = ratebits[i].rate; - break; - } - } - for (i = ARRAY_SIZE(ratebits) - 1; i >= 0; i--) { - if (runtime->hw.rates & ratebits[i].bit) { - runtime->hw.rate_max = ratebits[i].rate; - break; - } - } + snd_pcm_limit_hw_rates(runtime); } else { /* a fixed rate */ runtime->hw.rates = SNDRV_PCM_RATE_KNOT; - for (i = 0; i < (int)ARRAY_SIZE(ratebits); i++) { - if (ratep->rate == ratebits[i].rate) { - runtime->hw.rates = ratebits[i].bit; - break; - } - } runtime->hw.rate_max = runtime->hw.rate_min = ratep->rate; } - spin_unlock_irqrestore(&ratep->lock, flags); + spin_unlock_irq(&ratep->lock); /* we may remove following constaint when we modify table entries in interrupt */ @@ -1188,16 +1155,15 @@ { via82xx_t *chip = snd_pcm_substream_chip(substream); viadev_t *viadev = (viadev_t *)substream->runtime->private_data; - unsigned long flags; struct via_rate_lock *ratep; /* release the rate lock */ ratep = &chip->rates[viadev->direction]; - spin_lock_irqsave(&ratep->lock, flags); + spin_lock_irq(&ratep->lock); ratep->used--; if (! ratep->used) ratep->rate = 0; - spin_unlock_irqrestore(&ratep->lock, flags); + spin_unlock_irq(&ratep->lock); viadev->substream = NULL; return 0; @@ -1363,6 +1329,10 @@ snd_dma_pci_data(chip->pci), 64*1024, 128*1024)) < 0) return err; + /* SPDIF supported? */ + if (! ac97_can_spdif(chip->ac97)) + return 0; + /* PCM #1: DXS3 playback (for spdif) */ err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 0, &pcm); if (err < 0) @@ -1446,17 +1416,16 @@ { via82xx_t *chip = snd_kcontrol_chip(kcontrol); unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL); - unsigned long flags; u8 val, oval; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = inb(port); val = oval & ~VIA_REG_CAPTURE_CHANNEL_MIC; if (ucontrol->value.enumerated.item[0]) val |= VIA_REG_CAPTURE_CHANNEL_MIC; if (val != oval) outb(val, port); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return val != oval; } @@ -1567,13 +1536,13 @@ static void snd_via82xx_mixer_free_ac97_bus(ac97_bus_t *bus) { - via82xx_t *chip = snd_magic_cast(via82xx_t, bus->private_data, return); + via82xx_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_via82xx_mixer_free_ac97(ac97_t *ac97) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; chip->ac97 = NULL; } @@ -1585,6 +1554,18 @@ .type = AC97_TUNE_HP_ONLY }, { + .vendor = 0x1019, + .device = 0x0a81, + .name = "ECS K7VTA3", + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x1019, + .device = 0x0a85, + .name = "ECS L7VMM2", + .type = AC97_TUNE_HP_ONLY + }, + { .vendor = 0x1849, .device = 0x3059, .name = "ASRock K7VM2", @@ -1613,19 +1594,18 @@ static int __devinit snd_via82xx_mixer_new(via82xx_t *chip, int ac97_quirk) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_via82xx_codec_write, + .read = snd_via82xx_codec_read, + .wait = snd_via82xx_codec_wait, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_via82xx_codec_write; - bus.read = snd_via82xx_codec_read; - bus.wait = snd_via82xx_codec_wait; - bus.private_data = chip; - bus.private_free = snd_via82xx_mixer_free_ac97_bus; - bus.clock = chip->ac97_clock; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus; + chip->ac97_bus->clock = chip->ac97_clock; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1660,9 +1640,11 @@ if (err < 0) return err; } - err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip)); - if (err < 0) - return err; + if (ac97_can_spdif(chip->ac97)) { + err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip)); + if (err < 0) + return err; + } if (chip->chip_type != TYPE_VIA8233A) { err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs_volume_control, chip)); if (err < 0) @@ -1672,6 +1654,7 @@ /* select spdif data slot 10/11 */ pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val); val = (val & ~VIA8233_SPDIF_SLOT_MASK) | VIA8233_SPDIF_SLOT_1011; + val &= ~VIA8233_SPDIF_DX3; /* SPDIF off as default */ pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val); return 0; @@ -1766,7 +1749,7 @@ */ static void snd_via82xx_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - via82xx_t *chip = snd_magic_cast(via82xx_t, entry->private_data, return); + via82xx_t *chip = entry->private_data; int i; snd_iprintf(buffer, "%s\n\n", chip->card->longname); @@ -1903,7 +1886,7 @@ */ static int snd_via82xx_suspend(snd_card_t *card, unsigned int state) { - via82xx_t *chip = snd_magic_cast(via82xx_t, card->pm_private_data, return -EINVAL); + via82xx_t *chip = card->pm_private_data; int i; for (i = 0; i < 2; i++) @@ -1921,7 +1904,6 @@ chip->capture_src_saved[1] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10); } - pci_save_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 3); pci_disable_device(chip->pci); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1930,11 +1912,10 @@ static int snd_via82xx_resume(snd_card_t *card, unsigned int state) { - via82xx_t *chip = snd_magic_cast(via82xx_t, card->pm_private_data, return -EINVAL); + via82xx_t *chip = card->pm_private_data; int idx, i; pci_enable_device(chip->pci); - pci_restore_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 0); snd_via82xx_chip_init(chip); @@ -1976,16 +1957,13 @@ snd_via82xx_channel_reset(chip, &chip->devs[i]); synchronize_irq(chip->irq); __end_hw: + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->mpu_res) { release_resource(chip->mpu_res); kfree_nocheck(chip->mpu_res); } - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); if (chip->chip_type == TYPE_VIA686) { #ifdef SUPPORT_JOYSTICK if (chip->res_joystick) { @@ -1997,13 +1975,13 @@ pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->old_legacy); pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->old_legacy_cfg); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_via82xx_dev_free(snd_device_t *device) { - via82xx_t *chip = snd_magic_cast(via82xx_t, device->device_data, return -ENXIO); + via82xx_t *chip = device->device_data; return snd_via82xx_free(chip); } @@ -2023,7 +2001,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - if ((chip = snd_magic_kcalloc(via82xx_t, 0, GFP_KERNEL)) == NULL) + if ((chip = kcalloc(1, sizeof(*chip), GFP_KERNEL)) == NULL) return -ENOMEM; chip->chip_type = chip_type; @@ -2037,19 +2015,14 @@ chip->pci = pci; chip->irq = -1; - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - pci_read_config_byte(pci, VIA_FUNC_ENABLE, &chip->old_legacy); pci_read_config_byte(pci, VIA_PNP_CONTROL, &chip->old_legacy_cfg); - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 256, card->driver)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->port, chip->port + 256 - 1); - snd_via82xx_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, card->driver)) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_via82xx_interrupt, SA_INTERRUPT|SA_SHIRQ, card->driver, (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); @@ -2111,9 +2084,12 @@ { .vendor = 0x1005, .device = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ { .vendor = 0x1019, .device = 0x0996, .action = VIA_DXS_48K }, { .vendor = 0x1019, .device = 0x0a81, .action = VIA_DXS_NO_VRA }, /* ECS K7VTA3 v8.0 */ + { .vendor = 0x1019, .device = 0x0a85, .action = VIA_DXS_NO_VRA }, /* ECS L7VMM2 */ + { .vendor = 0x1025, .device = 0x0033, .action = VIA_DXS_NO_VRA }, /* Acer Inspire 1353LM */ { .vendor = 0x1043, .device = 0x8095, .action = VIA_DXS_NO_VRA }, /* ASUS A7V8X (FIXME: possibly VIA_DXS_ENABLE?)*/ { .vendor = 0x1043, .device = 0x80a1, .action = VIA_DXS_NO_VRA }, /* ASUS A7V8-X */ { .vendor = 0x1043, .device = 0x80b0, .action = VIA_DXS_NO_VRA }, /* ASUS A7V600 & K8V*/ + { .vendor = 0x1071, .device = 0x8375, .action = VIA_DXS_NO_VRA }, /* Vobis/Yakumo/Mitac notebook */ { .vendor = 0x10cf, .device = 0x118e, .action = VIA_DXS_ENABLE }, /* FSC laptop */ { .vendor = 0x1106, .device = 0x4161, .action = VIA_DXS_NO_VRA }, /* ASRock K7VT2 */ { .vendor = 0x1106, .device = 0xaa01, .action = VIA_DXS_NO_VRA }, /* EPIA MII */ @@ -2126,6 +2102,7 @@ { .vendor = 0x1462, .device = 0x7120, .action = VIA_DXS_ENABLE }, /* MSI KT4V */ { .vendor = 0x1462, .device = 0x5901, .action = VIA_DXS_NO_VRA }, /* MSI KT6 Delta-SR */ { .vendor = 0x1584, .device = 0x8120, .action = VIA_DXS_ENABLE }, /* Gericom/Targa/Vobis/Uniwill laptop */ + { .vendor = 0x1584, .device = 0x8123, .action = VIA_DXS_NO_VRA }, /* Uniwill (Targa Visionary XP-210) */ { .vendor = 0x161f, .device = 0x202b, .action = VIA_DXS_NO_VRA }, /* Amira Note book */ { .vendor = 0x161f, .device = 0x2032, .action = VIA_DXS_48K }, /* m680x machines */ { .vendor = 0x1631, .device = 0xe004, .action = VIA_DXS_ENABLE }, /* Easy Note 3174, Packard Bell */ diff -Nru a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c --- a/sound/pci/vx222/vx222.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/vx222/vx222.c 2004-08-25 19:27:40 -07:00 @@ -28,15 +28,12 @@ #include #include "vx222.h" -#define chip_t vx_core_t - #define CARD_NAME "VX222" MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Digigram VX222 V2/Mic"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -47,19 +44,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mic, bool, boot_devs, 0444); MODULE_PARM_DESC(mic, "Enable Microphone."); -MODULE_PARM_SYNTAX(mic, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(ibl, int, boot_devs, 0444); MODULE_PARM_DESC(ibl, "Capture IBL size."); -MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED); /* */ @@ -119,24 +111,19 @@ */ static int snd_vx222_free(vx_core_t *chip) { - int i; struct snd_vx222 *vx = (struct snd_vx222 *)chip; if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); - for (i = 0; i < 2; i++) { - if (vx->port_res[i]) { - release_resource(vx->port_res[i]); - kfree_nocheck(vx->port_res[i]); - } - } - snd_magic_kfree(chip); + if (vx->port[0]) + pci_release_regions(vx->pci); + kfree(chip); return 0; } static int snd_vx222_dev_free(snd_device_t *device) { - vx_core_t *chip = snd_magic_cast(vx_core_t, device->device_data, return -ENXIO); + vx_core_t *chip = device->device_data; return snd_vx222_free(chip); } @@ -164,21 +151,14 @@ if (! chip) return -ENOMEM; vx = (struct snd_vx222 *)chip; + vx->pci = pci; - for (i = 0; i < 2; i++) { - if (!(pci_resource_flags(pci, i + 1) & IORESOURCE_IO)) { - snd_printk(KERN_ERR "invalid i/o resource %d\n", i + 1); - snd_vx222_free(chip); - return -ENOMEM; - } - vx->port[i] = pci_resource_start(pci, i + 1); - if ((vx->port_res[i] = request_region(vx->port[i], 0x60, - CARD_NAME)) == NULL) { - snd_printk(KERN_ERR "unable to grab port 0x%lx\n", vx->port[i]); - snd_vx222_free(chip); - return -EBUSY; - } + if ((err = pci_request_regions(pci, CARD_NAME)) < 0) { + snd_vx222_free(chip); + return err; } + for (i = 0; i < 2; i++) + vx->port[i] = pci_resource_start(pci, i + 1); if (request_irq(pci->irq, snd_vx_irq_handler, SA_INTERRUPT|SA_SHIRQ, CARD_NAME, (void *) chip)) { diff -Nru a/sound/pci/vx222/vx222.h b/sound/pci/vx222/vx222.h --- a/sound/pci/vx222/vx222.h 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/vx222/vx222.h 2004-08-25 19:27:40 -07:00 @@ -28,8 +28,8 @@ vx_core_t core; /* h/w config; for PLX and for DSP */ + struct pci_dev *pci; unsigned long port[2]; - struct resource *port_res[2]; unsigned int regCDSP; /* current CDSP register */ unsigned int regCFG; /* current CFG register */ diff -Nru a/sound/pci/vx222/vx222_ops.c b/sound/pci/vx222/vx222_ops.c --- a/sound/pci/vx222/vx222_ops.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/vx222/vx222_ops.c 2004-08-25 19:27:40 -07:00 @@ -27,8 +27,6 @@ #include #include "vx222.h" -#define chip_t vx_core_t - static int vx2_reg_offset[VX_REG_MAX] = { [VX_ICR] = 0x00, diff -Nru a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c --- a/sound/pci/ymfpci/ymfpci.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ymfpci/ymfpci.c 2004-08-25 19:27:40 -07:00 @@ -33,8 +33,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Yamaha DS-XG PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Yamaha,YMF724}," +MODULE_SUPPORTED_DEVICE("{{Yamaha,YMF724}," "{Yamaha,YMF724F}," "{Yamaha,YMF740}," "{Yamaha,YMF740C}," @@ -54,27 +53,20 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the Yamaha DS-XG PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the Yamaha DS-XG PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Yamaha DS-XG soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 Port."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM OPL-3 Port."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, long, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address"); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED); #endif module_param_array(rear_switch, bool, boot_devs, 0444); MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); -MODULE_PARM_SYNTAX(rear_switch, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static struct pci_device_id snd_ymfpci_ids[] = { { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ diff -Nru a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c --- a/sound/pci/ymfpci/ymfpci_main.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pci/ymfpci/ymfpci_main.c 2004-08-25 19:27:40 -07:00 @@ -42,8 +42,6 @@ #include -#define chip_t ymfpci_t - /* * constants */ @@ -102,7 +100,7 @@ static void snd_ymfpci_codec_write(ac97_t *ac97, u16 reg, u16 val) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return); + ymfpci_t *chip = ac97->private_data; u32 cmd; snd_ymfpci_codec_ready(chip, 0); @@ -112,7 +110,7 @@ static u16 snd_ymfpci_codec_read(ac97_t *ac97, u16 reg) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return -ENXIO); + ymfpci_t *chip = ac97->private_data; if (snd_ymfpci_codec_ready(chip, 0)) return ~0; @@ -330,7 +328,7 @@ static void snd_ymfpci_pcm_capture_interrupt(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return); + ymfpci_pcm_t *ypcm = runtime->private_data; ymfpci_t *chip = ypcm->chip; u32 pos, delta; @@ -358,7 +356,7 @@ int cmd) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = substream->runtime->private_data; int result = 0; spin_lock(&chip->reg_lock); @@ -395,7 +393,7 @@ int cmd) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = substream->runtime->private_data; int result = 0; u32 tmp; @@ -541,7 +539,8 @@ static int __devinit snd_ymfpci_ac3_init(ymfpci_t *chip) { - if (snd_dma_alloc_pages(&chip->dma_dev, 4096, &chip->ac3_tmp_base) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + 4096, &chip->ac3_tmp_base) < 0) return -ENOMEM; chip->bank_effect[3][0]->base = @@ -568,7 +567,7 @@ spin_unlock_irq(&chip->reg_lock); // snd_ymfpci_irq_wait(chip); if (chip->ac3_tmp_base.area) { - snd_dma_free_pages(&chip->dma_dev, &chip->ac3_tmp_base); + snd_dma_free_pages(&chip->ac3_tmp_base); chip->ac3_tmp_base.area = NULL; } return 0; @@ -578,7 +577,7 @@ snd_pcm_hw_params_t * hw_params) { snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; int err; if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params))) < 0) @@ -596,7 +595,7 @@ if (runtime->private_data == NULL) return 0; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ypcm = runtime->private_data; /* wait, until the PCI operations are not finished */ snd_ymfpci_irq_wait(chip); @@ -616,7 +615,7 @@ { // ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; unsigned int nvoice; ypcm->period_size = runtime->period_size; @@ -654,7 +653,7 @@ { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; snd_ymfpci_capture_bank_t * bank; int nbank; u32 rate, format; @@ -698,7 +697,7 @@ { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; ymfpci_voice_t *voice = ypcm->voices[0]; if (!(ypcm->running && voice)) @@ -710,7 +709,7 @@ { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; if (!ypcm->running) return 0; @@ -736,7 +735,7 @@ static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, dev_id, return IRQ_NONE); + ymfpci_t *chip = dev_id; u32 status, nvoice, mode; ymfpci_voice_t *voice; @@ -830,10 +829,10 @@ static void snd_ymfpci_pcm_free_substream(snd_pcm_runtime_t *runtime) { - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return); + ymfpci_pcm_t *ypcm = runtime->private_data; if (ypcm) - snd_magic_kfree(ypcm); + kfree(ypcm); } static int snd_ymfpci_playback_open_1(snd_pcm_substream_t * substream) @@ -842,7 +841,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - ypcm = snd_magic_kcalloc(ymfpci_pcm_t, 0, GFP_KERNEL); + ypcm = kcalloc(1, sizeof(*ypcm), GFP_KERNEL); if (ypcm == NULL) return -ENOMEM; ypcm->chip = chip; @@ -886,20 +885,19 @@ ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 1; ypcm->output_rear = chip->mode_dup4ch ? 1 : 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (ypcm->output_rear) { ymfpci_open_extension(chip); chip->rear_opened++; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -908,22 +906,21 @@ ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 0; ypcm->output_rear = 1; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL, snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) | 2); ymfpci_open_extension(chip); chip->spdif_pcm_bits = chip->spdif_bits; snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits); chip->spdif_opened++; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->spdif_pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -936,18 +933,17 @@ ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 0; ypcm->output_rear = 1; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ymfpci_open_extension(chip); chip->rear_opened++; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -958,7 +954,7 @@ snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - ypcm = snd_magic_kcalloc(ymfpci_pcm_t, 0, GFP_KERNEL); + ypcm = kcalloc(1, sizeof(*ypcm), GFP_KERNEL); if (ypcm == NULL) return -ENOMEM; ypcm->chip = chip; @@ -993,30 +989,28 @@ static int snd_ymfpci_playback_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); - unsigned long flags; + ymfpci_pcm_t *ypcm = substream->runtime->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (ypcm->output_rear && chip->rear_opened > 0) { chip->rear_opened--; ymfpci_close_extension(chip); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_ymfpci_playback_close_1(substream); } static int snd_ymfpci_playback_spdif_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->spdif_opened = 0; ymfpci_close_extension(chip); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL, snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & ~2); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->spdif_pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id); @@ -1026,14 +1020,13 @@ static int snd_ymfpci_playback_4ch_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (chip->rear_opened > 0) { chip->rear_opened--; ymfpci_close_extension(chip); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_ymfpci_playback_close_1(substream); } @@ -1041,7 +1034,7 @@ { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; if (ypcm != NULL) { chip->capture_substream[ypcm->capture_bank_number] = NULL; @@ -1074,7 +1067,7 @@ static void snd_ymfpci_pcm_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1120,7 +1113,7 @@ static void snd_ymfpci_pcm2_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm2 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1166,7 +1159,7 @@ static void snd_ymfpci_pcm_spdif_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm_spdif = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1211,7 +1204,7 @@ static void snd_ymfpci_pcm_4ch_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm_4ch = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1254,12 +1247,11 @@ snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = (chip->spdif_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (chip->spdif_bits >> 8) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1267,18 +1259,17 @@ snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; val = ((ucontrol->value.iec958.status[0] & 0x3e) << 0) | (ucontrol->value.iec958.status[1] << 8); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); change = chip->spdif_bits != val; chip->spdif_bits = val; if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 1) && chip->pcm_spdif == NULL) snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1302,12 +1293,11 @@ snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = 0x3e; ucontrol->value.iec958.status[1] = 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1331,12 +1321,11 @@ snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = (chip->spdif_pcm_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (chip->spdif_pcm_bits >> 8) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1344,18 +1333,17 @@ snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; val = ((ucontrol->value.iec958.status[0] & 0x3e) << 0) | (ucontrol->value.iec958.status[1] << 8); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); change = chip->spdif_pcm_bits != val; chip->spdif_pcm_bits = val; if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 2)) snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1385,12 +1373,11 @@ static int snd_ymfpci_drec_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u16 reg; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); reg = snd_ymfpci_readw(chip, YDSXGR_GLOBALCTRL); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); if (!(reg & 0x100)) value->value.enumerated.item[0] = 0; else @@ -1401,17 +1388,16 @@ static int snd_ymfpci_drec_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u16 reg, old_reg; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_reg = snd_ymfpci_readw(chip, YDSXGR_GLOBALCTRL); if (value->value.enumerated.item[0] == 0) reg = old_reg & ~0x100; else reg = (old_reg & ~0x300) | 0x100 | ((value->value.enumerated.item[0] == 2) << 9); snd_ymfpci_writew(chip, YDSXGR_GLOBALCTRL, reg); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return reg != old_reg; } @@ -1470,7 +1456,6 @@ static int snd_ymfpci_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value; unsigned int shift = 0, mask = 1, invert = 0; int change; @@ -1485,12 +1470,12 @@ if (invert) val = mask - val; val <<= shift; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = snd_ymfpci_readl(chip, reg); val = (oval & ~(mask << shift)) | val; change = val != oval; snd_ymfpci_writel(chip, reg, val); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1517,16 +1502,15 @@ static int snd_ymfpci_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int reg = kcontrol->private_value; unsigned int shift_left = 0, shift_right = 16, mask = 16383, invert = 0; unsigned int val; if (reg < 0x80 || reg >= 0xc0) return -EINVAL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = snd_ymfpci_readl(chip, reg); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); ucontrol->value.integer.value[0] = (val >> shift_left) & mask; ucontrol->value.integer.value[1] = (val >> shift_right) & mask; if (invert) { @@ -1539,7 +1523,6 @@ static int snd_ymfpci_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int reg = kcontrol->private_value; unsigned int shift_left = 0, shift_right = 16, mask = 16383, invert = 0; int change; @@ -1555,12 +1538,12 @@ } val1 <<= shift_left; val2 <<= shift_right; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = snd_ymfpci_readl(chip, reg); val1 = (oval & ~((mask << shift_left) | (mask << shift_right))) | val1 | val2; change = val1 != oval; snd_ymfpci_writel(chip, reg, val1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1594,8 +1577,6 @@ } -#define YMFPCI_CONTROLS (sizeof(snd_ymfpci_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_ymfpci_controls[] __devinitdata = { YMFPCI_DOUBLE("Wave Playback Volume", 0, YDSXGR_NATIVEDACOUTVOL), YMFPCI_DOUBLE("Wave Capture Volume", 0, YDSXGR_NATIVEDACLOOPVOL), @@ -1709,31 +1690,30 @@ static void snd_ymfpci_mixer_free_ac97_bus(ac97_bus_t *bus) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, bus->private_data, return); + ymfpci_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_ymfpci_mixer_free_ac97(ac97_t *ac97) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return); + ymfpci_t *chip = ac97->private_data; chip->ac97 = NULL; } int __devinit snd_ymfpci_mixer(ymfpci_t *chip, int rear_switch) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; snd_kcontrol_t *kctl; unsigned int idx; int err; + static ac97_bus_ops_t ops = { + .write = snd_ymfpci_codec_write, + .read = snd_ymfpci_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ymfpci_codec_write; - bus.read = snd_ymfpci_codec_read; - bus.private_data = chip; - bus.private_free = snd_ymfpci_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1741,7 +1721,7 @@ if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0) return err; - for (idx = 0; idx < YMFPCI_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ymfpci_controls); idx++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_controls[idx], chip))) < 0) return err; } @@ -1854,7 +1834,7 @@ static void snd_ymfpci_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, entry->private_data, return); + ymfpci_t *chip = entry->private_data; int i; snd_iprintf(buffer, "YMFPCI\n\n"); @@ -1975,7 +1955,8 @@ chip->work_size; /* work_ptr must be aligned to 256 bytes, but it's already covered with the kernel page allocation mechanism */ - if (snd_dma_alloc_pages(&chip->dma_dev, size, &chip->work_ptr) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + size, &chip->work_ptr) < 0) return -ENOMEM; ptr = chip->work_ptr.area; ptr_addr = chip->work_ptr.addr; @@ -2106,7 +2087,7 @@ if (chip->reg_area_virt) iounmap((void *)chip->reg_area_virt); if (chip->work_ptr.area) - snd_dma_free_pages(&chip->dma_dev, &chip->work_ptr); + snd_dma_free_pages(&chip->work_ptr); if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); @@ -2117,13 +2098,13 @@ pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ymfpci_dev_free(snd_device_t *device) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, device->device_data, return -ENXIO); + ymfpci_t *chip = device->device_data; return snd_ymfpci_free(chip); } @@ -2159,7 +2140,7 @@ static int snd_ymfpci_suspend(snd_card_t *card, unsigned int state) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, card->pm_private_data, return -EINVAL); + ymfpci_t *chip = card->pm_private_data; unsigned int i; snd_pcm_suspend_all(chip->pcm); @@ -2178,7 +2159,7 @@ static int snd_ymfpci_resume(snd_card_t *card, unsigned int state) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, card->pm_private_data, return -EINVAL); + ymfpci_t *chip = card->pm_private_data; unsigned int i; pci_enable_device(chip->pci); @@ -2195,11 +2176,10 @@ /* start hw again */ if (chip->start_count > 0) { - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_ymfpci_writel(chip, YDSXGR_MODE, chip->saved_ydsxgr_mode); chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; @@ -2223,7 +2203,7 @@ if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(ymfpci_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->old_legacy_ctrl = old_legacy_ctrl; @@ -2251,10 +2231,6 @@ return -EBUSY; } chip->irq = pci->irq; - - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); snd_ymfpci_aclink_reset(pci); if (snd_ymfpci_codec_ready(chip, 0) < 0) { diff -Nru a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c 2004-08-25 19:27:40 -07:00 @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Sound Core " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sound Core," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Sound Core," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,13 +48,10 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(irq_mask, int, 0444); MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard."); module_param_array(irq_list, int, boot_devs, 0444); @@ -103,13 +99,13 @@ card_list[pdacf->index] = NULL; pdacf->card = NULL; - snd_magic_kfree(pdacf); + kfree(pdacf); return 0; } static int snd_pdacf_dev_free(snd_device_t *device) { - pdacf_t *chip = snd_magic_cast(pdacf_t, device->device_data, return -ENXIO); + pdacf_t *chip = device->device_data; return snd_pdacf_free(chip); } @@ -152,7 +148,7 @@ return NULL; if (snd_device_new(card, SNDRV_DEV_LOWLEVEL, pdacf, &ops) < 0) { - snd_magic_kfree(pdacf); + kfree(pdacf); snd_card_free(card); return NULL; } @@ -258,7 +254,7 @@ */ static void snd_pdacf_detach(dev_link_t *link) { - pdacf_t *chip = snd_magic_cast(pdacf_t, link->priv, return); + pdacf_t *chip = link->priv; snd_printdd(KERN_DEBUG "pdacf_detach called\n"); /* Remove the interface data from the linked list */ @@ -297,7 +293,7 @@ static void pdacf_config(dev_link_t *link) { client_handle_t handle = link->handle; - pdacf_t *pdacf = snd_magic_cast(pdacf_t, link->priv, return); + pdacf_t *pdacf = link->priv; tuple_t tuple; cisparse_t parse; config_info_t conf; diff -Nru a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c --- a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c 2004-08-25 19:27:40 -07:00 @@ -30,7 +30,7 @@ */ unsigned char pdacf_ak4117_read(void *private_data, unsigned char reg) { - pdacf_t *chip = snd_magic_cast(pdacf_t, private_data, return 0); + pdacf_t *chip = private_data; unsigned long timeout; unsigned long flags; unsigned char res; @@ -62,7 +62,7 @@ void pdacf_ak4117_write(void *private_data, unsigned char reg, unsigned char val) { - pdacf_t *chip = snd_magic_cast(pdacf_t, private_data, return); + pdacf_t *chip = private_data; unsigned long timeout; unsigned long flags; @@ -130,7 +130,7 @@ static void pdacf_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - pdacf_t *chip = snd_magic_cast(pdacf_t, entry->private_data, return); + pdacf_t *chip = entry->private_data; u16 tmp; snd_iprintf(buffer, "PDAudioCF\n\n"); @@ -151,7 +151,7 @@ { pdacf_t *chip; - chip = snd_magic_kcalloc(pdacf_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return NULL; chip->card = card; @@ -257,7 +257,7 @@ int snd_pdacf_suspend(snd_card_t *card, unsigned int state) { - pdacf_t *chip = snd_magic_cast(pdacf_t, card->pm_private_data, return -EINVAL); + pdacf_t *chip = card->pm_private_data; u16 val; snd_pcm_suspend_all(chip->pcm); @@ -278,7 +278,7 @@ int snd_pdacf_resume(snd_card_t *card, unsigned int state) { - pdacf_t *chip = snd_magic_cast(pdacf_t, card->pm_private_data, return -EINVAL); + pdacf_t *chip = card->pm_private_data; int timeout = 40; pdacf_reinit(chip, 1); diff -Nru a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c --- a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c 2004-08-25 19:27:40 -07:00 @@ -28,7 +28,7 @@ */ irqreturn_t pdacf_interrupt(int irq, void *dev, struct pt_regs *regs) { - pdacf_t *chip = snd_magic_cast(pdacf_t, dev, return IRQ_NONE); + pdacf_t *chip = dev; unsigned short stat; if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE| @@ -258,7 +258,7 @@ void pdacf_tasklet(unsigned long private_data) { - pdacf_t *chip = snd_magic_cast(pdacf_t, (void *)private_data, return); + pdacf_t *chip = (pdacf_t *) private_data; int size, off, cont, rdp, wdp; if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|PDAUDIOCF_STAT_IS_CONFIGURED)) != PDAUDIOCF_STAT_IS_CONFIGURED) diff -Nru a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c --- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c 2004-08-25 19:27:40 -07:00 @@ -28,8 +28,6 @@ #include #include "pdaudiocf.h" -#define chip_t pdacf_t - /* * we use a vmalloc'ed (sg-)buffer @@ -331,7 +329,7 @@ */ static void snd_pdacf_pcm_free(snd_pcm_t *pcm) { - pdacf_t *chip = snd_magic_cast(pdacf_t, pcm->private_data, return); + pdacf_t *chip = pcm->private_data; chip->pcm = NULL; } diff -Nru a/sound/pcmcia/vx/vx_entry.c b/sound/pcmcia/vx/vx_entry.c --- a/sound/pcmcia/vx/vx_entry.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/vx/vx_entry.c 2004-08-25 19:27:40 -07:00 @@ -69,13 +69,13 @@ hw->card_list[vxp->index] = NULL; chip->card = NULL; - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_vxpocket_dev_free(snd_device_t *device) { - vx_core_t *chip = snd_magic_cast(vx_core_t, device->device_data, return -ENXIO); + vx_core_t *chip = device->device_data; return snd_vxpocket_free(chip); } @@ -121,7 +121,7 @@ return NULL; if (snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops) < 0) { - snd_magic_kfree(chip); + kfree(chip); snd_card_free(card); return NULL; } @@ -226,7 +226,7 @@ */ void snd_vxpocket_detach(struct snd_vxp_entry *hw, dev_link_t *link) { - vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return); + vx_core_t *chip = link->priv; snd_printdd(KERN_DEBUG "vxpocket_detach called\n"); /* Remove the interface data from the linked list */ @@ -263,7 +263,7 @@ static void vxpocket_config(dev_link_t *link) { client_handle_t handle = link->handle; - vx_core_t *chip = snd_magic_cast(vx_core_t, link->priv, return); + vx_core_t *chip = link->priv; struct snd_vxpocket *vxp = (struct snd_vxpocket *)chip; tuple_t tuple; cisparse_t parse; diff -Nru a/sound/pcmcia/vx/vxp_mixer.c b/sound/pcmcia/vx/vxp_mixer.c --- a/sound/pcmcia/vx/vxp_mixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/vx/vxp_mixer.c 2004-08-25 19:27:40 -07:00 @@ -25,8 +25,6 @@ #include #include "vxpocket.h" -#define chip_t vx_core_t - #define MIC_LEVEL_MIN 0 #define MIC_LEVEL_MAX 8 diff -Nru a/sound/pcmcia/vx/vxp_ops.c b/sound/pcmcia/vx/vxp_ops.c --- a/sound/pcmcia/vx/vxp_ops.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/vx/vxp_ops.c 2004-08-25 19:27:40 -07:00 @@ -26,8 +26,6 @@ #include #include "vxpocket.h" -#define chip_t vx_core_t - static int vxp_reg_offset[VX_REG_MAX] = { [VX_ICR] = 0x00, // ICR diff -Nru a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c --- a/sound/pcmcia/vx/vxpocket.c 2004-08-25 19:27:40 -07:00 +++ b/sound/pcmcia/vx/vxpocket.c 2004-08-25 19:27:40 -07:00 @@ -50,8 +50,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Digigram " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -63,20 +62,16 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(irq_mask, int, 0444); MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard."); module_param_array(irq_list, int, boot_devs, 0444); MODULE_PARM_DESC(irq_list, "List of Available interrupts for " CARD_NAME " soundcard."); module_param_array(ibl, int, boot_devs, 0444); MODULE_PARM_DESC(ibl, "Capture IBL size for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED); /* diff -Nru a/sound/ppc/Kconfig b/sound/ppc/Kconfig --- a/sound/ppc/Kconfig 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/Kconfig 2004-08-25 19:27:40 -07:00 @@ -6,9 +6,12 @@ comment "ALSA PowerMac requires I2C" depends on SND && I2C=n +comment "ALSA PowerMac requires INPUT" + depends on SND && INPUT=n + config SND_POWERMAC tristate "PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)" - depends on SND && I2C + depends on SND && I2C && INPUT select SND_PCM endmenu diff -Nru a/sound/ppc/Makefile b/sound/ppc/Makefile --- a/sound/ppc/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/Makefile 2004-08-25 19:27:40 -07:00 @@ -3,7 +3,7 @@ # Copyright (c) 2001 by Jaroslav Kysela # -snd-powermac-objs := powermac.o pmac.o awacs.o burgundy.o daca.o tumbler.o keywest.o +snd-powermac-objs := powermac.o pmac.o awacs.o burgundy.o daca.o tumbler.o keywest.o beep.o # Toplevel Module Dependency obj-$(CONFIG_SND_POWERMAC) += snd-powermac.o diff -Nru a/sound/ppc/awacs.c b/sound/ppc/awacs.c --- a/sound/ppc/awacs.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/awacs.c 2004-08-25 19:27:40 -07:00 @@ -29,8 +29,6 @@ #include #include "pmac.h" -#define chip_t pmac_t - #ifdef CONFIG_ADB_CUDA #define PMAC_AMP_AVAIL @@ -574,11 +572,22 @@ AWACS_VOLUME("Master Playback Volume", 2, 6, 1), AWACS_SWITCH("Master Capture Switch", 1, SHIFT_LOOPTHRU, 0), AWACS_VOLUME("Capture Volume", 0, 4, 0), - AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_LINE, 0), AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), +}; + +/* FIXME: is this correct order? + * screamer (powerbook G3 pismo) seems to have different bits... + */ +static snd_kcontrol_new_t snd_pmac_awacs_mixers2[] __initdata = { + AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_LINE, 0), AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_MIC, 0), }; +static snd_kcontrol_new_t snd_pmac_screamer_mixers2[] __initdata = { + AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0), + AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_LINE, 0), +}; + static snd_kcontrol_new_t snd_pmac_awacs_master_sw __initdata = AWACS_SWITCH("Master Playback Switch", 1, SHIFT_HDMUTE, 1); @@ -602,8 +611,6 @@ AWACS_SWITCH("PC Speaker Playback Switch", 1, SHIFT_SPKMUTE, 1); -#define num_controls(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - /* * add new mixer elements to the card */ @@ -818,9 +825,17 @@ */ strcpy(chip->card->mixername, "PowerMac AWACS"); - if ((err = build_mixers(chip, num_controls(snd_pmac_awacs_mixers), + if ((err = build_mixers(chip, ARRAY_SIZE(snd_pmac_awacs_mixers), snd_pmac_awacs_mixers)) < 0) return err; + if (chip->model == PMAC_SCREAMER) + err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mixers2), + snd_pmac_screamer_mixers2); + else + err = build_mixers(chip, ARRAY_SIZE(snd_pmac_awacs_mixers2), + snd_pmac_awacs_mixers2); + if (err < 0) + return err; chip->master_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_master_sw, chip); if ((err = snd_ctl_add(chip->card, chip->master_sw_ctl)) < 0) return err; @@ -832,7 +847,7 @@ * screamer registers. * in this case, it seems the route C is not used. */ - if ((err = build_mixers(chip, num_controls(snd_pmac_awacs_amp_vol), + if ((err = build_mixers(chip, ARRAY_SIZE(snd_pmac_awacs_amp_vol), snd_pmac_awacs_amp_vol)) < 0) return err; /* overwrite */ @@ -846,7 +861,7 @@ #endif /* PMAC_AMP_AVAIL */ { /* route A = headphone, route C = speaker */ - if ((err = build_mixers(chip, num_controls(snd_pmac_awacs_speaker_vol), + if ((err = build_mixers(chip, ARRAY_SIZE(snd_pmac_awacs_speaker_vol), snd_pmac_awacs_speaker_vol)) < 0) return err; chip->speaker_sw_ctl = snd_ctl_new1(&snd_pmac_awacs_speaker_sw, chip); @@ -855,11 +870,11 @@ } if (chip->model == PMAC_SCREAMER) { - if ((err = build_mixers(chip, num_controls(snd_pmac_screamer_mic_boost), + if ((err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mic_boost), snd_pmac_screamer_mic_boost)) < 0) return err; } else { - if ((err = build_mixers(chip, num_controls(snd_pmac_awacs_mic_boost), + if ((err = build_mixers(chip, ARRAY_SIZE(snd_pmac_awacs_mic_boost), snd_pmac_awacs_mic_boost)) < 0) return err; } diff -Nru a/sound/ppc/beep.c b/sound/ppc/beep.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/ppc/beep.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,262 @@ +/* + * Beep using pcm + * + * Copyright (c) by Takashi Iwai + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "pmac.h" + +struct snd_pmac_beep { + int running; /* boolean */ + int volume; /* mixer volume: 0-100 */ + int volume_play; /* currently playing volume */ + int hz; + int nsamples; + short *buf; /* allocated wave buffer */ + unsigned long addr; /* physical address of buffer */ + struct input_dev dev; +}; + +/* + * stop beep if running + */ +void snd_pmac_beep_stop(pmac_t *chip) +{ + pmac_beep_t *beep = chip->beep; + if (beep && beep->running) { + beep->running = 0; + snd_pmac_beep_dma_stop(chip); + } +} + +/* + * Stuff for outputting a beep. The values range from -327 to +327 + * so we can multiply by an amplitude in the range 0..100 to get a + * signed short value to put in the output buffer. + */ +static short beep_wform[256] = { + 0, 40, 79, 117, 153, 187, 218, 245, + 269, 288, 304, 316, 323, 327, 327, 324, + 318, 310, 299, 288, 275, 262, 249, 236, + 224, 213, 204, 196, 190, 186, 183, 182, + 182, 183, 186, 189, 192, 196, 200, 203, + 206, 208, 209, 209, 209, 207, 204, 201, + 197, 193, 188, 183, 179, 174, 170, 166, + 163, 161, 160, 159, 159, 160, 161, 162, + 164, 166, 168, 169, 171, 171, 171, 170, + 169, 167, 163, 159, 155, 150, 144, 139, + 133, 128, 122, 117, 113, 110, 107, 105, + 103, 103, 103, 103, 104, 104, 105, 105, + 105, 103, 101, 97, 92, 86, 78, 68, + 58, 45, 32, 18, 3, -11, -26, -41, + -55, -68, -79, -88, -95, -100, -102, -102, + -99, -93, -85, -75, -62, -48, -33, -16, + 0, 16, 33, 48, 62, 75, 85, 93, + 99, 102, 102, 100, 95, 88, 79, 68, + 55, 41, 26, 11, -3, -18, -32, -45, + -58, -68, -78, -86, -92, -97, -101, -103, + -105, -105, -105, -104, -104, -103, -103, -103, + -103, -105, -107, -110, -113, -117, -122, -128, + -133, -139, -144, -150, -155, -159, -163, -167, + -169, -170, -171, -171, -171, -169, -168, -166, + -164, -162, -161, -160, -159, -159, -160, -161, + -163, -166, -170, -174, -179, -183, -188, -193, + -197, -201, -204, -207, -209, -209, -209, -208, + -206, -203, -200, -196, -192, -189, -186, -183, + -182, -182, -183, -186, -190, -196, -204, -213, + -224, -236, -249, -262, -275, -288, -299, -310, + -318, -324, -327, -327, -323, -316, -304, -288, + -269, -245, -218, -187, -153, -117, -79, -40, +}; + +#define BEEP_SRATE 22050 /* 22050 Hz sample rate */ +#define BEEP_BUFLEN 512 +#define BEEP_VOLUME 15 /* 0 - 100 */ + +static int snd_pmac_beep_event(struct input_dev *dev, unsigned int type, unsigned int code, int hz) +{ + pmac_t *chip; + pmac_beep_t *beep; + unsigned long flags; + int beep_speed = 0; + int srate; + int period, ncycles, nsamples; + int i, j, f; + short *p; + + if (type != EV_SND) + return -1; + + switch (code) { + case SND_BELL: if (hz) hz = 1000; + case SND_TONE: break; + default: return -1; + } + + chip = dev->private; + if (! chip || (beep = chip->beep) == NULL) + return -1; + + if (! hz) { + spin_lock_irqsave(&chip->reg_lock, flags); + if (beep->running) + snd_pmac_beep_stop(chip); + spin_unlock_irqrestore(&chip->reg_lock, flags); + return 0; + } + + beep_speed = snd_pmac_rate_index(chip, &chip->playback, BEEP_SRATE); + srate = chip->freq_table[beep_speed]; + + if (hz <= srate / BEEP_BUFLEN || hz > srate / 2) + hz = 1000; + + spin_lock_irqsave(&chip->reg_lock, flags); + if (chip->playback.running || chip->capture.running || beep->running) { + spin_unlock_irqrestore(&chip->reg_lock, flags); + return 0; + } + beep->running = 1; + spin_unlock_irqrestore(&chip->reg_lock, flags); + + if (hz == beep->hz && beep->volume == beep->volume_play) { + nsamples = beep->nsamples; + } else { + period = srate * 256 / hz; /* fixed point */ + ncycles = BEEP_BUFLEN * 256 / period; + nsamples = (period * ncycles) >> 8; + f = ncycles * 65536 / nsamples; + j = 0; + p = beep->buf; + for (i = 0; i < nsamples; ++i, p += 2) { + p[0] = p[1] = beep_wform[j >> 8] * beep->volume; + j = (j + f) & 0xffff; + } + beep->hz = hz; + beep->volume_play = beep->volume; + beep->nsamples = nsamples; + } + + spin_lock_irqsave(&chip->reg_lock, flags); + snd_pmac_beep_dma_start(chip, beep->nsamples * 4, beep->addr, beep_speed); + spin_unlock_irqrestore(&chip->reg_lock, flags); + return 0; +} + +/* + * beep volume mixer + */ + +#define chip_t pmac_t + +static int snd_pmac_info_beep(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 1; + uinfo->value.integer.min = 0; + uinfo->value.integer.max = 100; + return 0; +} + +static int snd_pmac_get_beep(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + pmac_t *chip = snd_kcontrol_chip(kcontrol); + snd_assert(chip->beep, return -ENXIO); + ucontrol->value.integer.value[0] = chip->beep->volume; + return 0; +} + +static int snd_pmac_put_beep(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + pmac_t *chip = snd_kcontrol_chip(kcontrol); + int oval; + snd_assert(chip->beep, return -ENXIO); + oval = chip->beep->volume; + chip->beep->volume = ucontrol->value.integer.value[0]; + return oval != chip->beep->volume; +} + +static snd_kcontrol_new_t snd_pmac_beep_mixer = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Beep Playback Volume", + .info = snd_pmac_info_beep, + .get = snd_pmac_get_beep, + .put = snd_pmac_put_beep, +}; + +/* Initialize beep stuff */ +int __init snd_pmac_attach_beep(pmac_t *chip) +{ + pmac_beep_t *beep; + int err; + + beep = kmalloc(sizeof(*beep), GFP_KERNEL); + if (! beep) + return -ENOMEM; + + memset(beep, 0, sizeof(*beep)); + beep->buf = (short *) kmalloc(BEEP_BUFLEN * 4, GFP_KERNEL); + if (! beep->buf) { + kfree(beep); + return -ENOMEM; + } + beep->addr = virt_to_bus(beep->buf); + + beep->dev.evbit[0] = BIT(EV_SND); + beep->dev.sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); + beep->dev.event = snd_pmac_beep_event; + beep->dev.private = chip; + + /* FIXME: set more better values */ + beep->dev.name = "PowerMac Beep"; + beep->dev.phys = "powermac/beep"; + beep->dev.id.bustype = BUS_ADB; + beep->dev.id.vendor = 0x001f; + beep->dev.id.product = 0x0001; + beep->dev.id.version = 0x0100; + + beep->volume = BEEP_VOLUME; + beep->running = 0; + if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_pmac_beep_mixer, chip))) < 0) { + kfree(beep->buf); + kfree(beep); + return err; + } + + chip->beep = beep; + input_register_device(&beep->dev); + + return 0; +} + +void snd_pmac_detach_beep(pmac_t *chip) +{ + if (chip->beep) { + input_unregister_device(&chip->beep->dev); + kfree(chip->beep->buf); + kfree(chip->beep); + chip->beep = NULL; + } +} diff -Nru a/sound/ppc/burgundy.c b/sound/ppc/burgundy.c --- a/sound/ppc/burgundy.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/burgundy.c 2004-08-25 19:27:40 -07:00 @@ -28,8 +28,6 @@ #include "pmac.h" #include "burgundy.h" -#define chip_t pmac_t - /* Waits for busy flag to clear */ inline static void @@ -324,8 +322,6 @@ static snd_kcontrol_new_t snd_pmac_burgundy_speaker_sw __initdata = BURGUNDY_OUTPUT_SWITCH("PC Speaker Playback Switch", 0, BURGUNDY_OUTPUT_INTERN, 0, 0); -#define num_controls(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - #ifdef PMAC_SUPPORT_AUTOMUTE /* @@ -420,7 +416,7 @@ */ strcpy(chip->card->mixername, "PowerMac Burgundy"); - for (i = 0; i < num_controls(snd_pmac_burgundy_mixers); i++) { + for (i = 0; i < ARRAY_SIZE(snd_pmac_burgundy_mixers); i++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_pmac_burgundy_mixers[i], chip))) < 0) return err; } diff -Nru a/sound/ppc/daca.c b/sound/ppc/daca.c --- a/sound/ppc/daca.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/daca.c 2004-08-25 19:27:40 -07:00 @@ -28,8 +28,6 @@ #include #include "pmac.h" -#define chip_t pmac_t - /* i2c address */ #define DACA_I2C_ADDR 0x4d @@ -217,8 +215,6 @@ }, }; -#define num_controls(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - #ifdef CONFIG_PMAC_PBOOK static void daca_resume(pmac_t *chip) @@ -272,7 +268,7 @@ */ strcpy(chip->card->mixername, "PowerMac DACA"); - for (i = 0; i < num_controls(daca_mixers); i++) { + for (i = 0; i < ARRAY_SIZE(daca_mixers); i++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&daca_mixers[i], chip))) < 0) return err; } diff -Nru a/sound/ppc/pmac.c b/sound/ppc/pmac.c --- a/sound/ppc/pmac.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/pmac.c 2004-08-25 19:27:40 -07:00 @@ -36,8 +36,6 @@ #include #endif -#define chip_t pmac_t - #if defined(CONFIG_PM) && defined(CONFIG_PMAC_PBOOK) static int snd_pmac_register_sleep_notifier(pmac_t *chip); @@ -52,8 +50,8 @@ 44100, 29400, 22050, 17640, 14700, 11025, 8820, 7350 }; /* fixed frequency table for tumbler */ -static int tumbler_freqs[2] = { - 48000, 44100 +static int tumbler_freqs[1] = { + 44100 }; /* @@ -86,7 +84,7 @@ * look up frequency table */ -static unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate) +unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate) { int i, ok, found; @@ -203,7 +201,6 @@ { int i; volatile struct dbdma_cmd *cp; - unsigned long flags; snd_pcm_runtime_t *runtime = subs->runtime; int rate_index; long offset; @@ -226,15 +223,17 @@ /* We really want to execute a DMA stop command, after the AWACS * is initialized. * For reasons I don't understand, it stops the hissing noise - * common to many PowerBook G3 systems (like mine :-). + * common to many PowerBook G3 systems and random noise otherwise + * captured on iBook2's about every third time. -ReneR */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_pmac_dma_stop(rec); - if (rec->stream == SNDRV_PCM_STREAM_PLAYBACK) { - st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); - snd_pmac_dma_set_command(rec, &chip->extra_dma); - snd_pmac_dma_run(rec, RUN); - } + st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); + snd_pmac_dma_set_command(rec, &chip->extra_dma); + snd_pmac_dma_run(rec, RUN); + spin_unlock_irq(&chip->reg_lock); + mdelay(5); + spin_lock_irq(&chip->reg_lock); /* continuous DMA memory type doesn't provide the physical address, * so we need to resolve the address here... */ @@ -252,7 +251,7 @@ snd_pmac_dma_stop(rec); snd_pmac_dma_set_command(rec, &rec->cmd); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -264,7 +263,6 @@ static int snd_pmac_pcm_trigger(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substream_t *subs, int cmd) { - unsigned long flags; volatile struct dbdma_cmd *cp; int i, command; @@ -275,7 +273,7 @@ return -EBUSY; command = (subs->stream == SNDRV_PCM_STREAM_PLAYBACK ? OUTPUT_MORE : INPUT_MORE) + INTR_ALWAYS; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); snd_pmac_beep_stop(chip); snd_pmac_pcm_set_format(chip); for (i = 0, cp = rec->cmd.cmds; i < rec->nperiods; i++, cp++) @@ -284,18 +282,18 @@ (void)in_le32(&rec->dma->status); snd_pmac_dma_run(rec, RUN|WAKE); rec->running = 1; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); rec->running = 0; /*printk("stopped!!\n");*/ snd_pmac_dma_stop(rec); for (i = 0, cp = rec->cmd.cmds; i < rec->nperiods; i++, cp++) out_le16(&cp->command, DBDMA_STOP); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); break; default: @@ -490,14 +488,12 @@ snd_pcm_runtime_t *runtime = subs->runtime; int i, j, fflags; static int typical_freqs[] = { - 48000, 44100, 22050, 11025, 0, }; static int typical_freq_flags[] = { - SNDRV_PCM_RATE_48000, SNDRV_PCM_RATE_44100, SNDRV_PCM_RATE_22050, SNDRV_PCM_RATE_11025, @@ -651,7 +647,7 @@ pcm->private_data = chip; pcm->private_free = pmac_pcm_free; - pcm->info_flags = 0; + pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; strcpy(pcm->name, chip->card->shortname); chip->pcm = pcm; @@ -683,12 +679,41 @@ /* + * handling beep + */ +void snd_pmac_beep_dma_start(pmac_t *chip, int bytes, unsigned long addr, int speed) +{ + pmac_stream_t *rec = &chip->playback; + + snd_pmac_dma_stop(rec); + st_le16(&chip->extra_dma.cmds->req_count, bytes); + st_le16(&chip->extra_dma.cmds->xfer_status, 0); + st_le32(&chip->extra_dma.cmds->cmd_dep, chip->extra_dma.addr); + st_le32(&chip->extra_dma.cmds->phy_addr, addr); + st_le16(&chip->extra_dma.cmds->command, OUTPUT_MORE + BR_ALWAYS); + out_le32(&chip->awacs->control, + (in_le32(&chip->awacs->control) & ~0x1f00) + | (speed << 8)); + out_le32(&chip->awacs->byteswap, 0); + snd_pmac_dma_set_command(rec, &chip->extra_dma); + snd_pmac_dma_run(rec, RUN); +} + +void snd_pmac_beep_dma_stop(pmac_t *chip) +{ + snd_pmac_dma_stop(&chip->playback); + st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); + snd_pmac_pcm_set_format(chip); /* reset format */ +} + + +/* * interrupt handlers */ static irqreturn_t snd_pmac_tx_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; snd_pmac_pcm_update(chip, &chip->playback); return IRQ_HANDLED; } @@ -697,7 +722,7 @@ static irqreturn_t snd_pmac_rx_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; snd_pmac_pcm_update(chip, &chip->capture); return IRQ_HANDLED; } @@ -706,7 +731,7 @@ static irqreturn_t snd_pmac_ctrl_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; int ctrl = in_le32(&chip->awacs->control); /*printk("pmac: control interrupt.. 0x%x\n", ctrl);*/ @@ -776,6 +801,8 @@ if (chip->mixer_free) chip->mixer_free(chip); + snd_pmac_detach_beep(chip); + /* release resources */ if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); @@ -802,7 +829,7 @@ release_OF_resource(chip->node, i); } } - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -812,7 +839,7 @@ */ static int snd_pmac_dev_free(snd_device_t *device) { - pmac_t *chip = snd_magic_cast(pmac_t, device->device_data, return -ENXIO); + pmac_t *chip = device->device_data; return snd_pmac_free(chip); } @@ -862,7 +889,7 @@ chip->can_byte_swap = 1; chip->can_duplex = 1; chip->can_capture = 1; - chip->num_freqs = 8; + chip->num_freqs = ARRAY_SIZE(awacs_freqs); chip->freq_table = awacs_freqs; chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */ @@ -920,14 +947,14 @@ chip->can_capture = 0; /* no capture */ chip->can_duplex = 0; // chip->can_byte_swap = 0; /* FIXME: check this */ - chip->num_freqs = 2; + chip->num_freqs = ARRAY_SIZE(tumbler_freqs); chip->freq_table = tumbler_freqs; chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */ } if (device_is_compatible(sound, "snapper")) { chip->model = PMAC_SNAPPER; // chip->can_byte_swap = 0; /* FIXME: check this */ - chip->num_freqs = 2; + chip->num_freqs = ARRAY_SIZE(tumbler_freqs); chip->freq_table = tumbler_freqs; chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */ } @@ -1069,7 +1096,7 @@ snd_runtime_check(chip_return, return -EINVAL); *chip_return = NULL; - chip = snd_magic_kcalloc(pmac_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->card = card; @@ -1206,7 +1233,7 @@ static int snd_pmac_suspend(snd_card_t *card, unsigned int state) { - pmac_t *chip = snd_magic_cast(pmac_t, card->pm_private_data, return -EINVAL); + pmac_t *chip = card->pm_private_data; unsigned long flags; if (chip->suspend) @@ -1228,7 +1255,7 @@ static int snd_pmac_resume(snd_card_t *card, unsigned int state) { - pmac_t *chip = snd_magic_cast(pmac_t, card->pm_private_data, return -EINVAL); + pmac_t *chip = card->pm_private_data; snd_pmac_sound_feature(chip, 1); if (chip->resume) diff -Nru a/sound/ppc/pmac.h b/sound/ppc/pmac.h --- a/sound/ppc/pmac.h 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/pmac.h 2004-08-25 19:27:40 -07:00 @@ -84,7 +84,7 @@ snd_pcm_substream_t *substream; - unsigned int cur_freqs; /* currently available frequences */ + unsigned int cur_freqs; /* currently available frequencies */ unsigned int cur_formats; /* currently available formats */ }; @@ -155,6 +155,7 @@ void (*mixer_free)(pmac_t *); snd_kcontrol_t *master_sw_ctl; snd_kcontrol_t *speaker_sw_ctl; + snd_kcontrol_t *drc_sw_ctl; /* only used for tumbler -ReneR */ snd_kcontrol_t *hp_detect_ctl; /* lowlevel callbacks */ @@ -173,6 +174,12 @@ int snd_pmac_new(snd_card_t *card, pmac_t **chip_return); int snd_pmac_pcm_new(pmac_t *chip); int snd_pmac_attach_beep(pmac_t *chip); +void snd_pmac_detach_beep(pmac_t *chip); +void snd_pmac_beep_stop(pmac_t *chip); +unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate); + +void snd_pmac_beep_dma_start(pmac_t *chip, int bytes, unsigned long addr, int speed); +void snd_pmac_beep_dma_stop(pmac_t *chip); /* initialize mixer */ int snd_pmac_awacs_init(pmac_t *chip); @@ -205,10 +212,5 @@ set_current_state(TASK_UNINTERRUPTIBLE);\ schedule_timeout(((msec) * HZ + 999) / 1000);\ } while (0) - -#ifndef PMAC_SUPPORT_PCM_BEEP -#define snd_pmac_attach_beep(chip) 0 -#define snd_pmac_beep_stop(chip) /**/ -#endif #endif /* __PMAC_H */ diff -Nru a/sound/ppc/powermac.c b/sound/ppc/powermac.c --- a/sound/ppc/powermac.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/powermac.c 2004-08-25 19:27:40 -07:00 @@ -30,31 +30,19 @@ #define CHIP_NAME "PMac" MODULE_DESCRIPTION("PowerMac"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Apple,PowerMac}}"); +MODULE_SUPPORTED_DEVICE("{{Apple,PowerMac}}"); MODULE_LICENSE("GPL"); static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ -/* static int enable = 1; */ -#ifdef PMAC_SUPPORT_PCM_BEEP static int enable_beep = 1; -#endif module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for " CHIP_NAME " soundchip."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for " CHIP_NAME " soundchip."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); -/* module_param(enable, bool, 0444); - MODULE_PARM_DESC(enable, "Enable this soundchip."); - MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); */ -#ifdef PMAC_SUPPORT_PCM_BEEP module_param(enable_beep, bool, 0444); MODULE_PARM_DESC(enable_beep, "Enable beep using PCM."); -MODULE_PARM_SYNTAX(enable_beep, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); -#endif /* @@ -133,10 +121,8 @@ goto __error; chip->initialized = 1; -#ifdef PMAC_SUPPORT_PCM_BEEP if (enable_beep) snd_pmac_attach_beep(chip); -#endif if ((err = snd_card_register(card)) < 0) goto __error; @@ -151,18 +137,14 @@ /* - * MODULE sutff + * MODULE stuff */ static int __init alsa_card_pmac_init(void) { int err; - if ((err = snd_pmac_probe()) < 0) { -#ifdef MODULE - printk(KERN_ERR "no PMac soundchip found\n"); -#endif + if ((err = snd_pmac_probe()) < 0) return err; - } return 0; } diff -Nru a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c --- a/sound/ppc/tumbler.c 2004-08-25 19:27:40 -07:00 +++ b/sound/ppc/tumbler.c 2004-08-25 19:27:40 -07:00 @@ -16,6 +16,11 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Rene Rebe : + * * update from shadow registers on wakeup and headphone plug + * * automatically toggle DRC on headphone plug + * */ @@ -36,8 +41,6 @@ #include "pmac.h" #include "tumbler_volume.h" -#define chip_t pmac_t - /* i2c address for tumbler */ #define TAS_I2C_ADDR 0x34 @@ -759,12 +762,6 @@ DEFINE_MONO("Tone Control - Treble", treble), DEFINE_MONO("PCM Playback Volume", pcm), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DRC Switch", - .info = snd_pmac_boolean_mono_info, - .get = tumbler_get_drc_switch, - .put = tumbler_put_drc_switch - }, - { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DRC Range", .info = tumbler_info_drc_value, .get = tumbler_get_drc_value, @@ -791,12 +788,6 @@ DEFINE_SNAPPER_MONO("Tone Control - Bass", bass), DEFINE_SNAPPER_MONO("Tone Control - Treble", treble), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DRC Switch", - .info = snd_pmac_boolean_mono_info, - .get = tumbler_get_drc_switch, - .put = tumbler_put_drc_switch - }, - { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DRC Range", .info = tumbler_info_drc_value, .get = tumbler_get_drc_value, @@ -826,6 +817,14 @@ .put = tumbler_put_mute_switch, .private_value = TUMBLER_MUTE_AMP, }; +static snd_kcontrol_new_t tumbler_drc_sw __initdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "DRC Switch", + .info = snd_pmac_boolean_mono_info, + .get = tumbler_get_drc_switch, + .put = tumbler_put_drc_switch +}; + #ifdef PMAC_SUPPORT_AUTOMUTE /* @@ -847,6 +846,29 @@ } } +static struct work_struct device_change; + +static void +device_change_handler(void *self) +{ + pmac_t *chip = (pmac_t*) self; + pmac_tumbler_t *mix; + + if (!chip) + return; + + mix = chip->mixer_data; + + /* first set the DRC so the speaker do not explode -ReneR */ + if (chip->model == PMAC_TUMBLER) + tumbler_set_drc(mix); + else + snapper_set_drc(mix); + + /* reset the master volume so the correct amplification is applied */ + tumbler_set_master_volume(mix); +} + static void tumbler_update_automute(pmac_t *chip, int do_notify) { if (chip->auto_mute) { @@ -856,14 +878,25 @@ /* mute speaker */ check_mute(chip, &mix->amp_mute, 1, do_notify, chip->speaker_sw_ctl); check_mute(chip, &mix->hp_mute, 0, do_notify, chip->master_sw_ctl); + mix->drc_enable = 0; + } else { /* unmute speaker */ check_mute(chip, &mix->amp_mute, 0, do_notify, chip->speaker_sw_ctl); check_mute(chip, &mix->hp_mute, 1, do_notify, chip->master_sw_ctl); + mix->drc_enable = 1; } - if (do_notify) + if (do_notify) { snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hp_detect_ctl->id); + snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, + &chip->drc_sw_ctl->id); + } + + /* finally we need to schedule an update of the mixer values + (master and DRC are enough for now) -ReneR */ + schedule_work(&device_change); + } } #endif /* PMAC_SUPPORT_AUTOMUTE */ @@ -872,7 +905,7 @@ /* interrupt - headphone plug changed */ static irqreturn_t headphone_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; if (chip->update_automute && chip->initialized) { chip->update_automute(chip, 1); return IRQ_HANDLED; @@ -1114,10 +1147,16 @@ chip->speaker_sw_ctl = snd_ctl_new1(&tumbler_speaker_sw, chip); if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0) return err; + chip->drc_sw_ctl = snd_ctl_new1(&tumbler_drc_sw, chip); + if ((err = snd_ctl_add(chip->card, chip->drc_sw_ctl)) < 0) + return err; + #ifdef CONFIG_PMAC_PBOOK chip->resume = tumbler_resume; #endif + + INIT_WORK(&device_change, device_change_handler, (void *)chip); #ifdef PMAC_SUPPORT_AUTOMUTE if (mix->headphone_irq >=0 && (err = snd_pmac_add_automute(chip)) < 0) diff -Nru a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c --- a/sound/sparc/amd7930.c 2004-08-25 19:27:40 -07:00 +++ b/sound/sparc/amd7930.c 2004-08-25 19:27:40 -07:00 @@ -54,18 +54,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Thomas K. Dyas and David S. Miller"); MODULE_DESCRIPTION("Sun AMD7930"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sun,AMD7930}}"); +MODULE_SUPPORTED_DEVICE("{{Sun,AMD7930}}"); /* Device register layout. */ @@ -345,7 +341,6 @@ unsigned int regs_size; struct snd_amd7930 *next; } amd7930_t; -#define chip_t amd7930_t static amd7930_t *amd7930_list; @@ -475,7 +470,6 @@ 0x000b, /* 16.9 dB */ 0x000f /* 18. dB */ }; -#define NR_GER_COEFFS (sizeof(ger_coeff) / sizeof(ger_coeff[0])) /* Update amd7930_map settings and program them into the hardware. * The amd->lock is held and local interrupts are disabled. @@ -487,7 +481,7 @@ map->gx = gx_coeff[amd->rgain]; map->stgr = gx_coeff[amd->mgain]; - level = (amd->pgain * (256 + NR_GER_COEFFS)) >> 8; + level = (amd->pgain * (256 + ARRAY_SIZE(ger_coeff))) >> 8; if (level >= 256) { map->ger = ger_coeff[level - 256]; map->gr = gx_coeff[255]; @@ -764,7 +758,7 @@ static void snd_amd7930_pcm_free(snd_pcm_t *pcm) { - amd7930_t *amd = snd_magic_cast(amd7930_t, pcm->private_data, return); + amd7930_t *amd = pcm->private_data; amd->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); @@ -916,8 +910,6 @@ }, }; -#define NUM_AMD7930_CONTROLS (sizeof(amd7930_controls)/sizeof(snd_kcontrol_new_t)) - static int __init snd_amd7930_mixer(amd7930_t *amd) { snd_card_t *card; @@ -928,7 +920,7 @@ card = amd->card; strcpy(card->mixername, card->shortname); - for (idx = 0; idx < NUM_AMD7930_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(amd7930_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&amd7930_controls[idx], amd))) < 0) return err; @@ -947,14 +939,14 @@ if (amd->regs) sbus_iounmap(amd->regs, amd->regs_size); - snd_magic_kfree(amd); + kfree(amd); return 0; } static int snd_amd7930_dev_free(snd_device_t *device) { - amd7930_t *amd = snd_magic_cast(amd7930_t, device->device_data, return -ENXIO); + amd7930_t *amd = device->device_data; return snd_amd7930_free(amd); } @@ -976,7 +968,7 @@ int err; *ramd = NULL; - amd = snd_magic_kcalloc(amd7930_t, 0, GFP_KERNEL); + amd = kcalloc(1, sizeof(*amd), 0, GFP_KERNEL); if (amd == NULL) return -ENOMEM; diff -Nru a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c --- a/sound/sparc/cs4231.c 2004-08-25 19:27:40 -07:00 +++ b/sound/sparc/cs4231.c 2004-08-25 19:27:40 -07:00 @@ -53,18 +53,14 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Jaroslav Kysela, Derrick J. Brashear and David S. Miller"); MODULE_DESCRIPTION("Sun CS4231"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sun,CS4231}}"); +MODULE_SUPPORTED_DEVICE("{{Sun,CS4231}}"); typedef struct snd_cs4231 { spinlock_t lock; @@ -112,7 +108,6 @@ unsigned int regs_size; struct snd_cs4231 *next; } cs4231_t; -#define chip_t cs4231_t static cs4231_t *cs4231_list; @@ -1232,7 +1227,7 @@ #ifdef SBUS_SUPPORT static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4231_t *chip = snd_magic_cast(cs4231_t, dev_id, return); + cs4231_t *chip = dev_id; u32 csr; csr = sbus_readl(chip->port + APCCSR); @@ -1256,7 +1251,7 @@ #ifdef EBUS_SUPPORT static void snd_cs4231_ebus_play_callback(struct ebus_dma_info *p, int event, void *cookie) { - cs4231_t *chip = snd_magic_cast(cs4231_t, cookie, return); + cs4231_t *chip = cookie; if (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE) { snd_pcm_period_elapsed(chip->playback_substream); @@ -1267,7 +1262,7 @@ static void snd_cs4231_ebus_capture_callback(struct ebus_dma_info *p, int event, void *cookie) { - cs4231_t *chip = snd_magic_cast(cs4231_t, cookie, return); + cs4231_t *chip = cookie; if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) { snd_pcm_period_elapsed(chip->capture_substream); @@ -1547,7 +1542,7 @@ static void snd_cs4231_pcm_free(snd_pcm_t *pcm) { - cs4231_t *chip = snd_magic_cast(cs4231_t, pcm->private_data, return); + cs4231_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1592,7 +1587,7 @@ static void snd_cs4231_timer_free(snd_timer_t *timer) { - cs4231_t *chip = snd_magic_cast(cs4231_t, timer->private_data, return); + cs4231_t *chip = timer->private_data; chip->timer = NULL; } @@ -1821,8 +1816,6 @@ return change; } -#define CS4231_CONTROLS (sizeof(snd_cs4231_controls)/sizeof(snd_kcontrol_new_t)) - #define CS4231_SINGLE(xname, xindex, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ .info = snd_cs4231_info_single, \ @@ -1875,7 +1868,7 @@ strcpy(card->mixername, chip->pcm->name); - for (idx = 0; idx < CS4231_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4231_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4231_controls[idx], chip))) < 0) @@ -1950,14 +1943,14 @@ if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_sbus_dev_free(snd_device_t *device) { - cs4231_t *cp = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *cp = device->device_data; return snd_cs4231_sbus_free(cp); } @@ -1975,7 +1968,7 @@ int err; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -2064,14 +2057,14 @@ if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_ebus_dev_free(snd_device_t *device) { - cs4231_t *cp = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *cp = device->device_data; return snd_cs4231_ebus_free(cp); } @@ -2089,7 +2082,7 @@ int err; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; diff -Nru a/sound/synth/emux/emux.c b/sound/synth/emux/emux.c --- a/sound/synth/emux/emux.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux.c 2004-08-25 19:27:40 -07:00 @@ -39,7 +39,7 @@ snd_emux_t *emu; *remu = NULL; - emu = snd_magic_kcalloc(snd_emux_t, 0, GFP_KERNEL); + emu = kcalloc(1, sizeof(*emu), GFP_KERNEL); if (emu == NULL) return -ENOMEM; @@ -77,7 +77,7 @@ emu->card = card; emu->name = snd_kmalloc_strdup(name, GFP_KERNEL); - emu->voices = snd_kcalloc(sizeof(snd_emux_voice_t) * emu->max_voices, GFP_KERNEL); + emu->voices = kcalloc(emu->max_voices, sizeof(snd_emux_voice_t), GFP_KERNEL); if (emu->voices == NULL) return -ENOMEM; @@ -143,7 +143,7 @@ if (emu->name) kfree(emu->name); - snd_magic_kfree(emu); + kfree(emu); return 0; } diff -Nru a/sound/synth/emux/emux_effect.c b/sound/synth/emux/emux_effect.c --- a/sound/synth/emux/emux_effect.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_effect.c 2004-08-25 19:27:40 -07:00 @@ -278,7 +278,7 @@ snd_emux_create_effect(snd_emux_port_t *p) { int i; - p->effect = snd_kcalloc(sizeof(snd_emux_effect_table_t) * p->chset.max_channels, GFP_KERNEL); + p->effect = kcalloc(p->chset.max_channels, sizeof(snd_emux_effect_table_t), GFP_KERNEL); if (p->effect) { for (i = 0; i < p->chset.max_channels; i++) p->chset.channels[i].private = p->effect + i; diff -Nru a/sound/synth/emux/emux_hwdep.c b/sound/synth/emux/emux_hwdep.c --- a/sound/synth/emux/emux_hwdep.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_hwdep.c 2004-08-25 19:27:40 -07:00 @@ -104,7 +104,7 @@ static int snd_emux_hwdep_ioctl(snd_hwdep_t * hw, struct file *file, unsigned int cmd, unsigned long arg) { - snd_emux_t *emu = snd_magic_cast(snd_emux_t, hw->private_data, return -ENXIO); + snd_emux_t *emu = hw->private_data; switch (cmd) { case SNDRV_EMUX_IOCTL_VERSION: diff -Nru a/sound/synth/emux/emux_nrpn.c b/sound/synth/emux/emux_nrpn.c --- a/sound/synth/emux/emux_nrpn.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_nrpn.c 2004-08-25 19:27:40 -07:00 @@ -22,8 +22,6 @@ #include "emux_voice.h" #include -#define NELEM(arr) (sizeof(arr)/sizeof((arr)[0])) - /* * conversion from NRPN/control parameters to Emu8000 raw parameters */ @@ -214,8 +212,6 @@ {26, EMUX_FX_REVERB, fx_reverb}, }; -static int num_awe_effects = NELEM(awe_effects); - /* * GS(SC88) NRPN effects; still experimental @@ -281,8 +277,6 @@ {10, EMUX_FX_LFO1_DELAY, gs_vib_delay}, }; -static int num_gs_effects = NELEM(gs_effects); - /* * NRPN events @@ -292,7 +286,7 @@ { snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL, return); snd_assert(chan != NULL, return); @@ -305,7 +299,7 @@ chan->control[MIDI_CTL_LSB_DATA_ENTRY]; val -= 8192; send_converted_effect - (awe_effects, num_awe_effects, + (awe_effects, ARRAY_SIZE(awe_effects), port, chan, chan->control[MIDI_CTL_NONREG_PARM_NUM_LSB], val, EMUX_FX_FLAG_SET); return; @@ -318,7 +312,7 @@ /* only MSB is valid */ val = chan->control[MIDI_CTL_MSB_DATA_ENTRY]; send_converted_effect - (gs_effects, num_gs_effects, + (gs_effects, ARRAY_SIZE(gs_effects), port, chan, chan->control[MIDI_CTL_NONREG_PARM_NUM_LSB], val, EMUX_FX_FLAG_ADD); return; @@ -362,12 +356,10 @@ {73, EMUX_FX_ENV2_ATTACK, xg_attack}, }; -static int num_xg_effects = NELEM(xg_effects); - int snd_emux_xg_control(snd_emux_port_t *port, snd_midi_channel_t *chan, int param) { - return send_converted_effect(xg_effects, num_xg_effects, + return send_converted_effect(xg_effects, ARRAY_SIZE(xg_effects), port, chan, param, chan->control[param], EMUX_FX_FLAG_ADD); @@ -382,7 +374,7 @@ snd_emux_port_t *port; snd_emux_t *emu; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL, return); snd_assert(chset != NULL, return); emu = port->emu; diff -Nru a/sound/synth/emux/emux_oss.c b/sound/synth/emux/emux_oss.c --- a/sound/synth/emux/emux_oss.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_oss.c 2004-08-25 19:27:40 -07:00 @@ -108,7 +108,7 @@ snd_seq_port_callback_t callback; char tmpname[64]; - emu = snd_magic_cast(snd_emux_t, closure, return -EINVAL); + emu = closure; snd_assert(arg != NULL && emu != NULL, return -ENXIO); down(&emu->register_mutex); @@ -179,7 +179,7 @@ snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -208,7 +208,7 @@ int rc; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -248,7 +248,7 @@ snd_emux_t *emu; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -278,7 +278,7 @@ snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); snd_emux_reset_port(p); return 0; @@ -296,7 +296,7 @@ snd_emux_port_t *p; unsigned char cmd, *data; - p = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + p = private_data; snd_assert(p != NULL, return -EINVAL); emu = p->emu; snd_assert(emu != NULL, return -EINVAL); @@ -339,9 +339,11 @@ p2 = *(short *) &event[6]; switch (cmd) { +#if 0 /* don't do this atomically */ case _EMUX_OSS_REMOVE_LAST_SAMPLES: snd_soundfont_remove_unlocked(emu->sflist); break; +#endif case _EMUX_OSS_SEND_EFFECT: if (chan) snd_emux_send_effect_oss(port, chan, p1, p2); diff -Nru a/sound/synth/emux/emux_proc.c b/sound/synth/emux/emux_proc.c --- a/sound/synth/emux/emux_proc.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_proc.c 2004-08-25 19:27:40 -07:00 @@ -36,7 +36,7 @@ snd_emux_t *emu; int i; - emu = snd_magic_cast(snd_emux_t, entry->private_data, return); + emu = entry->private_data; down(&emu->register_mutex); if (emu->name) snd_iprintf(buf, "Device: %s\n", emu->name); diff -Nru a/sound/synth/emux/emux_seq.c b/sound/synth/emux/emux_seq.c --- a/sound/synth/emux/emux_seq.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_seq.c 2004-08-25 19:27:40 -07:00 @@ -146,14 +146,14 @@ int i, type, cap; /* Allocate structures for this channel */ - if ((p = snd_magic_kcalloc(snd_emux_port_t, 0, GFP_KERNEL)) == NULL) { + if ((p = kcalloc(1, sizeof(*p), GFP_KERNEL)) == NULL) { snd_printk("no memory\n"); return NULL; } - p->chset.channels = snd_kcalloc(max_channels * sizeof(snd_midi_channel_t), GFP_KERNEL); + p->chset.channels = kcalloc(max_channels, sizeof(snd_midi_channel_t), GFP_KERNEL); if (p->chset.channels == NULL) { snd_printk("no memory\n"); - snd_magic_kfree(p); + kfree(p); return NULL; } for (i = 0; i < max_channels; i++) @@ -192,14 +192,14 @@ { snd_emux_port_t *p; - p = snd_magic_cast(snd_emux_port_t, private_data, return); + p = private_data; if (p) { #ifdef SNDRV_EMUX_USE_RAW_EFFECT snd_emux_delete_effect(p); #endif if (p->chset.channels) kfree(p->chset.channels); - snd_magic_kfree(p); + kfree(p); } } @@ -257,7 +257,7 @@ { snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + port = private_data; snd_assert(port != NULL && ev != NULL, return -EINVAL); snd_midi_process_event(&emux_ops, ev, &port->chset); @@ -308,7 +308,7 @@ snd_emux_port_t *p; snd_emux_t *emu; - p = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + p = private_data; snd_assert(p != NULL, return -EINVAL); emu = p->emu; snd_assert(emu != NULL, return -EINVAL); @@ -329,7 +329,7 @@ snd_emux_port_t *p; snd_emux_t *emu; - p = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + p = private_data; snd_assert(p != NULL, return -EINVAL); emu = p->emu; snd_assert(emu != NULL, return -EINVAL); @@ -383,7 +383,7 @@ if (emu->midi_ports <= 0) return 0; - emu->vmidi = snd_kcalloc(sizeof(snd_rawmidi_t*) * emu->midi_ports, GFP_KERNEL); + emu->vmidi = kcalloc(emu->midi_ports, sizeof(snd_rawmidi_t*), GFP_KERNEL); if (emu->vmidi == NULL) return -ENOMEM; @@ -392,7 +392,7 @@ snd_virmidi_dev_t *rdev; if (snd_virmidi_new(card, emu->midi_devidx + i, &rmidi) < 0) goto __error; - rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, continue); + rdev = rmidi->private_data; sprintf(rmidi->name, "%s Synth MIDI", emu->name); rdev->seq_mode = SNDRV_VIRMIDI_SEQ_ATTACH; rdev->client = emu->client; diff -Nru a/sound/synth/emux/emux_synth.c b/sound/synth/emux/emux_synth.c --- a/sound/synth/emux/emux_synth.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/emux_synth.c 2004-08-25 19:27:40 -07:00 @@ -61,7 +61,7 @@ unsigned long flags; snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL && chan != NULL, return); emu = port->emu; @@ -160,7 +160,7 @@ unsigned long flags; snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL && chan != NULL, return); emu = port->emu; @@ -201,7 +201,7 @@ */ void snd_emux_timer_callback(unsigned long data) { - snd_emux_t *emu = snd_magic_cast(snd_emux_t, (void*)data, return); + snd_emux_t *emu = (snd_emux_t*) data; snd_emux_voice_t *vp; int ch, do_again = 0; @@ -238,7 +238,7 @@ unsigned long flags; snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL && chan != NULL, return); emu = port->emu; @@ -322,7 +322,7 @@ { snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL && chan != NULL, return); switch (type) { @@ -402,7 +402,7 @@ snd_emux_t *emu; snd_emux_port_t *port; - port = snd_magic_cast(snd_emux_port_t, p, return); + port = p; snd_assert(port != NULL && chan != NULL, return); emu = port->emu; diff -Nru a/sound/synth/emux/soundfont.c b/sound/synth/emux/soundfont.c --- a/sound/synth/emux/soundfont.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/emux/soundfont.c 2004-08-25 19:27:40 -07:00 @@ -64,15 +64,14 @@ /* * lock access to sflist */ -static int -lock_preset(snd_sf_list_t *sflist, int nonblock) +static void +lock_preset(snd_sf_list_t *sflist) { - if (nonblock) { - if (down_trylock(&sflist->presets_mutex)) - return -EBUSY; - } else - down(&sflist->presets_mutex); - return 0; + unsigned long flags; + down(&sflist->presets_mutex); + spin_lock_irqsave(&sflist->lock, flags); + sflist->presets_locked = 1; + spin_unlock_irqrestore(&sflist->lock, flags); } @@ -82,6 +81,10 @@ static void unlock_preset(snd_sf_list_t *sflist) { + unsigned long flags; + spin_lock_irqsave(&sflist->lock, flags); + sflist->presets_locked = 0; + spin_unlock_irqrestore(&sflist->lock, flags); up(&sflist->presets_mutex); } @@ -143,7 +146,7 @@ if (patch.type == SNDRV_SFNT_OPEN_PATCH) { /* grab sflist to open */ - lock_preset(sflist, 0); + lock_preset(sflist); rc = open_patch(sflist, data, count, client); unlock_preset(sflist); return rc; @@ -157,7 +160,7 @@ } spin_unlock_irqrestore(&sflist->lock, flags); - lock_preset(sflist, 0); + lock_preset(sflist); rc = -EINVAL; switch (patch.type) { case SNDRV_SFNT_LOAD_INFO: @@ -237,8 +240,10 @@ return -ENOMEM; } + spin_lock_irqsave(&sflist->lock, flags); sflist->open_client = client; sflist->currsf = sf; + spin_unlock_irqrestore(&sflist->lock, flags); return 0; } @@ -261,7 +266,7 @@ } /* not found -- create a new one */ - sf = (snd_soundfont_t*)snd_kcalloc(sizeof(*sf), GFP_KERNEL); + sf = kcalloc(1, sizeof(*sf), GFP_KERNEL); if (sf == NULL) return NULL; sf->id = sflist->fonts_size; @@ -296,8 +301,12 @@ static int close_patch(snd_sf_list_t *sflist) { + unsigned long flags; + + spin_lock_irqsave(&sflist->lock, flags); sflist->currsf = NULL; sflist->open_client = -1; + spin_unlock_irqrestore(&sflist->lock, flags); rebuild_presets(sflist); @@ -337,7 +346,7 @@ { snd_sf_zone_t *zp; - if ((zp = snd_kcalloc(sizeof(*zp), GFP_KERNEL)) == NULL) + if ((zp = kcalloc(1, sizeof(*zp), GFP_KERNEL)) == NULL) return NULL; zp->next = sf->zones; sf->zones = zp; @@ -368,7 +377,7 @@ { snd_sf_sample_t *sp; - if ((sp = snd_kcalloc(sizeof(*sp), GFP_KERNEL)) == NULL) + if ((sp = kcalloc(1, sizeof(*sp), GFP_KERNEL)) == NULL) return NULL; sp->next = sf->samples; @@ -1090,7 +1099,7 @@ long count, int client) { int rc; - lock_preset(sflist, 0); + lock_preset(sflist); rc = load_guspatch(sflist, data, count, client); unlock_preset(sflist); return rc; @@ -1197,17 +1206,23 @@ snd_sf_zone_t **table, int max_layers) { int nvoices; + unsigned long flags; - if (lock_preset(sflist, 1)) + /* this function is supposed to be called atomically, + * so we check the lock. if it's busy, just returns 0 to + * tell the caller the busy state + */ + spin_lock_irqsave(&sflist->lock, flags); + if (sflist->presets_locked) { + spin_unlock_irqrestore(&sflist->lock, flags); return 0; - + } nvoices = search_zones(sflist, notep, vel, preset, bank, table, max_layers, 0); if (! nvoices) { if (preset != def_preset || bank != def_bank) nvoices = search_zones(sflist, notep, vel, def_preset, def_bank, table, max_layers, 0); } - unlock_preset(sflist); - + spin_unlock_irqrestore(&sflist->lock, flags); return nvoices; } @@ -1347,7 +1362,7 @@ { snd_sf_list_t *sflist; - if ((sflist = snd_kcalloc(sizeof(snd_sf_list_t), GFP_KERNEL)) == NULL) + if ((sflist = kcalloc(1, sizeof(*sflist), GFP_KERNEL)) == NULL) return NULL; init_MUTEX(&sflist->presets_mutex); @@ -1371,7 +1386,7 @@ if (sflist == NULL) return; - lock_preset(sflist, 0); + lock_preset(sflist); if (sflist->callback.sample_reset) sflist->callback.sample_reset(sflist->callback.private_data); snd_sf_clear(sflist); @@ -1387,7 +1402,7 @@ int snd_soundfont_remove_samples(snd_sf_list_t *sflist) { - lock_preset(sflist, 0); + lock_preset(sflist); if (sflist->callback.sample_reset) sflist->callback.sample_reset(sflist->callback.private_data); snd_sf_clear(sflist); @@ -1407,8 +1422,7 @@ snd_sf_zone_t *zp, *nextzp; snd_sf_sample_t *sp, *nextsp; - if (lock_preset(sflist, 1)) - return -EBUSY; + lock_preset(sflist); if (sflist->callback.sample_reset) sflist->callback.sample_reset(sflist->callback.private_data); diff -Nru a/sound/synth/util_mem.c b/sound/synth/util_mem.c --- a/sound/synth/util_mem.c 2004-08-25 19:27:40 -07:00 +++ b/sound/synth/util_mem.c 2004-08-25 19:27:40 -07:00 @@ -38,7 +38,7 @@ { snd_util_memhdr_t *hdr; - hdr = snd_kcalloc(sizeof(*hdr), GFP_KERNEL); + hdr = kcalloc(1, sizeof(*hdr), GFP_KERNEL); if (hdr == NULL) return NULL; hdr->size = memsize; diff -Nru a/sound/usb/Kconfig b/sound/usb/Kconfig --- a/sound/usb/Kconfig 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/Kconfig 2004-08-25 19:27:40 -07:00 @@ -11,5 +11,15 @@ help Say 'Y' or 'M' to include support for USB audio and USB MIDI devices. +config SND_USB_USX2Y + tristate "Tascam US-122, US-224 and US-428 USB driver" + depends on SND && USB + select SND_HWDEP + select SND_RAWMIDI + select SND_PCM + help + Say 'Y' or 'M' to include support for Tascam USB Audio/MIDI + interfaces or controllers US-122, US-224 and US-428. + endmenu diff -Nru a/sound/usb/Makefile b/sound/usb/Makefile --- a/sound/usb/Makefile 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/Makefile 2004-08-25 19:27:40 -07:00 @@ -2,7 +2,11 @@ # Makefile for ALSA # -snd-usb-audio-objs := usbaudio.o usbmixer.o usbmidi.o +snd-usb-audio-objs := usbaudio.o usbmixer.o +snd-usb-lib-objs := usbmidi.o # Toplevel Module Dependency -obj-$(CONFIG_SND_USB_AUDIO) += snd-usb-audio.o +obj-$(CONFIG_SND_USB_AUDIO) += snd-usb-audio.o snd-usb-lib.o +obj-$(CONFIG_SND_USB_USX2Y) += snd-usb-lib.o + +obj-$(CONFIG_SND) += usx2y/ diff -Nru a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c --- a/sound/usb/usbaudio.c 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbaudio.c 2004-08-25 19:27:40 -07:00 @@ -5,7 +5,7 @@ * * Copyright (c) 2002 by Takashi Iwai * - * Many codes borrowed from audio.c by + * Many codes borrowed from audio.c by * Alan Cox (alan@lxorguk.ukuu.org.uk) * Thomas Sailer (sailer@ife.ee.ethz.ch) * @@ -58,8 +58,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("USB Audio"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Generic,USB Audio}}"); +MODULE_SUPPORTED_DEVICE("{{Generic,USB Audio}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -73,25 +72,18 @@ module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the USB audio adapter."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the USB audio adapter."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable USB audio adapter."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(vid, int, boot_devs, 0444); MODULE_PARM_DESC(vid, "Vendor ID for the USB audio device."); -MODULE_PARM_SYNTAX(vid, SNDRV_ENABLED ",allows:{{-1,0xffff}},base:16"); module_param_array(pid, int, boot_devs, 0444); MODULE_PARM_DESC(pid, "Product ID for the USB audio device."); -MODULE_PARM_SYNTAX(pid, SNDRV_ENABLED ",allows:{{-1,0xffff}},base:16"); module_param(nrpacks, int, 0444); MODULE_PARM_DESC(nrpacks, "Max. number of packets per URB."); -MODULE_PARM_SYNTAX(nrpacks, SNDRV_ENABLED ",allows:{{1,10}}"); module_param(async_unlink, bool, 0444); MODULE_PARM_DESC(async_unlink, "Use async unlink mode."); -MODULE_PARM_SYNTAX(async_unlink, SNDRV_BOOLEAN_TRUE_DESC); /* @@ -104,7 +96,7 @@ * */ -#define MAX_PACKS 10 +#define MAX_PACKS 10 #define MAX_PACKS_HS (MAX_PACKS * 8) /* in high speed mode */ #define MAX_URBS 5 /* max. 20ms long packets */ #define SYNC_URBS 2 /* always two urbs for sync */ @@ -207,8 +199,6 @@ struct list_head list; }; -#define chip_t snd_usb_stream_t - /* * we keep the snd_usb_audio_t instances by ourselves for merging @@ -354,7 +344,7 @@ if (! urb->bandwidth) { int bustime; bustime = usb_check_bandwidth(urb->dev, urb); - if (bustime < 0) + if (bustime < 0) return bustime; printk("urb %d: bandwidth = %d (packets = %d)\n", ctx->index, bustime, urb->number_of_packets); usb_claim_bandwidth(urb->dev, urb, bustime, 1); @@ -826,7 +816,7 @@ } -/* +/* * wait until all urbs are processed. */ static int wait_clear_urbs(snd_usb_substream_t *subs) @@ -1148,7 +1138,7 @@ if (fmt->attributes & EP_CS_ATTR_PITCH_CONTROL) { data[0] = 1; if ((err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, - USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, PITCH_CONTROL << 8, ep, data, 1, HZ)) < 0) { snd_printk(KERN_ERR "%d:%d:%d: cannot set enable PITCH\n", dev->devnum, iface, ep); @@ -1174,7 +1164,7 @@ data[1] = rate >> 8; data[2] = rate >> 16; if ((err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, - USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { snd_printk(KERN_ERR "%d:%d:%d: cannot set freq %d to ep 0x%x\n", dev->devnum, iface, fmt->altsetting, rate, ep); @@ -1183,9 +1173,9 @@ if ((err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), GET_CUR, USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_IN, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { - snd_printk(KERN_ERR "%d:%d:%d: cannot get freq at ep 0x%x\n", + snd_printk(KERN_WARNING "%d:%d:%d: cannot get freq at ep 0x%x\n", dev->devnum, iface, fmt->altsetting, ep); - return err; + return 0; /* some devices don't support reading */ } crate = data[0] | (data[1] << 8) | (data[2] << 16); if (crate != rate) { @@ -1323,7 +1313,7 @@ ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); if (ret < 0) return ret; - + format = params_format(hw_params); rate = params_rate(hw_params); channels = params_channels(hw_params); @@ -1482,7 +1472,7 @@ snd_interval_t *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); unsigned int rmin, rmax; int changed; - + hwc_debug("hw_rule_rate: (%d,%d)\n", it->min, it->max); changed = 0; rmin = rmax = 0; @@ -1536,7 +1526,7 @@ snd_interval_t *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); unsigned int rmin, rmax; int changed; - + hwc_debug("hw_rule_channels: (%d,%d)\n", it->min, it->max); changed = 0; rmin = rmax = 0; @@ -1590,7 +1580,7 @@ u64 fbits; u32 oldbits[2]; int changed; - + hwc_debug("hw_rule_format: %x:%x\n", fmt->bits[0], fmt->bits[1]); fbits = 0; list_for_each(p, &subs->fmt_list) { @@ -1734,13 +1724,13 @@ if (check_hw_params_convention(subs)) { hwc_debug("setting extra hw constraints...\n"); - if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, + if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, hw_rule_rate, subs, SNDRV_PCM_HW_PARAM_FORMAT, SNDRV_PCM_HW_PARAM_CHANNELS, -1)) < 0) return err; - if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, hw_rule_channels, subs, SNDRV_PCM_HW_PARAM_FORMAT, SNDRV_PCM_HW_PARAM_RATE, @@ -2001,8 +1991,8 @@ static void proc_pcm_format_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_stream_t *stream = snd_magic_cast(snd_usb_stream_t, entry->private_data, return); - + snd_usb_stream_t *stream = entry->private_data; + snd_iprintf(buffer, "%s : %s\n", stream->chip->card->longname, stream->pcm->name); if (stream->substream[SNDRV_PCM_STREAM_PLAYBACK].num_formats) { @@ -2089,7 +2079,7 @@ free_substream(&stream->substream[0]); free_substream(&stream->substream[1]); list_del(&stream->list); - snd_magic_kfree(stream); + kfree(stream); } static void snd_usb_audio_pcm_free(snd_pcm_t *pcm) @@ -2146,7 +2136,7 @@ } /* create a new pcm */ - as = snd_magic_kmalloc(snd_usb_stream_t, 0, GFP_KERNEL); + as = kmalloc(sizeof(*as), GFP_KERNEL); if (! as) return -ENOMEM; memset(as, 0, sizeof(*as)); @@ -2158,13 +2148,13 @@ stream == SNDRV_PCM_STREAM_PLAYBACK ? 0 : 1, &pcm); if (err < 0) { - snd_magic_kfree(as); + kfree(as); return err; } as->pcm = pcm; pcm->private_data = as; pcm->private_free = snd_usb_audio_pcm_free; - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; if (chip->pcm_devs > 0) sprintf(pcm->name, "USB Audio #%d", chip->pcm_devs); else @@ -2182,6 +2172,24 @@ /* + * check if the device uses big-endian samples + */ +static int is_big_endian_format(struct usb_device *dev, struct audioformat *fp) +{ + /* M-Audio */ + if (dev->descriptor.idVendor == 0x0763) { + /* Quattro: captured data only */ + if (dev->descriptor.idProduct == 0x2001 && + fp->endpoint & USB_DIR_IN) + return 1; + /* Audiophile USB */ + if (dev->descriptor.idProduct == 0x2003) + return 1; + } + return 0; +} + +/* * parse the audio format type I descriptor * and returns the corresponding pcm format * @@ -2217,17 +2225,13 @@ pcm_format = SNDRV_PCM_FORMAT_S8; break; case 2: - /* M-Audio audiophile USB workaround */ - if (dev->descriptor.idVendor == 0x0763 && - dev->descriptor.idProduct == 0x2003) + if (is_big_endian_format(dev, fp)) pcm_format = SNDRV_PCM_FORMAT_S16_BE; /* grrr, big endian!! */ else pcm_format = SNDRV_PCM_FORMAT_S16_LE; break; case 3: - /* M-Audio audiophile USB workaround */ - if (dev->descriptor.idVendor == 0x0763 && - dev->descriptor.idProduct == 0x2003) + if (is_big_endian_format(dev, fp)) pcm_format = SNDRV_PCM_FORMAT_S24_3BE; /* grrr, big endian!! */ else pcm_format = SNDRV_PCM_FORMAT_S24_3LE; @@ -2281,7 +2285,7 @@ { int nr_rates = fmt[offset]; if (fmt[0] < offset + 1 + 3 * (nr_rates ? nr_rates : 2)) { - snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", dev->devnum, fp->iface, fp->altsetting); return -1; } @@ -2419,7 +2423,7 @@ } #endif return 0; -} +} static int parse_audio_endpoints(snd_usb_audio_t *chip, int iface_no) { @@ -2465,22 +2469,22 @@ } if (fmt[0] < 7) { - snd_printk(KERN_ERR "%d:%u:%d : invalid AS_GENERAL desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid AS_GENERAL desc\n", dev->devnum, iface_no, altno); continue; } format = (fmt[6] << 8) | fmt[5]; /* remember the format value */ - + /* get format type */ fmt = snd_usb_find_csint_desc(alts->extra, alts->extralen, NULL, FORMAT_TYPE); if (!fmt) { - snd_printk(KERN_ERR "%d:%u:%d : no FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : no FORMAT_TYPE desc\n", dev->devnum, iface_no, altno); continue; } if (fmt[0] < 8) { - snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", dev->devnum, iface_no, altno); continue; } @@ -2490,7 +2494,7 @@ if (!csep && altsd->bNumEndpoints >= 2) csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT); if (!csep || csep[0] < 7 || csep[2] != EP_GENERAL) { - snd_printk(KERN_ERR "%d:%u:%d : no or invalid class specific endpoint descriptor\n", + snd_printk(KERN_ERR "%d:%u:%d : no or invalid class specific endpoint descriptor\n", dev->devnum, iface_no, altno); continue; } @@ -2920,14 +2924,14 @@ */ static void proc_audio_usbbus_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, entry->private_data, return); + snd_usb_audio_t *chip = entry->private_data; if (! chip->shutdown) snd_iprintf(buffer, "%03d/%03d\n", chip->dev->bus->busnum, chip->dev->devnum); } static void proc_audio_usbid_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, entry->private_data, return); + snd_usb_audio_t *chip = entry->private_data; if (! chip->shutdown) snd_iprintf(buffer, "%04x:%04x\n", chip->dev->descriptor.idVendor, chip->dev->descriptor.idProduct); } @@ -2950,13 +2954,13 @@ static int snd_usb_audio_free(snd_usb_audio_t *chip) { - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_usb_audio_dev_free(snd_device_t *device) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, device->device_data, return -ENXIO); + snd_usb_audio_t *chip = device->device_data; return snd_usb_audio_free(chip); } @@ -2975,7 +2979,7 @@ static snd_device_ops_t ops = { .dev_free = snd_usb_audio_dev_free, }; - + *rchip = NULL; if (snd_usb_get_speed(dev) != USB_SPEED_FULL && @@ -2990,7 +2994,7 @@ return -ENOMEM; } - chip = snd_magic_kcalloc(snd_usb_audio_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) { snd_card_free(card); return -ENOMEM; @@ -3171,7 +3175,7 @@ /* * we need to take care of counter, since disconnection can be called also - * many times as well as usb_audio_probe(). + * many times as well as usb_audio_probe(). */ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) { @@ -3182,7 +3186,7 @@ if (ptr == (void *)-1L) return; - chip = snd_magic_cast(snd_usb_audio_t, ptr, return); + chip = ptr; card = chip->card; down(®ister_mutex); chip->shutdown = 1; diff -Nru a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h --- a/sound/usb/usbaudio.h 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbaudio.h 2004-08-25 19:27:40 -07:00 @@ -124,7 +124,6 @@ typedef struct snd_usb_audio snd_usb_audio_t; struct snd_usb_audio { - int index; struct usb_device *dev; snd_card_t *card; @@ -138,15 +137,17 @@ int next_midi_device; unsigned int ignore_ctl_error; /* for mixer */ -}; +}; /* * Information about devices with broken descriptors */ +/* special values for .ifnum */ #define QUIRK_NO_INTERFACE -2 #define QUIRK_ANY_INTERFACE -1 +/* quirk type */ #define QUIRK_MIDI_FIXED_ENDPOINT 0 #define QUIRK_MIDI_YAMAHA 1 #define QUIRK_MIDI_MIDIMAN 2 @@ -205,6 +206,8 @@ int snd_usb_create_mixer(snd_usb_audio_t *chip, int ctrlif); int snd_usb_create_midi_interface(snd_usb_audio_t *chip, struct usb_interface *iface, const snd_usb_audio_quirk_t *quirk); +void snd_usbmidi_input_stop(struct list_head* p); +void snd_usbmidi_input_start(struct list_head* p); void snd_usbmidi_disconnect(struct list_head *p, struct usb_driver *driver); /* diff -Nru a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c --- a/sound/usb/usbmidi.c 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbmidi.c 2004-08-25 19:27:40 -07:00 @@ -49,6 +49,11 @@ #include #include "usbaudio.h" +MODULE_AUTHOR("Clemens Ladisch "); +MODULE_DESCRIPTION("USB Audio/MIDI helper module"); +MODULE_LICENSE("Dual BSD/GPL"); + + struct usb_ms_header_descriptor { __u8 bLength; __u8 bDescriptorType; @@ -175,7 +180,7 @@ */ static void snd_usbmidi_in_urb_complete(struct urb* urb, struct pt_regs *regs) { - snd_usb_midi_in_endpoint_t* ep = snd_magic_cast(snd_usb_midi_in_endpoint_t, urb->context, return); + snd_usb_midi_in_endpoint_t* ep = urb->context; if (urb->status == 0) { uint8_t* buffer = (uint8_t*)ep->urb->transfer_buffer; @@ -229,7 +234,7 @@ static void snd_usbmidi_out_urb_complete(struct urb* urb, struct pt_regs *regs) { - snd_usb_midi_out_endpoint_t* ep = snd_magic_cast(snd_usb_midi_out_endpoint_t, urb->context, return); + snd_usb_midi_out_endpoint_t* ep = urb->context; if (urb->status < 0) { if (snd_usbmidi_urb_error(urb->status) < 0) @@ -393,7 +398,7 @@ int p; struct urb* urb = ep->urb; unsigned long flags; - + spin_lock_irqsave(&ep->buffer_lock, flags); if (urb->status == -EINPROGRESS || ep->umidi->chip->shutdown) { spin_unlock_irqrestore(&ep->buffer_lock, flags); @@ -417,14 +422,14 @@ static void snd_usbmidi_out_tasklet(unsigned long data) { - snd_usb_midi_out_endpoint_t* ep = snd_magic_cast(snd_usb_midi_out_endpoint_t, (void*)data, return); - + snd_usb_midi_out_endpoint_t* ep = (snd_usb_midi_out_endpoint_t *) data; + snd_usbmidi_do_output(ep); } static int snd_usbmidi_output_open(snd_rawmidi_substream_t* substream) { - snd_usb_midi_t* umidi = snd_magic_cast(snd_usb_midi_t, substream->rmidi->private_data, return -ENXIO); + snd_usb_midi_t* umidi = substream->rmidi->private_data; usbmidi_out_port_t* port = NULL; int i, j; @@ -503,7 +508,7 @@ kfree(ep->urb->transfer_buffer); usb_free_urb(ep->urb); } - snd_magic_kfree(ep); + kfree(ep); } /* @@ -571,7 +576,7 @@ int length; rep->in = NULL; - ep = snd_magic_kcalloc(snd_usb_midi_in_endpoint_t, 0, GFP_KERNEL); + ep = kcalloc(1, sizeof(*ep), GFP_KERNEL); if (!ep) return -ENOMEM; ep->umidi = umidi; @@ -631,7 +636,7 @@ kfree(ep->urb->transfer_buffer); usb_free_urb(ep->urb); } - snd_magic_kfree(ep); + kfree(ep); } /* @@ -647,7 +652,7 @@ void* buffer; rep->out = NULL; - ep = snd_magic_kcalloc(snd_usb_midi_out_endpoint_t, 0, GFP_KERNEL); + ep = kcalloc(1, sizeof(*ep), GFP_KERNEL); if (!ep) return -ENOMEM; ep->umidi = umidi; @@ -695,7 +700,7 @@ if (ep->in) snd_usbmidi_in_endpoint_delete(ep->in); } - snd_magic_kfree(umidi); + kfree(umidi); } /* @@ -718,7 +723,7 @@ static void snd_usbmidi_rawmidi_free(snd_rawmidi_t* rmidi) { - snd_usb_midi_t* umidi = snd_magic_cast(snd_usb_midi_t, rmidi->private_data, return); + snd_usb_midi_t* umidi = rmidi->private_data; snd_usbmidi_free(umidi); } @@ -964,7 +969,7 @@ * If the endpoints aren't specified, use the first bulk endpoints in the * first alternate setting of the interface. */ -static int snd_usbmidi_detect_endpoint(snd_usb_midi_t* umidi, +static int snd_usbmidi_detect_endpoint(snd_usb_midi_t* umidi, snd_usb_midi_endpoint_info_t* endpoint) { struct usb_interface* intf; @@ -998,7 +1003,7 @@ /* * Detects the endpoints and ports of Yamaha devices. */ -static int snd_usbmidi_detect_yamaha(snd_usb_midi_t* umidi, +static int snd_usbmidi_detect_yamaha(snd_usb_midi_t* umidi, snd_usb_midi_endpoint_info_t* endpoint) { struct usb_interface* intf; @@ -1145,6 +1150,44 @@ } /* + * Temporarily stop input. + */ +void snd_usbmidi_input_stop(struct list_head* p) +{ + snd_usb_midi_t* umidi; + int i; + + umidi = list_entry(p, snd_usb_midi_t, list); + for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) { + snd_usb_midi_endpoint_t* ep = &umidi->endpoints[i]; + if (ep->in) + usb_unlink_urb(ep->in->urb); + } +} + +static void snd_usbmidi_input_start_ep(snd_usb_midi_in_endpoint_t* ep) +{ + if (ep) { + struct urb* urb = ep->urb; + urb->dev = ep->umidi->chip->dev; + snd_usbmidi_submit_urb(urb, GFP_KERNEL); + } +} + +/* + * Resume input after a call to snd_usbmidi_input_stop(). + */ +void snd_usbmidi_input_start(struct list_head* p) +{ + snd_usb_midi_t* umidi; + int i; + + umidi = list_entry(p, snd_usb_midi_t, list); + for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) + snd_usbmidi_input_start_ep(umidi->endpoints[i].in); +} + +/* * Creates and registers everything needed for a MIDI streaming interface. */ int snd_usb_create_midi_interface(snd_usb_audio_t* chip, @@ -1156,7 +1199,7 @@ int out_ports, in_ports; int i, err; - umidi = snd_magic_kcalloc(snd_usb_midi_t, 0, GFP_KERNEL); + umidi = kcalloc(1, sizeof(*umidi), GFP_KERNEL); if (!umidi) return -ENOMEM; umidi->chip = chip; @@ -1189,7 +1232,7 @@ } } if (err < 0) { - snd_magic_kfree(umidi); + kfree(umidi); return err; } @@ -1202,7 +1245,7 @@ } err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports); if (err < 0) { - snd_magic_kfree(umidi); + kfree(umidi); return err; } @@ -1219,8 +1262,11 @@ list_add(&umidi->list, &umidi->chip->midi_list); for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) - if (umidi->endpoints[i].in) - snd_usbmidi_submit_urb(umidi->endpoints[i].in->urb, - GFP_KERNEL); + snd_usbmidi_input_start_ep(umidi->endpoints[i].in); return 0; } + +EXPORT_SYMBOL(snd_usb_create_midi_interface); +EXPORT_SYMBOL(snd_usbmidi_input_stop); +EXPORT_SYMBOL(snd_usbmidi_input_start); +EXPORT_SYMBOL(snd_usbmidi_disconnect); diff -Nru a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c --- a/sound/usb/usbmixer.c 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbmixer.c 2004-08-25 19:27:40 -07:00 @@ -5,7 +5,7 @@ * * Copyright (c) 2002 by Takashi Iwai * - * Many codes borrowed from audio.c by + * Many codes borrowed from audio.c by * Alan Cox (alan@lxorguk.ukuu.org.uk) * Thomas Sailer (sailer@ife.ee.ethz.ch) * @@ -77,7 +77,7 @@ unsigned int ctrlif; unsigned int id; unsigned int control; /* CS or ICN (high byte) */ - unsigned int cmask; /* channel mask bitmap: 0 = master */ + unsigned int cmask; /* channel mask bitmap: 0 = master */ int channels; int val_type; int min, max, res; @@ -299,7 +299,7 @@ unsigned char buf[2]; int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; int timeout = 10; - + while (timeout-- > 0) { if (snd_usb_ctl_msg(cval->chip->dev, usb_rcvctrlpipe(cval->chip->dev, 0), request, @@ -334,7 +334,7 @@ unsigned char buf[2]; int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; int timeout = 10; - + value_set = convert_bytes_value(cval, value_set); buf[0] = value_set & 0xff; buf[1] = (value_set >> 8) & 0xff; @@ -361,7 +361,7 @@ /* - * parser routines begin here... + * parser routines begin here... */ static int parse_audio_unit(mixer_build_t *state, int unitid); @@ -443,7 +443,7 @@ { 0x0712, "Multi-Track Recorder" }, { 0x0713, "Synthesizer" }, { 0 }, -}; +}; static int get_term_name(mixer_build_t *state, usb_audio_term_t *iterm, unsigned char *name, int maxlen, int term_only) @@ -573,7 +573,7 @@ static void usb_mixer_elem_free(snd_kcontrol_t *kctl) { if (kctl->private_data) { - snd_magic_kfree((void *)kctl->private_data); + kfree((void *)kctl->private_data); kctl->private_data = NULL; } } @@ -615,7 +615,7 @@ cval->res = 1; } else { int last_valid_res = cval->res; - + while (cval->res > 1) { if (set_ctl_value(cval, SET_RES, (cval->control << 8) | minchn, cval->res / 2) < 0) break; @@ -634,8 +634,8 @@ /* get a feature/mixer unit info */ static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) -{ - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); +{ + usb_mixer_elem_info_t *cval = kcontrol->private_data; if (cval->val_type == USB_MIXER_BOOLEAN || cval->val_type == USB_MIXER_INV_BOOLEAN) @@ -659,7 +659,7 @@ /* get the current value from feature/mixer unit */ static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int c, cnt, val, err; if (cval->cmask) { @@ -700,7 +700,7 @@ /* put the current value to feature/mixer unit */ static int mixer_ctl_feature_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int c, cnt, val, oval, err; int changed = 0; @@ -774,7 +774,7 @@ if (check_ignored_ctl(state, unitid, control)) return; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return; @@ -801,7 +801,7 @@ kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return; } kctl->private_free = usb_mixer_elem_free; @@ -914,7 +914,7 @@ if (master_bits & (1 << i)) build_feature_ctl(state, ftr, 0, i, &iterm, unitid); } - + return 0; } @@ -943,7 +943,7 @@ if (check_ignored_ctl(state, unitid, 0)) return; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) return; @@ -968,7 +968,7 @@ kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return; } kctl->private_free = usb_mixer_elem_free; @@ -1014,7 +1014,7 @@ /* get callback for processing/extension unit */ static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int err, val; err = get_cur_ctl_value(cval, cval->control << 8, &val); @@ -1032,7 +1032,7 @@ /* put callback for processing/extension unit */ static int mixer_ctl_procunit_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, oval, err; err = get_cur_ctl_value(cval, cval->control << 8, &oval); @@ -1170,7 +1170,7 @@ continue; if (check_ignored_ctl(state, unitid, valinfo->control)) continue; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return -ENOMEM; @@ -1195,7 +1195,7 @@ kctl = snd_ctl_new1(&mixer_procunit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } kctl->private_free = usb_mixer_elem_free; @@ -1243,8 +1243,8 @@ * use an enumerator type for routing */ static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) -{ - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); +{ + usb_mixer_elem_info_t *cval = kcontrol->private_data; char **itemlist = (char **)kcontrol->private_value; snd_assert(itemlist, return -EINVAL); @@ -1260,7 +1260,7 @@ /* get callback for selector unit */ static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, err; err = get_cur_ctl_value(cval, 0, &val); @@ -1279,7 +1279,7 @@ /* put callback for selector unit */ static int mixer_ctl_selector_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, oval, err; err = get_cur_ctl_value(cval, 0, &oval); @@ -1315,9 +1315,9 @@ int i, num_ins = 0; if (kctl->private_data) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kctl->private_data,); + usb_mixer_elem_info_t *cval = kctl->private_data; num_ins = cval->max; - snd_magic_kfree(cval); + kfree(cval); kctl->private_data = NULL; } if (kctl->private_value) { @@ -1357,7 +1357,7 @@ if (check_ignored_ctl(state, unitid, 0)) return 0; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return -ENOMEM; @@ -1375,7 +1375,7 @@ namelist = kmalloc(sizeof(char *) * num_ins, GFP_KERNEL); if (! namelist) { snd_printk(KERN_ERR "cannot malloc\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } #define MAX_ITEM_NAME_LEN 64 @@ -1388,7 +1388,7 @@ while (--i > 0) kfree(namelist[i]); kfree(namelist); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } if (check_input_term(state, desc[5 + i], &iterm) >= 0) @@ -1400,7 +1400,7 @@ kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } kctl->private_value = (unsigned long)namelist; diff -Nru a/sound/usb/usbmixer_maps.c b/sound/usb/usbmixer_maps.c --- a/sound/usb/usbmixer_maps.c 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbmixer_maps.c 2004-08-25 19:27:40 -07:00 @@ -32,7 +32,7 @@ const struct usbmix_name_map *map; int ignore_ctl_error; }; - + /* * USB control mappers for SB Exitigy */ diff -Nru a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h --- a/sound/usb/usbquirks.h 2004-08-25 19:27:40 -07:00 +++ b/sound/usb/usbquirks.h 2004-08-25 19:27:40 -07:00 @@ -91,6 +91,31 @@ YAMAHA_DEVICE(0x1021, "MOTIF ES 6"), YAMAHA_DEVICE(0x1022, "MOTIF ES 7"), YAMAHA_DEVICE(0x1023, "MOTIF ES 8"), +YAMAHA_DEVICE(0x1024, "CVP-301"), +YAMAHA_DEVICE(0x1025, "CVP-303"), +YAMAHA_DEVICE(0x1026, "CVP-305"), +YAMAHA_DEVICE(0x1027, "CVP-307"), +YAMAHA_DEVICE(0x1028, "CVP-309"), +YAMAHA_DEVICE(0x1029, "CVP-309GP"), +YAMAHA_DEVICE(0x102a, "PSR-1500"), +YAMAHA_DEVICE(0x102b, "PSR-3000"), +YAMAHA_DEVICE(0x102e, "ELS-01/01C"), +YAMAHA_DEVICE(0x1030, "PSR-295/293"), +YAMAHA_DEVICE(0x1031, "DGX-205/203"), +YAMAHA_DEVICE(0x1032, "DGX-305"), +YAMAHA_DEVICE(0x1033, "DGX-505"), +YAMAHA_DEVICE(0x1034, NULL), +YAMAHA_DEVICE(0x1035, NULL), +YAMAHA_DEVICE(0x1036, NULL), +YAMAHA_DEVICE(0x1037, NULL), +YAMAHA_DEVICE(0x1038, NULL), +YAMAHA_DEVICE(0x1039, NULL), +YAMAHA_DEVICE(0x103a, NULL), +YAMAHA_DEVICE(0x103b, NULL), +YAMAHA_DEVICE(0x103c, NULL), +YAMAHA_DEVICE(0x2000, "DGP-7"), +YAMAHA_DEVICE(0x2001, "DGP-5"), +YAMAHA_DEVICE(0x2002, NULL), YAMAHA_DEVICE(0x5000, "CS1D"), YAMAHA_DEVICE(0x5001, "DSP1D"), YAMAHA_DEVICE(0x5002, "DME32"), @@ -100,6 +125,11 @@ YAMAHA_DEVICE(0x5006, "NHB32-C"), YAMAHA_DEVICE(0x5007, "DM1000"), YAMAHA_DEVICE(0x5008, "01V96"), +YAMAHA_DEVICE(0x500a, "PM5D"), +YAMAHA_DEVICE(0x500b, "DME64N"), +YAMAHA_DEVICE(0x500c, "DME24N"), +YAMAHA_DEVICE(0x7000, "DTX"), +YAMAHA_DEVICE(0x7010, "UB99"), #undef YAMAHA_DEVICE #undef YAMAHA_INTERFACE @@ -267,7 +297,8 @@ } }, { - /* thanks to Emiliano Grilli for helping researching this data */ + /* thanks to Emiliano Grilli + * for helping researching this data */ USB_DEVICE(0x0582, 0x000c), .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { .vendor_name = "Roland", @@ -830,11 +861,42 @@ .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { .vendor_name = "M-Audio", .product_name = "Quattro", - .ifnum = 9, - .type = QUIRK_MIDI_MIDIMAN, - .data = & (const snd_usb_midi_endpoint_info_t) { - .out_cables = 0x0001, - .in_cables = 0x0001 + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = & (const snd_usb_audio_quirk_t[]) { + /* + * Interfaces 0-2 are "Windows-compatible", 16-bit only, + * and share endpoints with the other interfaces. + * Ignore them. The other interfaces can do 24 bits, + * but captured samples are big-endian (see usbaudio.c). + */ + { + .ifnum = 4, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 5, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 7, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 8, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 9, + .type = QUIRK_MIDI_MIDIMAN, + .data = & (const snd_usb_midi_endpoint_info_t) { + .out_cables = 0x0001, + .in_cables = 0x0001 + } + }, + { + .ifnum = -1 + } } } }, @@ -911,6 +973,21 @@ .vendor_name = "Terratec", .product_name = "PHASE 26", .ifnum = 3, + .type = QUIRK_MIDI_STANDARD_INTERFACE + } +}, + +{ + /* + * Some USB MIDI devices don't have an audio control interface, + * so we have to grab MIDI streaming interfaces here. + */ + .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS | + USB_DEVICE_ID_MATCH_INT_SUBCLASS, + .bInterfaceClass = USB_CLASS_AUDIO, + .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING, + .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { + .ifnum = QUIRK_ANY_INTERFACE, .type = QUIRK_MIDI_STANDARD_INTERFACE } }, diff -Nru a/sound/usb/usx2y/Makefile b/sound/usb/usx2y/Makefile --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/Makefile 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,3 @@ +snd-usb-usx2y-objs := usbusx2y.o usbusx2yaudio.o usX2Yhwdep.o + +obj-$(CONFIG_SND_USB_USX2Y) += snd-usb-usx2y.o diff -Nru a/sound/usb/usx2y/usX2Yhwdep.c b/sound/usb/usx2y/usX2Yhwdep.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usX2Yhwdep.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,275 @@ +/* + * Driver for Tascam US-X2Y USB soundcards + * + * FPGA Loader + ALSA Startup + * + * Copyright (c) 2003 by Karsten Wiese + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include "usx2y.h" +#include "usbusx2y.h" +#include "usX2Yhwdep.h" + + +static struct page * snd_us428ctls_vm_nopage(struct vm_area_struct *area, unsigned long address, int *type) +{ + unsigned long offset; + struct page * page; + void *vaddr; + + snd_printdd("ENTER, start %lXh, ofs %lXh, pgoff %ld, addr %lXh\n", + area->vm_start, + address - area->vm_start, + (address - area->vm_start) >> PAGE_SHIFT, + address); + + offset = area->vm_pgoff << PAGE_SHIFT; + offset += address - area->vm_start; + snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_OOM); + vaddr = (char*)((usX2Ydev_t*)area->vm_private_data)->us428ctls_sharedmem + offset; + page = virt_to_page(vaddr); + get_page(page); + snd_printdd( "vaddr=%p made us428ctls_vm_nopage() return %p; offset=%lX\n", vaddr, page, offset); + + if (type) + *type = VM_FAULT_MINOR; + + return page; +} + +static struct vm_operations_struct us428ctls_vm_ops = { + .nopage = snd_us428ctls_vm_nopage, +}; + +static int snd_us428ctls_mmap(snd_hwdep_t * hw, struct file *filp, struct vm_area_struct *area) +{ + unsigned long size = (unsigned long)(area->vm_end - area->vm_start); + usX2Ydev_t *us428 = (usX2Ydev_t*)hw->private_data; + + // FIXME this hwdep interface is used twice: fpga download and mmap for controlling Lights etc. Maybe better using 2 hwdep devs? + // so as long as the device isn't fully initialised yet we return -EBUSY here. + if (!(((usX2Ydev_t*)hw->private_data)->chip_status & USX2Y_STAT_CHIP_INIT)) + return -EBUSY; + + /* if userspace tries to mmap beyond end of our buffer, fail */ + if (size > ((PAGE_SIZE - 1 + sizeof(us428ctls_sharedmem_t)) / PAGE_SIZE) * PAGE_SIZE) { + snd_printd( "%lu > %lu\n", size, (unsigned long)sizeof(us428ctls_sharedmem_t)); + return -EINVAL; + } + + if (!us428->us428ctls_sharedmem) { + init_waitqueue_head(&us428->us428ctls_wait_queue_head); + if(!(us428->us428ctls_sharedmem = snd_malloc_pages(sizeof(us428ctls_sharedmem_t), GFP_KERNEL))) + return -ENOMEM; + memset(us428->us428ctls_sharedmem, -1, sizeof(us428ctls_sharedmem_t)); + us428->us428ctls_sharedmem->CtlSnapShotLast = -2; + } + area->vm_ops = &us428ctls_vm_ops; + area->vm_flags |= VM_RESERVED; + area->vm_private_data = hw->private_data; + return 0; +} + +static unsigned int snd_us428ctls_poll(snd_hwdep_t *hw, struct file *file, poll_table *wait) +{ + unsigned int mask = 0; + usX2Ydev_t *us428 = (usX2Ydev_t*)hw->private_data; + static unsigned LastN; + + if (us428->chip_status & USX2Y_STAT_CHIP_HUP) + return POLLHUP; + + poll_wait(file, &us428->us428ctls_wait_queue_head, wait); + + down(&us428->open_mutex); + if (us428->us428ctls_sharedmem + && us428->us428ctls_sharedmem->CtlSnapShotLast != LastN) { + mask |= POLLIN; + LastN = us428->us428ctls_sharedmem->CtlSnapShotLast; + } + up(&us428->open_mutex); + + return mask; +} + + +static int snd_usX2Y_hwdep_open(snd_hwdep_t *hw, struct file *file) +{ + return 0; +} + +static int snd_usX2Y_hwdep_release(snd_hwdep_t *hw, struct file *file) +{ + return 0; +} + +static int snd_usX2Y_hwdep_dsp_status(snd_hwdep_t *hw, snd_hwdep_dsp_status_t *info) +{ + static char *type_ids[USX2Y_TYPE_NUMS] = { + [USX2Y_TYPE_122] = "us122", + [USX2Y_TYPE_224] = "us224", + [USX2Y_TYPE_428] = "us428", + }; + int id = -1; + + switch (((usX2Ydev_t*)hw->private_data)->chip.dev->descriptor.idProduct) { + case USB_ID_US122: + id = USX2Y_TYPE_122; + break; + case USB_ID_US224: + id = USX2Y_TYPE_224; + break; + case USB_ID_US428: + id = USX2Y_TYPE_428; + break; + } + if (0 > id) + return -ENODEV; + strcpy(info->id, type_ids[id]); + info->num_dsps = 2; // 0: Prepad Data, 1: FPGA Code + if (((usX2Ydev_t*)hw->private_data)->chip_status & USX2Y_STAT_CHIP_INIT) + info->chip_ready = 1; + info->version = USX2Y_DRIVER_VERSION; + return 0; +} + + +static int usX2Y_create_usbmidi(snd_card_t* card ) +{ + static snd_usb_midi_endpoint_info_t quirk_data_1 = { + .out_ep =0x06, + .in_ep = 0x06, + .out_cables = 0x001, + .in_cables = 0x001 + }; + static snd_usb_audio_quirk_t quirk_1 = { + .vendor_name = "TASCAM", + .product_name = NAME_ALLCAPS, + .ifnum = 0, + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = &quirk_data_1 + }; + static snd_usb_midi_endpoint_info_t quirk_data_2 = { + .out_ep =0x06, + .in_ep = 0x06, + .out_cables = 0x003, + .in_cables = 0x003 + }; + static snd_usb_audio_quirk_t quirk_2 = { + .vendor_name = "TASCAM", + .product_name = "US428", + .ifnum = 0, + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = &quirk_data_2 + }; + struct usb_device *dev = usX2Y(card)->chip.dev; + struct usb_interface *iface = usb_ifnum_to_if(dev, 0); + snd_usb_audio_quirk_t *quirk = dev->descriptor.idProduct == USB_ID_US428 ? &quirk_2 : &quirk_1; + + snd_printdd("usX2Y_create_usbmidi \n"); + return snd_usb_create_midi_interface(&usX2Y(card)->chip, iface, quirk); +} + +static int usX2Y_create_alsa_devices(snd_card_t* card) +{ + int err; + + do { + if ((err = usX2Y_create_usbmidi(card)) < 0) { + snd_printk("usX2Y_create_alsa_devices: usX2Y_create_usbmidi error %i \n", err); + break; + } + if ((err = usX2Y_audio_create(card)) < 0) + break; + if ((err = snd_card_register(card)) < 0) + break; + } while (0); + + return err; +} + +static int snd_usX2Y_hwdep_dsp_load(snd_hwdep_t *hw, snd_hwdep_dsp_image_t *dsp) +{ + int lret, err; + char* buf; + snd_printdd( "dsp_load %s\n", dsp->name); + + buf = dsp->image; + + err = -EINVAL; + if (access_ok(VERIFY_READ, dsp->image, dsp->length)) { + struct usb_device* dev = ((usX2Ydev_t*)hw->private_data)->chip.dev; + buf = kmalloc(dsp->length, GFP_KERNEL); + copy_from_user(buf, dsp->image, dsp->length); + if ((err = usb_set_interface(dev, 0, 1))) + snd_printk("usb_set_interface error \n"); + else + err = usb_bulk_msg(dev, usb_sndbulkpipe(dev, 2), buf, dsp->length, &lret, 6*HZ); + kfree(buf); + } + if (!err && 1 == dsp->index) + do { + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ/4); // give the device some time + if ((err = usX2Y_AsyncSeq04_init((usX2Ydev_t*)hw->private_data))) { + snd_printk("usX2Y_AsyncSeq04_init error \n"); + break; + } + if ((err = usX2Y_In04_init((usX2Ydev_t*)hw->private_data))) { + snd_printk("usX2Y_In04_init error \n"); + break; + } + if ((err = usX2Y_create_alsa_devices(hw->card))) { + snd_printk("usX2Y_create_alsa_devices error %i \n", err); + snd_card_free(hw->card); + break; + } + ((usX2Ydev_t*)hw->private_data)->chip_status |= USX2Y_STAT_CHIP_INIT; + snd_printdd("%s: alsa all started\n", hw->name); + } while (0); + return err; +} + + +int usX2Y_hwdep_new(snd_card_t* card, struct usb_device* device) +{ + int err; + snd_hwdep_t *hw; + + if ((err = snd_hwdep_new(card, SND_USX2Y_LOADER_ID, 0, &hw)) < 0) + return err; + + hw->iface = SNDRV_HWDEP_IFACE_USX2Y; + hw->private_data = usX2Y(card); + hw->ops.open = snd_usX2Y_hwdep_open; + hw->ops.release = snd_usX2Y_hwdep_release; + hw->ops.dsp_status = snd_usX2Y_hwdep_dsp_status; + hw->ops.dsp_load = snd_usX2Y_hwdep_dsp_load; + hw->ops.mmap = snd_us428ctls_mmap; + hw->ops.poll = snd_us428ctls_poll; + hw->exclusive = 1; + sprintf(hw->name, "/proc/bus/usb/%03d/%03d", device->bus->busnum, device->devnum); + return 0; +} + diff -Nru a/sound/usb/usx2y/usX2Yhwdep.h b/sound/usb/usx2y/usX2Yhwdep.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usX2Yhwdep.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,6 @@ +#ifndef USX2YHWDEP_H +#define USX2YHWDEP_H + +int usX2Y_hwdep_new(snd_card_t* card, struct usb_device* device); + +#endif diff -Nru a/sound/usb/usx2y/usbus428ctldefs.h b/sound/usb/usx2y/usbus428ctldefs.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usbus428ctldefs.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 2003 by Karsten Wiese + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +enum E_In84{ + eFader0 = 0, + eFader1, + eFader2, + eFader3, + eFader4, + eFader5, + eFader6, + eFader7, + eFaderM, + eTransport, + eModifier = 10, + eFilterSelect, + eSelect, + eMute, + + eSwitch = 15, + eWheelGain, + eWheelFreq, + eWheelQ, + eWheelPan, + eWheel = 20 +}; + +#define T_RECORD 1 +#define T_PLAY 2 +#define T_STOP 4 +#define T_F_FWD 8 +#define T_REW 0x10 +#define T_SOLO 0x20 +#define T_REC 0x40 +#define T_NULL 0x80 + + +struct us428_ctls{ + unsigned char Fader[9]; + unsigned char Transport; + unsigned char Modifier; + unsigned char FilterSelect; + unsigned char Select; + unsigned char Mute; + unsigned char UNKNOWN; + unsigned char Switch; + unsigned char Wheel[5]; +}; + +typedef struct us428_ctls us428_ctls_t; + +typedef struct us428_setByte{ + unsigned char Offset, + Value; +}us428_setByte_t; + +enum { + eLT_Volume = 0, + eLT_Light +}; + +typedef struct usX2Y_volume { + unsigned char Channel, + LH, + LL, + RH, + RL; +} usX2Y_volume_t; + +struct us428_lights{ + us428_setByte_t Light[7]; +}; +typedef struct us428_lights us428_lights_t; + +typedef struct { + char type; + union { + usX2Y_volume_t vol; + us428_lights_t lights; + } val; +} us428_p4out_t; + +#define N_us428_ctl_BUFS 16 +#define N_us428_p4out_BUFS 16 +struct us428ctls_sharedmem{ + us428_ctls_t CtlSnapShot[N_us428_ctl_BUFS]; + int CtlSnapShotDiffersAt[N_us428_ctl_BUFS]; + int CtlSnapShotLast, CtlSnapShotRed; + us428_p4out_t p4out[N_us428_p4out_BUFS]; + int p4outLast, p4outSent; +}; +typedef struct us428ctls_sharedmem us428ctls_sharedmem_t; diff -Nru a/sound/usb/usx2y/usbusx2y.c b/sound/usb/usx2y/usbusx2y.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usbusx2y.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,434 @@ +/* + * usbus428.c - ALSA USB US-428 Driver + * +2004-07-13 Karsten Wiese + Version 0.7.1: + Don't sleep in START/STOP callbacks anymore. + us428 channels C/D not handled just for this version, sorry. + +2004-06-21 Karsten Wiese + Version 0.6.4: + Temporarely suspend midi input + to sanely call usb_set_interface() when setting format. + +2004-06-12 Karsten Wiese + Version 0.6.3: + Made it thus the following rule is enforced: + "All pcm substreams of one usX2Y have to operate at the same rate & format." + +2004-04-06 Karsten Wiese + Version 0.6.0: + Runs on 2.6.5 kernel without any "--with-debug=" things. + us224 reported running. + +2004-01-14 Karsten Wiese + Version 0.5.1: + Runs with 2.6.1 kernel. + +2003-12-30 Karsten Wiese + Version 0.4.1: + Fix 24Bit 4Channel capturing for the us428. + +2003-11-27 Karsten Wiese, Martin Langer + Version 0.4: + us122 support. + us224 could be tested by uncommenting the sections containing USB_ID_US224 + +2003-11-03 Karsten Wiese + Version 0.3: + 24Bit support. + "arecord -D hw:1 -c 2 -r 48000 -M -f S24_3LE|aplay -D hw:1 -c 2 -r 48000 -M -f S24_3LE" works. + +2003-08-22 Karsten Wiese + Version 0.0.8: + Removed EZUSB Firmware. First Stage Firmwaredownload is now done by tascam-firmware downloader. + See: + http://usb-midi-fw.sourceforge.net/tascam-firmware.tar.gz + +2003-06-18 Karsten Wiese + Version 0.0.5: + changed to compile with kernel 2.4.21 and alsa 0.9.4 + +2002-10-16 Karsten Wiese + Version 0.0.4: + compiles again with alsa-current. + USB_ISO_ASAP not used anymore (most of the time), instead + urb->start_frame is calculated here now, some calls inside usb-driver don't need to happen anymore. + + To get the best out of this: + Disable APM-support in the kernel as APM-BIOS calls (once each second) hard disable interrupt for many precious milliseconds. + This helped me much on my slowish PII 400 & PIII 500. + ACPI yet untested but might cause the same bad behaviour. + Use a kernel with lowlatency and preemptiv patches applied. + To autoload snd-usb-midi append a line + post-install snd-usb-us428 modprobe snd-usb-midi + to /etc/modules.conf. + + known problems: + sliders, knobs, lights not yet handled except MASTER Volume slider. + "pcm -c 2" doesn't work. "pcm -c 2 -m direct_interleaved" does. + KDE3: "Enable full duplex operation" deadlocks. + + +2002-08-31 Karsten Wiese + Version 0.0.3: audio also simplex; + simplifying: iso urbs only 1 packet, melted structs. + ASYNC_UNLINK not used anymore: no more crashes so far..... + for alsa 0.9 rc3. + +2002-08-09 Karsten Wiese + Version 0.0.2: midi works with snd-usb-midi, audio (only fullduplex now) with i.e. bristol. + The firmware has been sniffed from win2k us-428 driver 3.09. + + * Copyright (c) 2002 Karsten Wiese + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "usx2y.h" +#include "usbusx2y.h" +#include "usX2Yhwdep.h" + + + +MODULE_AUTHOR("Karsten Wiese "); +MODULE_DESCRIPTION("TASCAM "NAME_ALLCAPS" Version 0.7.2"); +MODULE_LICENSE("GPL"); +MODULE_SUPPORTED_DEVICE("{{TASCAM(0x1604), "NAME_ALLCAPS"(0x8001)(0x8005)(0x8007) }}"); + +static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-max */ +static char* id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* Id for this card */ +static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ +static int boot_devs; + +module_param_array(index, int, boot_devs, 0444); +MODULE_PARM_DESC(index, "Index value for "NAME_ALLCAPS"."); +module_param_array(id, charp, boot_devs, 0444); +MODULE_PARM_DESC(id, "ID string for "NAME_ALLCAPS"."); +module_param_array(enable, bool, boot_devs, 0444); +MODULE_PARM_DESC(enable, "Enable "NAME_ALLCAPS"."); + + +static int snd_usX2Y_card_used[SNDRV_CARDS]; + +static void usX2Y_usb_disconnect(struct usb_device* usb_device, void* ptr); +static void snd_usX2Y_card_private_free(snd_card_t *card); + +/* + * pipe 4 is used for switching the lamps, setting samplerate, volumes .... + */ +static void i_usX2Y_Out04Int(struct urb* urb, struct pt_regs *regs) +{ +#ifdef CONFIG_SND_DEBUG + if (urb->status) { + int i; + usX2Ydev_t* usX2Y = urb->context; + for (i = 0; i < 10 && usX2Y->AS04.urb[i] != urb; i++); + snd_printdd("i_usX2Y_Out04Int() urb %i status=%i\n", i, urb->status); + } +#endif +} + +static void i_usX2Y_In04Int(struct urb* urb, struct pt_regs *regs) +{ + int err = 0; + usX2Ydev_t *usX2Y = urb->context; + us428ctls_sharedmem_t *us428ctls = usX2Y->us428ctls_sharedmem; + + usX2Y->In04IntCalls++; + + if (urb->status) { + snd_printdd("Interrupt Pipe 4 came back with status=%i\n", urb->status); + return; + } + + // printk("%i:0x%02X ", 8, (int)((unsigned char*)usX2Y->In04Buf)[8]); Master volume shows 0 here if fader is at max during boot ?!? + if (us428ctls) { + int diff = -1; + if (-2 == us428ctls->CtlSnapShotLast) { + diff = 0; + memcpy(usX2Y->In04Last, usX2Y->In04Buf, sizeof(usX2Y->In04Last)); + us428ctls->CtlSnapShotLast = -1; + } else { + int i; + for (i = 0; i < 21; i++) { + if (usX2Y->In04Last[i] != ((char*)usX2Y->In04Buf)[i]) { + if (diff < 0) + diff = i; + usX2Y->In04Last[i] = ((char*)usX2Y->In04Buf)[i]; + } + } + } + if (0 <= diff) { + int n = us428ctls->CtlSnapShotLast + 1; + if (n >= N_us428_ctl_BUFS || n < 0) + n = 0; + memcpy(us428ctls->CtlSnapShot + n, usX2Y->In04Buf, sizeof(us428ctls->CtlSnapShot[0])); + us428ctls->CtlSnapShotDiffersAt[n] = diff; + us428ctls->CtlSnapShotLast = n; + wake_up(&usX2Y->us428ctls_wait_queue_head); + } + } + + + if (usX2Y->US04) { + if (0 == usX2Y->US04->submitted) + do + err = usb_submit_urb(usX2Y->US04->urb[usX2Y->US04->submitted++], GFP_ATOMIC); + while (!err && usX2Y->US04->submitted < usX2Y->US04->len); + } else + if (us428ctls && us428ctls->p4outLast >= 0 && us428ctls->p4outLast < N_us428_p4out_BUFS) { + if (us428ctls->p4outLast != us428ctls->p4outSent) { + int j, send = us428ctls->p4outSent + 1; + if (send >= N_us428_p4out_BUFS) + send = 0; + for (j = 0; j < URBS_AsyncSeq && !err; ++j) + if (0 == usX2Y->AS04.urb[j]->status) { + us428_p4out_t *p4out = us428ctls->p4out + send; // FIXME if more then 1 p4out is new, 1 gets lost. + usb_fill_bulk_urb(usX2Y->AS04.urb[j], usX2Y->chip.dev, + usb_sndbulkpipe(usX2Y->chip.dev, 0x04), &p4out->val.vol, + p4out->type == eLT_Light ? sizeof(us428_lights_t) : 5, + i_usX2Y_Out04Int, usX2Y); + err = usb_submit_urb(usX2Y->AS04.urb[j], GFP_ATOMIC); + us428ctls->p4outSent = send; + break; + } + } + } + + if (err) { + snd_printk("In04Int() usb_submit_urb err=%i\n", err); + } + + urb->dev = usX2Y->chip.dev; + usb_submit_urb(urb, GFP_ATOMIC); +} + +/* + * Prepare some urbs + */ +int usX2Y_AsyncSeq04_init(usX2Ydev_t* usX2Y) +{ + int err = 0, + i; + + if (NULL == (usX2Y->AS04.buffer = kmalloc(URB_DataLen_AsyncSeq*URBS_AsyncSeq, GFP_KERNEL))) { + err = -ENOMEM; + } else + for (i = 0; i < URBS_AsyncSeq; ++i) { + if (NULL == (usX2Y->AS04.urb[i] = usb_alloc_urb(0, GFP_KERNEL))) { + err = -ENOMEM; + break; + } + usb_fill_bulk_urb( usX2Y->AS04.urb[i], usX2Y->chip.dev, + usb_sndbulkpipe(usX2Y->chip.dev, 0x04), + usX2Y->AS04.buffer + URB_DataLen_AsyncSeq*i, 0, + i_usX2Y_Out04Int, usX2Y + ); + } + return err; +} + +int usX2Y_In04_init(usX2Ydev_t* usX2Y) +{ + int err = 0; + if (! (usX2Y->In04urb = usb_alloc_urb(0, GFP_KERNEL))) + return -ENOMEM; + + if (! (usX2Y->In04Buf = kmalloc(21, GFP_KERNEL))) { + usb_free_urb(usX2Y->In04urb); + return -ENOMEM; + } + + init_waitqueue_head(&usX2Y->In04WaitQueue); + usb_fill_int_urb(usX2Y->In04urb, usX2Y->chip.dev, usb_rcvintpipe(usX2Y->chip.dev, 0x4), + usX2Y->In04Buf, 21, + i_usX2Y_In04Int, usX2Y, + 10); + err = usb_submit_urb(usX2Y->In04urb, GFP_KERNEL); + return err; +} + +static void usX2Y_unlinkSeq(snd_usX2Y_AsyncSeq_t* S) +{ + int i; + for (i = 0; i < URBS_AsyncSeq; ++i) { + if (S[i].urb) { + usb_unlink_urb(S->urb[i]); + usb_free_urb(S->urb[i]); + S->urb[i] = NULL; + } + } + if (S->buffer) + kfree(S->buffer); +} + + +static struct usb_device_id snd_usX2Y_usb_id_table[] = { + { + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, + .idVendor = 0x1604, + .idProduct = USB_ID_US428 + }, + { + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, + .idVendor = 0x1604, + .idProduct = USB_ID_US122 + }, + { + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, + .idVendor = 0x1604, + .idProduct = USB_ID_US224 + }, + { /* terminator */ } +}; + +static snd_card_t* usX2Y_create_card(struct usb_device* device) +{ + int dev; + snd_card_t* card; + for (dev = 0; dev < SNDRV_CARDS; ++dev) + if (enable[dev] && !snd_usX2Y_card_used[dev]) + break; + if (dev >= SNDRV_CARDS) + return NULL; + card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof(usX2Ydev_t)); + if (!card) + return NULL; + snd_usX2Y_card_used[usX2Y(card)->chip.index = dev] = 1; + card->private_free = snd_usX2Y_card_private_free; + usX2Y(card)->chip.dev = device; + usX2Y(card)->chip.card = card; + init_MUTEX (&usX2Y(card)->open_mutex); + INIT_LIST_HEAD(&usX2Y(card)->chip.midi_list); + strcpy(card->driver, "USB "NAME_ALLCAPS""); + sprintf(card->shortname, "TASCAM "NAME_ALLCAPS""); + sprintf(card->longname, "%s (%x:%x if %d at %03d/%03d)", + card->shortname, + device->descriptor.idVendor, device->descriptor.idProduct, + 0,//us428(card)->usbmidi.ifnum, + usX2Y(card)->chip.dev->bus->busnum, usX2Y(card)->chip.dev->devnum + ); + snd_card_set_dev(card, &device->dev); + return card; +} + + +static void* usX2Y_usb_probe(struct usb_device* device, struct usb_interface *intf, const struct usb_device_id* device_id) +{ + int err; + snd_card_t* card; + if (device->descriptor.idVendor != 0x1604 || + (device->descriptor.idProduct != USB_ID_US122 && + device->descriptor.idProduct != USB_ID_US224 && + device->descriptor.idProduct != USB_ID_US428) || + !(card = usX2Y_create_card(device))) + return 0; + if ((err = usX2Y_hwdep_new(card, device)) < 0 || + (err = snd_card_register(card)) < 0) { + snd_card_free(card); + return 0; + } + return card; +} + +/* + * new 2.5 USB kernel API + */ +static int snd_usX2Y_probe(struct usb_interface *intf, const struct usb_device_id *id) +{ + void *chip; + chip = usX2Y_usb_probe(interface_to_usbdev(intf), intf, id); + if (chip) { + dev_set_drvdata(&intf->dev, chip); + return 0; + } else + return -EIO; +} + +static void snd_usX2Y_disconnect(struct usb_interface *intf) +{ + usX2Y_usb_disconnect(interface_to_usbdev(intf), + dev_get_drvdata(&intf->dev)); +} + +MODULE_DEVICE_TABLE(usb, snd_usX2Y_usb_id_table); +static struct usb_driver snd_usX2Y_usb_driver = { + .owner = THIS_MODULE, + .name = "snd-usb-usx2y", + .probe = snd_usX2Y_probe, + .disconnect = snd_usX2Y_disconnect, + .id_table = snd_usX2Y_usb_id_table, +}; + +static void snd_usX2Y_card_private_free(snd_card_t *card) +{ + if (usX2Y(card)->In04Buf) + kfree(usX2Y(card)->In04Buf); + usb_free_urb(usX2Y(card)->In04urb); + if (usX2Y(card)->us428ctls_sharedmem) + snd_free_pages(usX2Y(card)->us428ctls_sharedmem, sizeof(*usX2Y(card)->us428ctls_sharedmem)); + if (usX2Y(card)->chip.index >= 0 && usX2Y(card)->chip.index < SNDRV_CARDS) + snd_usX2Y_card_used[usX2Y(card)->chip.index] = 0; +} + +/* + * Frees the device. + */ +static void usX2Y_usb_disconnect(struct usb_device* device, void* ptr) +{ + if (ptr) { + usX2Ydev_t* usX2Y = usX2Y((snd_card_t*)ptr); + struct list_head* p; + if (usX2Y->chip_status == USX2Y_STAT_CHIP_HUP) // on 2.6.1 kernel snd_usbmidi_disconnect() + return; // calls us back. better leave :-) . + usX2Y->chip.shutdown = 1; + usX2Y->chip_status = USX2Y_STAT_CHIP_HUP; + usX2Y_unlinkSeq(&usX2Y->AS04); + usb_unlink_urb(usX2Y->In04urb); + snd_card_disconnect((snd_card_t*)ptr); + /* release the midi resources */ + list_for_each(p, &usX2Y->chip.midi_list) { + snd_usbmidi_disconnect(p, &snd_usX2Y_usb_driver); + } + if (usX2Y->us428ctls_sharedmem) + wake_up(&usX2Y->us428ctls_wait_queue_head); + snd_card_free_in_thread((snd_card_t*)ptr); + } +} + +static int __init snd_usX2Y_module_init(void) +{ + return usb_register(&snd_usX2Y_usb_driver); +} + +static void __exit snd_usX2Y_module_exit(void) +{ + usb_deregister(&snd_usX2Y_usb_driver); +} + +module_init(snd_usX2Y_module_init) +module_exit(snd_usX2Y_module_exit) diff -Nru a/sound/usb/usx2y/usbusx2y.h b/sound/usb/usx2y/usbusx2y.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usbusx2y.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,61 @@ +#ifndef USBUSX2Y_H +#define USBUSX2Y_H +#include "../usbaudio.h" +#include "usbus428ctldefs.h" + +#define NRURBS 2 /* */ +#define NRPACKS 1 /* FIXME: Currently only 1 works. + usb-frames/ms per urb: 1 and 2 are supported. + setting to 2 will PERHAPS make it easier for slow machines. + Jitter will be higher though. + On my PIII 500Mhz Laptop setting to 1 is the only way to go + for PLAYING synths. i.e. Jack & Aeolus sound quit nicely + at 4 periods 64 frames. + */ + +#define URBS_AsyncSeq 10 +#define URB_DataLen_AsyncSeq 32 +typedef struct { + struct urb* urb[URBS_AsyncSeq]; + char* buffer; +} snd_usX2Y_AsyncSeq_t; + +typedef struct { + int submitted; + int len; + struct urb* urb[0]; +} snd_usX2Y_urbSeq_t; + +typedef struct snd_usX2Y_substream snd_usX2Y_substream_t; + +typedef struct { + snd_usb_audio_t chip; + int stride; + struct urb *In04urb; + void *In04Buf; + char In04Last[24]; + unsigned In04IntCalls; + snd_usX2Y_urbSeq_t *US04; + wait_queue_head_t In04WaitQueue; + snd_usX2Y_AsyncSeq_t AS04; + unsigned int rate, + format; + int refframes; + int chip_status; + struct semaphore open_mutex; + us428ctls_sharedmem_t *us428ctls_sharedmem; + wait_queue_head_t us428ctls_wait_queue_head; + snd_usX2Y_substream_t *substream[4]; +} usX2Ydev_t; + + +#define usX2Y(c) ((usX2Ydev_t*)(c)->private_data) + +int usX2Y_audio_create(snd_card_t* card); + +int usX2Y_AsyncSeq04_init(usX2Ydev_t* usX2Y); +int usX2Y_In04_init(usX2Ydev_t* usX2Y); + +#define NAME_ALLCAPS "US-X2Y" + +#endif diff -Nru a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usbusx2yaudio.c 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,1027 @@ +/* + * US-428 AUDIO + + * Copyright (c) 2002-2003 by Karsten Wiese + + * based on + + * (Tentative) USB Audio Driver for ALSA + * + * Main and PCM part + * + * Copyright (c) 2002 by Takashi Iwai + * + * Many codes borrowed from audio.c by + * Alan Cox (alan@lxorguk.ukuu.org.uk) + * Thomas Sailer (sailer@ife.ee.ethz.ch) + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include +#include +#include +#include +#include +#include +#include +#include "usx2y.h" +#include "usbusx2y.h" + + +struct snd_usX2Y_substream { + usX2Ydev_t *usX2Y; + snd_pcm_substream_t *pcm_substream; + + unsigned char endpoint; + unsigned int datapipe; /* the data i/o pipe */ + unsigned int maxpacksize; /* max packet size in bytes */ + + char prepared, + running, + stalled; + + int hwptr; /* free frame position in the buffer (only for playback) */ + int hwptr_done; /* processed frame position in the buffer */ + int transfer_done; /* processed frames since last period update */ + + struct urb *urb[NRURBS]; /* data urb table */ + int next_urb_complete; + struct urb *completed_urb; + char *tmpbuf; /* temporary buffer for playback */ + volatile int submitted_urbs; + wait_queue_head_t wait_queue; +}; + + + + + + +static int usX2Y_urb_capt_retire(snd_usX2Y_substream_t *subs) +{ + struct urb *urb = subs->completed_urb; + snd_pcm_runtime_t *runtime = subs->pcm_substream->runtime; + unsigned char *cp; + int i, len, lens = 0, hwptr_done = subs->hwptr_done; + usX2Ydev_t *usX2Y = subs->usX2Y; + + for (i = 0; i < NRPACKS; i++) { + cp = (unsigned char*)urb->transfer_buffer + urb->iso_frame_desc[i].offset; + if (urb->iso_frame_desc[i].status) { /* active? hmm, skip this */ + snd_printdd("activ frame status %i\n", urb->iso_frame_desc[i].status); + return urb->iso_frame_desc[i].status; + } + len = urb->iso_frame_desc[i].actual_length / usX2Y->stride; + if (! len) { + snd_printk("0 == len ERROR!\n"); + continue; + } + + /* copy a data chunk */ + if ((hwptr_done + len) > runtime->buffer_size) { + int cnt = runtime->buffer_size - hwptr_done; + int blen = cnt * usX2Y->stride; + memcpy(runtime->dma_area + hwptr_done * usX2Y->stride, cp, blen); + memcpy(runtime->dma_area, cp + blen, len * usX2Y->stride - blen); + } else { + memcpy(runtime->dma_area + hwptr_done * usX2Y->stride, cp, len * usX2Y->stride); + } + lens += len; + if ((hwptr_done += len) >= runtime->buffer_size) + hwptr_done -= runtime->buffer_size; + } + + subs->hwptr_done = hwptr_done; + subs->transfer_done += lens; + /* update the pointer, call callback if necessary */ + if (subs->transfer_done >= runtime->period_size) { + subs->transfer_done -= runtime->period_size; + snd_pcm_period_elapsed(subs->pcm_substream); + } + return 0; +} +/* + * prepare urb for playback data pipe + * + * we copy the data directly from the pcm buffer. + * the current position to be copied is held in hwptr field. + * since a urb can handle only a single linear buffer, if the total + * transferred area overflows the buffer boundary, we cannot send + * it directly from the buffer. thus the data is once copied to + * a temporary buffer and urb points to that. + */ +static int usX2Y_urb_play_prepare(snd_usX2Y_substream_t *subs, + struct urb *cap_urb, + struct urb *urb) +{ + int count, counts, pack; + usX2Ydev_t* usX2Y = subs->usX2Y; + snd_pcm_runtime_t *runtime = subs->pcm_substream->runtime; + + count = 0; + for (pack = 0; pack < NRPACKS; pack++) { + /* calculate the size of a packet */ + counts = cap_urb->iso_frame_desc[pack].actual_length / usX2Y->stride; + count += counts; + if (counts < 43 || counts > 50) { + snd_printk("should not be here with counts=%i\n", counts); + return -EPIPE; + } + + /* set up descriptor */ + urb->iso_frame_desc[pack].offset = pack ? urb->iso_frame_desc[pack - 1].offset + urb->iso_frame_desc[pack - 1].length : 0; + urb->iso_frame_desc[pack].length = counts * usX2Y->stride; + } + if (subs->hwptr + count > runtime->buffer_size) { + /* err, the transferred area goes over buffer boundary. + * copy the data to the temp buffer. + */ + int len; + len = runtime->buffer_size - subs->hwptr; + urb->transfer_buffer = subs->tmpbuf; + memcpy(subs->tmpbuf, runtime->dma_area + subs->hwptr * usX2Y->stride, len * usX2Y->stride); + memcpy(subs->tmpbuf + len * usX2Y->stride, runtime->dma_area, (count - len) * usX2Y->stride); + subs->hwptr += count; + subs->hwptr -= runtime->buffer_size; + } else { + /* set the buffer pointer */ + urb->transfer_buffer = runtime->dma_area + subs->hwptr * usX2Y->stride; + if ((subs->hwptr += count) >= runtime->buffer_size) + subs->hwptr -= runtime->buffer_size; + } + urb->transfer_buffer_length = count * usX2Y->stride; + return 0; +} + +/* + * process after playback data complete + * + * update the current position and call callback if a period is processed. + */ +inline static int usX2Y_urb_play_retire(snd_usX2Y_substream_t *subs, struct urb *urb) +{ + snd_pcm_runtime_t *runtime = subs->pcm_substream->runtime; + int len = (urb->iso_frame_desc[0].actual_length +#if NRPACKS > 1 + + urb->iso_frame_desc[1].actual_length +#endif + ) / subs->usX2Y->stride; + + subs->transfer_done += len; + subs->hwptr_done += len; + if (subs->hwptr_done >= runtime->buffer_size) + subs->hwptr_done -= runtime->buffer_size; + if (subs->transfer_done >= runtime->period_size) { + subs->transfer_done -= runtime->period_size; + snd_pcm_period_elapsed(subs->pcm_substream); + } + return 0; +} + +inline static int usX2Y_urb_submit(snd_usX2Y_substream_t *subs, struct urb *urb, int frame) +{ + int err; + if (!urb) + return -ENODEV; + urb->start_frame = (frame + NRURBS*NRPACKS) & (1024 - 1); + urb->hcpriv = NULL; + urb->dev = subs->usX2Y->chip.dev; /* we need to set this at each time */ + if ((err = usb_submit_urb(urb, GFP_ATOMIC)) < 0) { + snd_printk("%i\n", err); + return err; + } else { + subs->submitted_urbs++; + if (subs->next_urb_complete < 0) + subs->next_urb_complete = 0; + } + return 0; +} + + +static inline int frame_distance(int from, int to) +{ + int distance = to - from; + if (distance < -512) + distance += 1024; + else + if (distance > 511) + distance -= 1024; + return distance; +} + + +static void usX2Y_subs_set_next_urb_complete(snd_usX2Y_substream_t *subs) +{ + int next_urb_complete = subs->next_urb_complete + 1; + int distance; + if (next_urb_complete >= NRURBS) + next_urb_complete = 0; + distance = frame_distance(subs->completed_urb->start_frame, + subs->urb[next_urb_complete]->start_frame); + if (1 == distance) { + subs->next_urb_complete = next_urb_complete; + } else { + snd_printdd("distance %i not set_nuc %i %i %i \n", distance, subs->endpoint, next_urb_complete, subs->urb[next_urb_complete]->status); + subs->next_urb_complete = -1; + } +} + + +static inline void usX2Y_usbframe_complete(snd_usX2Y_substream_t *capsubs, snd_usX2Y_substream_t *playbacksubs, int frame) +{ + { + struct urb *urb; + if ((urb = playbacksubs->completed_urb)) { + if (playbacksubs->prepared) + usX2Y_urb_play_retire(playbacksubs, urb); + usX2Y_subs_set_next_urb_complete(playbacksubs); + } + if (playbacksubs->running) { + if (NULL == urb) + urb = playbacksubs->urb[playbacksubs->next_urb_complete + 1]; + if (urb && 0 == usX2Y_urb_play_prepare(playbacksubs, + capsubs->completed_urb, + urb)) { + if (usX2Y_urb_submit(playbacksubs, urb, frame) < 0) + return; + } else + snd_pcm_stop(playbacksubs->pcm_substream, SNDRV_PCM_STATE_XRUN); + } + playbacksubs->completed_urb = NULL; + } + if (capsubs->running) + usX2Y_urb_capt_retire(capsubs); + usX2Y_subs_set_next_urb_complete(capsubs); + if (capsubs->prepared) + usX2Y_urb_submit(capsubs, capsubs->completed_urb, frame); + capsubs->completed_urb = NULL; +} + + +static void usX2Y_clients_stop(snd_usX2Y_substream_t *subs) +{ + usX2Ydev_t *usX2Y = subs->usX2Y; + int i; + for (i = 0; i < 4; i++) { + snd_usX2Y_substream_t *substream = usX2Y->substream[i]; + if (substream && substream->running) + snd_pcm_stop(substream->pcm_substream, SNDRV_PCM_STATE_XRUN); + } +} + + +static void i_usX2Y_urb_complete(struct urb *urb, struct pt_regs *regs) +{ + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t*)urb->context; + + subs->submitted_urbs--; + if (urb->status) { + snd_printk("ep=%i stalled with status=%i\n", subs->endpoint, urb->status); + subs->stalled = 1; + usX2Y_clients_stop(subs); + urb->status = 0; + return; + } + if (urb == subs->urb[subs->next_urb_complete]) { + subs->completed_urb = urb; + } else { + snd_printk("Sequence Error!(ep=%i;nuc=%i,frame=%i)\n", + subs->endpoint, subs->next_urb_complete, urb->start_frame); + subs->stalled = 1; + usX2Y_clients_stop(subs); + return; + } + if (waitqueue_active(&subs->wait_queue)) + wake_up(&subs->wait_queue); + { + snd_usX2Y_substream_t *capsubs = subs->usX2Y->substream[SNDRV_PCM_STREAM_CAPTURE], + *playbacksubs = subs->usX2Y->substream[SNDRV_PCM_STREAM_PLAYBACK]; + if (capsubs->completed_urb && + (playbacksubs->completed_urb || + !playbacksubs->prepared || + (playbacksubs->prepared && (playbacksubs->next_urb_complete < 0 || // not started yet + frame_distance(capsubs->completed_urb->start_frame, + playbacksubs->urb[playbacksubs->next_urb_complete]->start_frame) + > 0 || // other expected later + playbacksubs->stalled)))) + usX2Y_usbframe_complete(capsubs, playbacksubs, urb->start_frame); + } +} + + +static int usX2Y_urbs_capt_start(snd_usX2Y_substream_t *subs) +{ + int i, err; + + for (i = 0; i < NRURBS; i++) { + unsigned long pack; + struct urb *urb = subs->urb[i]; + urb->dev = subs->usX2Y->chip.dev; + urb->transfer_flags = URB_ISO_ASAP; + for (pack = 0; pack < NRPACKS; pack++) { + urb->iso_frame_desc[pack].offset = subs->maxpacksize * pack; + urb->iso_frame_desc[pack].length = subs->maxpacksize; + } + urb->transfer_buffer_length = subs->maxpacksize * NRPACKS; + if ((err = usb_submit_urb(urb, GFP_ATOMIC)) < 0) { + snd_printk (KERN_ERR "cannot submit datapipe for urb %d, err = %d\n", i, err); + return -EPIPE; + } else { + subs->submitted_urbs++; + } + urb->transfer_flags = 0; + } + subs->stalled = 0; + subs->next_urb_complete = 0; + subs->prepared = 1; + return 0; +} + +/* + * wait until all urbs are processed. + */ +static int usX2Y_urbs_wait_clear(snd_usX2Y_substream_t *subs) +{ + int timeout = HZ; + + do { + if (0 == subs->submitted_urbs) + break; + set_current_state(TASK_UNINTERRUPTIBLE); + snd_printdd("snd_usX2Y_urbs_wait_clear waiting\n"); + schedule_timeout(1); + } while (--timeout > 0); + if (subs->submitted_urbs) + snd_printk(KERN_ERR "timeout: still %d active urbs..\n", subs->submitted_urbs); + return 0; +} +/* + * return the current pcm pointer. just return the hwptr_done value. + */ +static snd_pcm_uframes_t snd_usX2Y_pcm_pointer(snd_pcm_substream_t *substream) +{ + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t *)substream->runtime->private_data; + return subs->hwptr_done; +} +/* + * start/stop substream + */ +static int snd_usX2Y_pcm_trigger(snd_pcm_substream_t *substream, int cmd) +{ + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t *)substream->runtime->private_data; + + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + snd_printdd("snd_usX2Y_pcm_trigger(START)\n"); + if (subs->usX2Y->substream[SNDRV_PCM_STREAM_CAPTURE]->stalled) + return -EPIPE; + else + subs->running = 1; + break; + case SNDRV_PCM_TRIGGER_STOP: + snd_printdd("snd_usX2Y_pcm_trigger(STOP)\n"); + subs->running = 0; + break; + default: + return -EINVAL; + } + return 0; +} + + + +static void usX2Y_urb_release(struct urb** urb, int free_tb) +{ + if (*urb) { + if (free_tb) + kfree((*urb)->transfer_buffer); + usb_free_urb(*urb); + *urb = 0; + } +} +/* + * release a substream + */ +static void usX2Y_urbs_release(snd_usX2Y_substream_t *subs) +{ + int i; + snd_printdd("snd_usX2Y_urbs_release() %i\n", subs->endpoint); + usX2Y_urbs_wait_clear(subs); + for (i = 0; i < NRURBS; i++) + usX2Y_urb_release(subs->urb + i, subs != subs->usX2Y->substream[SNDRV_PCM_STREAM_PLAYBACK]); + + if (subs->tmpbuf) { + kfree(subs->tmpbuf); + subs->tmpbuf = 0; + } +} + +static void usX2Y_substream_prepare(snd_usX2Y_substream_t *subs) +{ + snd_printdd("usX2Y_substream_prepare() ep=%i urb0=%p urb1=%p\n", subs->endpoint, subs->urb[0], subs->urb[1]); + /* reset the pointer */ + subs->hwptr = 0; + subs->hwptr_done = 0; + subs->transfer_done = 0; +} + + +/* + * initialize a substream's urbs + */ +static int usX2Y_urbs_allocate(snd_usX2Y_substream_t *subs) +{ + int i; + int is_playback = subs == subs->usX2Y->substream[SNDRV_PCM_STREAM_PLAYBACK]; + struct usb_device *dev = subs->usX2Y->chip.dev; + + snd_assert(!subs->prepared, return 0); + + if (is_playback) { /* allocate a temporary buffer for playback */ + subs->datapipe = usb_sndisocpipe(dev, subs->endpoint); + subs->maxpacksize = dev->epmaxpacketout[subs->endpoint]; + if (NULL == subs->tmpbuf) { + subs->tmpbuf = kcalloc(NRPACKS, subs->maxpacksize, GFP_KERNEL); + if (NULL == subs->tmpbuf) { + snd_printk(KERN_ERR "cannot malloc tmpbuf\n"); + return -ENOMEM; + } + } + } else { + subs->datapipe = usb_rcvisocpipe(dev, subs->endpoint); + subs->maxpacksize = dev->epmaxpacketin[subs->endpoint]; + } + + /* allocate and initialize data urbs */ + for (i = 0; i < NRURBS; i++) { + struct urb** purb = subs->urb + i; + if (*purb) + continue; + *purb = usb_alloc_urb(NRPACKS, GFP_KERNEL); + if (NULL == *purb) { + usX2Y_urbs_release(subs); + return -ENOMEM; + } + if (!is_playback && !(*purb)->transfer_buffer) { + /* allocate a capture buffer per urb */ + (*purb)->transfer_buffer = kmalloc(subs->maxpacksize*NRPACKS, GFP_KERNEL); + if (NULL == (*purb)->transfer_buffer) { + usX2Y_urbs_release(subs); + return -ENOMEM; + } + } + (*purb)->dev = dev; + (*purb)->pipe = subs->datapipe; + (*purb)->number_of_packets = NRPACKS; + (*purb)->context = subs; + (*purb)->interval = 1; + (*purb)->complete = snd_usb_complete_callback(i_usX2Y_urb_complete); + } + return 0; +} + +static void i_usX2Y_04Int(struct urb* urb, struct pt_regs *regs) +{ + usX2Ydev_t* usX2Y = urb->context; + + if (urb->status) { + snd_printk("snd_usX2Y_04Int() urb->status=%i\n", urb->status); + return; + } + if (0 == --usX2Y->US04->len) + wake_up(&usX2Y->In04WaitQueue); +} +/* + * allocate a buffer, setup samplerate + * + * so far we use a physically linear buffer although packetize transfer + * doesn't need a continuous area. + * if sg buffer is supported on the later version of alsa, we'll follow + * that. + */ +static struct s_c2 +{ + char c1, c2; +} + SetRate44100[] = +{ + { 0x14, 0x08}, // this line sets 44100, well actually a little less + { 0x18, 0x40}, // only tascam / frontier design knows the further lines ....... + { 0x18, 0x42}, + { 0x18, 0x45}, + { 0x18, 0x46}, + { 0x18, 0x48}, + { 0x18, 0x4A}, + { 0x18, 0x4C}, + { 0x18, 0x4E}, + { 0x18, 0x50}, + { 0x18, 0x52}, + { 0x18, 0x54}, + { 0x18, 0x56}, + { 0x18, 0x58}, + { 0x18, 0x5A}, + { 0x18, 0x5C}, + { 0x18, 0x5E}, + { 0x18, 0x60}, + { 0x18, 0x62}, + { 0x18, 0x64}, + { 0x18, 0x66}, + { 0x18, 0x68}, + { 0x18, 0x6A}, + { 0x18, 0x6C}, + { 0x18, 0x6E}, + { 0x18, 0x70}, + { 0x18, 0x72}, + { 0x18, 0x74}, + { 0x18, 0x76}, + { 0x18, 0x78}, + { 0x18, 0x7A}, + { 0x18, 0x7C}, + { 0x18, 0x7E} +}; +static struct s_c2 SetRate48000[] = +{ + { 0x14, 0x09}, // this line sets 48000, well actually a little less + { 0x18, 0x40}, // only tascam / frontier design knows the further lines ....... + { 0x18, 0x42}, + { 0x18, 0x45}, + { 0x18, 0x46}, + { 0x18, 0x48}, + { 0x18, 0x4A}, + { 0x18, 0x4C}, + { 0x18, 0x4E}, + { 0x18, 0x50}, + { 0x18, 0x52}, + { 0x18, 0x54}, + { 0x18, 0x56}, + { 0x18, 0x58}, + { 0x18, 0x5A}, + { 0x18, 0x5C}, + { 0x18, 0x5E}, + { 0x18, 0x60}, + { 0x18, 0x62}, + { 0x18, 0x64}, + { 0x18, 0x66}, + { 0x18, 0x68}, + { 0x18, 0x6A}, + { 0x18, 0x6C}, + { 0x18, 0x6E}, + { 0x18, 0x70}, + { 0x18, 0x73}, + { 0x18, 0x74}, + { 0x18, 0x76}, + { 0x18, 0x78}, + { 0x18, 0x7A}, + { 0x18, 0x7C}, + { 0x18, 0x7E} +}; +#define NOOF_SETRATE_URBS ARRAY_SIZE(SetRate48000) + +static int usX2Y_rate_set(usX2Ydev_t *usX2Y, int rate) +{ + int err = 0, i; + snd_usX2Y_urbSeq_t *us = NULL; + int *usbdata = NULL; + DECLARE_WAITQUEUE(wait, current); + struct s_c2 *ra = rate == 48000 ? SetRate48000 : SetRate44100; + + if (usX2Y->rate != rate) { + do { + us = kmalloc(sizeof(*us) + sizeof(struct urb*) * NOOF_SETRATE_URBS, GFP_KERNEL); + if (NULL == us) { + err = -ENOMEM; + break; + } + memset(us, 0, sizeof(*us) + sizeof(struct urb*) * NOOF_SETRATE_URBS); + usbdata = kmalloc(sizeof(int)*NOOF_SETRATE_URBS, GFP_KERNEL); + if (NULL == usbdata) { + err = -ENOMEM; + break; + } + for (i = 0; i < NOOF_SETRATE_URBS; ++i) { + if (NULL == (us->urb[i] = usb_alloc_urb(0, GFP_KERNEL))) { + err = -ENOMEM; + break; + } + ((char*)(usbdata + i))[0] = ra[i].c1; + ((char*)(usbdata + i))[1] = ra[i].c2; + usb_fill_bulk_urb(us->urb[i], usX2Y->chip.dev, usb_sndbulkpipe(usX2Y->chip.dev, 4), + usbdata + i, 2, i_usX2Y_04Int, usX2Y); +#ifdef OLD_USB + us->urb[i]->transfer_flags = USB_QUEUE_BULK; +#endif + } + if (err) + break; + + add_wait_queue(&usX2Y->In04WaitQueue, &wait); + set_current_state(TASK_INTERRUPTIBLE); + us->submitted = 0; + us->len = NOOF_SETRATE_URBS; + usX2Y->US04 = us; + + do { + signed long timeout = schedule_timeout(HZ/2); + + if (signal_pending(current)) { + err = -ERESTARTSYS; + break; + } + if (0 == timeout) { + err = -ENODEV; + break; + } + usX2Y->rate = rate; + usX2Y->refframes = rate == 48000 ? 47 : 44; + } while (0); + + remove_wait_queue(&usX2Y->In04WaitQueue, &wait); + } while (0); + + if (us) { + us->submitted = 2*NOOF_SETRATE_URBS; + for (i = 0; i < NOOF_SETRATE_URBS; ++i) { + usb_unlink_urb(us->urb[i]); + usb_free_urb(us->urb[i]); + } + usX2Y->US04 = NULL; + kfree(usbdata); + kfree(us); + } + } + + return err; +} + + +static int usX2Y_format_set(usX2Ydev_t *usX2Y, snd_pcm_format_t format) +{ + int alternate, unlink_err, err; + struct list_head* p; + if (format == SNDRV_PCM_FORMAT_S24_3LE) { + alternate = 2; + usX2Y->stride = 6; + } else { + alternate = 1; + usX2Y->stride = 4; + } + list_for_each(p, &usX2Y->chip.midi_list) { + snd_usbmidi_input_stop(p); + } + unlink_err = usb_unlink_urb(usX2Y->In04urb); + if ((err = usb_set_interface(usX2Y->chip.dev, 0, alternate))) { + snd_printk("usb_set_interface error \n"); + return err; + } + if (0 == unlink_err) { + usX2Y->In04urb->dev = usX2Y->chip.dev; + err = usb_submit_urb(usX2Y->In04urb, GFP_KERNEL); + } + list_for_each(p, &usX2Y->chip.midi_list) { + snd_usbmidi_input_start(p); + } + usX2Y->format = format; + usX2Y->rate = 0; + return err; +} + + +static int snd_usX2Y_pcm_hw_params(snd_pcm_substream_t *substream, + snd_pcm_hw_params_t *hw_params) +{ + int err = 0; + unsigned int rate = params_rate(hw_params); + snd_pcm_format_t format = params_format(hw_params); + snd_printdd("snd_usX2Y_hw_params(%p, %p)\n", substream, hw_params); + + { // all pcm substreams off one usX2Y have to operate at the same rate & format + snd_card_t *card = substream->pstr->pcm->card; + struct list_head *list; + list_for_each(list, &card->devices) { + snd_device_t *dev; + snd_pcm_t *pcm; + int s; + dev = snd_device(list); + if (dev->type != SNDRV_DEV_PCM) + continue; + pcm = dev->device_data; + for (s = 0; s < 2; ++s) { + snd_pcm_substream_t *test_substream; + test_substream = pcm->streams[s].substream; + if (test_substream && test_substream != substream && + test_substream->runtime && + ((test_substream->runtime->format && + test_substream->runtime->format != format) || + (test_substream->runtime->rate && + test_substream->runtime->rate != rate))) + return -EINVAL; + } + } + } + if (0 > (err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)))) { + snd_printk("snd_pcm_lib_malloc_pages(%p, %i) returned %i\n", substream, params_buffer_bytes(hw_params), err); + return err; + } + return 0; +} + +/* + * free the buffer + */ +static int snd_usX2Y_pcm_hw_free(snd_pcm_substream_t *substream) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t *)runtime->private_data; + snd_printdd("snd_usX2Y_hw_free(%p)\n", substream); + + if (SNDRV_PCM_STREAM_PLAYBACK == substream->stream) { + snd_usX2Y_substream_t *cap_subs = subs->usX2Y->substream[SNDRV_PCM_STREAM_CAPTURE]; + subs->prepared = 0; + usX2Y_urbs_release(subs); + if (!cap_subs->pcm_substream || + !cap_subs->pcm_substream->runtime || + !cap_subs->pcm_substream->runtime->status || + cap_subs->pcm_substream->runtime->status->state < SNDRV_PCM_STATE_PREPARED) { + cap_subs->prepared = 0; + usX2Y_urbs_release(cap_subs); + } + } else { + snd_usX2Y_substream_t *playback_subs = subs->usX2Y->substream[SNDRV_PCM_STREAM_PLAYBACK]; + if (!playback_subs->prepared) { + subs->prepared = 0; + usX2Y_urbs_release(subs); + } + } + + return snd_pcm_lib_free_pages(substream); +} +/* + * prepare callback + * + * set format and initialize urbs + */ +static int snd_usX2Y_pcm_prepare(snd_pcm_substream_t *substream) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t *)runtime->private_data; + snd_usX2Y_substream_t *capsubs = subs->usX2Y->substream[SNDRV_PCM_STREAM_CAPTURE]; + int err = 0; + snd_printdd("snd_usX2Y_pcm_prepare(%p)\n", substream); + +// Start hardware streams +// SyncStream first.... + if (! capsubs->prepared) { + if (subs->usX2Y->format != runtime->format) + if ((err = usX2Y_format_set(subs->usX2Y, runtime->format)) < 0) + return err; + if (subs->usX2Y->rate != runtime->rate) + if ((err = usX2Y_rate_set(subs->usX2Y, runtime->rate)) < 0) + return err; + snd_printdd("starting capture pipe for playpipe\n"); + usX2Y_urbs_allocate(capsubs); + capsubs->completed_urb = 0; + { + DECLARE_WAITQUEUE(wait, current); + add_wait_queue(&capsubs->wait_queue, &wait); + if (0 <= (err = usX2Y_urbs_capt_start(capsubs))) { + signed long timeout; + set_current_state(TASK_INTERRUPTIBLE); + timeout = schedule_timeout(HZ/4); + if (signal_pending(current)) + err = -ERESTARTSYS; + else { + snd_printdd("%li\n", HZ/4 - timeout); + if (0 == timeout) + err = -EPIPE; + } + } + remove_wait_queue(&capsubs->wait_queue, &wait); + if (0 > err) + return err; + } + } + + if (subs != capsubs) { + int u; + if (!subs->prepared) { + if ((err = usX2Y_urbs_allocate(subs)) < 0) + return err; + subs->prepared = 1; + } + while (subs->submitted_urbs) + for (u = 0; u < NRURBS; u++) { + snd_printdd("%i\n", subs->urb[u]->status); + while(subs->urb[u]->status || NULL != subs->urb[u]->hcpriv) { + signed long timeout; + snd_printdd("ep=%i waiting for urb=%p status=%i hcpriv=%p\n", + subs->endpoint, subs->urb[u], + subs->urb[u]->status, subs->urb[u]->hcpriv); + set_current_state(TASK_INTERRUPTIBLE); + timeout = schedule_timeout(HZ/10); + if (signal_pending(current)) { + return -ERESTARTSYS; + } + } + } + subs->completed_urb = 0; + subs->next_urb_complete = -1; + subs->stalled = 0; + } + + usX2Y_substream_prepare(subs); + return err; +} + +static snd_pcm_hardware_t snd_usX2Y_2c = +{ + .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP_VALID), + .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_3LE, + .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, + .rate_min = 44100, + .rate_max = 48000, + .channels_min = 2, + .channels_max = 2, + .buffer_bytes_max = (2*128*1024), + .period_bytes_min = 64, + .period_bytes_max = (128*1024), + .periods_min = 2, + .periods_max = 1024, + .fifo_size = 0 +}; + + + +static int snd_usX2Y_pcm_open(snd_pcm_substream_t *substream) +{ + snd_usX2Y_substream_t *subs = ((snd_usX2Y_substream_t **) + snd_pcm_substream_chip(substream))[substream->stream]; + snd_pcm_runtime_t *runtime = substream->runtime; + + runtime->hw = snd_usX2Y_2c; + runtime->private_data = subs; + subs->pcm_substream = substream; + snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME, 1000, 200000); + return 0; +} + + + +static int snd_usX2Y_pcm_close(snd_pcm_substream_t *substream) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + snd_usX2Y_substream_t *subs = (snd_usX2Y_substream_t *)runtime->private_data; + int err = 0; + + subs->pcm_substream = NULL; + + return err; +} + + +static snd_pcm_ops_t snd_usX2Y_pcm_ops = +{ + .open = snd_usX2Y_pcm_open, + .close = snd_usX2Y_pcm_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_usX2Y_pcm_hw_params, + .hw_free = snd_usX2Y_pcm_hw_free, + .prepare = snd_usX2Y_pcm_prepare, + .trigger = snd_usX2Y_pcm_trigger, + .pointer = snd_usX2Y_pcm_pointer, +}; + + +/* + * free a usb stream instance + */ +static void usX2Y_audio_stream_free(snd_usX2Y_substream_t **usX2Y_substream) +{ + if (NULL != usX2Y_substream[SNDRV_PCM_STREAM_PLAYBACK]) { + kfree(usX2Y_substream[SNDRV_PCM_STREAM_PLAYBACK]); + usX2Y_substream[SNDRV_PCM_STREAM_PLAYBACK] = NULL; + } + kfree(usX2Y_substream[SNDRV_PCM_STREAM_CAPTURE]); + usX2Y_substream[SNDRV_PCM_STREAM_CAPTURE] = NULL; +} + +static void snd_usX2Y_pcm_private_free(snd_pcm_t *pcm) +{ + snd_usX2Y_substream_t **usX2Y_stream = pcm->private_data; + if (usX2Y_stream) { + snd_pcm_lib_preallocate_free_for_all(pcm); + usX2Y_audio_stream_free(usX2Y_stream); + } +} + +static int usX2Y_audio_stream_new(snd_card_t *card, int playback_endpoint, int capture_endpoint) +{ + snd_pcm_t *pcm; + int err, i; + snd_usX2Y_substream_t **usX2Y_substream = + usX2Y(card)->substream + 2 * usX2Y(card)->chip.pcm_devs; + + for (i = playback_endpoint ? SNDRV_PCM_STREAM_PLAYBACK : SNDRV_PCM_STREAM_CAPTURE; + i <= SNDRV_PCM_STREAM_CAPTURE; ++i) { + usX2Y_substream[i] = kcalloc(1, sizeof(snd_usX2Y_substream_t), GFP_KERNEL); + if (NULL == usX2Y_substream[i]) { + snd_printk(KERN_ERR "cannot malloc\n"); + return -ENOMEM; + } + init_waitqueue_head(&usX2Y_substream[i]->wait_queue); + usX2Y_substream[i]->usX2Y = usX2Y(card); + } + + if (playback_endpoint) + usX2Y_substream[SNDRV_PCM_STREAM_PLAYBACK]->endpoint = playback_endpoint; + usX2Y_substream[SNDRV_PCM_STREAM_CAPTURE]->endpoint = capture_endpoint; + + err = snd_pcm_new(card, NAME_ALLCAPS" Audio", usX2Y(card)->chip.pcm_devs, + playback_endpoint ? 1 : 0, 1, + &pcm); + if (err < 0) { + usX2Y_audio_stream_free(usX2Y_substream); + return err; + } + + if (playback_endpoint) + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_usX2Y_pcm_ops); + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_usX2Y_pcm_ops); + + pcm->private_data = usX2Y_substream; + pcm->private_free = snd_usX2Y_pcm_private_free; + pcm->info_flags = 0; + + sprintf(pcm->name, NAME_ALLCAPS" Audio #%d", usX2Y(card)->chip.pcm_devs); + + if ((playback_endpoint && + 0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream, + SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 64*1024, 128*1024))) || + 0 > (err = snd_pcm_lib_preallocate_pages(pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream, + SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 64*1024, 128*1024))) { + snd_usX2Y_pcm_private_free(pcm); + return err; + } + usX2Y(card)->chip.pcm_devs++; + + return 0; +} + +/* + * free the chip instance + * + * here we have to do not much, since pcm and controls are already freed + * + */ +static int snd_usX2Y_device_dev_free(snd_device_t *device) +{ + return 0; +} + + +/* + * create a chip instance and set its names. + */ +int usX2Y_audio_create(snd_card_t* card) +{ + int err = 0; + static snd_device_ops_t ops = { + .dev_free = snd_usX2Y_device_dev_free, + }; + + INIT_LIST_HEAD(&usX2Y(card)->chip.pcm_list); + + if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, usX2Y(card), &ops)) < 0) { +// snd_usX2Y_audio_free(usX2Y(card)); + return err; + } + + if (0 > (err = usX2Y_audio_stream_new(card, 0xA, 0x8))) + return err; + if (usX2Y(card)->chip.dev->descriptor.idProduct == USB_ID_US428) + if (0 > (err = usX2Y_audio_stream_new(card, 0, 0xA))) + return err; + if (usX2Y(card)->chip.dev->descriptor.idProduct != USB_ID_US122) + err = usX2Y_rate_set(usX2Y(card), 44100); // Lets us428 recognize output-volume settings, disturbs us122. + return err; +} diff -Nru a/sound/usb/usx2y/usx2y.h b/sound/usb/usx2y/usx2y.h --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/sound/usb/usx2y/usx2y.h 2004-08-25 19:27:40 -07:00 @@ -0,0 +1,49 @@ +/* + * Driver for Tascam US-X2Y USB soundcards + * + * Copyright (c) 2003 by Karsten Wiese + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __SOUND_USX2Y_COMMON_H +#define __SOUND_USX2Y_COMMON_H + + +#define USX2Y_DRIVER_VERSION 0x0100 /* 0.1.0 */ + + +/* hwdep id string */ +#define SND_USX2Y_LOADER_ID "USX2Y Loader" + +/* hardware type */ +enum { + USX2Y_TYPE_122, + USX2Y_TYPE_224, + USX2Y_TYPE_428, + USX2Y_TYPE_NUMS +}; + +#define USB_ID_US122 0x8007 +#define USB_ID_US224 0x8005 +#define USB_ID_US428 0x8001 + +/* chip status */ +enum { + USX2Y_STAT_CHIP_INIT = (1 << 0), /* all operational */ + USX2Y_STAT_CHIP_HUP = (1 << 31), /* all operational */ +}; + +#endif /* __SOUND_USX2Y_COMMON_H */