Lines Matching refs:task
80 static esp_err_t gpio_etm_task_register_to_group(gpio_etm_task_t *task) in gpio_etm_task_register_to_group() argument
89 group->tasks[j] = task; in gpio_etm_task_register_to_group()
96 task->group = group; in gpio_etm_task_register_to_group()
97 task->chan_id = chan_id; in gpio_etm_task_register_to_group()
110 static void gpio_etm_task_unregister_from_group(gpio_etm_task_t *task) in gpio_etm_task_unregister_from_group() argument
112 gpio_etm_group_t *group = task->group; in gpio_etm_task_unregister_from_group()
113 int chan_id = task->chan_id; in gpio_etm_task_unregister_from_group()
128 static esp_err_t gpio_etm_task_destroy(gpio_etm_task_t *task) in gpio_etm_task_destroy() argument
130 if (task->group) { in gpio_etm_task_destroy()
131 gpio_etm_task_unregister_from_group(task); in gpio_etm_task_destroy()
133 free(task); in gpio_etm_task_destroy()
147 static esp_err_t gpio_del_etm_task(esp_etm_task_t *task) in gpio_del_etm_task() argument
149 gpio_etm_task_t *gpio_task = __containerof(task, gpio_etm_task_t, base); in gpio_del_etm_task()
206 gpio_etm_task_t *task = NULL; in gpio_new_etm_task() local
209 task = heap_caps_calloc(1, sizeof(gpio_etm_task_t), ETM_MEM_ALLOC_CAPS); in gpio_new_etm_task()
210 ESP_GOTO_ON_FALSE(task, ESP_ERR_NO_MEM, err, TAG, "no mem for task channel"); in gpio_new_etm_task()
212 …ESP_GOTO_ON_ERROR(gpio_etm_task_register_to_group(task), err, TAG, "register task channel to group… in gpio_new_etm_task()
213 int chan_id = task->chan_id; in gpio_new_etm_task()
230 task->base.del = gpio_del_etm_task; in gpio_new_etm_task()
231 task->base.task_id = task_id; in gpio_new_etm_task()
232 task->base.trig_periph = ETM_TRIG_PERIPH_GPIO; in gpio_new_etm_task()
233 ESP_LOGD(TAG, "new task @%p, task_id=%"PRIu32", chan_id=%d", task, task_id, chan_id); in gpio_new_etm_task()
234 *ret_task = &task->base; in gpio_new_etm_task()
238 if (task) { in gpio_new_etm_task()
239 gpio_etm_task_destroy(task); in gpio_new_etm_task()
260 esp_err_t gpio_etm_task_add_gpio(esp_etm_task_handle_t task, int gpio_num) in gpio_etm_task_add_gpio() argument
262 ESP_RETURN_ON_FALSE(task, ESP_ERR_INVALID_ARG, TAG, "invalid argument"); in gpio_etm_task_add_gpio()
263 …ESP_RETURN_ON_FALSE(task->trig_periph == ETM_TRIG_PERIPH_GPIO, ESP_ERR_INVALID_ARG, TAG, "not a gp… in gpio_etm_task_add_gpio()
265 gpio_etm_task_t *gpio_task = __containerof(task, gpio_etm_task_t, base); in gpio_etm_task_add_gpio()
284 esp_err_t gpio_etm_task_rm_gpio(esp_etm_task_handle_t task, int gpio_num) in gpio_etm_task_rm_gpio() argument
286 ESP_RETURN_ON_FALSE(task, ESP_ERR_INVALID_ARG, TAG, "invalid argument"); in gpio_etm_task_rm_gpio()
288 gpio_etm_task_t *gpio_task = __containerof(task, gpio_etm_task_t, base); in gpio_etm_task_rm_gpio()