I'm new to C and I understand that you define a function using this format
return_type function_name(args)
{
    ... body ...
}
But then I see this code from the kernel: https://github.com/torvalds/linux/blob/master/kernel/time/tick-broadcast.c#L995L1005
where a function definition looks like this:
void __init tick_broadcast_init(void)
{
    ... body ...
}
It looks like there's two variables, __init and tick_broadcast_init.  Anyone know what's going on?
 
    