Lines Matching refs:pmx
49 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_groups_count() local
51 return pinctrl_ops->count_get(pmx->ph, GROUP_TYPE); in pinctrl_scmi_get_groups_count()
59 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_group_name() local
61 ret = pinctrl_ops->name_get(pmx->ph, selector, GROUP_TYPE, &name); in pinctrl_scmi_get_group_name()
63 dev_err(pmx->dev, "get name failed with err %d", ret); in pinctrl_scmi_get_group_name()
75 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_group_pins() local
77 return pinctrl_ops->group_pins_get(pmx->ph, selector, pins, num_pins); in pinctrl_scmi_get_group_pins()
92 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_functions_count() local
94 return pinctrl_ops->count_get(pmx->ph, FUNCTION_TYPE); in pinctrl_scmi_get_functions_count()
102 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_function_name() local
104 ret = pinctrl_ops->name_get(pmx->ph, selector, FUNCTION_TYPE, &name); in pinctrl_scmi_get_function_name()
106 dev_err(pmx->dev, "get name failed with err %d", ret); in pinctrl_scmi_get_function_name()
123 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_get_function_groups() local
128 if (selector >= pmx->nr_functions) in pinctrl_scmi_get_function_groups()
131 func = &pmx->functions[selector]; in pinctrl_scmi_get_function_groups()
135 ret = pinctrl_ops->function_groups_get(pmx->ph, selector, &num_groups, in pinctrl_scmi_get_function_groups()
138 dev_err(pmx->dev, "Unable to get function groups, err %d", ret); in pinctrl_scmi_get_function_groups()
173 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_func_set_mux() local
175 return pinctrl_ops->mux_set(pmx->ph, selector, group); in pinctrl_scmi_func_set_mux()
181 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_request() local
183 return pinctrl_ops->pin_request(pmx->ph, offset); in pinctrl_scmi_request()
188 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_free() local
190 return pinctrl_ops->pin_free(pmx->ph, offset); in pinctrl_scmi_free()
285 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_get() local
299 ret = pinctrl_ops->settings_get_one(pmx->ph, pin, PIN_TYPE, type, in pinctrl_scmi_pinconf_get()
351 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_set() local
370 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_set()
376 ret = pinctrl_ops->settings_conf(pmx->ph, pin, PIN_TYPE, num_configs, in pinctrl_scmi_pinconf_set()
379 dev_err(pmx->dev, "Error parsing config %d\n", ret); in pinctrl_scmi_pinconf_set()
393 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_group_set() local
412 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_group_set()
419 ret = pinctrl_ops->settings_conf(pmx->ph, group, GROUP_TYPE, in pinctrl_scmi_pinconf_group_set()
423 dev_err(pmx->dev, "Error parsing config %d", ret); in pinctrl_scmi_pinconf_group_set()
436 struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev); in pinctrl_scmi_pinconf_group_get() local
447 dev_err(pmx->dev, "Error map pinconf_type %d\n", ret); in pinctrl_scmi_pinconf_group_get()
451 ret = pinctrl_ops->settings_get_one(pmx->ph, group, GROUP_TYPE, type, in pinctrl_scmi_pinconf_group_get()
473 static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx, in pinctrl_scmi_get_pins() argument
480 npins = pinctrl_ops->count_get(pmx->ph, PIN_TYPE); in pinctrl_scmi_get_pins()
485 pins = devm_kmalloc_array(pmx->dev, npins, sizeof(*pins), GFP_KERNEL); in pinctrl_scmi_get_pins()
495 ret = pinctrl_ops->name_get(pmx->ph, i, PIN_TYPE, &pins[i].name); in pinctrl_scmi_get_pins()
497 return dev_err_probe(pmx->dev, ret, in pinctrl_scmi_get_pins()
503 dev_dbg(pmx->dev, "got pins %u", npins); in pinctrl_scmi_get_pins()
518 struct scmi_pinctrl *pmx; in scmi_pinctrl_probe() local
534 pmx = devm_kzalloc(dev, sizeof(*pmx), GFP_KERNEL); in scmi_pinctrl_probe()
535 if (!pmx) in scmi_pinctrl_probe()
538 pmx->ph = ph; in scmi_pinctrl_probe()
540 pmx->dev = dev; in scmi_pinctrl_probe()
541 pmx->pctl_desc.name = DRV_NAME; in scmi_pinctrl_probe()
542 pmx->pctl_desc.owner = THIS_MODULE; in scmi_pinctrl_probe()
543 pmx->pctl_desc.pctlops = &pinctrl_scmi_pinctrl_ops; in scmi_pinctrl_probe()
544 pmx->pctl_desc.pmxops = &pinctrl_scmi_pinmux_ops; in scmi_pinctrl_probe()
545 pmx->pctl_desc.confops = &pinctrl_scmi_pinconf_ops; in scmi_pinctrl_probe()
547 ret = pinctrl_scmi_get_pins(pmx, &pmx->pctl_desc); in scmi_pinctrl_probe()
551 ret = devm_pinctrl_register_and_init(dev, &pmx->pctl_desc, pmx, in scmi_pinctrl_probe()
552 &pmx->pctldev); in scmi_pinctrl_probe()
556 pmx->nr_functions = pinctrl_scmi_get_functions_count(pmx->pctldev); in scmi_pinctrl_probe()
557 pmx->functions = devm_kcalloc(dev, pmx->nr_functions, in scmi_pinctrl_probe()
558 sizeof(*pmx->functions), GFP_KERNEL); in scmi_pinctrl_probe()
559 if (!pmx->functions) in scmi_pinctrl_probe()
562 return pinctrl_enable(pmx->pctldev); in scmi_pinctrl_probe()