[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>
This commit is contained in:
Adrian Bunk 2006-09-29 02:01:36 -07:00 committed by Linus Torvalds
parent e5582ca21a
commit b9dd6ffc3d
3 changed files with 6 additions and 7 deletions

View File

@ -2,6 +2,7 @@
#
obj-$(CONFIG_SOUND) += soundcore.o
obj-$(CONFIG_SOUND_PRIME) += sound_firmware.o
obj-$(CONFIG_SOUND_PRIME) += oss/
obj-$(CONFIG_DMASOUND) += oss/
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
endif
soundcore-objs := sound_core.o sound_firmware.o
soundcore-objs := sound_core.o

View File

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

View File

@ -4,6 +4,7 @@
#include <linux/mm.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include "oss/sound_firmware.h"
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.
*
* 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)
@ -73,4 +73,6 @@ int mod_firmware_load(const char *fn, char **fp)
set_fs(fs);
return r;
}
EXPORT_SYMBOL(mod_firmware_load);
MODULE_LICENSE("GPL");