Lines Matching refs:kdamonds
2685 static void damon_sysfs_kdamonds_rm_dirs(struct damon_sysfs_kdamonds *kdamonds) in damon_sysfs_kdamonds_rm_dirs() argument
2687 struct damon_sysfs_kdamond **kdamonds_arr = kdamonds->kdamonds_arr; in damon_sysfs_kdamonds_rm_dirs()
2690 for (i = 0; i < kdamonds->nr; i++) { in damon_sysfs_kdamonds_rm_dirs()
2694 kdamonds->nr = 0; in damon_sysfs_kdamonds_rm_dirs()
2696 kdamonds->kdamonds_arr = NULL; in damon_sysfs_kdamonds_rm_dirs()
2699 static bool damon_sysfs_kdamonds_busy(struct damon_sysfs_kdamond **kdamonds, in damon_sysfs_kdamonds_busy() argument
2705 if (damon_sysfs_kdamond_running(kdamonds[i]) || in damon_sysfs_kdamonds_busy()
2706 damon_sysfs_cmd_request.kdamond == kdamonds[i]) in damon_sysfs_kdamonds_busy()
2713 static int damon_sysfs_kdamonds_add_dirs(struct damon_sysfs_kdamonds *kdamonds, in damon_sysfs_kdamonds_add_dirs() argument
2719 if (damon_sysfs_kdamonds_busy(kdamonds->kdamonds_arr, kdamonds->nr)) in damon_sysfs_kdamonds_add_dirs()
2722 damon_sysfs_kdamonds_rm_dirs(kdamonds); in damon_sysfs_kdamonds_add_dirs()
2730 kdamonds->kdamonds_arr = kdamonds_arr; in damon_sysfs_kdamonds_add_dirs()
2735 damon_sysfs_kdamonds_rm_dirs(kdamonds); in damon_sysfs_kdamonds_add_dirs()
2740 &damon_sysfs_kdamond_ktype, &kdamonds->kobj, in damon_sysfs_kdamonds_add_dirs()
2750 kdamonds->nr++; in damon_sysfs_kdamonds_add_dirs()
2755 damon_sysfs_kdamonds_rm_dirs(kdamonds); in damon_sysfs_kdamonds_add_dirs()
2763 struct damon_sysfs_kdamonds *kdamonds = container_of(kobj, in nr_kdamonds_show() local
2766 return sysfs_emit(buf, "%d\n", kdamonds->nr); in nr_kdamonds_show()
2772 struct damon_sysfs_kdamonds *kdamonds; in nr_kdamonds_store() local
2781 kdamonds = container_of(kobj, struct damon_sysfs_kdamonds, kobj); in nr_kdamonds_store()
2785 err = damon_sysfs_kdamonds_add_dirs(kdamonds, nr); in nr_kdamonds_store()
2819 struct damon_sysfs_kdamonds *kdamonds; member
2829 struct damon_sysfs_kdamonds *kdamonds; in damon_sysfs_ui_dir_add_dirs() local
2832 kdamonds = damon_sysfs_kdamonds_alloc(); in damon_sysfs_ui_dir_add_dirs()
2833 if (!kdamonds) in damon_sysfs_ui_dir_add_dirs()
2836 err = kobject_init_and_add(&kdamonds->kobj, in damon_sysfs_ui_dir_add_dirs()
2840 kobject_put(&kdamonds->kobj); in damon_sysfs_ui_dir_add_dirs()
2843 ui_dir->kdamonds = kdamonds; in damon_sysfs_ui_dir_add_dirs()