Browse Source

[PATCH] build sound/sound_firmware.c only for OSS

All sound/sound_firmware.c contains is mod_firmware_load() that is a legacy
API only used by some OSS drivers.

This patch builds it into an own sound_firmware module that is only built
depending on CONFIG_SOUND_PRIME making the kernel slightly smaller for ALSA
users.

[alan@lxorguk.ukuu.org.uk: comment fix]
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Adrian Bunk 18 years ago
parent
commit
b9dd6ffc3d
3 changed files with 6 additions and 7 deletions
  1. 2 1
      sound/Makefile
  2. 0 4
      sound/sound_core.c
  3. 4 2
      sound/sound_firmware.c

+ 2 - 1
sound/Makefile

@@ -2,6 +2,7 @@
 #
 #
 
 
 obj-$(CONFIG_SOUND) += soundcore.o
 obj-$(CONFIG_SOUND) += soundcore.o
+obj-$(CONFIG_SOUND_PRIME) += sound_firmware.o
 obj-$(CONFIG_SOUND_PRIME) += oss/
 obj-$(CONFIG_SOUND_PRIME) += oss/
 obj-$(CONFIG_DMASOUND) += oss/
 obj-$(CONFIG_DMASOUND) += oss/
 obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ synth/ usb/ sparc/ parisc/ pcmcia/ mips/
 obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ synth/ usb/ sparc/ parisc/ pcmcia/ mips/
@@ -11,4 +12,4 @@ ifeq ($(CONFIG_SND),y)
   obj-y += last.o
   obj-y += last.o
 endif
 endif
 
 
-soundcore-objs  := sound_core.o sound_firmware.o
+soundcore-objs  := sound_core.o

+ 0 - 4
sound/sound_core.c

@@ -551,10 +551,6 @@ int soundcore_open(struct inode *inode, struct file *file)
 	return -ENODEV;
 	return -ENODEV;
 }
 }
 
 
-extern int mod_firmware_load(const char *, char **);
-EXPORT_SYMBOL(mod_firmware_load);
-
-
 MODULE_DESCRIPTION("Core sound module");
 MODULE_DESCRIPTION("Core sound module");
 MODULE_AUTHOR("Alan Cox");
 MODULE_AUTHOR("Alan Cox");
 MODULE_LICENSE("GPL");
 MODULE_LICENSE("GPL");

+ 4 - 2
sound/sound_firmware.c

@@ -4,6 +4,7 @@
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
+#include "oss/sound_firmware.h"
 
 
 static int do_mod_firmware_load(const char *fn, char **fp)
 static int do_mod_firmware_load(const char *fn, char **fp)
 {
 {
@@ -59,8 +60,7 @@ static int do_mod_firmware_load(const char *fn, char **fp)
  *	value zero on a failure.
  *	value zero on a failure.
  *
  *
  *	Caution: This API is not recommended. Firmware should be loaded via
  *	Caution: This API is not recommended. Firmware should be loaded via
- *	an ioctl call and a setup application. This function may disappear
- *	in future.
+ *	request_firmware.
  */
  */
  
  
 int mod_firmware_load(const char *fn, char **fp)
 int mod_firmware_load(const char *fn, char **fp)
@@ -73,4 +73,6 @@ int mod_firmware_load(const char *fn, char **fp)
 	set_fs(fs);
 	set_fs(fs);
 	return r;
 	return r;
 }
 }
+EXPORT_SYMBOL(mod_firmware_load);
 
 
+MODULE_LICENSE("GPL");