• Steven Rostedt's avatar
    module: Add flag to allow mod params to have no arguments · ab013c5f
    Steven Rostedt authored
    Currently the params.c code allows only two "set" functions to have
    no arguments. If a parameter does not have an argument, then it
    looks at the set function and tests if it is either param_set_bool()
    or param_set_bint(). If it is not one of these functions, then it
    fails the loading of the module.
    
    But there may be module parameters that have different set functions
    and still allow no arguments. But unless each of these cases adds
    their function to the if statement, it wont be allowed to have no
    arguments. This method gets rather messing and does not scale.
    
    Instead, introduce a flags field to the kernel_param_ops, where if
    the flag KERNEL_PARAM_FL_NOARG is set, the parameter will not fail
    if it does not contain an argument. It will be expected that the
    corresponding set function can handle a NULL pointer as "val".
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    ab013c5f
params.c 21.9 KB