linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / sound / pci / ac97 / ac97_proc.c
index 2118df5..7134b3f 100644 (file)
@@ -24,8 +24,6 @@
 
 #include <sound/driver.h>
 #include <linux/slab.h>
-#include <linux/mutex.h>
-
 #include <sound/core.h>
 #include <sound/ac97_codec.h>
 #include <sound/asoundef.h>
@@ -340,7 +338,7 @@ static void snd_ac97_proc_read(struct snd_info_entry *entry, struct snd_info_buf
 {
        struct snd_ac97 *ac97 = entry->private_data;
        
-       mutex_lock(&ac97->page_mutex);
+       down(&ac97->page_mutex);
        if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) {        // Analog Devices AD1881/85/86
                int idx;
                for (idx = 0; idx < 3; idx++)
@@ -366,7 +364,7 @@ static void snd_ac97_proc_read(struct snd_info_entry *entry, struct snd_info_buf
        } else {
                snd_ac97_proc_read_main(ac97, buffer, 0);
        }
-       mutex_unlock(&ac97->page_mutex);
+       up(&ac97->page_mutex);
 }
 
 #ifdef CONFIG_SND_DEBUG
@@ -376,7 +374,7 @@ static void snd_ac97_proc_regs_write(struct snd_info_entry *entry, struct snd_in
        struct snd_ac97 *ac97 = entry->private_data;
        char line[64];
        unsigned int reg, val;
-       mutex_lock(&ac97->page_mutex);
+       down(&ac97->page_mutex);
        while (!snd_info_get_line(buffer, line, sizeof(line))) {
                if (sscanf(line, "%x %x", &reg, &val) != 2)
                        continue;
@@ -384,7 +382,7 @@ static void snd_ac97_proc_regs_write(struct snd_info_entry *entry, struct snd_in
                if (reg < 0x80 && (reg & 1) == 0 && val <= 0xffff)
                        snd_ac97_write_cache(ac97, reg, val);
        }
-       mutex_unlock(&ac97->page_mutex);
+       up(&ac97->page_mutex);
 }
 #endif
 
@@ -403,7 +401,7 @@ static void snd_ac97_proc_regs_read(struct snd_info_entry *entry,
 {
        struct snd_ac97 *ac97 = entry->private_data;
 
-       mutex_lock(&ac97->page_mutex);
+       down(&ac97->page_mutex);
        if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) {        // Analog Devices AD1881/85/86
 
                int idx;
@@ -419,7 +417,7 @@ static void snd_ac97_proc_regs_read(struct snd_info_entry *entry,
        } else {
                snd_ac97_proc_regs_read_main(ac97, buffer, 0);
        }       
-       mutex_unlock(&ac97->page_mutex);
+       up(&ac97->page_mutex);
 }
 
 void snd_ac97_proc_init(struct snd_ac97 * ac97)
@@ -433,7 +431,7 @@ void snd_ac97_proc_init(struct snd_ac97 * ac97)
        prefix = ac97_is_audio(ac97) ? "ac97" : "mc97";
        sprintf(name, "%s#%d-%d", prefix, ac97->addr, ac97->num);
        if ((entry = snd_info_create_card_entry(ac97->bus->card, name, ac97->bus->proc)) != NULL) {
-               snd_info_set_text_ops(entry, ac97, snd_ac97_proc_read);
+               snd_info_set_text_ops(entry, ac97, 1024, snd_ac97_proc_read);
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
                        entry = NULL;
@@ -442,9 +440,10 @@ void snd_ac97_proc_init(struct snd_ac97 * ac97)
        ac97->proc = entry;
        sprintf(name, "%s#%d-%d+regs", prefix, ac97->addr, ac97->num);
        if ((entry = snd_info_create_card_entry(ac97->bus->card, name, ac97->bus->proc)) != NULL) {
-               snd_info_set_text_ops(entry, ac97, snd_ac97_proc_regs_read);
+               snd_info_set_text_ops(entry, ac97, 1024, snd_ac97_proc_regs_read);
 #ifdef CONFIG_SND_DEBUG
                entry->mode |= S_IWUSR;
+               entry->c.text.write_size = 1024;
                entry->c.text.write = snd_ac97_proc_regs_write;
 #endif
                if (snd_info_register(entry) < 0) {