summaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
...
| * | ALSA: hda - Rename power_mgmt flag with power_save_nodeTakashi Iwai2015-03-204-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | David suggested that the name "power_mgmt" is too ambiguous. Rename the flag with a bit clearer one "power_save_node". Also, add the corresponding description to HD-Audio.txt, too. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix power of pins used for mute LED with vrefsTakashi Iwai2015-03-203-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some pins are used for controlling the LED with the VREF value. This patch changes the power behavior of such pins to be constantly up. A new state, pin_fixed, is introduced to nid_path to indicate that the path contains the fixed pin. This improves also the readability a bit for other static routes, too. Then a helper function snd_hda_gen_fix_pin_power() is called from the codec driver for such fixed pins, and it will create fake paths containing only these pins with pin_fixed=1 flag. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/hda-power' into for-nextTakashi Iwai2015-03-209-802/+427
| |\ \
| | * | ALSA: hda - Adjust power of beep widget and outputsTakashi Iwai2015-03-183-13/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the widget PM may turn off the pins, this might lead to the silent output for beep when no explicit paths are given. This patch adds fake output paths for the beep widget so that the output pins are dynamically powered upon beep on/off. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Use the new power control for VIA codecsTakashi Iwai2015-03-181-650/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VIA codecs used to have the own power controls but they were disabled at transition to the generic parser due to the coding assuming the fixed routes. Now we get the proper support of equivalently fine power management in the generic parser, and the old kludges can be replaced with it. This results in the reduction of lots of dead codes. The advanced PM feature is disabled as default like before for keeping the compatible behavior. It's enabled via "Dynamic Power-Control" mixer element. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Support advanced power state controlsTakashi Iwai2015-03-185-48/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables the finer power state control of each widget depending on the jack plug state and streaming state in addition to the existing power_down_unused power optimization. The new feature is enabled only when codec->power_mgmt flag is set. Two new flags, pin_enabled and stream_enabled, are introduced in nid_path struct for marking the two individual power states: the pin plug/unplug and DAC/ADC stream, respectively. They can be set statically in case they are static routes (e.g. some mixer paths), too. The power up and down events for each pin are triggered via the standard hda_jack table. The call order is hard-coded, relying on the current implementation of jack event chain (a la FILO/stack order). One point to be dealt carefully is that DAC/ADC cannot be powered on/off while streaming. They are pinned as long as the stream is running. For controlling the power of DAC/ADC, a new patch_ops is added. The generic parser provides the default callback for that. As of this patch, only IDT/Sigmatel codec driver enables the flag. The support on other codecs will follow. An assumption we made in this code is that the widget state (e.g. amp, pinctl, connections) remains after the widget power transition (not about FG power transition). This is true for IDT codecs, at least. But if the widget state is lost at widget power transition, we'd need to implement additional code to sync the cached amp/verbs for the specific NID. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Simplify PCM setup overridesTakashi Iwai2015-03-172-91/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does two things: - code refactoring with a local helper function, - allow codec drivers to provide the specific PCM stream info pointers only for overriding the non-NULL entries, instead of copying the whole. This simplifies the codec driver side (currently the only user is alc269's 44kHz fixed rate). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Add sampling rate control of the ADC/DACClément Guedez2015-03-181-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add sampling rate control for ADC/DAC for ESI W192M. Allow to switch between 48K/96K/192K sampling rate. All DAC need to be mute when changing samplerate. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Add text Line in/Mic for selecting input gain stateClément Guedez2015-03-181-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add text Line in/Mic for selecting input gain state in mixer for ESI W192M. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Add TLV support for control value in dB scaleClément Guedez2015-03-181-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add TLV support to control volume using dB scale for input and ouput on ESI W192M. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Enable midi i/o of port envy24 chip as availableClément Guedez2015-03-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable midi i/o port of envy24 chip as their are available on ESI W192M soundcard. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Update eeprom structure to C99 standardClément Guedez2015-03-181-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update eeprom structure to C99 standard to be compliant with change in alsa. It's just a notation change, no configuration change. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ice1724: ESI W192M: Correct copy/paste from prodigy driverClément Guedez2015-03-181-2/+2
| |/ / | | | | | | | | | | | | | | | | | | Correct copy/paste name from prodigy driver, no behaviour change, only name. Signed-off-by: Clément Guedez <klem.dev@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/hda-unbind' into for-nextTakashi Iwai2015-03-1621-449/+384
| |\ \
| | * | ALSA: hda - Use shutdown driver ops instead of reboot notifierTakashi Iwai2015-03-137-57/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver shutdown ops is simpler than registering reboot notifier manually. There should be no functional change by this -- the codec driver calls its own callback while the bus driver just calls azx_stop() like before. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Release resources in device release callbackTakashi Iwai2015-03-031-28/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the destructor code to device release callback for the codec object instead. This is a safer place to release the resources than dev_free callback in general. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Use standard workqueue for unsol and jack eventsTakashi Iwai2015-03-036-36/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The events that are handled by HD-audio drivers are no frequent and urgent ones, so we can use the standard workqueue without any problem nowadays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Build PCMs and controls at codec driver probeTakashi Iwai2015-03-035-94/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the code flow easier -- instead of the controller driver calling snd_hda_build_pcms() and snd_hda_build_controls() explicitly, the codec driver itself builds PCMs and controls at probe time. Then the controller driver only needs to call snd_card_register(). Also, this allows us the full bind/unbind control, too. Even when a codec driver is bound later, it automatically registers the new PCM and controls by itself. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Implement unbind more safelyTakashi Iwai2015-03-035-35/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we have all pieces ready, and put them into places: - add the hda_pcm refcount to azx_pcm_open() and azx_pcm_close(), - call the most of cleanup code in hda_codec_reset() from the codec driver remove, - call the same code also from the hda_codec object free. Then the codec driver can be unbound more safely now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Don't assume non-NULL PCM opsTakashi Iwai2015-03-032-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCM ops might be set NULL, or cleared to NULL when the driver is unbound. Give a proper NULL check at each place to be more robust. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Allocate hda_pcm objects dynamicallyTakashi Iwai2015-03-0310-103/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, the hda_codec object kept the hda_pcm list in an array, and the codec driver was expected to assign the array. However, this makes the object life cycle management harder, because the assigned array is freed at the codec driver detach while it might be still accessed by the opened streams. In this patch, we allocate each hda_pcm object dynamically and manage it as a linked list. Each object has a kref refcount, and both the codec driver binder and the PCM open/close touches it, so that the object won't be freed while in use. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Remove superfluous memory allocation error messagesTakashi Iwai2015-03-033-30/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The memory allocators should have already given the kernel warning messages, thus we don't have to annoy again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Add card field to hda_codec structTakashi Iwai2015-03-0313-40/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the codec object to have an individual card pointer. Not only this simplifies the redirections in many places, also this will allow us to make each codec assigned to a different card object. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Split snd_hda_build_pcms()Takashi Iwai2015-03-032-43/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_hda_build_pcms() does actually three things: let the codec driver build up hda_pcm list, set the PCM default values, and call the attach_pcm bus ops for each hda_pcm instance. The former two are basically independent from the bus implementation, so it'd make the code a bit more readable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/hda-bus' into for-nextTakashi Iwai2015-03-1624-991/+572
| |\ \ \ | | |/ /
| | * | ALSA: hda - Clear pcm pointer assigned to hda_pcm at device removalTakashi Iwai2015-02-262-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We leave the pcm field of struct hda_pcm at removal of each device, so far. This hasn't been a problem since unbinding the codec driver isn't supposed to happen and another route via snd_hda_codec_reset() clears all the once. However, for a proper unbind implementation, we need to care about it. This patch does the thing above properly: - Include struct hda_pcm pointer instead of struct hda_pcm_stream pointers in struct azx_dev. This allows us to point the hda_pcm object at dev_free callback. - Introduce to_hda_pcm_stream() macro for better readability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Remove channel mode helper functionsTakashi Iwai2015-02-262-105/+0
| | | | | | | | | | | | | | | | | | | | | | | | They are no longer used, let's kill them. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Set parent of input beep devicesTakashi Iwai2015-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the card device as the parent like other sound devices instead of leaving it empty. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Power down codec automatically at registrationTakashi Iwai2015-02-263-28/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, we let the controller driver power down the all codecs at the end of probe. But this can be done better in the codec's dev_register callback. This results in the reduction of duplicated codes in each control driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Replace bus pm_notify with the standard runtime PM frameworkTakashi Iwai2015-02-265-54/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the final bit of runtime PM cleanup: instead of manual notification of the power up/down of the codec via hda_bus pm_notify ops, use the standard runtime PM feature. The child codec device will kick off the runtime PM of the parent (PCI) device upon suspend/resume automatically. For managing whether the link can be really turned off, we use the bit flags bus->codec_powered instead of the earlier bus->power_keep_link_on. flag. Each codec driver is responsible to set/clear the bit flag, and the controller device can be turned off only when all these bits are cleared. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Drop power_save value indirection in hda_busTakashi Iwai2015-02-266-32/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to pass the power_save option value to hda_bus via a given pointer. This was needed to refer to the value from the HD-audio core side. However, after the transition to the runtime PM, this is no longer needed. This patch drops the power_save value indirection in hda_bus above, and let the controller driver reprograms the autosuspend value explicitly by a new helper, snd_hda_set_power_save(). Without this call, the HD-audio core doesn't set up the autosuspend and flip the runtime PM. (User may still be able to set up via sysfs, though.) Along with this change, the pointer argument of azx_bus_create() is dropped as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Use standard runtime PM for codec power-save controlTakashi Iwai2015-02-235-230/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like the previous transition of suspend/resume, now move the power-save code to the standard runtime PM. As usual for runtime PM, it's a bit tricky, but this simplified codes a lot in the end. For keeping the usage compatibility, power_save module option still controls the whole power-saving behavior on all codecs. The value is translated to pm_runtime_*_autosuspend() and pm_runtime_allow() / pm_runtime_forbid() calls. snd_hda_power_up() and snd_hda_power_down() are translated to pm_runtime_get_sync() and pm_runtime_put_autosuspend(), respectively. Since we can do call pm_runtime_get_sync() more reliably, the sync version is used always and snd_hda_power_up_d3wait() is dropped. Another slight difference is that snd_hda_power_up()/down() don't call runtime_pm code during the suspend/resume transition phase. Calling them there isn't safe unlike our own code, resulted in unexpected behavior (endless wakeups). The hda_power_count tracepoint was removed, as it doesn't match well with the new code. Last but not least, we need to set ignore_children flag in the parent dev.power field so that the runtime PM of the controller chip won't get confused. The notification is still done in the bus pm_notify callback. We'll get rid of this hack in the later patch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Move codec suspend/resume to codec driverTakashi Iwai2015-02-236-86/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the suspend/resume mechanisms down to each codec driver level, as we have a proper codec driver bound on the bus now. Then we get the asynchronous PM gratis without fiddling much in the driver level. As a soft-landing transition, implement the common suspend/resume pm ops for hda_codec_driver and keep the each codec driver intact. Only the callers of suspend/resume in the controller side (azx_suspend() and azx_resume()) are removed. Another involved place is azx_bus_reset() calling the temporary suspend and resume as a hackish method of bus reset. The HD-audio core provide a helper function snd_hda_bus_reset() instead. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Bind codecs via standard busTakashi Iwai2015-02-2317-478/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind the codec driver with the codec device over there. This is the first step of the whole transition so that the changes to each codec driver are kept as minimal as possible. Each codec driver needs to register hda_codec_driver struct containing the currently existing preset via the new helper macro module_hda_codec_driver(). The old hda_codec_preset_list is replaced with this infrastructure. The generic parsers (for HDMI and other) are also included in the preset with the special IDs to bind uniquely. In HD-audio core side, the device binding code is split to hda_bind.c. It provides the snd_hda_bus_type implementation to match the codec driver with the given codec vendor ID. It also manages the module auto-loading by itself like before: when the matching isn't found, it tries to probe the corresponding codec modules, and finally falls back to the generic drivers. (The special ID mentioned above is set at this stage.) The only visible change to outside is that the hdaudio sysfs entry now appears in /sys/bus/devices, not as a sound class device. More works to move the suspend/resume and remove ops will be (hopefully) done in later patches. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: hda - Decouple PCM and hwdep devices from codec objectTakashi Iwai2015-02-233-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a preliminary patch for the hda_bus implementation, removing the parent device setup to codec device. Since the bus and the class devices can't be crossed over, leave the sound devices to the default parent device as is. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'for-linus' into for-nextTakashi Iwai2015-03-163-16/+71
| |\ \ \
| * \ \ \ Merge branch 'for-linus' into for-nextTakashi Iwai2015-03-121-0/+11
| |\ \ \ \
| * \ \ \ \ Merge branch 'for-linus' into for-nextTakashi Iwai2015-03-092-1/+8
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging the HD-audio fixes back to base devel branch for further working on it.
| * | | | | | ALSA: ac97: ac97_patch: Simplify patch_vt1613_specific()Fabio Estevam2015-03-061-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can simplify the code by returning patch_build_controls() directly. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: ac97: Add VT1613 AC97 codec supportMaciej S. Szmigiero2015-03-062-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to add an VT1613 AC97 codec support. This codec has additional DC offset removal control, headphone output and no video input. Signed-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | Merge tag 'asoc-v4.1' of ↵Takashi Iwai2015-03-062-6/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Changes for v4.1 A selection of changes for v4.1 so far. The main things are: - Move of jack registration to the card where it belongs. - Support for DAPM routes specified by both the machine driver and DT.
| * | | | | | | ALSA: cmipci: remove a stray space characterDan Carpenter2015-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | | ALSA: azt3328: some indenting cleanupsDan Carpenter2015-02-251-3/+4
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few minor tweaks to make things line up correctly. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | Merge branch 'topic/timestamp' into for-nextTakashi Iwai2015-02-231-11/+29
| |\ \ \ \ \ \
| | * | | | | | ALSA: hda: replace .wallclock by .get_time_infoPierre-Louis Bossart2015-02-201-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No real functional change, only take wall clock and system time in same routine and add accuracy report. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | | Merge branch 'topic/hda-cleanup' into for-nextTakashi Iwai2015-02-2310-568/+493
| |\ \ \ \ \ \ \
| | * | | | | | | ALSA: hda - Avoid unnecessary power-up at mixer amp changesTakashi Iwai2015-02-201-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the mixer amp is touched by control elements, we don't have to power up always; if the codec was suspended at the time, we can just update the amp cache and it's reflected to the hardware upon resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | | ALSA: hda - Split azx_codec_create() to two phasesTakashi Iwai2015-02-194-23/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | azx_create_codec() function does actually two things: create a bus and probe codecs. For the future work, split this to two logical functions, azx_bus_create() and azx_probe_codecs(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | | ALSA: hda - Drop azx_mixer_create()Takashi Iwai2015-02-194-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's just an indirection, so let the caller directly calling snd_hda_build_controls(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | | | | ALSA: hda - Fold hda_priv.h into hda_controller.hTakashi Iwai2015-02-197-415/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no big reason to keep them separately. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud