xref: /linux/sound/last.c (revision 1a59d1b8)
1*1a59d1b8SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  *  Advanced Linux Sound Architecture
4c1017a4cSJaroslav Kysela  *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
51da177e4SLinus Torvalds  */
61da177e4SLinus Torvalds 
71da177e4SLinus Torvalds #include <linux/init.h>
81da177e4SLinus Torvalds #include <sound/core.h>
91da177e4SLinus Torvalds 
alsa_sound_last_init(void)101da177e4SLinus Torvalds static int __init alsa_sound_last_init(void)
111da177e4SLinus Torvalds {
12f4fa9689STakashi Iwai 	struct snd_card *card;
131da177e4SLinus Torvalds 	int idx, ok = 0;
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds 	printk(KERN_INFO "ALSA device list:\n");
16f4fa9689STakashi Iwai 	for (idx = 0; idx < SNDRV_CARDS; idx++) {
17f4fa9689STakashi Iwai 		card = snd_card_ref(idx);
18f4fa9689STakashi Iwai 		if (card) {
19f4fa9689STakashi Iwai 			printk(KERN_INFO "  #%i: %s\n", idx, card->longname);
20f4fa9689STakashi Iwai 			snd_card_unref(card);
211da177e4SLinus Torvalds 			ok++;
221da177e4SLinus Torvalds 		}
23f4fa9689STakashi Iwai 	}
241da177e4SLinus Torvalds 	if (ok == 0)
251da177e4SLinus Torvalds 		printk(KERN_INFO "  No soundcards found.\n");
261da177e4SLinus Torvalds 	return 0;
271da177e4SLinus Torvalds }
281da177e4SLinus Torvalds 
29590b4775SKuninori Morimoto late_initcall_sync(alsa_sound_last_init);
30