Lines Matching refs:pmx

47 	struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);  in pinctrl_scmi_get_groups_count()  local
49 return pinctrl_ops->count_get(pmx->ph, GROUP_TYPE); in pinctrl_scmi_get_groups_count()
57 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_group_name() local
59 ret = pinctrl_ops->name_get(pmx->ph, selector, GROUP_TYPE, &name); in pinctrl_scmi_get_group_name()
61 dev_err(pmx->dev, "get name failed with err %d", ret); in pinctrl_scmi_get_group_name()
73 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_group_pins() local
75 return pinctrl_ops->group_pins_get(pmx->ph, selector, pins, num_pins); in pinctrl_scmi_get_group_pins()
90 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_functions_count() local
92 return pinctrl_ops->count_get(pmx->ph, FUNCTION_TYPE); in pinctrl_scmi_get_functions_count()
100 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_function_name() local
102 ret = pinctrl_ops->name_get(pmx->ph, selector, FUNCTION_TYPE, &name); in pinctrl_scmi_get_function_name()
104 dev_err(pmx->dev, "get name failed with err %d", ret); in pinctrl_scmi_get_function_name()
121 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_function_groups() local
126 if (selector >= pmx->nr_functions) in pinctrl_scmi_get_function_groups()
129 func = &pmx->functions[selector]; in pinctrl_scmi_get_function_groups()
133 ret = pinctrl_ops->function_groups_get(pmx->ph, selector, &num_groups, in pinctrl_scmi_get_function_groups()
136 dev_err(pmx->dev, "Unable to get function groups, err %d", ret); in pinctrl_scmi_get_function_groups()
171 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_func_set_mux() local
173 return pinctrl_ops->mux_set(pmx->ph, selector, group); in pinctrl_scmi_func_set_mux()
179 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_request() local
181 return pinctrl_ops->pin_request(pmx->ph, offset); in pinctrl_scmi_request()
186 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_free() local
188 return pinctrl_ops->pin_free(pmx->ph, offset); in pinctrl_scmi_free()
283 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_get() local
297 ret = pinctrl_ops->settings_get_one(pmx->ph, pin, PIN_TYPE, type, in pinctrl_scmi_pinconf_get()
349 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_set() local
368 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_set()
374 ret = pinctrl_ops->settings_conf(pmx->ph, pin, PIN_TYPE, num_configs, in pinctrl_scmi_pinconf_set()
377 dev_err(pmx->dev, "Error parsing config %d\n", ret); in pinctrl_scmi_pinconf_set()
391 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_group_set() local
410 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_group_set()
417 ret = pinctrl_ops->settings_conf(pmx->ph, group, GROUP_TYPE, in pinctrl_scmi_pinconf_group_set()
421 dev_err(pmx->dev, "Error parsing config %d", ret); in pinctrl_scmi_pinconf_group_set()
434 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_group_get() local
445 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_group_get()
449 ret = pinctrl_ops->settings_get_one(pmx->ph, group, GROUP_TYPE, type, in pinctrl_scmi_pinconf_group_get()
471 static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx, in pinctrl_scmi_get_pins() argument
478 npins = pinctrl_ops->count_get(pmx->ph, PIN_TYPE); in pinctrl_scmi_get_pins()
483 pins = devm_kmalloc_array(pmx->dev, npins, sizeof(*pins), GFP_KERNEL); in pinctrl_scmi_get_pins()
493 ret = pinctrl_ops->name_get(pmx->ph, i, PIN_TYPE, &pins[i].name); in pinctrl_scmi_get_pins()
495 return dev_err_probe(pmx->dev, ret, in pinctrl_scmi_get_pins()
501 dev_dbg(pmx->dev, "got pins %u", npins); in pinctrl_scmi_get_pins()
517 struct scmi_pinctrl *pmx; in scmi_pinctrl_probe() local
533 pmx = devm_kzalloc(dev, sizeof(*pmx), GFP_KERNEL); in scmi_pinctrl_probe()
534 if (!pmx) in scmi_pinctrl_probe()
537 pmx->ph = ph; in scmi_pinctrl_probe()
539 pmx->dev = dev; in scmi_pinctrl_probe()
540 pmx->pctl_desc.name = DRV_NAME; in scmi_pinctrl_probe()
541 pmx->pctl_desc.owner = THIS_MODULE; in scmi_pinctrl_probe()
542 pmx->pctl_desc.pctlops = &pinctrl_scmi_pinctrl_ops; in scmi_pinctrl_probe()
543 pmx->pctl_desc.pmxops = &pinctrl_scmi_pinmux_ops; in scmi_pinctrl_probe()
544 pmx->pctl_desc.confops = &pinctrl_scmi_pinconf_ops; in scmi_pinctrl_probe()
546 ret = pinctrl_scmi_get_pins(pmx, &pmx->pctl_desc); in scmi_pinctrl_probe()
550 ret = devm_pinctrl_register_and_init(dev, &pmx->pctl_desc, pmx, in scmi_pinctrl_probe()
551 &pmx->pctldev); in scmi_pinctrl_probe()
555 pmx->nr_functions = pinctrl_scmi_get_functions_count(pmx->pctldev); in scmi_pinctrl_probe()
556 pmx->functions = devm_kcalloc(dev, pmx->nr_functions, in scmi_pinctrl_probe()
557 sizeof(*pmx->functions), GFP_KERNEL); in scmi_pinctrl_probe()
558 if (!pmx->functions) in scmi_pinctrl_probe()
561 return pinctrl_enable(pmx->pctldev); in scmi_pinctrl_probe()