1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 
5 #include <ulog/ulog.h>
6 #include <string.h>
7 #include "control_dev.h"
8 
9 #define LOG_TAG    "[control_dev]"
10 
audio_ctrl_device_new(int id)11 ctrl_device_t *audio_ctrl_device_new(int id)
12 {
13     ctrl_device_t *dev = NULL;
14     dev = (ctrl_device_t *)malloc(sizeof(ctrl_device_t));
15     if(!dev) {
16         LOGE(LOG_TAG, "%s:%d, malloc dev failed!!!", __func__, __LINE__);
17         return NULL;
18     }
19 
20     memset(dev, 0, sizeof(ctrl_device_t));
21     dev->id = id;
22     snprintf(dev->name, sizeof(dev->name), "/dev/controlC%d", id);
23     dlist_init(&dev->kcontrol_list);
24 
25     return dev;
26 }
27 
audio_ctrl_device_free(ctrl_device_t * dev)28 int audio_ctrl_device_free(ctrl_device_t *dev)
29 {
30     if(!dev) {
31         LOGE(LOG_TAG, "%s:%d, dev is null!!!", __func__, __LINE__);
32         return -1;
33     }
34     dev->parent_data = NULL;
35     free(dev);
36     dev = NULL;
37     return 0;
38 }