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

parisc: don't reference obsolete termio struct for TC* constants

Similar in nature to ab107276607af90b13a5994997e19b7b9731e251. glibc-2.42
drops the legacy termio struct, but the ioctls.h header still defines some
TC* constants in terms of termio (via sizeof). Hardcode the values instead.

This fixes building Python for example, which falls over like:
./Modules/termios.c:1119:16: error: invalid application of 'sizeof' to incomplete type 'struct termio'

Link: https://bugs.gentoo.org/961769
Link: https://bugs.gentoo.org/962600
Co-authored-by: Stian Halseth <stian@itx.no>
Cc: stable@vger.kernel.org
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Helge Deller <deller@gmx.de>

authored by

Sam James
Stian Halseth
and committed by
Helge Deller
8ec5a066 16794e52

+4 -4
+4 -4
arch/parisc/include/uapi/asm/ioctls.h
··· 10 10 #define TCSETS _IOW('T', 17, struct termios) /* TCSETATTR */ 11 11 #define TCSETSW _IOW('T', 18, struct termios) /* TCSETATTRD */ 12 12 #define TCSETSF _IOW('T', 19, struct termios) /* TCSETATTRF */ 13 - #define TCGETA _IOR('T', 1, struct termio) 14 - #define TCSETA _IOW('T', 2, struct termio) 15 - #define TCSETAW _IOW('T', 3, struct termio) 16 - #define TCSETAF _IOW('T', 4, struct termio) 13 + #define TCGETA 0x40125401 14 + #define TCSETA 0x80125402 15 + #define TCSETAW 0x80125403 16 + #define TCSETAF 0x80125404 17 17 #define TCSBRK _IO('T', 5) 18 18 #define TCXONC _IO('T', 6) 19 19 #define TCFLSH _IO('T', 7)