Message ID | 20240306171149.3843481-1-floppym@gentoo.org |
---|---|
State | New |
Headers | show |
Series | sparc: move struct termio to asm/termios.h | expand |
Hi Mike, On Wed, 2024-03-06 at 12:11 -0500, Mike Gilbert wrote: > Every other arch declares struct termio in asm/termios.h, so make sparc > match them. > > Resolves a build failure in the PPP software package, which includes > both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h. > > Closes: https://bugs.gentoo.org/918992 > Signed-off-by: Mike Gilbert <floppym@gentoo.org> > Cc: stable@vger.kernel.org > --- > arch/sparc/include/uapi/asm/termbits.h | 10 ---------- > arch/sparc/include/uapi/asm/termios.h | 9 +++++++++ > 2 files changed, 9 insertions(+), 10 deletions(-) > > diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h > index 4321322701fc..0da2b1adc0f5 100644 > --- a/arch/sparc/include/uapi/asm/termbits.h > +++ b/arch/sparc/include/uapi/asm/termbits.h > @@ -10,16 +10,6 @@ typedef unsigned int tcflag_t; > typedef unsigned long tcflag_t; > #endif > > -#define NCC 8 > -struct termio { > - unsigned short c_iflag; /* input mode flags */ > - unsigned short c_oflag; /* output mode flags */ > - unsigned short c_cflag; /* control mode flags */ > - unsigned short c_lflag; /* local mode flags */ > - unsigned char c_line; /* line discipline */ > - unsigned char c_cc[NCC]; /* control characters */ > -}; > - > #define NCCS 17 > struct termios { > tcflag_t c_iflag; /* input mode flags */ > diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h > index ee86f4093d83..cceb32260881 100644 > --- a/arch/sparc/include/uapi/asm/termios.h > +++ b/arch/sparc/include/uapi/asm/termios.h > @@ -40,5 +40,14 @@ struct winsize { > unsigned short ws_ypixel; > }; > > +#define NCC 8 > +struct termio { > + unsigned short c_iflag; /* input mode flags */ > + unsigned short c_oflag; /* output mode flags */ > + unsigned short c_cflag; /* control mode flags */ > + unsigned short c_lflag; /* local mode flags */ > + unsigned char c_line; /* line discipline */ > + unsigned char c_cc[NCC]; /* control characters */ > +}; > > #endif /* _UAPI_SPARC_TERMIOS_H */ This should also fix the build of u-boot on sparc64 which fails due to 'struct termio' being redefined [1]: In file included from /<<PKGBUILDDIR>>/tools/termios_linux.h:33, from /<<PKGBUILDDIR>>/tools/kwboot.c:153: /usr/lib/linux/uapi/sparc/asm/termbits.h:14:8: error: redefinition of 'struct termio' 14 | struct termio { | ^~~~~~ In file included from /usr/include/sparc64-linux-gnu/sys/ioctl.h:29, from /<<PKGBUILDDIR>>/tools/termios_linux.h:30: /usr/include/sparc64-linux-gnu/bits/ioctl-types.h:36:8: note: originally defined here 36 | struct termio | ^~~~~~ Adrian > [1] https://buildd.debian.org/status/fetch.php?pkg=u-boot&arch=sparc64&ver=2024.01%2Bdfsg-3&stamp=1711031586&raw=0
On Wed, Mar 6, 2024 at 12:11 PM Mike Gilbert <floppym@gentoo.org> wrote: > > Every other arch declares struct termio in asm/termios.h, so make sparc > match them. > > Resolves a build failure in the PPP software package, which includes > both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h. > > Closes: https://bugs.gentoo.org/918992 > Signed-off-by: Mike Gilbert <floppym@gentoo.org> > Cc: stable@vger.kernel.org > --- > arch/sparc/include/uapi/asm/termbits.h | 10 ---------- > arch/sparc/include/uapi/asm/termios.h | 9 +++++++++ > 2 files changed, 9 insertions(+), 10 deletions(-) > > diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h > index 4321322701fc..0da2b1adc0f5 100644 > --- a/arch/sparc/include/uapi/asm/termbits.h > +++ b/arch/sparc/include/uapi/asm/termbits.h > @@ -10,16 +10,6 @@ typedef unsigned int tcflag_t; > typedef unsigned long tcflag_t; > #endif > > -#define NCC 8 > -struct termio { > - unsigned short c_iflag; /* input mode flags */ > - unsigned short c_oflag; /* output mode flags */ > - unsigned short c_cflag; /* control mode flags */ > - unsigned short c_lflag; /* local mode flags */ > - unsigned char c_line; /* line discipline */ > - unsigned char c_cc[NCC]; /* control characters */ > -}; > - > #define NCCS 17 > struct termios { > tcflag_t c_iflag; /* input mode flags */ > diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h > index ee86f4093d83..cceb32260881 100644 > --- a/arch/sparc/include/uapi/asm/termios.h > +++ b/arch/sparc/include/uapi/asm/termios.h > @@ -40,5 +40,14 @@ struct winsize { > unsigned short ws_ypixel; > }; > > +#define NCC 8 > +struct termio { > + unsigned short c_iflag; /* input mode flags */ > + unsigned short c_oflag; /* output mode flags */ > + unsigned short c_cflag; /* control mode flags */ > + unsigned short c_lflag; /* local mode flags */ > + unsigned char c_line; /* line discipline */ > + unsigned char c_cc[NCC]; /* control characters */ > +}; > > #endif /* _UAPI_SPARC_TERMIOS_H */ > -- > 2.44.0 > Ping. Could we get this merged please?
On Wed, Apr 3, 2024 at 3:15 PM Mike Gilbert <floppym@gentoo.org> wrote: > > On Wed, Mar 6, 2024 at 12:11 PM Mike Gilbert <floppym@gentoo.org> wrote: > > > > Every other arch declares struct termio in asm/termios.h, so make sparc > > match them. > > > > Resolves a build failure in the PPP software package, which includes > > both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h. > > > > Closes: https://bugs.gentoo.org/918992 > > Signed-off-by: Mike Gilbert <floppym@gentoo.org> > > Cc: stable@vger.kernel.org > > --- > > arch/sparc/include/uapi/asm/termbits.h | 10 ---------- > > arch/sparc/include/uapi/asm/termios.h | 9 +++++++++ > > 2 files changed, 9 insertions(+), 10 deletions(-) > > > > diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h > > index 4321322701fc..0da2b1adc0f5 100644 > > --- a/arch/sparc/include/uapi/asm/termbits.h > > +++ b/arch/sparc/include/uapi/asm/termbits.h > > @@ -10,16 +10,6 @@ typedef unsigned int tcflag_t; > > typedef unsigned long tcflag_t; > > #endif > > > > -#define NCC 8 > > -struct termio { > > - unsigned short c_iflag; /* input mode flags */ > > - unsigned short c_oflag; /* output mode flags */ > > - unsigned short c_cflag; /* control mode flags */ > > - unsigned short c_lflag; /* local mode flags */ > > - unsigned char c_line; /* line discipline */ > > - unsigned char c_cc[NCC]; /* control characters */ > > -}; > > - > > #define NCCS 17 > > struct termios { > > tcflag_t c_iflag; /* input mode flags */ > > diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h > > index ee86f4093d83..cceb32260881 100644 > > --- a/arch/sparc/include/uapi/asm/termios.h > > +++ b/arch/sparc/include/uapi/asm/termios.h > > @@ -40,5 +40,14 @@ struct winsize { > > unsigned short ws_ypixel; > > }; > > > > +#define NCC 8 > > +struct termio { > > + unsigned short c_iflag; /* input mode flags */ > > + unsigned short c_oflag; /* output mode flags */ > > + unsigned short c_cflag; /* control mode flags */ > > + unsigned short c_lflag; /* local mode flags */ > > + unsigned char c_line; /* line discipline */ > > + unsigned char c_cc[NCC]; /* control characters */ > > +}; > > > > #endif /* _UAPI_SPARC_TERMIOS_H */ > > -- > > 2.44.0 > > > > Ping. Could we get this merged please? Ping again. Any response from a SPARC maintainer would be appreciated.
On 2024-03-06 18:11, Mike Gilbert wrote: > Every other arch declares struct termio in asm/termios.h, so make sparc > match them. > > Resolves a build failure in the PPP software package, which includes > both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h. > > Closes: https://bugs.gentoo.org/918992 > Signed-off-by: Mike Gilbert <floppym@gentoo.org> > Cc: stable@vger.kernel.org > --- > arch/sparc/include/uapi/asm/termbits.h | 10 ---------- > arch/sparc/include/uapi/asm/termios.h | 9 +++++++++ > 2 files changed, 9 insertions(+), 10 deletions(-) > > diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h > index 4321322701fc..0da2b1adc0f5 100644 > --- a/arch/sparc/include/uapi/asm/termbits.h > +++ b/arch/sparc/include/uapi/asm/termbits.h > @@ -10,16 +10,6 @@ typedef unsigned int tcflag_t; > typedef unsigned long tcflag_t; > #endif > > -#define NCC 8 > -struct termio { > - unsigned short c_iflag; /* input mode flags */ > - unsigned short c_oflag; /* output mode flags */ > - unsigned short c_cflag; /* control mode flags */ > - unsigned short c_lflag; /* local mode flags */ > - unsigned char c_line; /* line discipline */ > - unsigned char c_cc[NCC]; /* control characters */ > -}; > - > #define NCCS 17 > struct termios { > tcflag_t c_iflag; /* input mode flags */ > diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h > index ee86f4093d83..cceb32260881 100644 > --- a/arch/sparc/include/uapi/asm/termios.h > +++ b/arch/sparc/include/uapi/asm/termios.h > @@ -40,5 +40,14 @@ struct winsize { > unsigned short ws_ypixel; > }; > > +#define NCC 8 > +struct termio { > + unsigned short c_iflag; /* input mode flags */ > + unsigned short c_oflag; /* output mode flags */ > + unsigned short c_cflag; /* control mode flags */ > + unsigned short c_lflag; /* local mode flags */ > + unsigned char c_line; /* line discipline */ > + unsigned char c_cc[NCC]; /* control characters */ > +}; > > #endif /* _UAPI_SPARC_TERMIOS_H */ Reviewed-by: Andreas Larsson <andreas@gaisler.com> Tested-by: Andreas Larsson <andreas@gaisler.com> Picking this up to my for-next. Sorry for the wait. I did not have time to vet it enough for the last cycle. Thanks, Andreas
diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h index 4321322701fc..0da2b1adc0f5 100644 --- a/arch/sparc/include/uapi/asm/termbits.h +++ b/arch/sparc/include/uapi/asm/termbits.h @@ -10,16 +10,6 @@ typedef unsigned int tcflag_t; typedef unsigned long tcflag_t; #endif -#define NCC 8 -struct termio { - unsigned short c_iflag; /* input mode flags */ - unsigned short c_oflag; /* output mode flags */ - unsigned short c_cflag; /* control mode flags */ - unsigned short c_lflag; /* local mode flags */ - unsigned char c_line; /* line discipline */ - unsigned char c_cc[NCC]; /* control characters */ -}; - #define NCCS 17 struct termios { tcflag_t c_iflag; /* input mode flags */ diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h index ee86f4093d83..cceb32260881 100644 --- a/arch/sparc/include/uapi/asm/termios.h +++ b/arch/sparc/include/uapi/asm/termios.h @@ -40,5 +40,14 @@ struct winsize { unsigned short ws_ypixel; }; +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; #endif /* _UAPI_SPARC_TERMIOS_H */
Every other arch declares struct termio in asm/termios.h, so make sparc match them. Resolves a build failure in the PPP software package, which includes both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h. Closes: https://bugs.gentoo.org/918992 Signed-off-by: Mike Gilbert <floppym@gentoo.org> Cc: stable@vger.kernel.org --- arch/sparc/include/uapi/asm/termbits.h | 10 ---------- arch/sparc/include/uapi/asm/termios.h | 9 +++++++++ 2 files changed, 9 insertions(+), 10 deletions(-)