mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-19 16:24:21 +00:00
ASoC: codecs: lpass: add support for v2.5 rx macro
Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>: This patchset adds support to reading codec version and also adds support for v2.5 codec version in rx macro. LPASS 2.5 and up versions have changes in some of the rx blocks which are required to get headset functional correctly. Tested this on SM8450, X13s and x1e80100 crd. This changes also fixes issue with sm8450, sm8550, sm8660 and x1e80100.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
cat <<EOF
|
||||
/**
|
||||
* ${class}${atomicname}() - atomic subtract and test if zero with ${desc_order} ordering
|
||||
* @i: ${int} value to add
|
||||
* @i: ${int} value to subtract
|
||||
* @v: pointer to ${atomic}_t
|
||||
*
|
||||
* Atomically updates @v to (@v - @i) with ${desc_order} ordering.
|
||||
|
||||
@@ -533,19 +533,6 @@ int conf_read(const char *name)
|
||||
*/
|
||||
if (sym->visible == no && !conf_unsaved)
|
||||
sym->flags &= ~SYMBOL_DEF_USER;
|
||||
switch (sym->type) {
|
||||
case S_STRING:
|
||||
case S_INT:
|
||||
case S_HEX:
|
||||
/* Reset a string value if it's out of range */
|
||||
if (sym_string_within_range(sym, sym->def[S_DEF_USER].val))
|
||||
break;
|
||||
sym->flags &= ~SYMBOL_VALID;
|
||||
conf_unsaved++;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -396,35 +396,6 @@ static struct expr *expr_eliminate_yn(struct expr *e)
|
||||
return e;
|
||||
}
|
||||
|
||||
/*
|
||||
* bool FOO!=n => FOO
|
||||
*/
|
||||
struct expr *expr_trans_bool(struct expr *e)
|
||||
{
|
||||
if (!e)
|
||||
return NULL;
|
||||
switch (e->type) {
|
||||
case E_AND:
|
||||
case E_OR:
|
||||
case E_NOT:
|
||||
e->left.expr = expr_trans_bool(e->left.expr);
|
||||
e->right.expr = expr_trans_bool(e->right.expr);
|
||||
break;
|
||||
case E_UNEQUAL:
|
||||
// FOO!=n -> FOO
|
||||
if (e->left.sym->type == S_TRISTATE) {
|
||||
if (e->right.sym == &symbol_no) {
|
||||
e->type = E_SYMBOL;
|
||||
e->right.sym = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
return e;
|
||||
}
|
||||
|
||||
/*
|
||||
* e1 || e2 -> ?
|
||||
*/
|
||||
|
||||
@@ -284,7 +284,6 @@ void expr_free(struct expr *e);
|
||||
void expr_eliminate_eq(struct expr **ep1, struct expr **ep2);
|
||||
int expr_eq(struct expr *e1, struct expr *e2);
|
||||
tristate expr_calc_value(struct expr *e);
|
||||
struct expr *expr_trans_bool(struct expr *e);
|
||||
struct expr *expr_eliminate_dups(struct expr *e);
|
||||
struct expr *expr_transform(struct expr *e);
|
||||
int expr_contains_symbol(struct expr *dep, struct symbol *sym);
|
||||
|
||||
@@ -1422,7 +1422,6 @@ int main(int ac, char *av[])
|
||||
|
||||
conf_parse(name);
|
||||
fixup_rootmenu(&rootmenu);
|
||||
conf_read(NULL);
|
||||
|
||||
/* Load the interface and connect signals */
|
||||
init_main_window(glade_file);
|
||||
@@ -1430,6 +1429,8 @@ int main(int ac, char *av[])
|
||||
init_left_tree();
|
||||
init_right_tree();
|
||||
|
||||
conf_read(NULL);
|
||||
|
||||
switch (view_mode) {
|
||||
case SINGLE_VIEW:
|
||||
display_tree_part();
|
||||
|
||||
@@ -398,8 +398,6 @@ static void _menu_finalize(struct menu *parent, bool inside_choice)
|
||||
dep = expr_transform(dep);
|
||||
dep = expr_alloc_and(expr_copy(basedep), dep);
|
||||
dep = expr_eliminate_dups(dep);
|
||||
if (menu->sym && menu->sym->type != S_TRISTATE)
|
||||
dep = expr_trans_bool(dep);
|
||||
prop->visible.expr = dep;
|
||||
|
||||
/*
|
||||
|
||||
@@ -193,7 +193,7 @@ kallsyms_step()
|
||||
mksysmap()
|
||||
{
|
||||
info NM ${2}
|
||||
${NM} -n "${1}" | "${srctree}/scripts/mksysmap" > "${2}"
|
||||
${NM} -n "${1}" | sed -f "${srctree}/scripts/mksysmap" > "${2}"
|
||||
}
|
||||
|
||||
sorttable()
|
||||
|
||||
@@ -1647,10 +1647,11 @@ static void read_symbols(const char *modname)
|
||||
namespace = get_next_modinfo(&info, "import_ns",
|
||||
namespace);
|
||||
}
|
||||
|
||||
if (extra_warn && !get_modinfo(&info, "description"))
|
||||
warn("missing MODULE_DESCRIPTION() in %s\n", modname);
|
||||
}
|
||||
|
||||
if (extra_warn && !get_modinfo(&info, "description"))
|
||||
warn("missing MODULE_DESCRIPTION() in %s\n", modname);
|
||||
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
|
||||
symname = remove_dot(info.strtab + sym->st_name);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user