1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Advanced Linux Sound Architecture 4*4882a593Smuzhiyun * Copyright (c) by Jaroslav Kysela <perex@perex.cz> 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <linux/init.h> 8*4882a593Smuzhiyun #include <sound/core.h> 9*4882a593Smuzhiyun alsa_sound_last_init(void)10*4882a593Smuzhiyunstatic int __init alsa_sound_last_init(void) 11*4882a593Smuzhiyun { 12*4882a593Smuzhiyun struct snd_card *card; 13*4882a593Smuzhiyun int idx, ok = 0; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun printk(KERN_INFO "ALSA device list:\n"); 16*4882a593Smuzhiyun for (idx = 0; idx < SNDRV_CARDS; idx++) { 17*4882a593Smuzhiyun card = snd_card_ref(idx); 18*4882a593Smuzhiyun if (card) { 19*4882a593Smuzhiyun printk(KERN_INFO " #%i: %s\n", idx, card->longname); 20*4882a593Smuzhiyun snd_card_unref(card); 21*4882a593Smuzhiyun ok++; 22*4882a593Smuzhiyun } 23*4882a593Smuzhiyun } 24*4882a593Smuzhiyun if (ok == 0) 25*4882a593Smuzhiyun printk(KERN_INFO " No soundcards found.\n"); 26*4882a593Smuzhiyun return 0; 27*4882a593Smuzhiyun } 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun late_initcall_sync(alsa_sound_last_init); 30