linux/drivers/s390/char
Arnd Bergmann 1207045da5 compat_ioctl: move tape handling into drivers
MTIOCPOS and MTIOCGET are incompatible between 32-bit and 64-bit user
space, and traditionally have been translated in fs/compat_ioctl.c.

To get rid of that translation handler, move a corresponding
implementation into each of the four drivers implementing those commands.

The interesting part of that is now in a new linux/mtio.h header that
wraps the existing uapi/linux/mtio.h header and provides an abstraction
to let drivers handle both cases easily. Using an in_compat_syscall()
check, the caller does not have to keep track of whether this was
called through .unlocked_ioctl() or .compat_ioctl().

Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: "Kai Mäkisara" <Kai.Makisara@kolumbus.fi>
Cc: linux-scsi@vger.kernel.org
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-10-23 17:23:44 +02:00
..
Kconfig s390/sclp: remove call home support 2019-06-19 17:54:27 +02:00
Makefile s390: clean .bss before running uncompressed kernel 2019-08-21 12:58:52 +02:00
con3215.c s390/3215: add switch fall through comment for -Wimplicit-fallthrough 2019-07-29 18:05:03 +02:00
con3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
ctrlchar.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctrlchar.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
defkeymap.c s390/defkeymap: fix global init to zero 2018-03-18 23:02:02 -07:00
defkeymap.map s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
diag_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
diag_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fs3270.c *: convert stream-like files from nonseekable_open -> stream_open 2019-05-06 17:46:41 +03:00
hmcdrv_cache.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_dev.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_dev.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hmcdrv_mod.c s390: char: add SPDX identifiers to the remaining files 2017-11-24 14:28:42 +01:00
keyboard.c TTY/Serial driver patches for 4.19-rc1 2018-08-18 10:50:41 -07:00
keyboard.h s390/char : Rename EBCDIC keymap variables 2018-03-18 23:01:56 -07:00
monreader.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
monwriter.c s390/monwriter: do not use stack buffers for hardware data 2018-10-09 11:20:53 +02:00
raw3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
raw3270.h s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
sclp.c s390/sclp: do not use static sccbs 2019-04-29 10:47:10 +02:00
sclp.h s390: fix clang -Wpointer-sign warnigns in boot code 2019-05-03 17:17:58 +02:00
sclp_cmd.c s390/mem_detect: introduce SCLP storage info 2018-10-09 11:21:09 +02:00
sclp_con.c s390/sclp: Convert timers to use timer_setup() 2017-11-14 11:01:39 +01:00
sclp_config.c s390/smp: fix CPU hotplug deadlock with CPU rescan 2019-01-11 17:12:02 +01:00
sclp_cpi_sys.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_cpi_sys.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ctl.c compat: Move compat_timespec/ timeval to compat_time.h 2018-04-19 13:29:54 +02:00
sclp_diag.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_early.c s390/sclp: Fix bit checked for has_sipl 2019-09-03 13:53:40 +02:00
sclp_early_core.c s390/sclp: do not use static sccbs 2019-04-29 10:47:10 +02:00
sclp_ftp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ftp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_ocf.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_pci.c s390/sclp: Allow to request adapter reset 2018-09-20 13:20:27 +02:00
sclp_quiesce.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_rw.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_rw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_sd.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
sclp_sdias.c s390/sclp: do not use static sccbs 2019-04-29 10:47:10 +02:00
sclp_sdias.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_tty.c s390/sclp_tty: enable line mode tty even if there is an ascii console 2018-03-18 23:02:00 -07:00
sclp_tty.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp_vt220.c s390/sclp: Convert timers to use timer_setup() 2017-11-14 11:01:39 +01:00
tape.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
tape_34xx.c s390: char: add SPDX identifiers to the remaining files 2017-11-24 14:28:42 +01:00
tape_3590.c s390/tape: fix spelling mistake "partion" -> "partition" 2018-09-20 13:20:28 +02:00
tape_3590.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tape_char.c compat_ioctl: move tape handling into drivers 2019-10-23 17:23:44 +02:00
tape_class.c s390/tape: replace PTR_RET with PTR_ERR_OR_ZERO 2018-07-19 16:37:37 +02:00
tape_class.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tape_core.c s390/tape: add fallthrough annotations 2019-07-29 18:05:03 +02:00
tape_proc.c s390/drivers: fix proc/debugfs file permissions 2018-12-13 10:42:24 +01:00
tape_std.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
tape_std.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tty3270.c s390/3270: fix lockdep false positive on view->lock 2019-04-10 17:46:22 +02:00
tty3270.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vmcp.c s390/vmcp: correct early_param handling 2019-08-26 12:51:17 +02:00
vmlogrdr.c s390: vmlogrdr: Use ARRAY_SIZE instead of reimplementing its function 2018-09-20 13:20:28 +02:00
vmur.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
vmur.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
zcore.c docs: s390: convert docs to ReST and rename to *.rst 2019-06-11 09:48:14 +02:00