aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-09-29 20:51:21 -0400
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:32:29 -0400
commitb288f135872b651ebf6cd1565d0709a5e31997f7 (patch)
tree4466c2038022d406aa3378ea644e5a7989ec5a08
parentea3d710fe572f0af4d242701973f7363b2146429 (diff)
Switch Sibyte profiling driver to ->compat_ioctl
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/ioctl32.c6
-rw-r--r--arch/mips/sibyte/sb1250/bcm1250_tbprof.c13
2 files changed, 8 insertions, 11 deletions
diff --git a/arch/mips/kernel/ioctl32.c b/arch/mips/kernel/ioctl32.c
index c069719ff0d8..ed9b2da510be 100644
--- a/arch/mips/kernel/ioctl32.c
+++ b/arch/mips/kernel/ioctl32.c
@@ -41,12 +41,6 @@ IOCTL_TABLE_START
41#define DECLARES 41#define DECLARES
42#include "compat_ioctl.c" 42#include "compat_ioctl.c"
43 43
44#ifdef CONFIG_SIBYTE_TBPROF
45COMPATIBLE_IOCTL(SBPROF_ZBSTART)
46COMPATIBLE_IOCTL(SBPROF_ZBSTOP)
47COMPATIBLE_IOCTL(SBPROF_ZBWAITFULL)
48#endif /* CONFIG_SIBYTE_TBPROF */
49
50/*HANDLE_IOCTL(RTC_IRQP_READ, w_long) 44/*HANDLE_IOCTL(RTC_IRQP_READ, w_long)
51COMPATIBLE_IOCTL(RTC_IRQP_SET) 45COMPATIBLE_IOCTL(RTC_IRQP_SET)
52HANDLE_IOCTL(RTC_EPOCH_READ, w_long) 46HANDLE_IOCTL(RTC_EPOCH_READ, w_long)
diff --git a/arch/mips/sibyte/sb1250/bcm1250_tbprof.c b/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
index e4dfeb52dcec..992e0d8dbb67 100644
--- a/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
+++ b/arch/mips/sibyte/sb1250/bcm1250_tbprof.c
@@ -28,6 +28,7 @@
28#include <linux/fs.h> 28#include <linux/fs.h>
29#include <linux/errno.h> 29#include <linux/errno.h>
30#include <linux/reboot.h> 30#include <linux/reboot.h>
31#include <linux/smp_lock.h>
31#include <linux/wait.h> 32#include <linux/wait.h>
32#include <asm/uaccess.h> 33#include <asm/uaccess.h>
33#include <asm/io.h> 34#include <asm/io.h>
@@ -343,13 +344,13 @@ static ssize_t sbprof_tb_read(struct file *filp, char *buf,
343 return count; 344 return count;
344} 345}
345 346
346static int sbprof_tb_ioctl(struct inode *inode, 347static long sbprof_tb_ioctl(struct file *filp,
347 struct file *filp, 348 unsigned int command,
348 unsigned int command, 349 unsigned long arg)
349 unsigned long arg)
350{ 350{
351 int error = 0; 351 int error = 0;
352 352
353 lock_kernel();
353 switch (command) { 354 switch (command) {
354 case SBPROF_ZBSTART: 355 case SBPROF_ZBSTART:
355 error = sbprof_zbprof_start(filp); 356 error = sbprof_zbprof_start(filp);
@@ -368,6 +369,7 @@ static int sbprof_tb_ioctl(struct inode *inode,
368 error = -EINVAL; 369 error = -EINVAL;
369 break; 370 break;
370 } 371 }
372 unlock_kernel();
371 373
372 return error; 374 return error;
373} 375}
@@ -377,7 +379,8 @@ static struct file_operations sbprof_tb_fops = {
377 .open = sbprof_tb_open, 379 .open = sbprof_tb_open,
378 .release = sbprof_tb_release, 380 .release = sbprof_tb_release,
379 .read = sbprof_tb_read, 381 .read = sbprof_tb_read,
380 .ioctl = sbprof_tb_ioctl, 382 .unlocked_ioctl = sbprof_tb_ioctl,
383 .compat_ioctl = sbprof_tb_ioctl,
381 .mmap = NULL, 384 .mmap = NULL,
382}; 385};
383 386