I realize that it isn't called at the moment, but look at your rainbow function. It doesn't have leds_1 passed to it but the compiler is fine with it because leds_1 is global.
If you had functions that were called with different parameters, it would make sense to pass them, but you don't.