summaryrefslogtreecommitdiffstats
path: root/sound/isa
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | ALSA: sound/isa/gus: Correct code taking the size of a pointerJulia Lawall2009-12-141-1/+2
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sizeof(share_id) is just the size of the pointer. On the other hand, block->share_id is an array, so its size seems more appropriate. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression *x; expression f; type T; @@ *f(...,(T)x,...) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: opti93x: fix irq releasing if the irq cannot be allocatedKrzysztof Helt2009-12-101-8/+10
| |_|/ |/| | | | | | | | | | | | | | | | | | | | Use the chip->irq to check if the irq should be released so the irq is not released if it has not been allocated. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: opti93x: set MC indirect registers base from PnP dataKrzysztof Helt2009-12-081-45/+67
|/ / | | | | | | | | | | | | | | | | | | | | | | The PnP data on the OPTI931 and OPTI933 contains io port range for the MC indirect registers. Use the PnP range instead of hardwired value 0xE0E. Also, request region of MC indirect registers so it is marked as used to other drivers (this was missing previously). Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/misc' into for-linusTakashi Iwai2009-12-047-565/+757
|\ \
| * | ALSA: opti9xx: remove snd_opti9xx fieldsKrzysztof Helt2009-12-021-67/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove snd_opti9xx fields which are indirect arguments to the snd_opti9xx_configure(). Pass these values as function arguments. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: add PnP detectionKrzysztof Helt2009-11-301-11/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCM12 and PCM20 can be set into the ISA PnP mode. The PCM12 PnP was sold as the PnP device. Add code to handle detection of these cards using ISA PnP framework. Tested on the PCM20 in PnP mode. The PCM12 PnP has the same MS Windows INF file except for a card name displayed for user. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: separate comon probing codeKrzysztof Helt2009-11-301-126/+147
| | | | | | | | | | | | | | | | | | | | | | | | Separate common probing code in order to use it for PnP probing. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: fix OOPS if hardware is not detectedKrzysztof Helt2009-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a hardware is not detected there is a kernel crash due to not initialized snd_miro->aci pointer. This pointer is initialized after detection of the opti (miro) chip. This bug was introduced by patches to expose ACI mikser outside the snd-miro driver. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: expose ACI mixer to outside driversKrzysztof Helt2009-11-231-105/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | The ACI mixer is used to control the radio FM module installed on the Miro PCM20 sound card. Expose ACI mixer outside the sound card driver. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: make miro.h header available outside the alsa directoryKrzysztof Helt2009-11-232-74/+1
| | | | | | | | | | | | | | | | | | | | | | | | Move the miro.h header to the include/sound directory. It can be used in the Miro PCM20 radio driver (v4l). Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: remove snd_card pointer from snd_miro structureKrzysztof Helt2009-11-211-30/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the snd_card pointer from the snd_miro structure and do some small code improvements. Also, move Opti chipset detection before detection of the ACI mixer, so the mci_base value is set in one place only. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: cs4236: add dB scale for all volume controlsKrzysztof Helt2009-11-191-44/+108
| | | | | | | | | | | | | | | | | | | | | Use db scale for all volume controls according to Crystal's datasheets. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: Fix missing semicolonTakashi Iwai2009-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | To fix a build error sound/isa/opti9xx/miro.c:1281: error: expected ';' before '}' token Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: opti-miro: use variables directly in the probe functionKrzysztof Helt2009-11-181-16/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the fm_port and mpu_port variables directly in a probe function. This completely eliminates a need to copy the fm_port value to the snd_miro structure. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: cs4236: update control namesKrzysztof Helt2009-11-182-32/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update control names to be more closer to their meaning. Change the "Mono" name to the "Beep" as this line is usually used to forward the PC beeper signal to sound card's output. Update names for both cs423x and wss. Clean up cs4235 controls according to the cs4235 doc. Rename some of the cs4235 controls to be consistent with the cs4236's ones. Also, delete one misnamed cs4231 register define. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: es18xx: code improvementsKrzysztof Helt2009-11-081-50/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Set the third argument of the snd_device_new to not NULL, so there is no warning about bug during chip detection. The third argument is not used in this driver. It was changed in my previous patch. 2. Remove the fm_port and mpu_port fields from the snd_es18xx structure. They can be converted to function arguments. 3. Remove the dmaN_size fields from the snd_es18xx structure. These values are used only in pointer functions and can be easily calculated. 4. Remove the ctrl_lock spinlock which is used only in one read function which is called once during chip initialization. There are many writes to the same register and they are not protected on purpose (see the comment ina the snd_es18xx_config_write()). 5. Use the first part of the text5Sources string table as the text4Soruces table (they are the same). 6. Merge the same cases for the ES1887 and ES1888 when setting chip's caps. 7. Move the snd_es18xx_reset() to __devinit section. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: cs4236: detect chip in one passKrzysztof Helt2009-11-053-31/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cs4236 was two step detection with call to the snd_wss_free() between two steps. The snd_wss_free() did not free a sound device created in the snd_wss_create(). This caused an OOPS during module removal as the same sound device was released twice. The same OOPS happened if the cs4236 module loading failed. Fix this by adapting the snd_cs4236_create() to correctly work with chips less capable then cs4236. The snd_cs4236_create() behaves the same as the snd_wss_create() if the chip is less capable than the cs4236. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"Jaroslav Kysela2009-11-054-6/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | To avoid confusion in control names for the standard analog PC Beep generator using a small Internal PC Speaker, rename all related "PC Speaker" and "PC Beep" controls to "Beep" only. This name is more universal and can be also used on more platforms without confusion. Introduce also "Internal Speaker" in ControlNames.txt for systems with full-featured build-in internal speaker. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: es18xx: remove snd_audiodrive structureKrzysztof Helt2009-10-301-46/+25
| | | | | | | | | | | | | | | | | | Remove intermediate snd_audiodrive structure between snd_card structure and snd_es18xx. This reduces size of source code and binary driver. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: es18xx: remove snd_card pointer from snd_es18xx structureKrzysztof Helt2009-10-301-31/+44
| | | | | | | | | | | | | | | | The snd_card pointer is redundant and code can be easily changed to work without it. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: wss: reuse CS4231 controls for AD1848Krzysztof Helt2009-10-111-56/+23
| | | | | | | | | | | | | | | | The C4231 control set is a superset of the AD1848 control set so reuse the CS4231 controls definitions for the AD1848. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: wss: convert CS4231 mixer to dB scaleKrzysztof Helt2009-10-101-17/+26
| | | | | | | | | | | | | | | | | | | | Convert CS4231 mixer to dB scale after AD1848 mixer. Also, add missing microphone boost control for the AD1848 and correct wrong bits for loopback volume on the AD1848. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape: coding style fixesKrzysztof Helt2009-10-101-86/+83
| | | | | | | | | | | | | | | | | | Fix coding style errors in the driver. Also, add missing argument for CMD_XXX_MIDI_VOL command. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape - Remove invalid __devinitdata to module parametersTakashi Iwai2009-10-051-9/+9
| | | | | | | | | | | | | | Module parameters shouldn't be marked as __devinitdata since they can be referred via sysfs even after probing. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape: force AD1848 codec mode on old SoundscapeKrzysztof Helt2009-10-051-4/+29
| | | | | | | | | | | | | | | | | | | | | | Old Soundscape cards (pre PnP) work only with AD1848 codecs. If the CS4231 codec is installed it must be used in AD1848 compatible mode. Also, add gameport support and remove an unused mpu field. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape: remove MIDI instances counting with limit ULONG_MAXKrzysztof Helt2009-10-041-72/+29
| | | | | | | | | | | | | | | | | | | | | | | | There is no sense to limit open MIDI connections with limit as high as ULONG_MAX. Also, convert more messages to use the snd_printk. Correct few old and misleading comments as well. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape: convert to firmware loader frameworkKrzysztof Helt2009-10-012-224/+112
| | | | | | | | | | | | | | | | | | | | | | The conversion solves the problem that firmware size was set to 64KB while non PnP cards have 128KB firmware files. An additional firmware initialization code has been moved from the OSS driver. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sscape: add supoort for SPEA Media FX/Reveal SC-600Krzysztof Helt2009-09-282-36/+86
|/ | | | | | | Move code from the OSS sscape driver in order to support old Soundscape OEM models. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/cmi8330' into for-linusTakashi Iwai2009-09-101-34/+52
|\ | | | | | | | | | | | | | | * topic/cmi8330: ALSA: cmi8330: Allow MPU-401-less operation ALSA: cmi8330: find OPL3 port automatically cmi8330: Add basic CMI8329 support ALSA: cmi8330: revert comments about AD1848 back
| * ALSA: cmi8330: Allow MPU-401-less operationOndrej Zary2009-07-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Adding MPU-401 support to cmi8330 driver could cause a regression (non-working sound) on a system where there is no free IRQ for the MPU-401 device (which is not very uncommon as this card requires two separate IRQs plus a third one for MPU-401). When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), just ignore MPU-401 and continue without it. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cmi8330: find OPL3 port automaticallyOndrej Zary2009-07-071-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | My CMI8329 had OPL3 port specified in SB16 resources. But now I found out that it was my modification of the card's PnP EEPROM a couple of years ago (can be done using C9SETROM.EXE utility). I did it because the OPL3 port was completely missing from PnP data. It seems to be hardwired to 0x388 on CMI8329. Find OPL3 port automatically by searching in WSS and SB16 resources. If not found, assume that it's hardwired to 0x388. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * cmi8330: Add basic CMI8329 supportOndrej Zary2009-07-051-29/+42
| | | | | | | | | | | | | | | | Add basic support for CMI8329 cards. Makes PCM and OPL3 work. Does not break CMI8330 (tested). Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cmi8330: revert comments about AD1848 backOndrej Zary2009-06-291-4/+4
| | | | | | | | | | | | | | | | | | In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848. The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments were correct and are misleading now. Revert them back. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lockJulia Lawall2009-07-191-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: cmi8330: fix MPU-401 PnP init copy&paste bugOndrej Zary2009-06-291-1/+1
| | | | | | | | Fix copy&paste bug in PnP MPU-401 initialization. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/seq-kconfig-cleanup' into for-linusTakashi Iwai2009-06-101-9/+1
|\ | | | | | | | | * topic/seq-kconfig-cleanup: ALSA: clean up the logic for building sequencer modules
| * ALSA: clean up the logic for building sequencer modulesMichal Marek2009-05-291-9/+1
| | | | | | | | | | | | | | | | Instead of mangling the CONFIG_* variables in the makefiles over and over, set a few helper variables in Kconfig. Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/section-fix' into for-linusTakashi Iwai2009-06-102-2/+2
|\ \ | | | | | | | | | | | | | | | | | | * topic/section-fix: ALSA: Add missing __devexit_p() markers ALSA: powermac - Replace the rest of __init* ALSA: sound/ppc: update annotations of serveral functions
| * | ALSA: Add missing __devexit_p() markersJean Delvare2009-06-042-2/+2
| |/ | | | | | | | | | | | | | | | | 3 ISA sound drivers lack their __devexit_p() markers, which would cause build failures when the kernel is built without hotplug support. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/sc6000' into for-linusTakashi Iwai2009-06-102-30/+111
|\ \ | |/ |/| | | | | | | | | * topic/sc6000: ALSA: sc6000: enable joystick port ALSA: sc6000: fix older card initialization ALSA: sc6000: add support for SC-6600 and SC-7000
| * ALSA: sc6000: enable joystick portKrzysztof Helt2009-05-041-2/+7
| | | | | | | | | | | | | | | | | | Add module parameter to enable or disable joystick port (gameport) on the SC6600 and later cards. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: sc6000: fix older card initializationKrzysztof Helt2009-04-241-10/+12
| | | | | | | | | | | | | | | | The last patch to handle newer cards like SC7000 broke initialization of the SC6000. Fix this. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: sc6000: add support for SC-6600 and SC-7000Krzysztof Helt2009-04-142-30/+104
| | | | | | | | | | | | | | | | | | | | Add support for later cards based on CompuMedia ASC-9408 chipsets. These cards were produced by Gallant. This patch make the OSS aedsp16 driver redundant. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driversTakashi Iwai2009-04-281-2/+4
| | | | | | | | | | | | | | Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that really don't give the precise pointer value. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/memdup_user' into for-linusTakashi Iwai2009-04-153-24/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | * topic/memdup_user: ALSA: sound/pci: use memdup_user() ALSA: sound/usb: use memdup_user() ALSA: sound/isa: use memdup_user() ALSA: sound/core: use memdup_user()
| * | ALSA: sound/isa: use memdup_user()Li Zefan2009-04-143-24/+20
| |/ | | | | | | | | | | | | Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge git://git.infradead.org/~dwmw2/firmware-2.6Linus Torvalds2009-04-103-2765/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | * git://git.infradead.org/~dwmw2/firmware-2.6: qla1280: Fix off-by-some error in firmware loading. Add README.AddingFirmware file. Basically telling people not to. firmware: Remove newly-added slicoss and sxg firmware images firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw ALSA: wavefront - Always use request_firmware() Remove fdump tool for av7110 firmware firmware: convert av7110 driver to request_firmware() Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card" Revert "fix modules_install via NFS" Add-add conflicts in firmware/WHENCE fixed manually
| * ALSA: wavefront - Always use request_firmware()Takashi Iwai2009-04-063-2765/+0
| | | | | | | | | | | | | | Always use request_firmware() for loading yss225_registers image. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* | ALSA: opl3sa2: add ZV port controlKrzysztof Helt2009-04-061-0/+1
|/ | | | | | | | | | | Add ZV port control switch. This patch is done after solution given in the ALSA bug #2872 report. The patch resolves the issue. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/sscape-fix' into for-linusTakashi Iwai2009-03-243-181/+96
|\