X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sound%2Fcore%2Finfo_oss.c;h=bb2c40d0ab66cd6f890ad86ac713246c561b3c7e;hb=5f765b8d68fe99c8a575265d81c62382893e1e8a;hp=12107968d4026fd8102ee0305d9260655511a7db;hpb=6c89cce75c6f93088a5a2a25bb9674a9194592cc;p=pandora-kernel.git diff --git a/sound/core/info_oss.c b/sound/core/info_oss.c index 12107968d402..bb2c40d0ab66 100644 --- a/sound/core/info_oss.c +++ b/sound/core/info_oss.c @@ -28,6 +28,7 @@ #include #include #include +#include #if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) @@ -35,9 +36,9 @@ * OSS compatible part */ -static DECLARE_MUTEX(strings); +static DEFINE_MUTEX(strings); static char *snd_sndstat_strings[SNDRV_CARDS][SNDRV_OSS_INFO_DEV_COUNT]; -static snd_info_entry_t *snd_sndstat_proc_entry; +static struct snd_info_entry *snd_sndstat_proc_entry; int snd_oss_info_register(int dev, int num, char *string) { @@ -45,7 +46,7 @@ int snd_oss_info_register(int dev, int num, char *string) snd_assert(dev >= 0 && dev < SNDRV_OSS_INFO_DEV_COUNT, return -ENXIO); snd_assert(num >= 0 && num < SNDRV_CARDS, return -ENXIO); - down(&strings); + mutex_lock(&strings); if (string == NULL) { if ((x = snd_sndstat_strings[num][dev]) != NULL) { kfree(x); @@ -54,24 +55,26 @@ int snd_oss_info_register(int dev, int num, char *string) } else { x = kstrdup(string, GFP_KERNEL); if (x == NULL) { - up(&strings); + mutex_unlock(&strings); return -ENOMEM; } } snd_sndstat_strings[num][dev] = x; - up(&strings); + mutex_unlock(&strings); return 0; } -extern void snd_card_info_read_oss(snd_info_buffer_t * buffer); +EXPORT_SYMBOL(snd_oss_info_register); -static int snd_sndstat_show_strings(snd_info_buffer_t * buf, char *id, int dev) +extern void snd_card_info_read_oss(struct snd_info_buffer *buffer); + +static int snd_sndstat_show_strings(struct snd_info_buffer *buf, char *id, int dev) { int idx, ok = -1; char *str; snd_iprintf(buf, "\n%s:", id); - down(&strings); + mutex_lock(&strings); for (idx = 0; idx < SNDRV_CARDS; idx++) { str = snd_sndstat_strings[idx][dev]; if (str) { @@ -82,13 +85,14 @@ static int snd_sndstat_show_strings(snd_info_buffer_t * buf, char *id, int dev) snd_iprintf(buf, "%i: %s\n", idx, str); } } - up(&strings); + mutex_unlock(&strings); if (ok < 0) snd_iprintf(buf, " NOT ENABLED IN CONFIG\n"); return ok; } -static void snd_sndstat_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) +static void snd_sndstat_proc_read(struct snd_info_entry *entry, + struct snd_info_buffer *buffer) { snd_iprintf(buffer, "Sound Driver:3.8.1a-980706 (ALSA v" CONFIG_SND_VERSION " emulation code)\n"); snd_iprintf(buffer, "Kernel: %s %s %s %s %s\n", @@ -111,11 +115,10 @@ static void snd_sndstat_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * b int snd_info_minor_register(void) { - snd_info_entry_t *entry; + struct snd_info_entry *entry; memset(snd_sndstat_strings, 0, sizeof(snd_sndstat_strings)); if ((entry = snd_info_create_module_entry(THIS_MODULE, "sndstat", snd_oss_root)) != NULL) { - entry->c.text.read_size = 2048; entry->c.text.read = snd_sndstat_proc_read; if (snd_info_register(entry) < 0) { snd_info_free_entry(entry);