Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sh: Convert to asm-generic/termbits.h and termios.h.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

+2 -288
+1 -198
arch/sh/include/asm/termbits.h
··· 1 - #ifndef __ASM_SH_TERMBITS_H 2 - #define __ASM_SH_TERMBITS_H 3 - 4 - #include <linux/posix_types.h> 5 - 6 - typedef unsigned char cc_t; 7 - typedef unsigned int speed_t; 8 - typedef unsigned int tcflag_t; 9 - 10 - #define NCCS 19 11 - struct termios { 12 - tcflag_t c_iflag; /* input mode flags */ 13 - tcflag_t c_oflag; /* output mode flags */ 14 - tcflag_t c_cflag; /* control mode flags */ 15 - tcflag_t c_lflag; /* local mode flags */ 16 - cc_t c_line; /* line discipline */ 17 - cc_t c_cc[NCCS]; /* control characters */ 18 - }; 19 - 20 - struct termios2 { 21 - tcflag_t c_iflag; /* input mode flags */ 22 - tcflag_t c_oflag; /* output mode flags */ 23 - tcflag_t c_cflag; /* control mode flags */ 24 - tcflag_t c_lflag; /* local mode flags */ 25 - cc_t c_line; /* line discipline */ 26 - cc_t c_cc[NCCS]; /* control characters */ 27 - speed_t c_ispeed; /* input speed */ 28 - speed_t c_ospeed; /* output speed */ 29 - }; 30 - 31 - struct ktermios { 32 - tcflag_t c_iflag; /* input mode flags */ 33 - tcflag_t c_oflag; /* output mode flags */ 34 - tcflag_t c_cflag; /* control mode flags */ 35 - tcflag_t c_lflag; /* local mode flags */ 36 - cc_t c_line; /* line discipline */ 37 - cc_t c_cc[NCCS]; /* control characters */ 38 - speed_t c_ispeed; /* input speed */ 39 - speed_t c_ospeed; /* output speed */ 40 - }; 41 - 42 - /* c_cc characters */ 43 - #define VINTR 0 44 - #define VQUIT 1 45 - #define VERASE 2 46 - #define VKILL 3 47 - #define VEOF 4 48 - #define VTIME 5 49 - #define VMIN 6 50 - #define VSWTC 7 51 - #define VSTART 8 52 - #define VSTOP 9 53 - #define VSUSP 10 54 - #define VEOL 11 55 - #define VREPRINT 12 56 - #define VDISCARD 13 57 - #define VWERASE 14 58 - #define VLNEXT 15 59 - #define VEOL2 16 60 - 61 - /* c_iflag bits */ 62 - #define IGNBRK 0000001 63 - #define BRKINT 0000002 64 - #define IGNPAR 0000004 65 - #define PARMRK 0000010 66 - #define INPCK 0000020 67 - #define ISTRIP 0000040 68 - #define INLCR 0000100 69 - #define IGNCR 0000200 70 - #define ICRNL 0000400 71 - #define IUCLC 0001000 72 - #define IXON 0002000 73 - #define IXANY 0004000 74 - #define IXOFF 0010000 75 - #define IMAXBEL 0020000 76 - #define IUTF8 0040000 77 - 78 - /* c_oflag bits */ 79 - #define OPOST 0000001 80 - #define OLCUC 0000002 81 - #define ONLCR 0000004 82 - #define OCRNL 0000010 83 - #define ONOCR 0000020 84 - #define ONLRET 0000040 85 - #define OFILL 0000100 86 - #define OFDEL 0000200 87 - #define NLDLY 0000400 88 - #define NL0 0000000 89 - #define NL1 0000400 90 - #define CRDLY 0003000 91 - #define CR0 0000000 92 - #define CR1 0001000 93 - #define CR2 0002000 94 - #define CR3 0003000 95 - #define TABDLY 0014000 96 - #define TAB0 0000000 97 - #define TAB1 0004000 98 - #define TAB2 0010000 99 - #define TAB3 0014000 100 - #define XTABS 0014000 101 - #define BSDLY 0020000 102 - #define BS0 0000000 103 - #define BS1 0020000 104 - #define VTDLY 0040000 105 - #define VT0 0000000 106 - #define VT1 0040000 107 - #define FFDLY 0100000 108 - #define FF0 0000000 109 - #define FF1 0100000 110 - 111 - /* c_cflag bit meaning */ 112 - #define CBAUD 0010017 113 - #define B0 0000000 /* hang up */ 114 - #define B50 0000001 115 - #define B75 0000002 116 - #define B110 0000003 117 - #define B134 0000004 118 - #define B150 0000005 119 - #define B200 0000006 120 - #define B300 0000007 121 - #define B600 0000010 122 - #define B1200 0000011 123 - #define B1800 0000012 124 - #define B2400 0000013 125 - #define B4800 0000014 126 - #define B9600 0000015 127 - #define B19200 0000016 128 - #define B38400 0000017 129 - #define EXTA B19200 130 - #define EXTB B38400 131 - #define CSIZE 0000060 132 - #define CS5 0000000 133 - #define CS6 0000020 134 - #define CS7 0000040 135 - #define CS8 0000060 136 - #define CSTOPB 0000100 137 - #define CREAD 0000200 138 - #define PARENB 0000400 139 - #define PARODD 0001000 140 - #define HUPCL 0002000 141 - #define CLOCAL 0004000 142 - #define CBAUDEX 0010000 143 - #define BOTHER 0010000 144 - #define B57600 0010001 145 - #define B115200 0010002 146 - #define B230400 0010003 147 - #define B460800 0010004 148 - #define B500000 0010005 149 - #define B576000 0010006 150 - #define B921600 0010007 151 - #define B1000000 0010010 152 - #define B1152000 0010011 153 - #define B1500000 0010012 154 - #define B2000000 0010013 155 - #define B2500000 0010014 156 - #define B3000000 0010015 157 - #define B3500000 0010016 158 - #define B4000000 0010017 159 - #define CIBAUD 002003600000 /* input baud rate */ 160 - #define CMSPAR 010000000000 /* mark or space (stick) parity */ 161 - #define CRTSCTS 020000000000 /* flow control */ 162 - 163 - #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ 164 - 165 - /* c_lflag bits */ 166 - #define ISIG 0000001 167 - #define ICANON 0000002 168 - #define XCASE 0000004 169 - #define ECHO 0000010 170 - #define ECHOE 0000020 171 - #define ECHOK 0000040 172 - #define ECHONL 0000100 173 - #define NOFLSH 0000200 174 - #define TOSTOP 0000400 175 - #define ECHOCTL 0001000 176 - #define ECHOPRT 0002000 177 - #define ECHOKE 0004000 178 - #define FLUSHO 0010000 179 - #define PENDIN 0040000 180 - #define IEXTEN 0100000 181 - 182 - /* tcflow() and TCXONC use these */ 183 - #define TCOOFF 0 184 - #define TCOON 1 185 - #define TCIOFF 2 186 - #define TCION 3 187 - 188 - /* tcflush() and TCFLSH use these */ 189 - #define TCIFLUSH 0 190 - #define TCOFLUSH 1 191 - #define TCIOFLUSH 2 192 - 193 - /* tcsetattr uses these */ 194 - #define TCSANOW 0 195 - #define TCSADRAIN 1 196 - #define TCSAFLUSH 2 197 - 198 - #endif /* __ASM_SH_TERMBITS_H */ 1 + #include <asm-generic/termbits.h>
+1 -90
arch/sh/include/asm/termios.h
··· 1 - #ifndef __ASM_SH_TERMIOS_H 2 - #define __ASM_SH_TERMIOS_H 3 - 4 - #include <asm/termbits.h> 5 - #include <asm/ioctls.h> 6 - 7 - struct winsize { 8 - unsigned short ws_row; 9 - unsigned short ws_col; 10 - unsigned short ws_xpixel; 11 - unsigned short ws_ypixel; 12 - }; 13 - 14 - #define NCC 8 15 - struct termio { 16 - unsigned short c_iflag; /* input mode flags */ 17 - unsigned short c_oflag; /* output mode flags */ 18 - unsigned short c_cflag; /* control mode flags */ 19 - unsigned short c_lflag; /* local mode flags */ 20 - unsigned char c_line; /* line discipline */ 21 - unsigned char c_cc[NCC]; /* control characters */ 22 - }; 23 - 24 - /* modem lines */ 25 - #define TIOCM_LE 0x001 26 - #define TIOCM_DTR 0x002 27 - #define TIOCM_RTS 0x004 28 - #define TIOCM_ST 0x008 29 - #define TIOCM_SR 0x010 30 - #define TIOCM_CTS 0x020 31 - #define TIOCM_CAR 0x040 32 - #define TIOCM_RNG 0x080 33 - #define TIOCM_DSR 0x100 34 - #define TIOCM_CD TIOCM_CAR 35 - #define TIOCM_RI TIOCM_RNG 36 - #define TIOCM_OUT1 0x2000 37 - #define TIOCM_OUT2 0x4000 38 - #define TIOCM_LOOP 0x8000 39 - 40 - /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ 41 - 42 - #ifdef __KERNEL__ 43 - 44 - /* intr=^C quit=^\ erase=del kill=^U 45 - eof=^D vtime=\0 vmin=\1 sxtc=\0 46 - start=^Q stop=^S susp=^Z eol=\0 47 - reprint=^R discard=^U werase=^W lnext=^V 48 - eol2=\0 49 - */ 50 - #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" 51 - 52 - /* 53 - * Translate a "termio" structure into a "termios". Ugh. 54 - */ 55 - #define SET_LOW_TERMIOS_BITS(termios, termio, x) { \ 56 - unsigned short __tmp; \ 57 - get_user(__tmp,&(termio)->x); \ 58 - *(unsigned short *) &(termios)->x = __tmp; \ 59 - } 60 - 61 - #define user_termio_to_kernel_termios(termios, termio) \ 62 - ({ \ 63 - SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \ 64 - SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \ 65 - SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \ 66 - SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \ 67 - copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \ 68 - }) 69 - 70 - /* 71 - * Translate a "termios" structure into a "termio". Ugh. 72 - */ 73 - #define kernel_termios_to_user_termio(termio, termios) \ 74 - ({ \ 75 - put_user((termios)->c_iflag, &(termio)->c_iflag); \ 76 - put_user((termios)->c_oflag, &(termio)->c_oflag); \ 77 - put_user((termios)->c_cflag, &(termio)->c_cflag); \ 78 - put_user((termios)->c_lflag, &(termio)->c_lflag); \ 79 - put_user((termios)->c_line, &(termio)->c_line); \ 80 - copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ 81 - }) 82 - 83 - #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) 84 - #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) 85 - #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) 86 - #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) 87 - 88 - #endif /* __KERNEL__ */ 89 - 90 - #endif /* __ASM_SH_TERMIOS_H */ 1 + #include <asm-generic/termios.h>