1
2
3
4
5
6
7
8 #ifndef _GB_AUDIO_MANAGER_H_
9 #define _GB_AUDIO_MANAGER_H_
10
11 #include <linux/kobject.h>
12 #include <linux/list.h>
13
14 #define GB_AUDIO_MANAGER_NAME "gb_audio_manager"
15 #define GB_AUDIO_MANAGER_MODULE_NAME_LEN 64
16 #define GB_AUDIO_MANAGER_MODULE_NAME_LEN_SSCANF "63"
17
18 struct gb_audio_manager_module_descriptor {
19 char name[GB_AUDIO_MANAGER_MODULE_NAME_LEN];
20 int vid;
21 int pid;
22 int intf_id;
23 unsigned int ip_devices;
24 unsigned int op_devices;
25 };
26
27 struct gb_audio_manager_module {
28 struct kobject kobj;
29 struct list_head list;
30 int id;
31 struct gb_audio_manager_module_descriptor desc;
32 };
33
34
35
36
37
38
39
40
41 int gb_audio_manager_add(struct gb_audio_manager_module_descriptor *desc);
42
43
44
45
46
47
48 int gb_audio_manager_remove(int id);
49
50
51
52
53
54
55 void gb_audio_manager_remove_all(void);
56
57
58
59
60
61
62 struct gb_audio_manager_module *gb_audio_manager_get_module(int id);
63
64
65
66
67
68 void gb_audio_manager_put_module(struct gb_audio_manager_module *module);
69
70
71
72
73
74 int gb_audio_manager_dump_module(int id);
75
76
77
78
79 void gb_audio_manager_dump_all(void);
80
81 #endif