]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - sound/core/init.c
ALSA: info: Move card id proc creation into info.c
[linux.git] / sound / core / init.c
index 5252a9ce13dc776d0701e1c7efb879afac1b8689..0c4dc40376a709ff2e8aabd2f9ac4d25660389be 100644 (file)
@@ -100,33 +100,6 @@ int (*snd_mixer_oss_notify_callback)(struct snd_card *card, int free_flag);
 EXPORT_SYMBOL(snd_mixer_oss_notify_callback);
 #endif
 
-#ifdef CONFIG_SND_PROC_FS
-static void snd_card_id_read(struct snd_info_entry *entry,
-                            struct snd_info_buffer *buffer)
-{
-       struct snd_card *card = entry->private_data;
-
-       snd_iprintf(buffer, "%s\n", card->id);
-}
-
-static int init_info_for_card(struct snd_card *card)
-{
-       struct snd_info_entry *entry;
-
-       entry = snd_info_create_card_entry(card, "id", card->proc_root);
-       if (!entry) {
-               dev_dbg(card->dev, "unable to create card entry\n");
-               return -ENOMEM;
-       }
-       snd_info_set_text_ops(entry, card, snd_card_id_read);
-       card->proc_id = entry;
-
-       return snd_info_card_register(card);
-}
-#else /* !CONFIG_SND_PROC_FS */
-#define init_info_for_card(card)
-#endif
-
 static int check_empty_slot(struct module *module, int slot)
 {
        return !slots[slot] || !*slots[slot];
@@ -493,7 +466,6 @@ static int snd_card_do_free(struct snd_card *card)
        snd_device_free_all(card);
        if (card->private_free)
                card->private_free(card);
-       snd_info_free_entry(card->proc_id);
        if (snd_info_card_free(card) < 0) {
                dev_warn(card->dev, "unable to free card info\n");
                /* Not fatal error */
@@ -797,7 +769,10 @@ int snd_card_register(struct snd_card *card)
        }
        snd_cards[card->number] = card;
        mutex_unlock(&snd_card_mutex);
-       init_info_for_card(card);
+       err = snd_info_card_register(card);
+       if (err < 0)
+               return err;
+
 #if IS_ENABLED(CONFIG_SND_MIXER_OSS)
        if (snd_mixer_oss_notify_callback)
                snd_mixer_oss_notify_callback(card, SND_MIXER_OSS_NOTIFY_REGISTER);