Commit 7b886416 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

[S390] Remove CONFIG_MACHCHK_WARNING.

Everybody enables it so there is no point for an extra config option.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent f5daba1d
...@@ -343,13 +343,6 @@ source "mm/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---
......
...@@ -59,28 +59,23 @@ void s390_handle_mcck(void) ...@@ -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 * A warning may remain for a prolonged period on the bare iron.
/* * (actually until the machine is powered off, or the problem is gone)
* The warning may remain for a prolonged period on the bare iron. * So we just stop listening for the WARNING MCH and avoid continuously
* (actually till the machine is powered off, or until the problem is gone) * being interrupted. One caveat is however, that we must do this per
* So we just stop listening for the WARNING MCH and prevent continuously * processor and cannot use the smp version of ctl_clear_bit().
* being interrupted. One caveat is however, that we must do this per * On VM we only get one interrupt per virtally presented machinecheck.
* processor and cannot use the smp version of ctl_clear_bit(). * Though one suffices, we may get one interrupt per (virtual) cpu.
* On VM we only get one interrupt per virtally presented machinecheck. */
* Though one suffices, we may get one interrupt per (virtual) processor.
*/
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) ...@@ -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);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment