2.5.22: s390 fixes.
PATCH 1/1 2.5.22: s390 fixes.
Hi Linus,
some recent changes in the s390 architectures files:
1) Makefile fixes.
2) Add missing include statements.
3) Convert all parametes in the 31 bit emulation wrapper of sys_futex.
4) Remove semicolons after 'fi' in Config.in
5) Fix scheduler defines in system.h
6) Simplifications in qdio.c
blue skies,
Martin.
arch/s390/math-emu/Makefile +1 -0
@@ -6,6 +6,7 @@ obj-$(CONFIG_MATHEMU) := math.o qrnnd.o EXTRA_CFLAGS = -I. -I$(TOPDIR)/include/math-emu -w +EXTRA_AFLAGS := -traditional include $(TOPDIR)/Rules.make
arch/s390/mm/ioremap.c +1 -0
@@ -14,6 +14,7 @@*/ #include <linux/vmalloc.h> +#include <linux/mm.h> #include <asm/io.h> #include <asm/pgalloc.h> #include <asm/cacheflush.h>
arch/s390x/kernel/wrapper32.S +2 -0
@@ -1112,6 +1112,8 @@ sys32_futex_wrapper: llgtr %r2,%r2 # void * lgfr %r3,%r3 # int + lgfr %r4,%r4 # int + llgtr %r5,%r5 # struct timespec * jg sys_futex # branch to system call .globl sys32_setxattr_wrapper
arch/s390x/mm/ioremap.c +1 -0
@@ -14,6 +14,7 @@*/ #include <linux/vmalloc.h> +#include <linux/mm.h> #include <asm/io.h> #include <asm/pgalloc.h> #include <asm/cacheflush.h>
drivers/s390/Config.in +4 -4
@@ -17,18 +17,18 @@ dep_tristate ' Support for ECKD Disks' CONFIG_DASD_ECKD $CONFIG_DASD if [ "$CONFIG_DASD_ECKD" = "m" ]; then bool ' Automatic activation of ECKD module' CONFIG_DASD_AUTO_ECKD - fi; + fi dep_tristate ' Support for FBA Disks' CONFIG_DASD_FBA $CONFIG_DASD if [ "$CONFIG_DASD_FBA" = "m" ]; then bool ' Automatic activation of FBA module' CONFIG_DASD_AUTO_FBA - fi; + fi # dep_tristate ' Support for CKD Disks' CONFIG_DASD_CKD $CONFIG_DASD if [ "$CONFIG_ARCH_S390X" != "y" ]; then dep_tristate ' Support for DIAG access to CMS reserved Disks' CONFIG_DASD_DIAG $CONFIG_DASD if [ "$CONFIG_DASD_DIAG" = "m" ]; then bool ' Automatic activation of DIAG module' CONFIG_DASD_AUTO_DIAG - fi; - fi; + fi + fi fi endmenu
drivers/s390/Makefile +1 -1
@@ -7,6 +7,6 @@ obj-$(CONFIG_QDIO) += qdio.o obj-y += s390mach.o s390dyn.o sysinfo.o -obj-y += block/ char/ misc/ net/ scsi/ cio/ +obj-y += block/ char/ misc/ net/ cio/ include $(TOPDIR)/Rules.make
drivers/s390/qdio.c +2 -13
@@ -61,9 +61,7 @@MODULE_AUTHOR ("Utz Bacher <[email protected]>" );MODULE_DESCRIPTION ("QDIO base support version 2, " \"Copyright 2000 IBM Corporation" ); -#if (LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,4 ,12 ))MODULE_LICENSE ("GPL" ); -#endif /******************** HERE WE GO ***********************************/
@@ -1584,7 +1582,7 @@kfree (irq_ptr->input_qs[i]); next: -if (!irq_ptr->output_qs[i]) goto next2; +if (!irq_ptr->output_qs[i])continue ; available=0 ;if (!irq_ptr->output_qs[i]->is_0copy_sbals_q)for (j=0 ;j<QDIO_MAX_BUFFERS_PER_Q ;j++) {
@@ -1599,7 +1597,7 @@if (irq_ptr->output_qs[i]->slib)kfree (irq_ptr->output_qs[i]->slib);kfree (irq_ptr->output_qs[i]); -next2: + }if (irq_ptr->qdr)kfree (irq_ptr->qdr);kfree (irq_ptr);
@@ -2191,21 +2189,12 @@ {int cc; -#ifdef QDIO_32_BIT - asmvolatile ( -".insn rre,0xb25f0000,%1,0 \n\t" -"ipm %0 \n\t" -"srl %0,28 \n\t" - :"=d" (cc) :"d" (chsc_area) :"cc" - ); -#else /* QDIO_32_BIT */ asmvolatile (".insn rre,0xb25f0000,%1,0 \n\t" "ipm %0 \n\t" "srl %0,28 \n\t" :"=d" (cc) :"d" (chsc_area) :"cc" ); -#endif /* QDIO_32_BIT */ return cc; }
include/asm-s390/system.h +6 -2
@@ -18,8 +18,12 @@#endif #include <linux/kernel.h> -#define prepare_to_switch () do { } while(0) -#define switch_to (prev,next) do { \ +#define prepare_arch_schedule (prev) do { } while (0) +#define finish_arch_schedule (prev) do { } while (0) +#define prepare_arch_switch (rq) do { } while (0) +#define finish_arch_switch (rq) spin_unlock_irq(&(rq)->lock) + +#define switch_to (prev,next,last) do { \ if (prev == next) \ break; \ save_fp_regs1(&prev->thread.fp_regs); \
include/asm-s390x/system.h +6 -2
@@ -18,8 +18,12 @@#endif #include <linux/kernel.h> -#define prepare_to_switch () do { } while(0) -#define switch_to (prev,next) do { \ +#define prepare_arch_schedule (prev) do { } while (0) +#define finish_arch_schedule (prev) do { } while (0) +#define prepare_arch_switch (rq) do { } while (0) +#define finish_arch_switch (rq) spin_unlock_irq(&(rq)->lock) + +#define switch_to (prev,next),last do { \ if (prev == next) \ break; \ save_fp_regs(&prev->thread.fp_regs); \