]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/lasat/picvue_proc.c
sysctl: simplify ->strategy
[linux-2.6-omap-h63xx.git] / arch / mips / lasat / picvue_proc.c
index 9947c152582207560de3678257e98c67b15762cc..0bb6037afba3622ae0792842d3ceadae97f2c773 100644 (file)
 #include <linux/interrupt.h>
 
 #include <linux/timer.h>
+#include <linux/mutex.h>
 
 #include "picvue.h"
 
+static DEFINE_MUTEX(pvc_mutex);
 static char pvc_lines[PVC_NLINES][PVC_LINELEN+1];
 static int pvc_linedata[PVC_NLINES];
 static struct proc_dir_entry *pvc_display_dir;
@@ -48,9 +50,9 @@ static int pvc_proc_read_line(char *page, char **start,
                return 0;
        }
 
-       down(&pvc_sem);
+       mutex_lock(&pvc_mutex);
        page += sprintf(page, "%s\n", pvc_lines[lineno]);
-       up(&pvc_sem);
+       mutex_unlock(&pvc_mutex);
 
        return page - origpage;
 }
@@ -73,10 +75,10 @@ static int pvc_proc_write_line(struct file *file, const char *buffer,
        if (buffer[count-1] == '\n')
                count--;
 
-       down(&pvc_sem);
+       mutex_lock(&pvc_mutex);
        strncpy(pvc_lines[lineno], buffer, count);
        pvc_lines[lineno][count] = '\0';
-       up(&pvc_sem);
+       mutex_unlock(&pvc_mutex);
 
        tasklet_schedule(&pvc_display_tasklet);
 
@@ -89,7 +91,7 @@ static int pvc_proc_write_scroll(struct file *file, const char *buffer,
        int origcount = count;
        int cmd = simple_strtol(buffer, NULL, 10);
 
-       down(&pvc_sem);
+       mutex_lock(&pvc_mutex);
        if (scroll_interval != 0)
                del_timer(&timer);
 
@@ -106,7 +108,7 @@ static int pvc_proc_write_scroll(struct file *file, const char *buffer,
                }
                add_timer(&timer);
        }
-       up(&pvc_sem);
+       mutex_unlock(&pvc_mutex);
 
        return origcount;
 }
@@ -117,9 +119,9 @@ static int pvc_proc_read_scroll(char *page, char **start,
 {
        char *origpage = page;
 
-       down(&pvc_sem);
+       mutex_lock(&pvc_mutex);
        page += sprintf(page, "%d\n", scroll_dir * scroll_interval);
-       up(&pvc_sem);
+       mutex_unlock(&pvc_mutex);
 
        return page - origpage;
 }