No that's ok, you can call functions from anywhere, loop() is already called from main() so every time you do (for example) a Serial.print() inside loop() you are already calling a function from inside a function, and for all you know Serial.print() calls 10 other functions all of which call other functions again.
Subject to the stack overflowing there is no limit.
It seems that erdiegange's code works for everyone else, so the only unknown is the updateDisplay() function.
Rob