Re: Define termios_1 functions for powerpc, s390, avr32 and frv
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-09-14 22:14:18
Also in:
lkml
On Fri, 14 Sep 2007 11:33:24 -0700 (PDT) David Miller [off-list ref] wrote:
From: Andrew Morton <akpm@linux-foundation.org> Date: Thu, 13 Sep 2007 03:55:06 -0700quoted
I think we need to go with Tony's patch. sparc32 and sparc64 are presently broken too, and the patch which converts sparc to use the new interfaces introduces a few build errors.The problem with the asm-generic/termios.h thing is it only works if your copying functions are just a copy_{to,from}_user() and you can define that __ARCH_* macro. In retrospect what that header should do is, outside of the ARCH_* block, define the foo_1 interfaces plainly to foo. Alternatively, here is a patch that gets sparc compiling and working again in the current tree. This whole termios thing hasn't been handled very well, and it's maybe not what we should be doing so late in the -rc cycle. And yes, this is coming from the guy who added the TCP oops'er two weeks ago :-P
tell me about it.
quoted hunk ↗ jump to hunk
[SPARC]: Fix build due to termios changes. Signed-off-by: David S. Miller <davem@davemloft.net>diff --git a/include/asm-sparc/termios.h b/include/asm-sparc/termios.h index d767f20..25e9cbb 100644 --- a/include/asm-sparc/termios.h +++ b/include/asm-sparc/termios.h@@ -142,6 +142,11 @@ struct winsize { 0; \ }) +#define user_termios_to_kernel_termios_1(k, u) \ + user_termios_to_kernel_termios(k, u) +#define kernel_termios_to_user_termios_1(u, k) \ + kernel_termios_to_user_termios(u, k) + #endif /* __KERNEL__ */ #endif /* _SPARC_TERMIOS_H */diff --git a/include/asm-sparc64/termios.h b/include/asm-sparc64/termios.h index f05d390..6fc71e6 100644 --- a/include/asm-sparc64/termios.h +++ b/include/asm-sparc64/termios.h@@ -145,6 +145,11 @@ struct winsize { err; \ }) +#define user_termios_to_kernel_termios_1(k, u) \ + user_termios_to_kernel_termios(k, u) +#define kernel_termios_to_user_termios_1(u, k) \ + kernel_termios_to_user_termios(u, k) + #endif /* __KERNEL__ */ #endif /* _SPARC64_TERMIOS_H */
That fixes sparc, but I think other architectures are still broken. And if we use Tony's ifdef patch to fix the other architectures, that makes the above sparc-fix patch unneeded. argh.