htcleo: add support for specific acdb file
This commit is contained in:
parent
61d0b1cffd
commit
dc353d939b
@ -173,6 +173,7 @@ static char acdb_file[64] = "default.acdb";
|
||||
static uint32_t tx_acdb = 0;
|
||||
static uint32_t rx_acdb = 0;
|
||||
static int acdb_use_rpc = 0;
|
||||
static int acdb_use_map = 0;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// helper functions for device parameters
|
||||
@ -1152,11 +1153,27 @@ static int acdb_init(char *filename)
|
||||
|
||||
// return -ENODEV;
|
||||
|
||||
#ifdef CONFIG_MACH_HTCLEO
|
||||
pr_info("acdb: trying htcleo.acdb\n");
|
||||
if(request_firmware(&fw, "htcleo.acdb", q6_control_device.this_device) < 0) {
|
||||
pr_info("acdb: load 'htcleo.acdb' failed, trying 'default.acdb'\n");
|
||||
acdb_use_map = 0;
|
||||
if (request_firmware(&fw, filename, q6_control_device.this_device) < 0) {
|
||||
pr_err("acdb: load 'default.acdb' failed...\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
} else {
|
||||
pr_info("acdb: 'htcleo.acdb' found, using translation\n");
|
||||
acdb_use_map = 1;
|
||||
}
|
||||
#else
|
||||
pr_info("acdb: load '%s'\n", filename);
|
||||
acd_use_map = 0;
|
||||
if (request_firmware(&fw, filename, q6_control_device.this_device) < 0) {
|
||||
pr_err("acdb: load 'default.acdb' failed...\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif
|
||||
db = (void*) fw->data;
|
||||
|
||||
if (fw->size < sizeof(struct audio_config_database)) {
|
||||
@ -1364,9 +1381,12 @@ static int acdb_get_config_table(uint32_t device_id, uint32_t sample_rate)
|
||||
int n;
|
||||
|
||||
printk("table\n");
|
||||
// htcleo use custom table with wince values, it must be mapped
|
||||
if(acdb_use_map)
|
||||
device_id = map_cad_dev_to_virtual(device_id);
|
||||
db = acdb_data;
|
||||
for (n = 0; n < db->entry_count; n++)
|
||||
{
|
||||
{
|
||||
if (db->entry[n].device_id != device_id)
|
||||
continue;
|
||||
if (db->entry[n].sample_rate != sample_rate)
|
||||
|
Loading…
x
Reference in New Issue
Block a user