[PATCH] Simplify PPC tc[gs]etattr

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Mon Feb 17 18:01:00 GMT 2003


Hi,

now that both PPC32 and PPC64 have a working INLINE_SYSCALL, using 
INLINE_SYSCALL for ioctl in linux/tc[gs]etattr.c lets us remove the PPC 
files.

Franz.


	* sysdeps/unix/sysv/linux/tcgetattr.c: Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/tcsetattr.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Delete.
	* sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Delete.
-------------- next part --------------
Index: sysdeps/unix/sysv/linux/tcgetattr.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/tcgetattr.c,v
retrieving revision 1.6
diff -u -p -r1.6 tcgetattr.c
--- sysdeps/unix/sysv/linux/tcgetattr.c	6 Jul 2001 04:56:13 -0000	1.6
+++ sysdeps/unix/sysv/linux/tcgetattr.c	17 Feb 2003 17:49:56 -0000
@@ -36,7 +36,7 @@ __tcgetattr (fd, termios_p)
   struct __kernel_termios k_termios;
   int retval;
 
-  retval = __ioctl (fd, TCGETS, &k_termios);
+  retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
 
   termios_p->c_iflag = k_termios.c_iflag;
   termios_p->c_oflag = k_termios.c_oflag;
Index: sysdeps/unix/sysv/linux/tcsetattr.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/tcsetattr.c,v
retrieving revision 1.11
diff -u -p -r1.11 tcsetattr.c
--- sysdeps/unix/sysv/linux/tcsetattr.c	13 Aug 2002 00:23:00 -0000	1.11
+++ sysdeps/unix/sysv/linux/tcsetattr.c	17 Feb 2003 17:49:56 -0000
@@ -87,14 +87,14 @@ tcsetattr (fd, optional_actions, termios
   memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
 	  __KERNEL_NCCS * sizeof (cc_t));
 
-  retval = __ioctl (fd, cmd, &k_termios);
+  retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
 
   if (retval == 0 && cmd == TCSETS)
     {
       /* The Linux kernel has a bug which silently ignore the invalid
 	 c_cflag on pty. We have to check it here. */
       int save = errno;
-      retval = __ioctl (fd, TCGETS, &k_termios);
+      retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
       if (retval)
 	{
 	  /* We cannot verify if the setting is ok. We don't return
--- sysdeps/unix/sysv/linux/powerpc/tcgetattr.c	2002-11-05 09:31:36.000000000 +0100
+++ /dev/null	1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-/* We must use the syscall directly since __ioctl does some extra work.  */
-
-#include <sys/ioctl.h>
-
-#include <sysdep.h>
-#include <bp-checks.h>
-
-struct __kernel_termios;
-
-static inline int
-tcgetattr_ioctl (int fd, unsigned long int request,
-		 struct __kernel_termios *termios_p)
-{
-  return INLINE_SYSCALL (ioctl, 3, fd, request, CHECK_1 (termios_p));
-}
-
-#define __ioctl tcgetattr_ioctl
-
-#include <sysdeps/unix/sysv/linux/tcgetattr.c>
--- sysdeps/unix/sysv/linux/powerpc/tcsetattr.c	2002-11-05 09:31:36.000000000 +0100
+++ /dev/null	1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-/* We must use the syscall directly since __ioctl does some extra work.  */
-
-#include <sys/ioctl.h>
-
-#include <sysdep.h>
-#include <bp-checks.h>
-
-struct __kernel_termios;
-
-static inline int
-tcsetattr_ioctl (int fd, unsigned long int request,
-		 const struct __kernel_termios *termios_p)
-{
-  return INLINE_SYSCALL (ioctl, 3, fd, request, CHECK_1 (termios_p));
-}
-
-#define __ioctl tcsetattr_ioctl
-
-#include <sysdeps/unix/sysv/linux/tcsetattr.c>


More information about the Libc-alpha mailing list