Staying in a subroutine

bool setupMode;
void setup {
setupMode = digitalRead(setuppin);
}

void loop() {
if (setupMode == HIGH){
setupmode();
}
else {
runmode();
}