termios: get rid of non-UAPI asm/termios.h
There are exactly two places where we include <asm/termios.h> -
include/uapi/linux/termios.h and include/linux/termios-internal.h.
The latter cares about the conversion functions; the former does
not.
So take those into asm/termios-internal.h and have
linux/termios-internal.h include that in addition to asm/termios.h
(conditional upon the config symbol selected by the both architectures
where such non-default functions exist - alpha and sparc, that is).
That would leave non-UAPI asm/termios.h consisting of include
of its UAPI counterpart and possibly an include of linux/uaccess.h.
The latter can't be simply removed, even though nothing in
linux/termios.h doesn't depend upon it anymore - there are several
places that rely upon that indirect chain of includes to pull
linux/uaccess.h. So the include needs to be lifted out of there -
we lift into tty_driver.h, serdev.h and places that pull asm/termios.h,
but none of
* linux/uaccess.h (obvious)
* net/sock.h (pulls uaccess.h)
* linux/{tty,tty_driver,serdev}.h (tty.h pulls tty_driver.h)
That leaves us just with the include of UAPI asm/termios.h, which is
what <asm/termios.h> will resolve to if we simply remove non-UAPI header.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
17 files changed