linux/drivers/net/wan
Al Viro f0193d3ea7 change semantics of ldisc ->compat_ioctl()
First of all, make it return int.  Returning long when native method
had never allowed that is ridiculous and inconvenient.

More importantly, change the caller; if ldisc ->compat_ioctl() is NULL
or returns -ENOIOCTLCMD, tty_compat_ioctl() will try to feed cmd and
compat_ptr(arg) to ldisc's native ->ioctl().

That simplifies ->compat_ioctl() instances quite a bit - they only
need to deal with ioctls that are neither generic tty ones (those
would get shunted off to tty_ioctl()) nor simple compat pointer ones.

Note that something like TCFLSH won't reach ->compat_ioctl(),
even if ldisc ->ioctl() does handle it - it will be recognized
earlier and passed to tty_ioctl() (and ultimately - ldisc ->ioctl()).

For many ldiscs it means that NULL ->compat_ioctl() does the
right thing.  Those where it won't serve (see e.g. n_r3964.c) are
also easily dealt with - we need to handle the numeric-argument
ioctls (calling the native instance) and, if such would exist,
the ioctls that need layout conversion, etc.

All in-tree ldiscs dealt with.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2018-10-13 00:50:53 -04:00
..
lmc Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-05 13:04:31 -07:00
.gitignore
c101.c
cosa.c the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
cosa.h
dlci.c net: Fix inconsistent teardown and release of private netdev state. 2017-06-07 15:53:24 -04:00
dscc4.c drivers/net: wan/dscc4: Remove unused timer 2017-10-27 12:09:16 +09:00
farsync.c farsync: remove redundant variable txq_length 2018-07-07 20:49:08 +09:00
farsync.h
fsl_ucc_hdlc.c wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of qe_muram_alloc 2018-07-23 11:07:10 -07:00
fsl_ucc_hdlc.h net/wan/fsl_ucc_hdlc: add hdlc-bus support 2017-05-18 10:28:39 -04:00
hd64570.c
hd64570.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hd64572.c
hd64572.h
hdlc_cisco.c hdlc: Convert timers to use timer_setup() 2017-10-18 12:39:55 +01:00
hdlc_fr.c hdlc: Convert timers to use timer_setup() 2017-10-18 12:39:55 +01:00
hdlc_ppp.c hdlc_ppp: carrier detect ok, don't turn off negotiation 2018-02-26 14:38:12 -05:00
hdlc_raw_eth.c net: make struct net_device::tx_queue_len unsigned int 2017-05-18 10:19:30 -04:00
hdlc_raw.c
hdlc_x25.c
hdlc.c
hostess_sv11.c
ixp4xx_hss.c
Kconfig
lapbether.c net: lapbether: fix double free 2017-11-01 12:11:02 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2.c
pc300too.c
pci200syn.c
sbni.c drivers/net: wan/sbni: Convert timers to use timer_setup() 2017-10-25 13:20:30 +09:00
sbni.h
sdla.c drivers/net: wan/sdla: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
sealevel.c
slic_ds26522.c
slic_ds26522.h
wanxl.c wan: wanxl: remove redundant assignment to stat 2017-11-02 15:48:16 +09:00
wanxl.h
wanxlfw.inc_shipped
wanxlfw.S
x25_asy.c change semantics of ldisc ->compat_ioctl() 2018-10-13 00:50:53 -04:00
x25_asy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
z85230.c drivers/net/wan/z85230.c: Use designated initializers 2017-08-01 17:04:38 -07:00
z85230.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00