diff mbox series

sparc: move struct termio to asm/termios.h

Message ID 20240306171149.3843481-1-floppym@gentoo.org
State New
Headers show
Series sparc: move struct termio to asm/termios.h | expand

Commit Message

Mike Gilbert March 6, 2024, 5:11 p.m. UTC
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(-)

Comments

John Paul Adrian Glaubitz March 21, 2024, 7:45 p.m. UTC | #1
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
Mike Gilbert April 3, 2024, 7:15 p.m. UTC | #2
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?
Mike Gilbert April 19, 2024, 4:28 p.m. UTC | #3
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.
Andreas Larsson April 22, 2024, 12:05 p.m. UTC | #4
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 mbox series

Patch

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 */