Lines Matching refs:kp

101 static bool param_check_unsafe(const struct kernel_param *kp)  in param_check_unsafe()  argument
103 if (kp->flags & KERNEL_PARAM_FL_HWPARAM && in param_check_unsafe()
107 if (kp->flags & KERNEL_PARAM_FL_UNSAFE) { in param_check_unsafe()
109 kp->name); in param_check_unsafe()
219 int param_set_##name(const char *val, const struct kernel_param *kp) \
221 return strtolfn(val, 0, (type *)kp->arg); \
223 int param_get_##name(char *buffer, const struct kernel_param *kp) \
226 *((type *)kp->arg)); \
247 int param_set_uint_minmax(const char *val, const struct kernel_param *kp, in param_set_uint_minmax() argument
260 *((unsigned int *)kp->arg) = num; in param_set_uint_minmax()
265 int param_set_charp(const char *val, const struct kernel_param *kp) in param_set_charp() argument
268 pr_err("%s: string parameter too long\n", kp->name); in param_set_charp()
272 maybe_kfree_parameter(*(char **)kp->arg); in param_set_charp()
277 *(char **)kp->arg = kmalloc_parameter(strlen(val)+1); in param_set_charp()
278 if (!*(char **)kp->arg) in param_set_charp()
280 strcpy(*(char **)kp->arg, val); in param_set_charp()
282 *(const char **)kp->arg = val; in param_set_charp()
288 int param_get_charp(char *buffer, const struct kernel_param *kp) in param_get_charp() argument
290 return scnprintf(buffer, PAGE_SIZE, "%s\n", *((char **)kp->arg)); in param_get_charp()
308 int param_set_bool(const char *val, const struct kernel_param *kp) in param_set_bool() argument
314 return kstrtobool(val, kp->arg); in param_set_bool()
318 int param_get_bool(char *buffer, const struct kernel_param *kp) in param_get_bool() argument
321 return sprintf(buffer, "%c\n", *(bool *)kp->arg ? 'Y' : 'N'); in param_get_bool()
332 int param_set_bool_enable_only(const char *val, const struct kernel_param *kp) in param_set_bool_enable_only() argument
336 bool orig_value = *(bool *)kp->arg; in param_set_bool_enable_only()
337 struct kernel_param dummy_kp = *kp; in param_set_bool_enable_only()
350 err = param_set_bool(val, kp); in param_set_bool_enable_only()
364 int param_set_invbool(const char *val, const struct kernel_param *kp) in param_set_invbool() argument
373 *(bool *)kp->arg = !boolval; in param_set_invbool()
378 int param_get_invbool(char *buffer, const struct kernel_param *kp) in param_get_invbool() argument
380 return sprintf(buffer, "%c\n", (*(bool *)kp->arg) ? 'N' : 'Y'); in param_get_invbool()
390 int param_set_bint(const char *val, const struct kernel_param *kp) in param_set_bint() argument
393 struct kernel_param boolkp = *kp; in param_set_bint()
401 *(int *)kp->arg = v; in param_set_bint()
419 int (*set)(const char *, const struct kernel_param *kp), in param_array() argument
424 struct kernel_param kp; in param_array() local
428 kp.name = name; in param_array()
429 kp.arg = elem; in param_array()
430 kp.level = level; in param_array()
447 ret = set(val, &kp); in param_array()
451 kp.arg += elemsize; in param_array()
463 static int param_array_set(const char *val, const struct kernel_param *kp) in param_array_set() argument
465 const struct kparam_array *arr = kp->arr; in param_array_set()
468 return param_array(kp->mod, kp->name, val, 1, arr->max, arr->elem, in param_array_set()
469 arr->elemsize, arr->ops->set, kp->level, in param_array_set()
473 static int param_array_get(char *buffer, const struct kernel_param *kp) in param_array_get() argument
476 const struct kparam_array *arr = kp->arr; in param_array_get()
477 struct kernel_param p = *kp; in param_array_get()
511 int param_set_copystring(const char *val, const struct kernel_param *kp) in param_set_copystring() argument
513 const struct kparam_string *kps = kp->str; in param_set_copystring()
517 kp->name, kps->maxlen-1); in param_set_copystring()
525 int param_get_string(char *buffer, const struct kernel_param *kp) in param_get_string() argument
527 const struct kparam_string *kps = kp->str; in param_get_string()
627 const struct kernel_param *kp, in add_sysfs_param() argument
635 BUG_ON(!kp->perm); in add_sysfs_param()
671 mk->mp->attrs[mk->mp->num].param = kp; in add_sysfs_param()
674 if ((kp->perm & (S_IWUSR | S_IWGRP | S_IWOTH)) != 0) in add_sysfs_param()
679 mk->mp->attrs[mk->mp->num].mattr.attr.mode = kp->perm; in add_sysfs_param()
833 const struct kernel_param *kp; in param_sysfs_builtin() local
837 for (kp = __start___param; kp < __stop___param; kp++) { in param_sysfs_builtin()
840 if (kp->perm == 0) in param_sysfs_builtin()
843 dot = strchr(kp->name, '.'); in param_sysfs_builtin()
849 name_len = dot - kp->name + 1; in param_sysfs_builtin()
850 strscpy(modname, kp->name, name_len); in param_sysfs_builtin()
852 kernel_add_sysfs_param(modname, kp, name_len); in param_sysfs_builtin()