/*
  * damon_sysfs_upd_schemes_effective_quotas() - Update schemes effective quotas
  * sysfs files.
- * @kdamond:   The kobject wrapper that associated to the kdamond thread.
+ * @data:      The kobject wrapper that associated to the kdamond thread.
  *
  * This function reads the schemes' effective quotas of specific kdamond and
  * update the related values for sysfs files.  This function should be called
  * from DAMON callbacks while holding ``damon_syfs_lock``, to safely access the
  * DAMON contexts-internal data and DAMON sysfs variables.
  */
-static int damon_sysfs_upd_schemes_effective_quotas(
-               struct damon_sysfs_kdamond *kdamond)
+static int damon_sysfs_upd_schemes_effective_quotas(void *data)
 {
+       struct damon_sysfs_kdamond *kdamond = data;
        struct damon_ctx *ctx = kdamond->damon_ctx;
 
-       if (!ctx)
-               return -EINVAL;
        damos_sysfs_update_effective_quotas(
                        kdamond->contexts->contexts_arr[0]->schemes, ctx);
        return 0;
                        damon_sysfs_schemes_regions_updating = false;
                }
                break;
-       case DAMON_SYSFS_CMD_UPDATE_SCHEMES_EFFECTIVE_QUOTAS:
-               err = damon_sysfs_upd_schemes_effective_quotas(kdamond);
-               break;
        default:
                break;
        }
        case DAMON_SYSFS_CMD_CLEAR_SCHEMES_TRIED_REGIONS:
                return damon_sysfs_schemes_clear_regions(
                        kdamond->contexts->contexts_arr[0]->schemes);
+       case DAMON_SYSFS_CMD_UPDATE_SCHEMES_EFFECTIVE_QUOTAS:
+               return damon_sysfs_damon_call(
+                               damon_sysfs_upd_schemes_effective_quotas,
+                               kdamond);
        default:
                break;
        }