History log of /linux-master/sound/isa/es1688/es1688_lib.c
Revision Date Author Comments
# df8bcf36 05-Aug-2021 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Avoid devres management for es1688 object creation

The recent refactoring of es1688 object creation with the use of
devres caused a problem with the non-PnP probe of GUS driver, as it
tries to probe multiple times with different parameters That is, this
object needs the immediate resource release and the devres doesn't fit
for it.

This patch reverts partially the commit for restoring the classic
resource management for es1688 object.

Fixes: 1bb11c1c7f6e ("ALSA: es1688: Allocate resources with device-managed APIs")
Reported-by: kernel test robot <oliver.sang@intel.com>
Link: https://lore.kernel.org/r/20210805032513.GA30485@xsang-OptiPlex-9020
Link: https://lore.kernel.org/r/20210805062148.30951-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 1bb11c1c 15-Jul-2021 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Allocate resources with device-managed APIs

This patch converts the resource management in ISA es1688 driver with
devres as a clean up. Each manual resource management is converted
with the corresponding devres helper. The remove callback became
superfluous and dropped.

This should give no user-visible functional changes.

Link: https://lore.kernel.org/r/20210715075941.23332-63-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# eb767949 08-Jun-2021 Takashi Iwai <tiwai@suse.de>

ALSA: isa: Fix assignment in if condition

ISA ES1688 and WSS driver code contains a few assignments in if
condition, which is a bad coding style that may confuse readers and
occasionally lead to bugs.

This patch is merely for coding-style fixes, no functional changes.

Link: https://lore.kernel.org/r/20210608140540.17885-15-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 748f5181 05-Jan-2020 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: More constifications

Apply const prefix to the static resource tables and init tables.

Just for minor optimization and no functional changes.

Link: https://lore.kernel.org/r/20200105144823.29547-48-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# fdd1f6fd 03-Jan-2020 Takashi Iwai <tiwai@suse.de>

ALSA: isa: Constify snd_kcontrol_new items

Most of snd_kcontrol_new definitions are read-only and passed as-is.
Let's declare them as const for further optimization.

There should be no functional changes by this patch.

Link: https://lore.kernel.org/r/20200103081714.9560-36-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 99f664df 03-Jan-2020 Takashi Iwai <tiwai@suse.de>

ALSA: isa: Constify snd_device_ops definitions

Now we may declare const for snd_device_ops definitions, so let's do
it for optimization.

There should be no functional changes by this patch.

Link: https://lore.kernel.org/r/20200103081714.9560-8-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# f5ac5120 09-Dec-2019 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Support PCM sync_stop

The driver invokes snd_pcm_period_elapsed() simply from the interrupt
handler. Set card->sync_irq for enabling the missing sync_stop PCM
operation.

Link: https://lore.kernel.org/r/20191210063454.31603-41-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 2251612e 09-Dec-2019 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Drop superfluous ioctl PCM ops

snd_es1688_ioctl() does nothing but calling the default handler.
Now PCM core accepts NULL as the default ioctl ops(*), so let's drop
altogether.

(*) commit fc033cbf6fb7 ("ALSA: pcm: Allow NULL ioctl ops")

Link: https://lore.kernel.org/r/20191210061145.24641-7-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# eb40b64f 09-Dec-2019 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Use managed buffer allocation

Clean up the driver with the new managed buffer allocation API.
The hw_params and hw_free callbacks became superfluous and got
dropped.

Link: https://lore.kernel.org/r/20191209094943.14984-13-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 1a59d1b8 27-May-2019 Thomas Gleixner <tglx@linutronix.de>

treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156

Based on 1 normalized pattern(s):

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

extracted by the scancode license scanner the SPDX license identifier

GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 1334 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a06702ca 13-Feb-2019 YueHaibing <yuehaibing@huawei.com>

ALSA: es1688: Remove set but not used variable 'hw'

Fixes gcc '-Wunused-but-set-variable' warning:

sound/isa/es1688/es1688_lib.c: In function 'snd_es1688_probe':
sound/isa/es1688/es1688_lib.c:124:31: warning:
variable 'hw' set but not used [-Wunused-but-set-variable]
unsigned short major, minor, hw;
^

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 0b6a2c9c 31-Jan-2019 Takashi Iwai <tiwai@suse.de>

ALSA: isa: Avoid passing NULL to memory allocators

We used to pass NULL to memory allocators for ISA devices due to
historical reasons. But we prefer rather a proper device object to be
assigned, so let's fix it by replacing snd_dma_isa_data() call with
card->dev reference, and kill snd_dma_isa_data() definition.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 498aaa91 03-Aug-2018 Takashi Iwai <tiwai@suse.de>

ALSA: isa: Remove empty init and exit

For a sake of code simplification, remove the init and the exit
entries that do nothing.

Notes for readers: actually it's OK to remove *both* init and exit,
but not OK to remove the exit entry. By removing only the exit while
keeping init, the module becomes permanently loaded; i.e. you cannot
unload it any longer!

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# aec54654 17-Aug-2017 Bhumika Goyal <bhumirks@gmail.com>

ALSA: isa: make snd_pcm_hardware const

Make these const as they are only used in a copy operation.
Done using Coccinelle.

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# e79a560e 11-Aug-2017 Arvind Yadav <arvind.yadav.cs@gmail.com>

ALSA: es1688: constify snd_pcm_ops structures

snd_pcm_ops are not supposed to change at runtime. All functions
working with snd_pcm_ops provided by <sound/pcm.h> work with
const snd_pcm_ops. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 4ea2bb73 07-Jun-2017 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Constify hw_constraints

snd_pcm_hw_constraint_list(), *_ratnums() and *_ratdens() receive the
const pointers. Constify the corresponding static objects for better
hardening.

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# cd7d1eab 13-Mar-2017 Nicolas Iooss <nicolas.iooss_linux@m4x.org>

ALSA: es1688: Use strcpy() instead of sprintf()

There is no point in using sprintf() without a format string when
strcpy() can perform the same operation.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 6cbbfe1c 28-Jan-2015 Takashi Iwai <tiwai@suse.de>

ALSA: Include linux/io.h instead of asm/io.h

Nowadays it's recommended. Replace all in a shot.

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 4b8ab885 01-Jan-2015 Lars-Peter Clausen <lars@metafoo.de>

ALSA: es1688: Remove almost always NULL parameter

snd_es1688_pcm() takes a pointer to a pointer of a PCM where if this
parameter is provided the newly allocated PCM is stored. This PCM is also
available from the pcm field of the snd_es1688 struct that got passed to the
same function. This patch updates all callers which passed a pointer to use
that field instead and then removes the parameter from the function. This
makes the code a bit shorter and cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 42d77210 21-Nov-2014 Markus Elfring <elfring@users.sourceforge.net>

ALSA: es1688_lib: Deletion of an unnecessary check before the function call "release_and_free_resource"

The release_and_free_resource() function tests whether its argument is NULL
and then returns immediately. 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>


# 69b0c762 20-Oct-2014 Takashi Iwai <tiwai@suse.de>

ALSA: es1688: Use snd_ctl_enum_info()

... and reduce the open codes. Also correct the array size and add
missing const.

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# e5b35420 29-Jul-2012 Fengguang Wu <fengguang.wu@intel.com>

ALSA: es1688 - freeup resources on init failure

This will fix the following oops:

[ 6.169981] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
[ 6.170851] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e9 #14
[ 6.170851] Call Trace:
[ 6.170851] [<c1062237>] ? __setup_irq+0x3c7/0x420
[ 6.170851] [<c1062486>] ? request_threaded_irq+0x76/0x140
[ 6.170851] [<c1290220>] ? snd_es1688_ioctl+0x10/0x10
[ 6.170851] [<c10624c2>] ? request_threaded_irq+0xb2/0x140
[ 6.170851] [<c1291196>] ? snd_es1688_create+0x96/0x330
[ 6.170851] [<c138365d>] ? snd_gusextreme_probe+0x18d/0x5a2
[ 6.170851] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.170851] [<c10db22f>] ? sysfs_create_link+0xf/0x20
[ 6.170851] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.170851] [<c11d1502>] ? isa_bus_probe+0x12/0x20
[ 6.170851] [<c11c9b95>] ? driver_probe_device+0x55/0x1c0
[ 6.170851] [<c13ae04f>] ? _raw_spin_unlock+0xf/0x30
[ 6.170851] [<c13705ea>] ? klist_next+0x6a/0xe0
[ 6.170851] [<c11d15c1>] ? isa_bus_match+0x21/0x40
[ 6.170851] [<c11c8a24>] ? bus_for_each_drv+0x34/0x70
[ 6.170851] [<c11c9e4b>] ? device_attach+0x7b/0x90
[ 6.170851] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.170851] [<c11c8bff>] ? bus_probe_device+0x5f/0x80
[ 6.170851] [<c11c7493>] ? device_add+0x573/0x620
[ 6.170851] [<c1042820>] ? complete_all+0x40/0x60
[ 6.170851] [<c13ae08a>] ? _raw_spin_unlock_irqrestore+0x1a/0x30
[ 6.170851] [<c11d16c6>] ? isa_register_driver+0xb6/0x150
[ 6.170851] [<c15c9002>] ? alsa_card_gusmax_init+0xf/0xf
[ 6.170851] [<c15a99bc>] ? do_one_initcall+0x7f/0x12b
[ 6.170851] [<c15a9b7a>] ? kernel_init+0x112/0x1a9
[ 6.170851] [<c15a9423>] ? do_early_param+0x77/0x77
[ 6.170851] [<c15a9a68>] ? do_one_initcall+0x12b/0x12b
[ 6.170851] [<c13aefbe>] ? kernel_thread_helper+0x6/0xd
[ 6.190170] es1688: can't grab IRQ 5
[ 6.190613] genirq: Flags mismatch irq 5. 00000000 (ES1688) vs. 00000000 (ES1688)
[ 6.191566] Pid: 1, comm: swapper Not tainted 3.5.0-00004-gceee0e9 #14
[ 6.192394] Call Trace:
[ 6.192685] [<c1062237>] ? __setup_irq+0x3c7/0x420
[ 6.193342] [<c1062486>] ? request_threaded_irq+0x76/0x140
[ 6.194081] [<c1290220>] ? snd_es1688_ioctl+0x10/0x10
[ 6.194607] [<c10624c2>] ? request_threaded_irq+0xb2/0x140
[ 6.194607] [<c1291196>] ? snd_es1688_create+0x96/0x330
[ 6.194607] [<c138365d>] ? snd_gusextreme_probe+0x18d/0x5a2
[ 6.194607] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.194607] [<c10db22f>] ? sysfs_create_link+0xf/0x20
[ 6.194607] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.194607] [<c11d1502>] ? isa_bus_probe+0x12/0x20
[ 6.194607] [<c11c9b95>] ? driver_probe_device+0x55/0x1c0
[ 6.194607] [<c13ae04f>] ? _raw_spin_unlock+0xf/0x30
[ 6.194607] [<c13705ea>] ? klist_next+0x6a/0xe0
[ 6.194607] [<c11d15c1>] ? isa_bus_match+0x21/0x40
[ 6.194607] [<c11c8a24>] ? bus_for_each_drv+0x34/0x70
[ 6.194607] [<c11c9e4b>] ? device_attach+0x7b/0x90
[ 6.194607] [<c11c9d80>] ? __driver_attach+0x80/0x80
[ 6.194607] [<c11c8bff>] ? bus_probe_device+0x5f/0x80
[ 6.194607] [<c11c7493>] ? device_add+0x573/0x620
[ 6.194607] [<c1042820>] ? complete_all+0x40/0x60
[ 6.194607] [<c13ae08a>] ? _raw_spin_unlock_irqrestore+0x1a/0x30
[ 6.194607] [<c11d16c6>] ? isa_register_driver+0xb6/0x150
[ 6.194607] [<c15c9002>] ? alsa_card_gusmax_init+0xf/0xf
[ 6.194607] [<c15a99bc>] ? do_one_initcall+0x7f/0x12b
[ 6.194607] [<c15a9b7a>] ? kernel_init+0x112/0x1a9
[ 6.194607] [<c15a9423>] ? do_early_param+0x77/0x77
[ 6.194607] [<c15a9a68>] ? do_one_initcall+0x12b/0x12b
[ 6.194607] [<c13aefbe>] ? kernel_thread_helper+0x6/0xd
[ 6.210779] es1688: can't grab IRQ 5
[ 6.211305] gusextreme: probe of gusextreme.0 failed with error -16

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# da155d5b 14-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com>

sound: Add module.h to the previously silent sound users

Lots of sound drivers were getting module.h via the implicit presence
of it in <linux/device.h> but we are going to clean that up. So
fix up those users now.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>


# 88e24c3a 22-Sep-2011 Yong Zhang <yong.zhang0@gmail.com>

sound: irq: Remove IRQF_DISABLED

Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# a20971b2 10-May-2010 Krzysztof Helt <krzysztof.h1@wp.pl>

ALSA: Merge es1688 and es968 drivers

The ESS ES968 chip is nothing more then a PnP companion
for a non-PnP audio chip. It was paired with non-PnP ESS' chips:
ES688 and ES1688. The ESS' audio chips are handled by the es1688
driver in native mode. The PnP cards are handled by the ES968
driver in SB compatible mode.

Move the ES968 chip handling to the es1688 driver so the driver
can handle both PnP and non-PnP cards. The es968 is removed.

Also, a new PnP id is added for the card I acquired (the change
was tested on this card).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 396fa827 09-May-2010 Krzysztof Helt <krzysztof.h1@wp.pl>

ALSA: es1688: allocate snd_es1688 structure as a part of snd_card structure

Allocate the snd_es1688 during the snd_card allocation.
This allows to remove the card pointer from the snd_es1688 structure.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>


# d355c82a 03-Nov-2009 Jaroslav Kysela <perex@perex.cz>

ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"

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>


# 4c9f1d3e 05-Feb-2009 Takashi Iwai <tiwai@suse.de>

ALSA: isa/*: Add missing KERN_* prefix to printk

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 622207dc 08-Aug-2008 Takashi Iwai <tiwai@suse.de>

ALSA: Kill snd_assert() in sound/isa/*

Kill snd_assert() in sound/isa/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>


# 9004acc7 08-Jan-2008 Takashi Iwai <tiwai@suse.de>

[ALSA] Remove sound/driver.h

This header file exists only for some hacks to adapt alsa-driver
tree. It's useless for building in the kernel. Let's move a few
lines in it to sound/core.h and remove it.
With this patch, sound/driver.h isn't removed but has just a single
compile warning to include it. This should be really killed in
future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>


# c1017a4c 15-Oct-2007 Jaroslav Kysela <perex@perex.cz>

[ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz


Signed-off-by: Jaroslav Kysela <perex@perex.cz>


# 7d12e780 05-Oct-2006 David Howells <dhowells@redhat.com>

IRQ: Maintain regs pointer globally rather than passing to IRQ handlers

Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.

The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around. On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).

Where appropriate, an arch may override the generic storage facility and do
something different with the variable. On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.

Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions. Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller. A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.

I've build this code with allyesconfig for x86_64 and i386. I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.

This will affect all archs. Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

struct pt_regs *old_regs = set_irq_regs(regs);

And put the old one back at the end:

set_irq_regs(old_regs);

Don't pass regs through to generic_handle_irq() or __do_IRQ().

In timer_interrupt(), this sort of change will be necessary:

- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);

I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().

Some notes on the interrupt handling in the drivers:

(*) input_dev() is now gone entirely. The regs pointer is no longer stored in
the input_dev struct.

(*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
something different depending on whether it's been supplied with a regs
pointer or not.

(*) Various IRQ handler function pointers have been moved to type
irq_handler_t.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)


# 65ca68b3 01-Jul-2006 Thomas Gleixner <tglx@linutronix.de>

[PATCH] irq-flags: sound: Use the new IRQF_ constants

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>


# d3a7e476 17-Nov-2005 Takashi Iwai <tiwai@suse.de>

[ALSA] Remove xxx_t typedefs: ISA ES1688

Modules: ES1688 driver

Remove xxx_t typedefs from the ISA ES1688 driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# c3e6f7d8 16-Nov-2005 Takashi Iwai <tiwai@suse.de>

[ALSA] Remove superfluous pcm_free callbacks

Remove superflous pcm_free callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# b1d5776d 10-Oct-2005 Takashi Iwai <tiwai@suse.de>

[ALSA] Remove vmalloc wrapper, kfree_nocheck()

- Remove vmalloc wrapper
- Add release_and_free_resource() to remove kfree_nocheck() from each driver
and simplify the code

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 9e76a76e 09-Sep-2005 Takashi Iwai <tiwai@suse.de>

[ALSA] Replace with kzalloc() - isa stuff

ES18xx driver,OPL3SA2 driver,AD1816A driver,AD1848 driver,CS4231 driver
ES1688 driver,GUS Library,Opti9xx drivers,EMU8000 driver
SB16/AWE driver,SB drivers
Replace kcalloc(1,..) with kzalloc().

Signed-off-by: Takashi Iwai <tiwai@suse.de>


# 1da177e4 16-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org>

Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!