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 }