diff options
-rw-r--r-- | hw/usb_cfs_client_common.c | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/hw/usb_cfs_client_common.c b/hw/usb_cfs_client_common.c index 10bed2a..f9ebaf7 100644 --- a/hw/usb_cfs_client_common.c +++ b/hw/usb_cfs_client_common.c @@ -233,25 +233,26 @@ static int cfs_alloc_new_func(struct usb_gadget *gadget, const char *fname, static int cfs_read_funcs(usbg_gadget *gadget, struct usb_gadget *usb_gadget) { - usbg_function *func; int i; int ret; + const char *name; + const char *instance; + usbg_function *function; i = 0; - usbg_for_each_function(func, gadget) { - char *func_name = (char *)usbg_get_function_type_str( - usbg_get_function_type(func)); - char *instance = (char *)usbg_get_function_instance(func); + usbg_for_each_function(function, gadget) { + instance = usbg_get_function_instance(function); + name = usbg_get_function_type_str(usbg_get_function_type(function)); - ret = cfs_alloc_new_func(usb_gadget, func_name, instance, - usb_gadget->funcs + i); + ret = cfs_alloc_new_func(usb_gadget, name, instance, usb_gadget->funcs + i); if (ret < 0) goto clean_prev; ++i; } return 0; -clean_prev: + + clean_prev: while (i >= 0) { usb_gadget->funcs[i]->free_func(usb_gadget->funcs[i]); --i; @@ -302,23 +303,23 @@ out: static int cfs_read_config(usbg_config *config, struct usb_gadget *gadget, struct usb_configuration *usb_config) { - usbg_binding *b; - usbg_function *func; - char *name, *instance; - struct usbg_config_attrs c_attrs; - struct usbg_config_strs c_strs; - int i = 0; + int i; int ret; + const char *name; + const char *instance; + usbg_binding *binding; + usbg_function *function; + struct usbg_config_strs c_strs; + struct usbg_config_attrs c_attrs; - usbg_for_each_binding(b, config) { - func = usbg_get_binding_target(b); + i = 0; + usbg_for_each_binding(binding, config) { + function = usbg_get_binding_target(binding); - name = (char *)usbg_get_function_type_str( - usbg_get_function_type(func)); - instance = (char *)usbg_get_function_instance(func); + instance = usbg_get_function_instance(function); + name = usbg_get_function_type_str(usbg_get_function_type(function)); - usb_config->funcs[i] = cfs_find_func_in_gadget(gadget, - name, instance); + usb_config->funcs[i] = cfs_find_func_in_gadget(gadget, name, instance); if (!usb_config->funcs[i]) { return -ENOTSUP; } @@ -1082,9 +1083,12 @@ err_usbg_init: EXPORT int hw_cfs_gadget_close(struct hw_common *common) { - struct cfs_client *cfs_client; - usbg_function *func; int ret; + const char *name; + const char *instance; + usbg_function *function; + struct cfs_client *cfs_client; + struct usb_function *usb_func; if (!common) return -EINVAL; @@ -1092,11 +1096,9 @@ int hw_cfs_gadget_close(struct hw_common *common) cfs_client = container_of(common, struct cfs_client, client.common); - usbg_for_each_function(func, cfs_client->gadget) { - char *name = (char *)usbg_get_function_type_str( - usbg_get_function_type(func)); - char *instance = (char *)usbg_get_function_instance(func); - struct usb_function *usb_func; + usbg_for_each_function(function, cfs_client->gadget) { + instance = usbg_get_function_instance(function); + name = usbg_get_function_type_str(usbg_get_function_type(function)); ret = cfs_find_func(name, instance); if (ret < 0) |