Lines Matching defs:funcs
569 static bool is_func_exist(struct eqbr_pmx_func *funcs, const char *name,
574 if (!funcs)
578 if (funcs[i].name && !strcmp(funcs[i].name, name)) {
587 static int funcs_utils(struct device *dev, struct eqbr_pmx_func *funcs,
612 if (!is_func_exist(funcs, fn_name, *nr_funcs, &fid))
617 if (!is_func_exist(funcs, fn_name, *nr_funcs, &fid))
618 funcs[i].name = fn_name;
622 if (is_func_exist(funcs, fn_name, *nr_funcs, &fid))
623 funcs[fid].nr_groups++;
627 if (is_func_exist(funcs, fn_name, *nr_funcs, &fid)) {
628 for (j = 0; j < funcs[fid].nr_groups; j++)
629 if (!funcs[fid].groups[j])
631 funcs[fid].groups[j] = prop->value;
648 struct eqbr_pmx_func *funcs = NULL;
652 ret = funcs_utils(dev, funcs, &nr_funcs, OP_COUNT_NR_FUNCS);
656 funcs = devm_kcalloc(dev, nr_funcs, sizeof(*funcs), GFP_KERNEL);
657 if (!funcs)
660 ret = funcs_utils(dev, funcs, &nr_funcs, OP_ADD_FUNCS);
664 ret = funcs_utils(dev, funcs, &nr_funcs, OP_COUNT_NR_FUNC_GRPS);
669 if (!funcs[i].nr_groups)
671 funcs[i].groups = devm_kcalloc(dev, funcs[i].nr_groups,
672 sizeof(*(funcs[i].groups)),
674 if (!funcs[i].groups)
678 ret = funcs_utils(dev, funcs, &nr_funcs, OP_ADD_FUNC_GRPS);
685 if (funcs[i].name == NULL)
689 funcs[i].name,
690 funcs[i].groups,
691 funcs[i].nr_groups,
695 funcs[i].name);