Lines Matching refs:context
845 struct damon_sysfs_context *context = kmalloc(sizeof(*context), in damon_sysfs_context_alloc() local
848 if (!context) in damon_sysfs_context_alloc()
850 context->kobj = (struct kobject){}; in damon_sysfs_context_alloc()
851 context->ops_id = ops_id; in damon_sysfs_context_alloc()
852 return context; in damon_sysfs_context_alloc()
855 static int damon_sysfs_context_set_attrs(struct damon_sysfs_context *context) in damon_sysfs_context_set_attrs() argument
863 &context->kobj, "monitoring_attrs"); in damon_sysfs_context_set_attrs()
869 context->attrs = attrs; in damon_sysfs_context_set_attrs()
877 static int damon_sysfs_context_set_targets(struct damon_sysfs_context *context) in damon_sysfs_context_set_targets() argument
885 &context->kobj, "targets"); in damon_sysfs_context_set_targets()
890 context->targets = targets; in damon_sysfs_context_set_targets()
894 static int damon_sysfs_context_set_schemes(struct damon_sysfs_context *context) in damon_sysfs_context_set_schemes() argument
902 &context->kobj, "schemes"); in damon_sysfs_context_set_schemes()
907 context->schemes = schemes; in damon_sysfs_context_set_schemes()
911 static int damon_sysfs_context_add_dirs(struct damon_sysfs_context *context) in damon_sysfs_context_add_dirs() argument
915 err = damon_sysfs_context_set_attrs(context); in damon_sysfs_context_add_dirs()
919 err = damon_sysfs_context_set_targets(context); in damon_sysfs_context_add_dirs()
923 err = damon_sysfs_context_set_schemes(context); in damon_sysfs_context_add_dirs()
929 kobject_put(&context->targets->kobj); in damon_sysfs_context_add_dirs()
930 context->targets = NULL; in damon_sysfs_context_add_dirs()
932 kobject_put(&context->attrs->kobj); in damon_sysfs_context_add_dirs()
933 context->attrs = NULL; in damon_sysfs_context_add_dirs()
937 static void damon_sysfs_context_rm_dirs(struct damon_sysfs_context *context) in damon_sysfs_context_rm_dirs() argument
939 damon_sysfs_attrs_rm_dirs(context->attrs); in damon_sysfs_context_rm_dirs()
940 kobject_put(&context->attrs->kobj); in damon_sysfs_context_rm_dirs()
941 damon_sysfs_targets_rm_dirs(context->targets); in damon_sysfs_context_rm_dirs()
942 kobject_put(&context->targets->kobj); in damon_sysfs_context_rm_dirs()
943 damon_sysfs_schemes_rm_dirs(context->schemes); in damon_sysfs_context_rm_dirs()
944 kobject_put(&context->schemes->kobj); in damon_sysfs_context_rm_dirs()
967 struct damon_sysfs_context *context = container_of(kobj, in operations_show() local
975 if (ops_name->ops_id == context->ops_id) in operations_show()
984 struct damon_sysfs_context *context = container_of(kobj, in operations_store() local
993 context->ops_id = ops_name->ops_id; in operations_store()
1056 struct damon_sysfs_context **contexts_arr, *context; in damon_sysfs_contexts_add_dirs() local
1070 context = damon_sysfs_context_alloc(DAMON_OPS_VADDR); in damon_sysfs_contexts_add_dirs()
1071 if (!context) { in damon_sysfs_contexts_add_dirs()
1076 err = kobject_init_and_add(&context->kobj, in damon_sysfs_contexts_add_dirs()
1082 err = damon_sysfs_context_add_dirs(context); in damon_sysfs_contexts_add_dirs()
1086 contexts_arr[i] = context; in damon_sysfs_contexts_add_dirs()
1093 kobject_put(&context->kobj); in damon_sysfs_contexts_add_dirs()