Skip to content

Commit

Permalink
[MIPS] Lasat: Convert pvc_sem semaphore to mutex
Browse files Browse the repository at this point in the history
I also changed the name to pvc_mutex, and moved the define to the file
it's used in which allows it to be static.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Daniel Walker authored and Ralf Baechle committed Jan 29, 2008
1 parent f6ed10a commit 8a39c52
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 13 deletions.
2 changes: 0 additions & 2 deletions arch/mips/lasat/picvue.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@

struct pvc_defs *picvue;

DECLARE_MUTEX(pvc_sem);

static void pvc_reg_write(u32 val)
{
*picvue->reg = val;
Expand Down
3 changes: 0 additions & 3 deletions arch/mips/lasat/picvue.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* Brian Murphy <brian.murphy@eicon.com>
*
*/
#include <asm/semaphore.h>

struct pvc_defs {
volatile u32 *reg;
u32 data_shift;
Expand Down Expand Up @@ -45,4 +43,3 @@ void pvc_move(u8 cmd);
void pvc_clear(void);
void pvc_home(void);

extern struct semaphore pvc_sem;
18 changes: 10 additions & 8 deletions arch/mips/lasat/picvue_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@
#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;
Expand Down Expand Up @@ -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;
}
Expand All @@ -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);

Expand All @@ -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);

Expand All @@ -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;
}
Expand All @@ -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;
}
Expand Down

0 comments on commit 8a39c52

Please sign in to comment.