0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _GB_AUDIO_MANAGER_H_
0009 #define _GB_AUDIO_MANAGER_H_
0010
0011 #include <linux/kobject.h>
0012 #include <linux/list.h>
0013
0014 #define GB_AUDIO_MANAGER_NAME "gb_audio_manager"
0015 #define GB_AUDIO_MANAGER_MODULE_NAME_LEN 64
0016 #define GB_AUDIO_MANAGER_MODULE_NAME_LEN_SSCANF "63"
0017
0018 struct gb_audio_manager_module_descriptor {
0019 char name[GB_AUDIO_MANAGER_MODULE_NAME_LEN];
0020 int vid;
0021 int pid;
0022 int intf_id;
0023 unsigned int ip_devices;
0024 unsigned int op_devices;
0025 };
0026
0027 struct gb_audio_manager_module {
0028 struct kobject kobj;
0029 struct list_head list;
0030 int id;
0031 struct gb_audio_manager_module_descriptor desc;
0032 };
0033
0034
0035
0036
0037
0038
0039
0040
0041 int gb_audio_manager_add(struct gb_audio_manager_module_descriptor *desc);
0042
0043
0044
0045
0046
0047
0048 int gb_audio_manager_remove(int id);
0049
0050
0051
0052
0053
0054
0055 void gb_audio_manager_remove_all(void);
0056
0057
0058
0059
0060
0061
0062 struct gb_audio_manager_module *gb_audio_manager_get_module(int id);
0063
0064
0065
0066
0067
0068 void gb_audio_manager_put_module(struct gb_audio_manager_module *module);
0069
0070
0071
0072
0073
0074 int gb_audio_manager_dump_module(int id);
0075
0076
0077
0078
0079 void gb_audio_manager_dump_all(void);
0080
0081 #endif