aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2022-05-09 12:34:44 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-19 18:25:25 +0200
commit0b46ac44f2673be2ee51bb52149cab3546ff1696 (patch)
treee8a81ce04cf1918edc37855749a38653014b6cee /arch
parenttty: serial: samsung_tty: Fix suspend/resume on S5L (diff)
downloadlinux-dev-0b46ac44f2673be2ee51bb52149cab3546ff1696.tar.xz
linux-dev-0b46ac44f2673be2ee51bb52149cab3546ff1696.zip
termbits.h: create termbits-common.h for identical bits
Some defines are the same across all archs. Move the most obvious intersection to termbits-common.h. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20220509093446.6677-2-ilpo.jarvinen@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
-rw-r--r--arch/alpha/include/uapi/asm/termbits.h52
-rw-r--r--arch/mips/include/uapi/asm/termbits.h53
-rw-r--r--arch/parisc/include/uapi/asm/termbits.h54
-rw-r--r--arch/powerpc/include/uapi/asm/termbits.h52
-rw-r--r--arch/sparc/include/uapi/asm/termbits.h53
5 files changed, 9 insertions, 255 deletions
diff --git a/arch/alpha/include/uapi/asm/termbits.h b/arch/alpha/include/uapi/asm/termbits.h
index 30dc7ff777b8..3c7a9afc4333 100644
--- a/arch/alpha/include/uapi/asm/termbits.h
+++ b/arch/alpha/include/uapi/asm/termbits.h
@@ -4,8 +4,8 @@
#include <linux/posix_types.h>
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
+#include <asm-generic/termbits-common.h>
+
typedef unsigned int tcflag_t;
/*
@@ -72,33 +72,17 @@ struct ktermios {
#define VTIME 17
/* c_iflag bits */
-#define IGNBRK 0x00001
-#define BRKINT 0x00002
-#define IGNPAR 0x00004
-#define PARMRK 0x00008
-#define INPCK 0x00010
-#define ISTRIP 0x00020
-#define INLCR 0x00040
-#define IGNCR 0x00080
-#define ICRNL 0x00100
#define IXON 0x00200
#define IXOFF 0x00400
-#define IXANY 0x00800
#define IUCLC 0x01000
#define IMAXBEL 0x02000
#define IUTF8 0x04000
/* c_oflag bits */
-#define OPOST 0x00001
#define ONLCR 0x00002
#define OLCUC 0x00004
-#define OCRNL 0x00008
-#define ONOCR 0x00010
-#define ONLRET 0x00020
-#define OFILL 0x000040
-#define OFDEL 0x000080
#define NLDLY 0x000300
#define NL0 0x000000
#define NL1 0x000100
@@ -131,24 +115,6 @@ struct ktermios {
/* c_cflag bit meaning */
#define CBAUD 0x0000001f
-#define B0 0x00000000 /* hang up */
-#define B50 0x00000001
-#define B75 0x00000002
-#define B110 0x00000003
-#define B134 0x00000004
-#define B150 0x00000005
-#define B200 0x00000006
-#define B300 0x00000007
-#define B600 0x00000008
-#define B1200 0x00000009
-#define B1800 0x0000000a
-#define B2400 0x0000000b
-#define B4800 0x0000000c
-#define B9600 0x0000000d
-#define B19200 0x0000000e
-#define B38400 0x0000000f
-#define EXTA B19200
-#define EXTB B38400
#define CBAUDEX 0x00000000
#define B57600 0x00000010
#define B115200 0x00000011
@@ -180,11 +146,8 @@ struct ktermios {
#define HUPCL 0x00004000
#define CLOCAL 0x00008000
-#define CMSPAR 0x40000000 /* mark or space (stick) parity */
-#define CRTSCTS 0x80000000 /* flow control */
#define CIBAUD 0x1f0000
-#define IBSHIFT 16
/* c_lflag bits */
#define ISIG 0x00000080
@@ -204,17 +167,6 @@ struct ktermios {
#define IEXTEN 0x00000400
#define EXTPROC 0x10000000
-/* Values for the ACTION argument to `tcflow'. */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
#define TCSANOW 0
#define TCSADRAIN 1
diff --git a/arch/mips/include/uapi/asm/termbits.h b/arch/mips/include/uapi/asm/termbits.h
index d1315ccdb39a..b33f514315ce 100644
--- a/arch/mips/include/uapi/asm/termbits.h
+++ b/arch/mips/include/uapi/asm/termbits.h
@@ -13,8 +13,8 @@
#include <linux/posix_types.h>
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
+#include <asm-generic/termbits-common.h>
+
typedef unsigned int tcflag_t;
/*
@@ -80,31 +80,15 @@ struct ktermios {
#define VEOL 17 /* End-of-line character [ICANON]. */
/* c_iflag bits */
-#define IGNBRK 0x00001 /* Ignore break condition. */
-#define BRKINT 0x00002 /* Signal interrupt on break. */
-#define IGNPAR 0x00004 /* Ignore characters with parity errors. */
-#define PARMRK 0x00008 /* Mark parity and framing errors. */
-#define INPCK 0x00010 /* Enable input parity check. */
-#define ISTRIP 0x00020 /* Strip 8th bit off characters. */
-#define INLCR 0x00040 /* Map NL to CR on input. */
-#define IGNCR 0x00080 /* Ignore CR. */
-#define ICRNL 0x00100 /* Map CR to NL on input. */
#define IUCLC 0x00200 /* Map upper case to lower case on input. */
#define IXON 0x00400 /* Enable start/stop output control. */
-#define IXANY 0x00800 /* Any character will restart after stop. */
#define IXOFF 0x01000 /* Enable start/stop input control. */
#define IMAXBEL 0x02000 /* Ring bell when input queue is full. */
#define IUTF8 0x04000 /* Input is UTF-8 */
/* c_oflag bits */
-#define OPOST 0x00001 /* Perform output processing. */
#define OLCUC 0x00002 /* Map lower case to upper case on output. */
#define ONLCR 0x00004 /* Map NL to CR-NL on output. */
-#define OCRNL 0x00008
-#define ONOCR 0x00010
-#define ONLRET 0x00020
-#define OFILL 0x00040
-#define OFDEL 0x00080
#define NLDLY 0x00100
#define NL0 0x00000
#define NL1 0x00100
@@ -135,24 +119,6 @@ struct ktermios {
/* c_cflag bit meaning */
#define CBAUD 0x0000100f
-#define B0 0x00000000 /* hang up */
-#define B50 0x00000001
-#define B75 0x00000002
-#define B110 0x00000003
-#define B134 0x00000004
-#define B150 0x00000005
-#define B200 0x00000006
-#define B300 0x00000007
-#define B600 0x00000008
-#define B1200 0x00000009
-#define B1800 0x0000000a
-#define B2400 0x0000000b
-#define B4800 0x0000000c
-#define B9600 0x0000000d
-#define B19200 0x0000000e
-#define B38400 0x0000000f
-#define EXTA B19200
-#define EXTB B38400
#define CSIZE 0x00000030 /* Number of bits per byte (mask) */
#define CS5 0x00000000 /* 5 bits per byte */
#define CS6 0x00000010 /* 6 bits per byte */
@@ -182,10 +148,6 @@ struct ktermios {
#define B3500000 0x0000100e
#define B4000000 0x0000100f
#define CIBAUD 0x100f0000 /* input baud rate */
-#define CMSPAR 0x40000000 /* mark or space (stick) parity */
-#define CRTSCTS 0x80000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
/* c_lflag bits */
#define ISIG 0x00001 /* Enable signals. */
@@ -209,17 +171,6 @@ struct ktermios {
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0 /* Suspend output. */
-#define TCOON 1 /* Restart suspended output. */
-#define TCIOFF 2 /* Send a STOP character. */
-#define TCION 3 /* Send a START character. */
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0 /* Discard data received but not yet read. */
-#define TCOFLUSH 1 /* Discard data written but not yet sent. */
-#define TCIOFLUSH 2 /* Discard all pending data. */
-
/* tcsetattr uses these */
#define TCSANOW TCSETS /* Change immediately. */
#define TCSADRAIN TCSETSW /* Change when pending output is written. */
diff --git a/arch/parisc/include/uapi/asm/termbits.h b/arch/parisc/include/uapi/asm/termbits.h
index 6017ee08f099..7f74a822b7ea 100644
--- a/arch/parisc/include/uapi/asm/termbits.h
+++ b/arch/parisc/include/uapi/asm/termbits.h
@@ -4,8 +4,8 @@
#include <linux/posix_types.h>
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
+#include <asm-generic/termbits-common.h>
+
typedef unsigned int tcflag_t;
#define NCCS 19
@@ -61,31 +61,15 @@ struct ktermios {
/* c_iflag bits */
-#define IGNBRK 0x00001
-#define BRKINT 0x00002
-#define IGNPAR 0x00004
-#define PARMRK 0x00008
-#define INPCK 0x00010
-#define ISTRIP 0x00020
-#define INLCR 0x00040
-#define IGNCR 0x00080
-#define ICRNL 0x00100
#define IUCLC 0x00200
#define IXON 0x00400
-#define IXANY 0x00800
#define IXOFF 0x01000
#define IMAXBEL 0x04000
#define IUTF8 0x08000
/* c_oflag bits */
-#define OPOST 0x00001
#define OLCUC 0x00002
#define ONLCR 0x00004
-#define OCRNL 0x00008
-#define ONOCR 0x00010
-#define ONLRET 0x00020
-#define OFILL 0x00040
-#define OFDEL 0x00080
#define NLDLY 0x00100
#define NL0 0x00000
#define NL1 0x00100
@@ -112,24 +96,6 @@ struct ktermios {
/* c_cflag bit meaning */
#define CBAUD 0x0000100f
-#define B0 0x00000000 /* hang up */
-#define B50 0x00000001
-#define B75 0x00000002
-#define B110 0x00000003
-#define B134 0x00000004
-#define B150 0x00000005
-#define B200 0x00000006
-#define B300 0x00000007
-#define B600 0x00000008
-#define B1200 0x00000009
-#define B1800 0x0000000a
-#define B2400 0x0000000b
-#define B4800 0x0000000c
-#define B9600 0x0000000d
-#define B19200 0x0000000e
-#define B38400 0x0000000f
-#define EXTA B19200
-#define EXTB B38400
#define CSIZE 0x00000030
#define CS5 0x00000000
#define CS6 0x00000010
@@ -159,11 +125,6 @@ struct ktermios {
#define B3500000 0x0000100e
#define B4000000 0x0000100f
#define CIBAUD 0x100f0000 /* input baud rate */
-#define CMSPAR 0x40000000 /* mark or space (stick) parity */
-#define CRTSCTS 0x80000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
/* c_lflag bits */
#define ISIG 0x00001
@@ -183,17 +144,6 @@ struct ktermios {
#define IEXTEN 0x08000
#define EXTPROC 0x10000
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
/* tcsetattr uses these */
#define TCSANOW 0
#define TCSADRAIN 1
diff --git a/arch/powerpc/include/uapi/asm/termbits.h b/arch/powerpc/include/uapi/asm/termbits.h
index e4892f2d5592..19d1350a80bb 100644
--- a/arch/powerpc/include/uapi/asm/termbits.h
+++ b/arch/powerpc/include/uapi/asm/termbits.h
@@ -9,8 +9,8 @@
* 2 of the License, or (at your option) any later version.
*/
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
+#include <asm-generic/termbits-common.h>
+
typedef unsigned int tcflag_t;
/*
@@ -64,33 +64,17 @@ struct ktermios {
#define VDISCARD 16
/* c_iflag bits */
-#define IGNBRK 0x00001
-#define BRKINT 0x00002
-#define IGNPAR 0x00004
-#define PARMRK 0x00008
-#define INPCK 0x00010
-#define ISTRIP 0x00020
-#define INLCR 0x00040
-#define IGNCR 0x00080
-#define ICRNL 0x00100
#define IXON 0x00200
#define IXOFF 0x00400
-#define IXANY 0x00800
#define IUCLC 0x01000
#define IMAXBEL 0x02000
#define IUTF8 0x04000
/* c_oflag bits */
-#define OPOST 0x00001
#define ONLCR 0x00002
#define OLCUC 0x00004
-#define OCRNL 0x00008
-#define ONOCR 0x00010
-#define ONLRET 0x00020
-#define OFILL 0x000040
-#define OFDEL 0x000080
#define NLDLY 0x000300
#define NL0 0x000000
#define NL1 0x000100
@@ -119,24 +103,6 @@ struct ktermios {
/* c_cflag bit meaning */
#define CBAUD 0x000000ff
-#define B0 0x00000000 /* hang up */
-#define B50 0x00000001
-#define B75 0x00000002
-#define B110 0x00000003
-#define B134 0x00000004
-#define B150 0x00000005
-#define B200 0x00000006
-#define B300 0x00000007
-#define B600 0x00000008
-#define B1200 0x00000009
-#define B1800 0x0000000a
-#define B2400 0x0000000b
-#define B4800 0x0000000c
-#define B9600 0x0000000d
-#define B19200 0x0000000e
-#define B38400 0x0000000f
-#define EXTA B19200
-#define EXTB B38400
#define CBAUDEX 0x00000000
#define B57600 0x00000010
#define B115200 0x00000011
@@ -156,7 +122,6 @@ struct ktermios {
#define BOTHER 0x0000001f
#define CIBAUD 0x00ff0000
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
#define CSIZE 0x00000300
#define CS5 0x00000000
@@ -171,8 +136,6 @@ struct ktermios {
#define HUPCL 0x00004000
#define CLOCAL 0x00008000
-#define CMSPAR 0x40000000 /* mark or space (stick) parity */
-#define CRTSCTS 0x80000000 /* flow control */
/* c_lflag bits */
#define ISIG 0x00000080
@@ -192,17 +155,6 @@ struct ktermios {
#define IEXTEN 0x00000400
#define EXTPROC 0x10000000
-/* Values for the ACTION argument to `tcflow'. */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
#define TCSANOW 0
#define TCSADRAIN 1
diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h
index ce5ad5d0f105..854bdd153cca 100644
--- a/arch/sparc/include/uapi/asm/termbits.h
+++ b/arch/sparc/include/uapi/asm/termbits.h
@@ -4,8 +4,7 @@
#include <linux/posix_types.h>
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
+#include <asm-generic/termbits-common.h>
#if defined(__sparc__) && defined(__arch64__)
typedef unsigned int tcflag_t;
@@ -90,31 +89,15 @@ struct ktermios {
#endif
/* c_iflag bits */
-#define IGNBRK 0x00000001
-#define BRKINT 0x00000002
-#define IGNPAR 0x00000004
-#define PARMRK 0x00000008
-#define INPCK 0x00000010
-#define ISTRIP 0x00000020
-#define INLCR 0x00000040
-#define IGNCR 0x00000080
-#define ICRNL 0x00000100
#define IUCLC 0x00000200
#define IXON 0x00000400
-#define IXANY 0x00000800
#define IXOFF 0x00001000
#define IMAXBEL 0x00002000
#define IUTF8 0x00004000
/* c_oflag bits */
-#define OPOST 0x00000001
#define OLCUC 0x00000002
#define ONLCR 0x00000004
-#define OCRNL 0x00000008
-#define ONOCR 0x00000010
-#define ONLRET 0x00000020
-#define OFILL 0x00000040
-#define OFDEL 0x00000080
#define NLDLY 0x00000100
#define NL0 0x00000000
#define NL1 0x00000100
@@ -143,24 +126,6 @@ struct ktermios {
/* c_cflag bit meaning */
#define CBAUD 0x0000100f
-#define B0 0x00000000 /* hang up */
-#define B50 0x00000001
-#define B75 0x00000002
-#define B110 0x00000003
-#define B134 0x00000004
-#define B150 0x00000005
-#define B200 0x00000006
-#define B300 0x00000007
-#define B600 0x00000008
-#define B1200 0x00000009
-#define B1800 0x0000000a
-#define B2400 0x0000000b
-#define B4800 0x0000000c
-#define B9600 0x0000000d
-#define B19200 0x0000000e
-#define B38400 0x0000000f
-#define EXTA B19200
-#define EXTB B38400
#define CSIZE 0x00000030
#define CS5 0x00000000
#define CS6 0x00000010
@@ -201,10 +166,6 @@ struct ktermios {
#define B3500000 0x00001012
#define B4000000 0x00001013 */
#define CIBAUD 0x100f0000 /* input baud rate (not used) */
-#define CMSPAR 0x40000000 /* mark or space (stick) parity */
-#define CRTSCTS 0x80000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
/* c_lflag bits */
#define ISIG 0x00000001
@@ -244,18 +205,6 @@ struct ktermios {
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
/* tcsetattr uses these */
#define TCSANOW 0
#define TCSADRAIN 1