ALSA: hda - Revive snd_hda_get_conn_list()
authorTakashi Iwai <tiwai@suse.de>
Thu, 3 Jan 2013 14:25:11 +0000 (15:25 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 12 Jan 2013 07:43:23 +0000 (08:43 +0100)
commitee8e765b0b6c9274e255025318cf8da1a3e30d45
tree18848d00ad22031a21fbd4c98e2f7a212e48f643
parent9cc159c6647f505be1205eb5e3fc3b1f84e1d4fd
ALSA: hda - Revive snd_hda_get_conn_list()

Manage the connection list cache using linked lists instead of
snd_array, and revive snd_hda_get_conn_list() again, so that we don't
have to keep the expanded values locally.
This will reduce the stack usage by recursive call of
snd_hda_get_conn_index() or parse_nid_path() of the generic parser.

The list management doesn't include any mutex protection, thus the
caller needs to take care of race appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h
sound/pci/hda/hda_generic.c