Skip to contentSkip to conversation

Sound core not compiling without /proc support

PATCH In review Paul Rolland 3 participants 4 messages Jan 12, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Sound core not compiling without /proc support

Hello,

Here is a quick patch to allow sound support to compile correctly when not using /proc support.

Regards,
Paul Rolland, [email protected]

15 [12:53] rol@donald:/kernels> diff -uN linux-2.5.56/sound/core/init.c linux-2.5.56-work/sound/core/init.c
--- linux-2.5.56/sound/core/init.c 2003-01-10 21:11:28.000000000
+0100
+++ linux-2.5.56-work/sound/core/init.c 2003-01-12 12:52:13.000000000 +0100
@@ -115,16 +115,20 @@

                snd_printd("unable to register control minors\n");
                goto __error;
        }
+#ifdef CONFIG_PROC_FS
        if ((err = snd_info_card_create(card)) < 0) {
                snd_printd("unable to create card info\n");
                goto __error_ctl;
        }
+#endif
        if (extra_size > 0)
                card->private_data = (char *)card + sizeof(snd_card_t);
        return card;

+#ifdef CONFIG_PROC_FS

       __error_ctl:
        snd_ctl_unregister(card);
+#endif
       __error:
        kfree(card);
        return NULL;
@@ -273,10 +277,12 @@
        if (card->private_free)
                card->private_free(card);
        snd_info_free_entry(card->proc_id);
+#ifdef CONFIG_PROC_FS
        if (snd_info_card_free(card) < 0) {
                snd_printk(KERN_WARNING "unable to free card info\n");
                /* Not fatal error */
        }
+#endif
        while (card->s_f_ops) {
                s_f_ops = card->s_f_ops;
                card->s_f_ops = s_f_ops->next;
#1 lore raw
Quoted 4 lines · Paul Rolland

Hello,

Here is a quick patch to allow sound support to compile correctly when not using /proc support.

You are making all users of functions manipulating /proc condentional. A simpler approach would be to make the functions that actually minipulate /proc conditional.
For example snd_info_card_create() could be a noop if CONFIG_PROC_FS is not defined.
Then you minimize the number of #ifdef's, and they are placed logically where they belongs.

Furhtermore you make less code conditional which imply that the execution path - and thus code getting more test - is more similar for the two cases.

Sam

#2 lore raw
In reply to Paul Rolland
Quoted 4 lines · Paul Rolland

Hello,

Here is a quick patch to allow sound support to compile correctly when not using /proc support.

It's a bad fix. The null function declarations should go to include/sound/info.h.

Jaroslav

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs

#3 lore raw

Hello,

Quoted 7 lines
Quoted 1 line

Here is a quick patch to allow sound support to compile

correctly when

Quoted 1 line

not using /proc support.

It's a bad fix. The null function declarations should go to include/sound/info.h.

As I wrote, it is a "quick fix".
Sure there are better way to do it, my intention was mainly :
- to mention the problem,
- give a quick (though dirty) workaround for people missing it.

Paul