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 Torvaldsstatic 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