Lines Matching refs:ph
129 static int scmi_pinctrl_attributes_get(const struct scmi_protocol_handle *ph, in scmi_pinctrl_attributes_get() argument
136 ret = ph->xops->xfer_get_init(ph, PROTOCOL_ATTRIBUTES, 0, sizeof(*attr), &t); in scmi_pinctrl_attributes_get()
142 ret = ph->xops->do_xfer(ph, t); in scmi_pinctrl_attributes_get()
148 dev_warn(ph->dev, "returned zero pins\n"); in scmi_pinctrl_attributes_get()
153 ph->xops->xfer_put(ph, t); in scmi_pinctrl_attributes_get()
157 static int scmi_pinctrl_count_get(const struct scmi_protocol_handle *ph, in scmi_pinctrl_count_get() argument
160 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_count_get()
174 static int scmi_pinctrl_validate_id(const struct scmi_protocol_handle *ph, in scmi_pinctrl_validate_id() argument
180 value = scmi_pinctrl_count_get(ph, type); in scmi_pinctrl_validate_id()
190 static int scmi_pinctrl_attributes(const struct scmi_protocol_handle *ph, in scmi_pinctrl_attributes() argument
204 ret = scmi_pinctrl_validate_id(ph, selector, type); in scmi_pinctrl_attributes()
208 ret = ph->xops->xfer_get_init(ph, PINCTRL_ATTRIBUTES, sizeof(*tx), in scmi_pinctrl_attributes()
218 ret = ph->xops->do_xfer(ph, t); in scmi_pinctrl_attributes()
228 ph->xops->xfer_put(ph, t); in scmi_pinctrl_attributes()
237 ret = ph->hops->extended_name_get(ph, PINCTRL_NAME_GET, in scmi_pinctrl_attributes()
273 iter_pinctrl_assoc_process_response(const struct scmi_protocol_handle *ph, in iter_pinctrl_assoc_process_response() argument
286 static int scmi_pinctrl_list_associations(const struct scmi_protocol_handle *ph, in scmi_pinctrl_list_associations() argument
307 ret = scmi_pinctrl_validate_id(ph, selector, type); in scmi_pinctrl_list_associations()
311 iter = ph->hops->iter_response_init(ph, &ops, size, in scmi_pinctrl_list_associations()
318 return ph->hops->iter_response_run(iter); in scmi_pinctrl_list_associations()
370 iter_pinctrl_settings_get_process_response(const struct scmi_protocol_handle *ph, in iter_pinctrl_settings_get_process_response() argument
394 scmi_pinctrl_settings_get(const struct scmi_protocol_handle *ph, u32 selector, in scmi_pinctrl_settings_get() argument
420 ret = scmi_pinctrl_validate_id(ph, selector, type); in scmi_pinctrl_settings_get()
426 iter = ph->hops->iter_response_init(ph, &ops, max_configs, in scmi_pinctrl_settings_get()
433 return ph->hops->iter_response_run(iter); in scmi_pinctrl_settings_get()
436 static int scmi_pinctrl_settings_get_one(const struct scmi_protocol_handle *ph, in scmi_pinctrl_settings_get_one() argument
444 return scmi_pinctrl_settings_get(ph, selector, type, &nr_configs, in scmi_pinctrl_settings_get_one()
448 static int scmi_pinctrl_settings_get_all(const struct scmi_protocol_handle *ph, in scmi_pinctrl_settings_get_all() argument
458 return scmi_pinctrl_settings_get(ph, selector, type, nr_configs, in scmi_pinctrl_settings_get_all()
463 scmi_pinctrl_settings_conf(const struct scmi_protocol_handle *ph, in scmi_pinctrl_settings_conf() argument
476 int max_msg_size = ph->hops->get_max_msg_size(ph); in scmi_pinctrl_settings_conf()
481 ret = scmi_pinctrl_validate_id(ph, selector, type); in scmi_pinctrl_settings_conf()
490 ret = ph->xops->xfer_get_init(ph, PINCTRL_SETTINGS_CONFIGURE, in scmi_pinctrl_settings_conf()
510 ret = ph->xops->do_xfer(ph, t); in scmi_pinctrl_settings_conf()
512 ph->xops->xfer_put(ph, t); in scmi_pinctrl_settings_conf()
523 static int scmi_pinctrl_function_select(const struct scmi_protocol_handle *ph, in scmi_pinctrl_function_select() argument
533 ret = scmi_pinctrl_validate_id(ph, group, type); in scmi_pinctrl_function_select()
537 ret = ph->xops->xfer_get_init(ph, PINCTRL_SETTINGS_CONFIGURE, in scmi_pinctrl_function_select()
548 ret = ph->xops->do_xfer(ph, t); in scmi_pinctrl_function_select()
549 ph->xops->xfer_put(ph, t); in scmi_pinctrl_function_select()
554 static int scmi_pinctrl_request_free(const struct scmi_protocol_handle *ph, in scmi_pinctrl_request_free() argument
569 ret = scmi_pinctrl_validate_id(ph, identifier, type); in scmi_pinctrl_request_free()
573 ret = ph->xops->xfer_get_init(ph, cmd, sizeof(*tx), 0, &t); in scmi_pinctrl_request_free()
581 ret = ph->xops->do_xfer(ph, t); in scmi_pinctrl_request_free()
582 ph->xops->xfer_put(ph, t); in scmi_pinctrl_request_free()
587 static int scmi_pinctrl_pin_request(const struct scmi_protocol_handle *ph, in scmi_pinctrl_pin_request() argument
590 return scmi_pinctrl_request_free(ph, pin, PIN_TYPE, PINCTRL_REQUEST); in scmi_pinctrl_pin_request()
593 static int scmi_pinctrl_pin_free(const struct scmi_protocol_handle *ph, u32 pin) in scmi_pinctrl_pin_free() argument
595 return scmi_pinctrl_request_free(ph, pin, PIN_TYPE, PINCTRL_RELEASE); in scmi_pinctrl_pin_free()
598 static int scmi_pinctrl_get_group_info(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_group_info() argument
604 ret = scmi_pinctrl_attributes(ph, GROUP_TYPE, selector, group->name, in scmi_pinctrl_get_group_info()
610 dev_err(ph->dev, "Group %d has 0 elements", selector); in scmi_pinctrl_get_group_info()
620 ret = scmi_pinctrl_list_associations(ph, selector, GROUP_TYPE, in scmi_pinctrl_get_group_info()
631 static int scmi_pinctrl_get_group_name(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_group_name() argument
634 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_get_group_name()
645 ret = scmi_pinctrl_get_group_info(ph, selector, in scmi_pinctrl_get_group_name()
656 static int scmi_pinctrl_group_pins_get(const struct scmi_protocol_handle *ph, in scmi_pinctrl_group_pins_get() argument
660 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_group_pins_get()
671 ret = scmi_pinctrl_get_group_info(ph, selector, in scmi_pinctrl_group_pins_get()
683 static int scmi_pinctrl_get_function_info(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_function_info() argument
689 ret = scmi_pinctrl_attributes(ph, FUNCTION_TYPE, selector, func->name, in scmi_pinctrl_get_function_info()
695 dev_err(ph->dev, "Function %d has 0 elements", selector); in scmi_pinctrl_get_function_info()
704 ret = scmi_pinctrl_list_associations(ph, selector, FUNCTION_TYPE, in scmi_pinctrl_get_function_info()
715 static int scmi_pinctrl_get_function_name(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_function_name() argument
718 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_get_function_name()
729 ret = scmi_pinctrl_get_function_info(ph, selector, in scmi_pinctrl_get_function_name()
740 scmi_pinctrl_function_groups_get(const struct scmi_protocol_handle *ph, in scmi_pinctrl_function_groups_get() argument
744 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_function_groups_get()
755 ret = scmi_pinctrl_get_function_info(ph, selector, in scmi_pinctrl_function_groups_get()
767 static int scmi_pinctrl_mux_set(const struct scmi_protocol_handle *ph, in scmi_pinctrl_mux_set() argument
770 return scmi_pinctrl_function_select(ph, group, GROUP_TYPE, selector); in scmi_pinctrl_mux_set()
773 static int scmi_pinctrl_get_pin_info(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_pin_info() argument
781 ret = scmi_pinctrl_attributes(ph, PIN_TYPE, selector, pin->name, NULL); in scmi_pinctrl_get_pin_info()
789 static int scmi_pinctrl_get_pin_name(const struct scmi_protocol_handle *ph, in scmi_pinctrl_get_pin_name() argument
792 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_get_pin_name()
803 ret = scmi_pinctrl_get_pin_info(ph, selector, &pi->pins[selector]); in scmi_pinctrl_get_pin_name()
813 static int scmi_pinctrl_name_get(const struct scmi_protocol_handle *ph, in scmi_pinctrl_name_get() argument
820 return scmi_pinctrl_get_pin_name(ph, selector, name); in scmi_pinctrl_name_get()
822 return scmi_pinctrl_get_group_name(ph, selector, name); in scmi_pinctrl_name_get()
824 return scmi_pinctrl_get_function_name(ph, selector, name); in scmi_pinctrl_name_get()
843 static int scmi_pinctrl_protocol_init(const struct scmi_protocol_handle *ph) in scmi_pinctrl_protocol_init() argument
849 ret = ph->xops->version_get(ph, &version); in scmi_pinctrl_protocol_init()
853 dev_dbg(ph->dev, "Pinctrl Version %d.%d\n", in scmi_pinctrl_protocol_init()
856 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_pinctrl_protocol_init()
860 ret = scmi_pinctrl_attributes_get(ph, pinfo); in scmi_pinctrl_protocol_init()
864 pinfo->pins = devm_kcalloc(ph->dev, pinfo->nr_pins, in scmi_pinctrl_protocol_init()
869 pinfo->groups = devm_kcalloc(ph->dev, pinfo->nr_groups, in scmi_pinctrl_protocol_init()
874 pinfo->functions = devm_kcalloc(ph->dev, pinfo->nr_functions, in scmi_pinctrl_protocol_init()
881 return ph->set_priv(ph, pinfo, version); in scmi_pinctrl_protocol_init()
884 static int scmi_pinctrl_protocol_deinit(const struct scmi_protocol_handle *ph) in scmi_pinctrl_protocol_deinit() argument
887 struct scmi_pinctrl_info *pi = ph->get_priv(ph); in scmi_pinctrl_protocol_deinit()