aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/Kbuild1
-rw-r--r--arch/s390/appldata/Makefile1
-rw-r--r--arch/s390/boot/compressed/vmlinux.scr1
-rw-r--r--arch/s390/crypto/sha1_s390.c7
-rw-r--r--arch/s390/hypfs/Makefile1
-rw-r--r--arch/s390/include/asm/Kbuild1
-rw-r--r--arch/s390/include/asm/alternative.h1
-rw-r--r--arch/s390/include/asm/ap.h5
-rw-r--r--arch/s390/include/asm/bugs.h1
-rw-r--r--arch/s390/include/asm/segment.h1
-rw-r--r--arch/s390/include/asm/switch_to.h27
-rw-r--r--arch/s390/include/asm/vga.h1
-rw-r--r--arch/s390/include/uapi/asm/Kbuild1
-rw-r--r--arch/s390/include/uapi/asm/perf_regs.h1
-rw-r--r--arch/s390/include/uapi/asm/sthyi.h1
-rw-r--r--arch/s390/include/uapi/asm/virtio-ccw.h2
-rw-r--r--arch/s390/include/uapi/asm/vmcp.h1
-rw-r--r--arch/s390/kernel/alternative.c1
-rw-r--r--arch/s390/kernel/perf_regs.c1
-rw-r--r--arch/s390/kernel/syscalls.S6
-rw-r--r--arch/s390/kernel/vdso64/note.S1
-rw-r--r--arch/s390/mm/pgalloc.c2
-rw-r--r--arch/s390/net/Makefile1
-rw-r--r--arch/s390/numa/Makefile1
-rw-r--r--arch/s390/pci/Makefile1
-rw-r--r--arch/s390/tools/gen_opcode_table.c1
-rw-r--r--drivers/s390/Makefile1
-rw-r--r--drivers/s390/block/Kconfig1
-rw-r--r--drivers/s390/block/dasd.c10
-rw-r--r--drivers/s390/block/dasd_eckd.c16
-rw-r--r--drivers/s390/block/dasd_int.h2
-rw-r--r--drivers/s390/char/Kconfig1
-rw-r--r--drivers/s390/char/defkeymap.map1
-rw-r--r--drivers/s390/cio/blacklist.h1
-rw-r--r--drivers/s390/cio/qdio_main.c7
-rw-r--r--drivers/s390/net/Kconfig1
-rw-r--r--drivers/s390/scsi/Makefile1
37 files changed, 66 insertions, 45 deletions
diff --git a/arch/s390/Kbuild b/arch/s390/Kbuild
index eae2c64cf69d..9fdff3fe1a42 100644
--- a/arch/s390/Kbuild
+++ b/arch/s390/Kbuild
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1obj-y += kernel/ 2obj-y += kernel/
2obj-y += mm/ 3obj-y += mm/
3obj-$(CONFIG_KVM) += kvm/ 4obj-$(CONFIG_KVM) += kvm/
diff --git a/arch/s390/appldata/Makefile b/arch/s390/appldata/Makefile
index 99f1cf071304..b06def4a4f2f 100644
--- a/arch/s390/appldata/Makefile
+++ b/arch/s390/appldata/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Makefile for the Linux - z/VM Monitor Stream. 3# Makefile for the Linux - z/VM Monitor Stream.
3# 4#
diff --git a/arch/s390/boot/compressed/vmlinux.scr b/arch/s390/boot/compressed/vmlinux.scr
index f02382ae5c48..42a242597f34 100644
--- a/arch/s390/boot/compressed/vmlinux.scr
+++ b/arch/s390/boot/compressed/vmlinux.scr
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1SECTIONS 2SECTIONS
2{ 3{
3 .rodata.compressed : { 4 .rodata.compressed : {
diff --git a/arch/s390/crypto/sha1_s390.c b/arch/s390/crypto/sha1_s390.c
index c7de53d8da75..a00c17f761c1 100644
--- a/arch/s390/crypto/sha1_s390.c
+++ b/arch/s390/crypto/sha1_s390.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Cryptographic API. 3 * Cryptographic API.
3 * 4 *
@@ -16,12 +17,6 @@
16 * Copyright (c) Alan Smithee. 17 * Copyright (c) Alan Smithee.
17 * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk> 18 * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk>
18 * Copyright (c) Jean-Francois Dive <jef@linuxbe.org> 19 * Copyright (c) Jean-Francois Dive <jef@linuxbe.org>
19 *
20 * This program is free software; you can redistribute it and/or modify it
21 * under the terms of the GNU General Public License as published by the Free
22 * Software Foundation; either version 2 of the License, or (at your option)
23 * any later version.
24 *
25 */ 20 */
26#include <crypto/internal/hash.h> 21#include <crypto/internal/hash.h>
27#include <linux/init.h> 22#include <linux/init.h>
diff --git a/arch/s390/hypfs/Makefile b/arch/s390/hypfs/Makefile
index 2ee25ba252d6..06f601509ce9 100644
--- a/arch/s390/hypfs/Makefile
+++ b/arch/s390/hypfs/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Makefile for the linux hypfs filesystem routines. 3# Makefile for the linux hypfs filesystem routines.
3# 4#
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild
index 41c211a4d8b1..048450869328 100644
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1generic-y += asm-offsets.h 2generic-y += asm-offsets.h
2generic-y += cacheflush.h 3generic-y += cacheflush.h
3generic-y += clkdev.h 4generic-y += clkdev.h
diff --git a/arch/s390/include/asm/alternative.h b/arch/s390/include/asm/alternative.h
index a72002056b54..c2cf7bcdef9b 100644
--- a/arch/s390/include/asm/alternative.h
+++ b/arch/s390/include/asm/alternative.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_S390_ALTERNATIVE_H 2#ifndef _ASM_S390_ALTERNATIVE_H
2#define _ASM_S390_ALTERNATIVE_H 3#define _ASM_S390_ALTERNATIVE_H
3 4
diff --git a/arch/s390/include/asm/ap.h b/arch/s390/include/asm/ap.h
index c02f4aba88a6..cfce6835b109 100644
--- a/arch/s390/include/asm/ap.h
+++ b/arch/s390/include/asm/ap.h
@@ -1,12 +1,9 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * Adjunct processor (AP) interfaces 3 * Adjunct processor (AP) interfaces
3 * 4 *
4 * Copyright IBM Corp. 2017 5 * Copyright IBM Corp. 2017
5 * 6 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.
9 *
10 * Author(s): Tony Krowiak <akrowia@linux.vnet.ibm.com> 7 * Author(s): Tony Krowiak <akrowia@linux.vnet.ibm.com>
11 * Martin Schwidefsky <schwidefsky@de.ibm.com> 8 * Martin Schwidefsky <schwidefsky@de.ibm.com>
12 * Harald Freudenberger <freude@de.ibm.com> 9 * Harald Freudenberger <freude@de.ibm.com>
diff --git a/arch/s390/include/asm/bugs.h b/arch/s390/include/asm/bugs.h
index 0f5bd894f4dc..aa42a179be33 100644
--- a/arch/s390/include/asm/bugs.h
+++ b/arch/s390/include/asm/bugs.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * S390 version 3 * S390 version
3 * Copyright IBM Corp. 1999 4 * Copyright IBM Corp. 1999
diff --git a/arch/s390/include/asm/segment.h b/arch/s390/include/asm/segment.h
index 8bfce3475b1c..97a0582b8d0f 100644
--- a/arch/s390/include/asm/segment.h
+++ b/arch/s390/include/asm/segment.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_SEGMENT_H 2#ifndef _ASM_SEGMENT_H
2#define _ASM_SEGMENT_H 3#define _ASM_SEGMENT_H
3 4
diff --git a/arch/s390/include/asm/switch_to.h b/arch/s390/include/asm/switch_to.h
index ec7b476c1ac5..c61b2cc1a8a8 100644
--- a/arch/s390/include/asm/switch_to.h
+++ b/arch/s390/include/asm/switch_to.h
@@ -30,21 +30,20 @@ static inline void restore_access_regs(unsigned int *acrs)
30 asm volatile("lam 0,15,%0" : : "Q" (*(acrstype *)acrs)); 30 asm volatile("lam 0,15,%0" : : "Q" (*(acrstype *)acrs));
31} 31}
32 32
33#define switch_to(prev,next,last) do { \ 33#define switch_to(prev, next, last) do { \
34 if (prev->mm) { \ 34 /* save_fpu_regs() sets the CIF_FPU flag, which enforces \
35 save_fpu_regs(); \ 35 * a restore of the floating point / vector registers as \
36 save_access_regs(&prev->thread.acrs[0]); \ 36 * soon as the next task returns to user space \
37 save_ri_cb(prev->thread.ri_cb); \ 37 */ \
38 save_gs_cb(prev->thread.gs_cb); \ 38 save_fpu_regs(); \
39 } \ 39 save_access_regs(&prev->thread.acrs[0]); \
40 save_ri_cb(prev->thread.ri_cb); \
41 save_gs_cb(prev->thread.gs_cb); \
40 update_cr_regs(next); \ 42 update_cr_regs(next); \
41 if (next->mm) { \ 43 restore_access_regs(&next->thread.acrs[0]); \
42 set_cpu_flag(CIF_FPU); \ 44 restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb); \
43 restore_access_regs(&next->thread.acrs[0]); \ 45 restore_gs_cb(next->thread.gs_cb); \
44 restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb); \ 46 prev = __switch_to(prev, next); \
45 restore_gs_cb(next->thread.gs_cb); \
46 } \
47 prev = __switch_to(prev,next); \
48} while (0) 47} while (0)
49 48
50#endif /* __ASM_SWITCH_TO_H */ 49#endif /* __ASM_SWITCH_TO_H */
diff --git a/arch/s390/include/asm/vga.h b/arch/s390/include/asm/vga.h
index d375526c261f..605dc46bac5e 100644
--- a/arch/s390/include/asm/vga.h
+++ b/arch/s390/include/asm/vga.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_S390_VGA_H 2#ifndef _ASM_S390_VGA_H
2#define _ASM_S390_VGA_H 3#define _ASM_S390_VGA_H
3 4
diff --git a/arch/s390/include/uapi/asm/Kbuild b/arch/s390/include/uapi/asm/Kbuild
index 098f28778a13..92b7c9b3e641 100644
--- a/arch/s390/include/uapi/asm/Kbuild
+++ b/arch/s390/include/uapi/asm/Kbuild
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# UAPI Header export list 2# UAPI Header export list
2include include/uapi/asm-generic/Kbuild.asm 3include include/uapi/asm-generic/Kbuild.asm
3 4
diff --git a/arch/s390/include/uapi/asm/perf_regs.h b/arch/s390/include/uapi/asm/perf_regs.h
index 7c8564f98205..d17dd9e5d516 100644
--- a/arch/s390/include/uapi/asm/perf_regs.h
+++ b/arch/s390/include/uapi/asm/perf_regs.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef _ASM_S390_PERF_REGS_H 2#ifndef _ASM_S390_PERF_REGS_H
2#define _ASM_S390_PERF_REGS_H 3#define _ASM_S390_PERF_REGS_H
3 4
diff --git a/arch/s390/include/uapi/asm/sthyi.h b/arch/s390/include/uapi/asm/sthyi.h
index ec113db4eb7e..b1b022316983 100644
--- a/arch/s390/include/uapi/asm/sthyi.h
+++ b/arch/s390/include/uapi/asm/sthyi.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef _UAPI_ASM_STHYI_H 2#ifndef _UAPI_ASM_STHYI_H
2#define _UAPI_ASM_STHYI_H 3#define _UAPI_ASM_STHYI_H
3 4
diff --git a/arch/s390/include/uapi/asm/virtio-ccw.h b/arch/s390/include/uapi/asm/virtio-ccw.h
index 3a77833c74dc..2b605f7e8483 100644
--- a/arch/s390/include/uapi/asm/virtio-ccw.h
+++ b/arch/s390/include/uapi/asm/virtio-ccw.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2/* 2/*
3 * Definitions for virtio-ccw devices. 3 * Definitions for virtio-ccw devices.
4 * 4 *
diff --git a/arch/s390/include/uapi/asm/vmcp.h b/arch/s390/include/uapi/asm/vmcp.h
index 4caf71714a55..aeaaa030030e 100644
--- a/arch/s390/include/uapi/asm/vmcp.h
+++ b/arch/s390/include/uapi/asm/vmcp.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1/* 2/*
2 * Copyright IBM Corp. 2004, 2005 3 * Copyright IBM Corp. 2004, 2005
3 * Interface implementation for communication with the z/VM control program 4 * Interface implementation for communication with the z/VM control program
diff --git a/arch/s390/kernel/alternative.c b/arch/s390/kernel/alternative.c
index 315986a06cf5..574e77622c04 100644
--- a/arch/s390/kernel/alternative.c
+++ b/arch/s390/kernel/alternative.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1#include <linux/module.h> 2#include <linux/module.h>
2#include <asm/alternative.h> 3#include <asm/alternative.h>
3#include <asm/facility.h> 4#include <asm/facility.h>
diff --git a/arch/s390/kernel/perf_regs.c b/arch/s390/kernel/perf_regs.c
index f8603ebed669..54e2d634b849 100644
--- a/arch/s390/kernel/perf_regs.c
+++ b/arch/s390/kernel/perf_regs.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1#include <linux/perf_event.h> 2#include <linux/perf_event.h>
2#include <linux/perf_regs.h> 3#include <linux/perf_regs.h>
3#include <linux/kernel.h> 4#include <linux/kernel.h>
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index 308a7b63348b..f7fc63385553 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -370,10 +370,10 @@ SYSCALL(sys_recvmmsg,compat_sys_recvmmsg)
370SYSCALL(sys_sendmmsg,compat_sys_sendmmsg) 370SYSCALL(sys_sendmmsg,compat_sys_sendmmsg)
371SYSCALL(sys_socket,sys_socket) 371SYSCALL(sys_socket,sys_socket)
372SYSCALL(sys_socketpair,compat_sys_socketpair) /* 360 */ 372SYSCALL(sys_socketpair,compat_sys_socketpair) /* 360 */
373SYSCALL(sys_bind,sys_bind) 373SYSCALL(sys_bind,compat_sys_bind)
374SYSCALL(sys_connect,sys_connect) 374SYSCALL(sys_connect,compat_sys_connect)
375SYSCALL(sys_listen,sys_listen) 375SYSCALL(sys_listen,sys_listen)
376SYSCALL(sys_accept4,sys_accept4) 376SYSCALL(sys_accept4,compat_sys_accept4)
377SYSCALL(sys_getsockopt,compat_sys_getsockopt) /* 365 */ 377SYSCALL(sys_getsockopt,compat_sys_getsockopt) /* 365 */
378SYSCALL(sys_setsockopt,compat_sys_setsockopt) 378SYSCALL(sys_setsockopt,compat_sys_setsockopt)
379SYSCALL(sys_getsockname,compat_sys_getsockname) 379SYSCALL(sys_getsockname,compat_sys_getsockname)
diff --git a/arch/s390/kernel/vdso64/note.S b/arch/s390/kernel/vdso64/note.S
index 79a071e4357e..db19d0680a0a 100644
--- a/arch/s390/kernel/vdso64/note.S
+++ b/arch/s390/kernel/vdso64/note.S
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text. 3 * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text.
3 * Here we can supply some information useful to userland. 4 * Here we can supply some information useful to userland.
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index 434a9564917b..cb364153c43c 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -83,8 +83,6 @@ int crst_table_upgrade(struct mm_struct *mm, unsigned long end)
83 83
84 /* upgrade should only happen from 3 to 4, 3 to 5, or 4 to 5 levels */ 84 /* upgrade should only happen from 3 to 4, 3 to 5, or 4 to 5 levels */
85 VM_BUG_ON(mm->context.asce_limit < _REGION2_SIZE); 85 VM_BUG_ON(mm->context.asce_limit < _REGION2_SIZE);
86 if (end >= TASK_SIZE_MAX)
87 return -ENOMEM;
88 rc = 0; 86 rc = 0;
89 notify = 0; 87 notify = 0;
90 while (mm->context.asce_limit < end) { 88 while (mm->context.asce_limit < end) {
diff --git a/arch/s390/net/Makefile b/arch/s390/net/Makefile
index 90568c33ddb0..e0d5f245e42b 100644
--- a/arch/s390/net/Makefile
+++ b/arch/s390/net/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Arch-specific network modules 3# Arch-specific network modules
3# 4#
diff --git a/arch/s390/numa/Makefile b/arch/s390/numa/Makefile
index f94ecaffa71b..66c2dff74895 100644
--- a/arch/s390/numa/Makefile
+++ b/arch/s390/numa/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1obj-y += numa.o 2obj-y += numa.o
2obj-y += toptree.o 3obj-y += toptree.o
3obj-$(CONFIG_NUMA_EMU) += mode_emu.o 4obj-$(CONFIG_NUMA_EMU) += mode_emu.o
diff --git a/arch/s390/pci/Makefile b/arch/s390/pci/Makefile
index 805d8b29193a..22d0871291ee 100644
--- a/arch/s390/pci/Makefile
+++ b/arch/s390/pci/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Makefile for the s390 PCI subsystem. 3# Makefile for the s390 PCI subsystem.
3# 4#
diff --git a/arch/s390/tools/gen_opcode_table.c b/arch/s390/tools/gen_opcode_table.c
index 01d4c5a4bfe9..357d42681cef 100644
--- a/arch/s390/tools/gen_opcode_table.c
+++ b/arch/s390/tools/gen_opcode_table.c
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * Generate opcode table initializers for the in-kernel disassembler. 3 * Generate opcode table initializers for the in-kernel disassembler.
3 * 4 *
diff --git a/drivers/s390/Makefile b/drivers/s390/Makefile
index e5225ad9c5b1..2fdab400c1fe 100644
--- a/drivers/s390/Makefile
+++ b/drivers/s390/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Makefile for the S/390 specific device drivers 3# Makefile for the S/390 specific device drivers
3# 4#
diff --git a/drivers/s390/block/Kconfig b/drivers/s390/block/Kconfig
index 31f014b57bfc..bc27d716aa6b 100644
--- a/drivers/s390/block/Kconfig
+++ b/drivers/s390/block/Kconfig
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1comment "S/390 block device drivers" 2comment "S/390 block device drivers"
2 depends on S390 && BLOCK 3 depends on S390 && BLOCK
3 4
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 66e008f7adb6..d4e8dff673cc 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -759,7 +759,7 @@ static void dasd_profile_end_add_data(struct dasd_profile_info *data,
759 /* in case of an overflow, reset the whole profile */ 759 /* in case of an overflow, reset the whole profile */
760 if (data->dasd_io_reqs == UINT_MAX) { 760 if (data->dasd_io_reqs == UINT_MAX) {
761 memset(data, 0, sizeof(*data)); 761 memset(data, 0, sizeof(*data));
762 getnstimeofday(&data->starttod); 762 ktime_get_real_ts64(&data->starttod);
763 } 763 }
764 data->dasd_io_reqs++; 764 data->dasd_io_reqs++;
765 data->dasd_io_sects += sectors; 765 data->dasd_io_sects += sectors;
@@ -894,7 +894,7 @@ void dasd_profile_reset(struct dasd_profile *profile)
894 return; 894 return;
895 } 895 }
896 memset(data, 0, sizeof(*data)); 896 memset(data, 0, sizeof(*data));
897 getnstimeofday(&data->starttod); 897 ktime_get_real_ts64(&data->starttod);
898 spin_unlock_bh(&profile->lock); 898 spin_unlock_bh(&profile->lock);
899} 899}
900 900
@@ -911,7 +911,7 @@ int dasd_profile_on(struct dasd_profile *profile)
911 kfree(data); 911 kfree(data);
912 return 0; 912 return 0;
913 } 913 }
914 getnstimeofday(&data->starttod); 914 ktime_get_real_ts64(&data->starttod);
915 profile->data = data; 915 profile->data = data;
916 spin_unlock_bh(&profile->lock); 916 spin_unlock_bh(&profile->lock);
917 return 0; 917 return 0;
@@ -995,8 +995,8 @@ static void dasd_stats_array(struct seq_file *m, unsigned int *array)
995static void dasd_stats_seq_print(struct seq_file *m, 995static void dasd_stats_seq_print(struct seq_file *m,
996 struct dasd_profile_info *data) 996 struct dasd_profile_info *data)
997{ 997{
998 seq_printf(m, "start_time %ld.%09ld\n", 998 seq_printf(m, "start_time %lld.%09ld\n",
999 data->starttod.tv_sec, data->starttod.tv_nsec); 999 (s64)data->starttod.tv_sec, data->starttod.tv_nsec);
1000 seq_printf(m, "total_requests %u\n", data->dasd_io_reqs); 1000 seq_printf(m, "total_requests %u\n", data->dasd_io_reqs);
1001 seq_printf(m, "total_sectors %u\n", data->dasd_io_sects); 1001 seq_printf(m, "total_sectors %u\n", data->dasd_io_sects);
1002 seq_printf(m, "total_pav %u\n", data->dasd_io_alias); 1002 seq_printf(m, "total_pav %u\n", data->dasd_io_alias);
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 1a41ef496338..a2edf2a7ace9 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -531,10 +531,12 @@ static int prefix_LRE(struct ccw1 *ccw, struct PFX_eckd_data *pfxdata,
531 pfxdata->validity.define_extent = 1; 531 pfxdata->validity.define_extent = 1;
532 532
533 /* private uid is kept up to date, conf_data may be outdated */ 533 /* private uid is kept up to date, conf_data may be outdated */
534 if (startpriv->uid.type != UA_BASE_DEVICE) { 534 if (startpriv->uid.type == UA_BASE_PAV_ALIAS)
535 pfxdata->validity.verify_base = 1; 535 pfxdata->validity.verify_base = 1;
536 if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) 536
537 pfxdata->validity.hyper_pav = 1; 537 if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) {
538 pfxdata->validity.verify_base = 1;
539 pfxdata->validity.hyper_pav = 1;
538 } 540 }
539 541
540 rc = define_extent(NULL, dedata, trk, totrk, cmd, basedev, blksize); 542 rc = define_extent(NULL, dedata, trk, totrk, cmd, basedev, blksize);
@@ -3415,10 +3417,12 @@ static int prepare_itcw(struct itcw *itcw,
3415 pfxdata.validity.define_extent = 1; 3417 pfxdata.validity.define_extent = 1;
3416 3418
3417 /* private uid is kept up to date, conf_data may be outdated */ 3419 /* private uid is kept up to date, conf_data may be outdated */
3418 if (startpriv->uid.type != UA_BASE_DEVICE) { 3420 if (startpriv->uid.type == UA_BASE_PAV_ALIAS)
3421 pfxdata.validity.verify_base = 1;
3422
3423 if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) {
3419 pfxdata.validity.verify_base = 1; 3424 pfxdata.validity.verify_base = 1;
3420 if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) 3425 pfxdata.validity.hyper_pav = 1;
3421 pfxdata.validity.hyper_pav = 1;
3422 } 3426 }
3423 3427
3424 switch (cmd) { 3428 switch (cmd) {
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h
index b095a23bcc0c..96709b1a7bf8 100644
--- a/drivers/s390/block/dasd_int.h
+++ b/drivers/s390/block/dasd_int.h
@@ -441,7 +441,7 @@ struct dasd_profile_info {
441 unsigned int dasd_io_nr_req[32]; /* hist. of # of requests in chanq */ 441 unsigned int dasd_io_nr_req[32]; /* hist. of # of requests in chanq */
442 442
443 /* new data */ 443 /* new data */
444 struct timespec starttod; /* time of start or last reset */ 444 struct timespec64 starttod; /* time of start or last reset */
445 unsigned int dasd_io_alias; /* requests using an alias */ 445 unsigned int dasd_io_alias; /* requests using an alias */
446 unsigned int dasd_io_tpm; /* requests using transport mode */ 446 unsigned int dasd_io_tpm; /* requests using transport mode */
447 unsigned int dasd_read_reqs; /* total number of read requests */ 447 unsigned int dasd_read_reqs; /* total number of read requests */
diff --git a/drivers/s390/char/Kconfig b/drivers/s390/char/Kconfig
index 97c4c9fdd53d..ab0b243a947d 100644
--- a/drivers/s390/char/Kconfig
+++ b/drivers/s390/char/Kconfig
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1comment "S/390 character device drivers" 2comment "S/390 character device drivers"
2 depends on S390 3 depends on S390
3 4
diff --git a/drivers/s390/char/defkeymap.map b/drivers/s390/char/defkeymap.map
index 353b3f268824..f4c095612a02 100644
--- a/drivers/s390/char/defkeymap.map
+++ b/drivers/s390/char/defkeymap.map
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# Default keymap for 3270 (ebcdic codepage 037). 2# Default keymap for 3270 (ebcdic codepage 037).
2keymaps 0-1,4-5 3keymaps 0-1,4-5
3 4
diff --git a/drivers/s390/cio/blacklist.h b/drivers/s390/cio/blacklist.h
index 95e25c1df922..140e3e4ee2fd 100644
--- a/drivers/s390/cio/blacklist.h
+++ b/drivers/s390/cio/blacklist.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef S390_BLACKLIST_H 2#ifndef S390_BLACKLIST_H
2#define S390_BLACKLIST_H 3#define S390_BLACKLIST_H
3 4
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index 59b4a3370cd5..95b0efe28afb 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -431,8 +431,8 @@ static void process_buffer_error(struct qdio_q *q, int count)
431 q->qdio_error = QDIO_ERROR_SLSB_STATE; 431 q->qdio_error = QDIO_ERROR_SLSB_STATE;
432 432
433 /* special handling for no target buffer empty */ 433 /* special handling for no target buffer empty */
434 if ((!q->is_input_q && 434 if (queue_type(q) == QDIO_IQDIO_QFMT && !q->is_input_q &&
435 (q->sbal[q->first_to_check]->element[15].sflags) == 0x10)) { 435 q->sbal[q->first_to_check]->element[15].sflags == 0x10) {
436 qperf_inc(q, target_full); 436 qperf_inc(q, target_full);
437 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", 437 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x",
438 q->first_to_check); 438 q->first_to_check);
@@ -536,7 +536,8 @@ static int get_inbound_buffer_frontier(struct qdio_q *q)
536 case SLSB_P_INPUT_ERROR: 536 case SLSB_P_INPUT_ERROR:
537 process_buffer_error(q, count); 537 process_buffer_error(q, count);
538 q->first_to_check = add_buf(q->first_to_check, count); 538 q->first_to_check = add_buf(q->first_to_check, count);
539 atomic_sub(count, &q->nr_buf_used); 539 if (atomic_sub_return(count, &q->nr_buf_used) == 0)
540 qperf_inc(q, inbound_queue_full);
540 if (q->irq_ptr->perf_stat_enabled) 541 if (q->irq_ptr->perf_stat_enabled)
541 account_sbals_error(q, count); 542 account_sbals_error(q, count);
542 break; 543 break;
diff --git a/drivers/s390/net/Kconfig b/drivers/s390/net/Kconfig
index b2837b1c70b7..a782a207ad31 100644
--- a/drivers/s390/net/Kconfig
+++ b/drivers/s390/net/Kconfig
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1menu "S/390 network device drivers" 2menu "S/390 network device drivers"
2 depends on NETDEVICES && S390 3 depends on NETDEVICES && S390
3 4
diff --git a/drivers/s390/scsi/Makefile b/drivers/s390/scsi/Makefile
index 9259039e886d..9dda431ec8f3 100644
--- a/drivers/s390/scsi/Makefile
+++ b/drivers/s390/scsi/Makefile
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1# 2#
2# Makefile for the S/390 specific device drivers 3# Makefile for the S/390 specific device drivers
3# 4#