From 726bbe17fc56a5680a90a901e8de7e92912208be Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Thu, 9 May 2013 16:15:04 +0200 Subject: [PATCH] infra: don't switch off if predecessors are working --- kernel/sy_old/sy_generic.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/sy_old/sy_generic.c b/kernel/sy_old/sy_generic.c index e4db701e..f1274885 100644 --- a/kernel/sy_old/sy_generic.c +++ b/kernel/sy_old/sy_generic.c @@ -1487,10 +1487,12 @@ struct mars_brick *make_brick_all( sscanf(test->new_link, "%d", &switch_state); } } + // override? if (switch_override > 0) switch_state = true; else if (switch_override < 0) switch_state = false; + // even higher override if (global && !global->global_power.button) { switch_state = false; } @@ -1500,6 +1502,12 @@ struct mars_brick *make_brick_all( if (brick) { // just switch the power state MARS_DBG("found existing brick '%s'\n", new_path); + // highest general override + if (mars_check_outputs(brick)) { + if (!switch_state) + MARS_DBG("brick '%s' override 0 -> 1\n", new_path); + switch_state = true; + } goto do_switch; } if (!switch_state) { // don't start => also don't create