فهرست منبع

[S390] Remove CONFIG_MACHCHK_WARNING.

Everybody enables it so there is no point for an extra config option.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens 16 سال پیش
والد
کامیت
7b886416df
2فایلهای تغییر یافته به همراه11 افزوده شده و 25 حذف شده
  1. 0 7
      arch/s390/Kconfig
  2. 11 18
      arch/s390/kernel/nmi.c

+ 0 - 7
arch/s390/Kconfig

@@ -343,13 +343,6 @@ source "mm/Kconfig"
 
 
 comment "I/O subsystem configuration"
 comment "I/O subsystem configuration"
 
 
-config MACHCHK_WARNING
-	bool "Process warning machine checks"
-	help
-	  Select this option if you want the machine check handler on IBM S/390 or
-	  zSeries to process warning machine checks (e.g. on power failures).
-	  If unsure, say "Y".
-
 config QDIO
 config QDIO
 	tristate "QDIO support"
 	tristate "QDIO support"
 	---help---
 	---help---

+ 11 - 18
arch/s390/kernel/nmi.c

@@ -59,28 +59,23 @@ void s390_handle_mcck(void)
 
 
 	if (mcck.channel_report)
 	if (mcck.channel_report)
 		crw_handle_channel_report();
 		crw_handle_channel_report();
-
-#ifdef CONFIG_MACHCHK_WARNING
-/*
- * The warning may remain for a prolonged period on the bare iron.
- * (actually till the machine is powered off, or until the problem is gone)
- * So we just stop listening for the WARNING MCH and prevent continuously
- * being interrupted.  One caveat is however, that we must do this per
- * processor and cannot use the smp version of ctl_clear_bit().
- * On VM we only get one interrupt per virtally presented machinecheck.
- * Though one suffices, we may get one interrupt per (virtual) processor.
- */
+	/*
+	 * A warning may remain for a prolonged period on the bare iron.
+	 * (actually until the machine is powered off, or the problem is gone)
+	 * So we just stop listening for the WARNING MCH and avoid continuously
+	 * being interrupted.  One caveat is however, that we must do this per
+	 * processor and cannot use the smp version of ctl_clear_bit().
+	 * On VM we only get one interrupt per virtally presented machinecheck.
+	 * Though one suffices, we may get one interrupt per (virtual) cpu.
+	 */
 	if (mcck.warning) {	/* WARNING pending ? */
 	if (mcck.warning) {	/* WARNING pending ? */
 		static int mchchk_wng_posted = 0;
 		static int mchchk_wng_posted = 0;
-		/*
-		 * Use single machine clear, as we cannot handle smp right now
-		 */
+
+		/* Use single cpu clear, as we cannot handle smp here. */
 		__ctl_clear_bit(14, 24);	/* Disable WARNING MCH */
 		__ctl_clear_bit(14, 24);	/* Disable WARNING MCH */
 		if (xchg(&mchchk_wng_posted, 1) == 0)
 		if (xchg(&mchchk_wng_posted, 1) == 0)
 			kill_cad_pid(SIGPWR, 1);
 			kill_cad_pid(SIGPWR, 1);
 	}
 	}
-#endif
-
 	if (mcck.kill_task) {
 	if (mcck.kill_task) {
 		local_irq_enable();
 		local_irq_enable();
 		printk(KERN_EMERG "mcck: Terminating task because of machine "
 		printk(KERN_EMERG "mcck: Terminating task because of machine "
@@ -375,9 +370,7 @@ static int __init machine_check_init(void)
 {
 {
 	ctl_set_bit(14, 25);	/* enable external damage MCH */
 	ctl_set_bit(14, 25);	/* enable external damage MCH */
 	ctl_set_bit(14, 27);	/* enable system recovery MCH */
 	ctl_set_bit(14, 27);	/* enable system recovery MCH */
-#ifdef CONFIG_MACHCHK_WARNING
 	ctl_set_bit(14, 24);	/* enable warning MCH */
 	ctl_set_bit(14, 24);	/* enable warning MCH */
-#endif
 	return 0;
 	return 0;
 }
 }
 arch_initcall(machine_check_init);
 arch_initcall(machine_check_init);