Search notes:

include/linux/init.h

Macros used to mark functions or initialized data as initialization functions.
The kernel can take this as a hint that the function is used only during the initialization phase and free up used memory resources after.

__setup

__setup seems to be a macro with which command line options can be declared, try
$ grep -r __setup > ~/github/temp/Linux/kernel/source/greps/__setup
Using __setup is somehow associated with the struct obs_kernel_param:
struct obs_kernel_param {
   const char *str;
   int (*setup_func)(char *);
   int early;
};
The script scripts/checkpatch.pl explicitly checks for new command line options that might be added but were forgotten to be documented in Documentation/admin-guide/kernel-parameters.txt, see here and here.

early_param

The early_param defines early command line parameters.

Index