summaryrefslogtreecommitdiff
path: root/sound/pci/lola
AgeCommit message (Collapse)Author
2017-08-12ALSA: lola: make snd_pcm_hardware constBhumika Goyal
Make this const as it is only used during a copy operation. Done using Coccinelle. Signed-off-by: Bhumika Goyal <bhumirks@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-02-21ALSA: pci: constify snd_kcontrol_new structuresBhumika Goyal
Declare snd_kcontrol_new structures as const as they are only passed as an argument to the function snd_ctl_new1. This argument is of type const, so snd_kcontrol_new structures having the same property can be made const too. Done using Coccinelle: @r1 disable optional_qualifier @ identifier i; position p; @@ static struct snd_kcontrol_new i@p = {...}; @ok1@ identifier r1.i; position p; expression e1; @@ snd_ctl_new1(&i@p,e1) @bad@ position p!={r1.p,ok1.p}; identifier r1.i; @@ i@p @depends on !bad disable optional_qualifier@ identifier r1.i; @@ +const struct snd_kcontrol_new i; Signed-off-by: Bhumika Goyal <bhumirks@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-09-02ALSA: constify snd_pcm_ops structuresJulia Lawall
Check for snd_pcm_ops structures that are only stored in the ops field of a snd_soc_platform_driver structure or passed as the third argument to snd_pcm_set_ops. The corresponding field or parameter is declared const, so snd_pcm_ops structures that have this property can be declared as const also. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r disable optional_qualifier@ identifier i; position p; @@ static struct snd_pcm_ops i@p = { ... }; @ok1@ identifier r.i; struct snd_soc_platform_driver e; position p; @@ e.ops = &i@p; @ok2@ identifier r.i; expression e1, e2; position p; @@ snd_pcm_set_ops(e1, e2, &i@p) @bad@ position p != {r.p,ok1.p,ok2.p}; identifier r.i; struct snd_pcm_ops e; @@ e@i@p @depends on !bad disable optional_qualifier@ identifier r.i; @@ static +const struct snd_pcm_ops i = { ... }; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-01-04ALSA: Deletion of checks before the function call "iounmap"Markus Elfring
The iounmap() function performs also input parameter validation. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-12-10ALSA: lola: NULL dereference on probe failureDan Carpenter
"card" is NULL if snd_card_new() fails. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-11-17ALSA: lola: Deletion of an unnecessary check before the function call "vfree"Markus Elfring
The vfree() function performs also input parameter validation. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-08-12PCI: Remove DEFINE_PCI_DEVICE_TABLE macro useBenoit Taine
We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to meet kernel coding style guidelines. This issue was reported by checkpatch. A simplified version of the semantic patch that makes this change is as follows (http://coccinelle.lip6.fr/): // <smpl> @@ identifier i; declarer name DEFINE_PCI_DEVICE_TABLE; initializer z; @@ - DEFINE_PCI_DEVICE_TABLE(i) + const struct pci_device_id i[] = z; // </smpl> [bhelgaas: add semantic patch] Signed-off-by: Benoit Taine <benoit.taine@lip6.fr> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2014-05-21ALSA: lola: fix format type mismatch in sound/pci/lola/lola_proc.cToralf Förster
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-05ALSA: lola: NULL deref on allocation errorDan Carpenter
"chip" is NULL here. We don't need a printk here because kmalloc() has it built in. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-26ALSA: lola: Use standard printk helpersTakashi Iwai
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-02-12ALSA: pci: Convert to snd_card_new() with a device pointerTakashi Iwai
Also remove superfluous snd_card_set_dev() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-29ALSA: lola: Fix uninitialized variable access in error messageTakashi Iwai
The FUNCTION_TYPE parameter isn't associated with any NID, thus showing the uninitialized nid in the error message is simply nonsense. Spotted by coverity CID 145068. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-05-29ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at removeTakashi Iwai
As drvdata is cleared to NULL at probe failure or at removal by the driver core, we don't have to call pci_set_drvdata(pci, NULL) any longer in each driver. The only remaining pci_set_drvdata(NULL) is in azx_firmware_cb() in hda_intel.c. Since this function itself releases the card instance, we need to clear drvdata here as well, so that it won't be released doubly in the remove callback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-12-07ALSA: pci: remove __dev* attributesBill Pemberton
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: pci: clean up using module_pci_driver()Takashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-12-19ALSA: module_param: make bool parameters really boolRusty Russell
module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-10-31sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker
The implicit presence of module.h lured several users into incorrectly thinking that they only needed/used modparam.h but once we clean up the module.h presence, these will show up as build failures, so fix 'em now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-06-24ALSA: lola - Fix for Lola280 boardMarkus Bollinger
- add/fix comments and debug messages - fix incomplete matrix init - comment out creation of buggy lola_dest_gain_mixer controls - minor optimisations Signed-off-by: Markus Bollinger <bollinger@digigram.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-17Merge branch 'fix/hda' into topic/miscTakashi Iwai
2011-06-15ALSA: lola - Fix section mismatchTakashi Iwai
Add missing __devinit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-10ALSA: use KBUILD_MODNAME for request_irq argument in sound/pci/*Takashi Iwai
The name argument of request_irq() appears in /proc/interrupts, and it's quite ugly when the name entry contains a space or special letters. In general, it's simpler and more readable when the module name appears there, so let's replace all entries with KBUILD_MODNAME. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-10ALSA: Use KBUILD_MODNAME for pci_driver.name entriesTakashi Iwai
The convention for pci_driver.name entry in kernel drivers seem to be the module name or equivalent ones. But, so far, almost all PCI sound drivers use more verbose name like "ABC Xyz (12)", and these are fairly confusing when appearing as a file name. This patch converts the all pci_driver.name entries in sound/pci/* to use KBUILD_MODNAME for more unified appearance. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-04ALSA: lola - fix lola buildRandy Dunlap
sound/pci/lola/Makefile was trying to build lola modules even when PCI and SND_LOLA were not enabled, causing build errors: ERROR: "snd_pcm_hw_constraint_step" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_period_elapsed" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_dma_alloc_pages" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_hw_constraint_integer" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_sgbuf_ops_page" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_set_ops" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_lib_free_pages" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_lib_ioctl" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_lib_malloc_pages" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_sgbuf_get_chunk_size" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_dma_free_pages" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_lib_preallocate_pages_for_all" [sound/pci/lola/snd-lola.ko] undefined! ERROR: "snd_pcm_new" [sound/pci/lola/snd-lola.ko] undefined! Fix the Makefile to build only when CONFIG_SND_LOLA is enabled. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Yet another linux/delay.h inclusionTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Add missing inclusion of linux/delay.hTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Implement polling_mode like hd-audioTakashi Iwai
Also protect the call of lola_update_rirb() with spinlock. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Rename to Digital SRC Capture SwitchTakashi Iwai
Renamed to Digial SRC Capture Switch for more correct representation. Also fixed analog volume control on Lola161611 and lola881. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Add sync in loop implementationTakashi Iwai
For assuring the synchronized state with the pause operation, loop over the all linked streams and waits until all get ready in a loop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Add SRC refcountingTakashi Iwai
Added the refcounting for the exclusive SRC control. Also, fixed the possible stall after PCM pause operations. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Allow granularity changesTakashi Iwai
Add some sanity checks. Change PCM parameters appropriately per granularity. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Use SG-bufferTakashi Iwai
Completely switch to SG-buffer now, as it's working stably. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Add Lola-specific module optionsTakashi Iwai
Added granularity and sample_rate_min module options. The former controls the h/w access granularity. As default, it's set to the max value 32. The latter controls the minimum sample rate in Hz, as default 16000. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Fix PCM stallsTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Use a single BDLTakashi Iwai
Use a single BDL for both buffers instead of allocating for each. Also a few tune-up to avoid the stream stalls in the PCM code and the prelimianry work for SG-buffer support are added, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Suppress the debug printTakashi Iwai
Use snd_printdd() for less important debug messages. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Changes in proc fileTakashi Iwai
The codec proc file becomes a read only that shows the codec widgets in a text form. A new proc file, codec_rw, is introduced instead for accessing the Lola verb directly by reading and writing to it. Also, regs proc file shows the contents of DSD, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: lola - Make SRC helper globalTakashi Iwai
Make lola_sample_rate_convert() global so that it can be accessed from other files. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-03ALSA: Add the driver for Digigram Lola PCI-e boardsTakashi Iwai
Added a new driver for supporting Digigram Lola PCI-e boards. Lola has a similar h/w design like HD-audio but with extended verbs. Thus the driver is written similarly like HD-audio driver in the bus part. The codec part is rather written in a fixed way specific to the Lola board because of the verb incompatibility. The driver provides basic PCM, supporting multi-streams and mixing. Signed-off-by: Takashi Iwai <tiwai@suse.de>