Lines Matching refs:func
394 struct pcs_function *func; in pcs_get_function_name() local
397 func = radix_tree_lookup(&pcs->ftree, fselector); in pcs_get_function_name()
398 if (!func) { in pcs_get_function_name()
404 return func->name; in pcs_get_function_name()
413 struct pcs_function *func; in pcs_get_function_groups() local
416 func = radix_tree_lookup(&pcs->ftree, fselector); in pcs_get_function_groups()
417 if (!func) { in pcs_get_function_groups()
422 *groups = func->pgnames; in pcs_get_function_groups()
423 *ngroups = func->npgnames; in pcs_get_function_groups()
429 struct pcs_function **func) in pcs_get_function() argument
440 fselector = setting->func; in pcs_get_function()
441 *func = radix_tree_lookup(&pcs->ftree, fselector); in pcs_get_function()
442 if (!(*func)) { in pcs_get_function()
454 struct pcs_function *func; in pcs_set_mux() local
461 func = radix_tree_lookup(&pcs->ftree, fselector); in pcs_set_mux()
462 if (!func) in pcs_set_mux()
466 func->name, fselector); in pcs_set_mux()
468 for (i = 0; i < func->nvals; i++) { in pcs_set_mux()
473 vals = &func->vals[i]; in pcs_set_mux()
560 struct pcs_function *func; in pcs_pinconf_get() local
564 ret = pcs_get_function(pctldev, pin, &func); in pcs_pinconf_get()
568 for (i = 0; i < func->nconfs; i++) { in pcs_pinconf_get()
577 } else if (param != func->conf[i].param) { in pcs_pinconf_get()
582 data = pcs->read(pcs->base + offset) & func->conf[i].mask; in pcs_pinconf_get()
583 switch (func->conf[i].param) { in pcs_pinconf_get()
588 if ((data != func->conf[i].enable) || in pcs_pinconf_get()
589 (data == func->conf[i].disable)) in pcs_pinconf_get()
595 for (j = 0; j < func->nconfs; j++) { in pcs_pinconf_get()
596 switch (func->conf[j].param) { in pcs_pinconf_get()
598 if (data != func->conf[j].enable) in pcs_pinconf_get()
624 struct pcs_function *func; in pcs_pinconf_set() local
629 ret = pcs_get_function(pctldev, pin, &func); in pcs_pinconf_set()
634 for (i = 0; i < func->nconfs; i++) { in pcs_pinconf_set()
636 != func->conf[i].param) in pcs_pinconf_set()
642 switch (func->conf[i].param) { in pcs_pinconf_set()
648 shift = ffs(func->conf[i].mask) - 1; in pcs_pinconf_set()
649 data &= ~func->conf[i].mask; in pcs_pinconf_set()
650 data |= (arg << shift) & func->conf[i].mask; in pcs_pinconf_set()
662 data &= ~func->conf[i].mask; in pcs_pinconf_set()
664 data |= func->conf[i].enable; in pcs_pinconf_set()
666 data |= func->conf[i].disable; in pcs_pinconf_set()
675 if (i >= func->nconfs) in pcs_pinconf_set()
1051 struct pcs_function *func, in pcs_parse_pinconf() argument
1088 func->conf = devm_kzalloc(pcs->dev, in pcs_parse_pinconf()
1091 if (!func->conf) in pcs_parse_pinconf()
1093 func->nconfs = nconfs; in pcs_parse_pinconf()
1094 conf = &(func->conf[0]); in pcs_parse_pinconf()
1417 struct pcs_function *func; in pcs_free_funcs() local
1419 func = radix_tree_lookup(&pcs->ftree, i); in pcs_free_funcs()
1420 if (!func) in pcs_free_funcs()