On Jul 13, 2015, at 10:46 PM, Greg Kroah-Hartman wrote: > On Mon, Jul 06, 2015 at 12:48:56PM -0400, green@xxxxxxxxxxxxxx wrote: >> From: Oleg Drokin <green@xxxxxxxxxxxxxx> >> >> It's just a fancy libcfs_debug_mb module parameter wrapper, >> so just add debug buffer size check and resizing and the same >> functionality now would be accessible via >> /sys/module/libcfs/parameters/libcfs_debug_mb >> >> Also add a symlink for backwards compatibility. >> >> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> >> --- >> drivers/staging/lustre/lustre/libcfs/debug.c | 37 ++++++++++++++++++++++-- >> drivers/staging/lustre/lustre/libcfs/module.c | 32 ++------------------ >> drivers/staging/lustre/lustre/libcfs/tracefile.c | 12 -------- >> drivers/staging/lustre/lustre/libcfs/tracefile.h | 1 - >> 4 files changed, 37 insertions(+), 45 deletions(-) >> >> diff --git a/drivers/staging/lustre/lustre/libcfs/debug.c b/drivers/staging/lustre/lustre/libcfs/debug.c >> index 5ae7b65..e4c7129 100644 >> --- a/drivers/staging/lustre/lustre/libcfs/debug.c >> +++ b/drivers/staging/lustre/lustre/libcfs/debug.c >> @@ -57,8 +57,39 @@ module_param(libcfs_debug, int, 0644); >> MODULE_PARM_DESC(libcfs_debug, "Lustre kernel debug mask"); >> EXPORT_SYMBOL(libcfs_debug); >> >> +static int libcfs_param_debug_mb_set(const char *val, >> + const struct kernel_param *kp) >> +{ >> + int rc; >> + unsigned num; >> + >> + rc = kstrtouint(val, 0, &num); >> + if (rc == -EINVAL) >> + return -EINVAL; >> + >> + if (!*((unsigned int *)kp->arg)) { >> + *((unsigned int *)kp->arg) = num; >> + return 0; >> + } >> + >> + rc = cfs_trace_set_debug_mb(num); >> + >> + if (!rc) >> + *((unsigned int *)kp->arg) = cfs_trace_get_debug_mb(); >> + >> + return rc; >> +} >> + >> +static struct kernel_param_ops param_ops_debugmb = { >> + .set = libcfs_param_debug_mb_set, >> + .get = param_get_uint, >> +}; >> + >> +#define param_check_debugmb(name, p) \ >> + __param_check(name, p, unsigned int) >> + >> static unsigned int libcfs_debug_mb; >> -module_param(libcfs_debug_mb, uint, 0644); >> +module_param(libcfs_debug_mb, debugmb, 0644); > > module_param wants a variable type as the second option, not a variable > name, how is this working? debugmb IS the type, that I just declared above. See all the param_ops_XXX and param_check_XXX thing? _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel