diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h
index ad543c11826d7285be1cccb414609bec1a0582e8..5b18035c1dc70079256a6e5fb4d647034e8e836f 100644
--- a/arch/s390/include/asm/lowcore.h
+++ b/arch/s390/include/asm/lowcore.h
@@ -80,7 +80,6 @@
 #define __LC_USER_ASCE			0xC50
 #define __LC_PANIC_STACK                0xC54
 #define __LC_CPUID                      0xC60
-#define __LC_IPLDEV                     0xC7C
 #define __LC_CURRENT			0xC90
 #define __LC_INT_CLOCK			0xC98
 #else /* __s390x__ */
@@ -101,7 +100,6 @@
 #define __LC_USER_ASCE			0xD60
 #define __LC_PANIC_STACK                0xD68
 #define __LC_CPUID			0xD80
-#define __LC_IPLDEV                     0xDB8
 #define __LC_CURRENT			0xDD8
 #define __LC_INT_CLOCK			0xDE8
 #define __LC_VDSO_PER_CPU		0xE38
@@ -273,8 +271,7 @@ struct _lowcore
 	/* entry.S sensitive area start */
 	cpuid_t      cpu_id;		       /* 0xc60 */
 	__u32	     cpu_nr;		       /* 0xc68 */
-	__u32	     ipl_device;	       /* 0xc6c */
-	__u8	     pad_0xc70[0xc80-0xc70];   /* 0xc70 */
+	__u8	     pad_0xc6c[0xc80-0xc6c];   /* 0xc6c */
 	/* entry.S sensitive area end */
 
         /* SMP info area: defined by DJB */
@@ -368,8 +365,7 @@ struct _lowcore
 	/* entry.S sensitive area start */
 	cpuid_t      cpu_id;		       /* 0xd80 */
 	__u32	     cpu_nr;		       /* 0xd88 */
-	__u32	     ipl_device;	       /* 0xd8c */
-	__u8	     pad_0xd90[0xdc0-0xd90];   /* 0xd90 */
+	__u8	     pad_0xd8c[0xdc0-0xd8c];   /* 0xd8c */
 	/* entry.S sensitive area end */
 
         /* SMP info area: defined by DJB */
diff --git a/arch/s390/kernel/head31.S b/arch/s390/kernel/head31.S
index db476d114caabd5c79b016110f503d507de2f312..2ced846065b7a61e340fc88d9b390a4416ead542 100644
--- a/arch/s390/kernel/head31.S
+++ b/arch/s390/kernel/head31.S
@@ -20,7 +20,6 @@ startup_continue:
 	lctl	%c0,%c15,.Lctl-.LPG1(%r13) # load control registers
 	l	%r12,.Lparmaddr-.LPG1(%r13) # pointer to parameter area
 					# move IPL device to lowcore
-	mvc	__LC_IPLDEV(4),IPL_DEVICE-PARMAREA(%r12)
 #
 # Setup stack
 #
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S
index f9f70aa15244152423cd3ff0182224e6158197ab..65667b2e65cee6fdd3ed71f104ee326d4ec13d86 100644
--- a/arch/s390/kernel/head64.S
+++ b/arch/s390/kernel/head64.S
@@ -86,7 +86,6 @@ startup_continue:
 	lctlg	%c0,%c15,.Lctl-.LPG1(%r13)	# load control registers
 	lg	%r12,.Lparmaddr-.LPG1(%r13)	# pointer to parameter area
 					# move IPL device to lowcore
-	mvc	__LC_IPLDEV(4),IPL_DEVICE+4-PARMAREA(%r12)
 	lghi	%r0,__LC_PASTE
 	stg	%r0,__LC_VDSO_PER_CPU
 #
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 9c8853f21bb20cdf26edc4aa33bdfda97fcd5169..91551ef1d67e87e9569a8bf74c3f4f717cda011a 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -419,7 +419,6 @@ setup_lowcore(void)
 		PSW_ADDR_AMODE | (unsigned long) mcck_int_handler;
 	lc->io_new_psw.mask = psw_kernel_bits;
 	lc->io_new_psw.addr = PSW_ADDR_AMODE | (unsigned long) io_int_handler;
-	lc->ipl_device = S390_lowcore.ipl_device;
 	lc->clock_comparator = -1ULL;
 	lc->kernel_stack = ((unsigned long) &init_thread_union) + THREAD_SIZE;
 	lc->async_stack = (unsigned long)
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index b167f74d94cd9a8fa65b83f63e837301bce3be82..775885772ff19c888e57174db1a7653b0c9d3775 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -566,7 +566,6 @@ int __cpuinit __cpu_up(unsigned int cpu)
 	cpu_lowcore->current_task = (unsigned long) idle;
 	cpu_lowcore->cpu_nr = cpu;
 	cpu_lowcore->kernel_asce = S390_lowcore.kernel_asce;
-	cpu_lowcore->ipl_device = S390_lowcore.ipl_device;
 	eieio();
 
 	while (signal_processor(cpu, sigp_restart) == sigp_busy)