Не могу въехать, что означает 3-й параметр функции setup_timer, какие он может принимать значения? И судя по макросу есть еще и 4-й параметр, какие флаги можно передать туда?
// my_timer.function, my_timer.data setup_timer( &my_timer, my_timer_callback, 0 );
#define __setup_timer(_timer, _fn, _data, _flags)			\
	do {								\
		__init_timer((_timer), (_flags));			\
		(_timer)->function = (_fn);				\
		(_timer)->data = (_data);				\
	} while (0)


