i'm confused by a snippet of code in the header file <linux/init.h>, which defines callback routines for kernel command line parameters: ... #define __setup_param(str, unique_id, fn, early) \ static char __setup_str_##unique_id[] __initdata __aligned(1) = str; \ static struct obs_kernel_param __setup_##unique_id \ __used __section(.init.setup) \ __attribute__((aligned((sizeof(long))))) \ = { __setup_str_##unique_id, fn, early } #define __setup(str, fn) \ __setup_param(str, fn, fn, 0) /* NOTE: fn is as per module_param, not __setup! Emits warning if fn * returns non-zero. */ #define early_param(str, fn) \ __setup_param(str, fn, fn, 1) ... as i understood it, the only difference between __setup() and early_param() for defining boot-time parms was to dictate *when* those parms would be processed -- other than that, they have the same format and required the same callback function format. but the comment above seems to suggest that the format of the callback routine for early_param() follows the module_param() convention, which has a *considerably* different format. that doesn't make sense to me. what could that comment mean? or is it just wrong? rday -- ======================================================================== Robert P. J. Day Waterloo, Ontario, CANADA Linux Consulting, Training and Annoying Kernel Pedantry. Web page: http://crashcourse.ca Linked In: http://www.linkedin.com/in/rpjday Twitter: http://twitter.com/rpjday ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ