Re: [Patch 2/2] xtensa: use generic sys_pipe()

From: Amerigo Wang
Date: Fri Jul 24 2009 - 05:02:14 EST


On Thu, Jul 23, 2009 at 01:18:34PM +0200, Johannes Weiner wrote:
>On Thu, Jul 23, 2009 at 05:47:24PM +0800, Amerigo Wang wrote:
>> Johannes Weiner wrote:



<snip>

>> >>--- a/arch/xtensa/include/asm/unistd.h
>> >>+++ b/arch/xtensa/include/asm/unistd.h
>> >>@@ -94,7 +94,7 @@ __SYSCALL( 35, sys_readlink, 3)
>> >> #define __NR_mknod 36
>> >> __SYSCALL( 36, sys_mknod, 3)
>> >> #define __NR_pipe 37
>> >>-__SYSCALL( 37, xtensa_pipe, 1)
>> >>+__SYSCALL(37, sys_pipe, 1)
>> >>
>> >
>> >It would have been nice to keep the spacing but that shouldn't be a
>> >show stopper..
>> >
>> >
>>
>> I did this, but checkpatch.pl complained about this... so I removed the
>> space.
>
>Yeah, but look at the file. checkpatch suggests alignment that is
>common for function calls, but this doesn't look like a sequence of
>function calls, rather like a table - and we align other tables (like
>fields in structure definitions) as well because you usually don't
>read them in a linear fashion but want to spot key values immediately.
>
>Please ignore checkpatch in this case.

Ok, thanks! Below is it.

--------------------------->

As suggested by Al, we can use the generic sys_pipe() instead of xtensa_pipe()
for xtensa.

Signed-off-by: WANG Cong <amwang@xxxxxxxxxx>
Reviewed-by: Johannes Weiner <jw@xxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
diff --git a/arch/xtensa/include/asm/syscall.h b/arch/xtensa/include/asm/syscall.h
index 05cebf8..76a1fb8 100644
--- a/arch/xtensa/include/asm/syscall.h
+++ b/arch/xtensa/include/asm/syscall.h
@@ -12,7 +12,6 @@ struct pt_regs;
struct sigaction;
asmlinkage long xtensa_execve(char*, char**, char**, struct pt_regs*);
asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*);
-asmlinkage long xtensa_pipe(int __user *);
asmlinkage long xtensa_mmap2(unsigned long, unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long);
asmlinkage long xtensa_ptrace(long, long, long, long);
diff --git a/arch/xtensa/include/asm/unistd.h b/arch/xtensa/include/asm/unistd.h
index c092c8f..b6880c8 100644
--- a/arch/xtensa/include/asm/unistd.h
+++ b/arch/xtensa/include/asm/unistd.h
@@ -94,7 +94,7 @@ __SYSCALL( 35, sys_readlink, 3)
#define __NR_mknod 36
__SYSCALL( 36, sys_mknod, 3)
#define __NR_pipe 37
-__SYSCALL( 37, xtensa_pipe, 1)
+__SYSCALL( 37, sys_pipe, 1)
#define __NR_unlink 38
__SYSCALL( 38, sys_unlink, 1)
#define __NR_rmdir 39
diff --git a/arch/xtensa/kernel/syscall.c b/arch/xtensa/kernel/syscall.c
index ac15ecb..c7279be 100644
--- a/arch/xtensa/kernel/syscall.c
+++ b/arch/xtensa/kernel/syscall.c
@@ -39,24 +39,6 @@ syscall_t sys_call_table[__NR_syscall_count] /* FIXME __cacheline_aligned */= {
#include <asm/unistd.h>
};

-/*
- * xtensa_pipe() is the normal C calling standard for creating a pipe. It's not
- * the way unix traditional does this, though.
- */
-
-asmlinkage long xtensa_pipe(int __user *userfds)
-{
- int fd[2];
- int error;
-
- error = do_pipe_flags(fd, 0);
- if (!error) {
- if (copy_to_user(userfds, fd, 2 * sizeof(int)))
- error = -EFAULT;
- }
- return error;
-}
-

asmlinkage long xtensa_mmap2(unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/