Changeset aa81adc in mainline for uspace/drv/bus


Ignore:
Timestamp:
2011-07-11T09:28:00Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ece7f78
Parents:
1cb4f05
Message:

libusbhost: endpoint_t uses get/destroy pair, instead of init/destroy.

endpoint_init always returned EOK, thus allocation could be moved in.
Also, it makes no sense to create this structures on stack.

Location:
uspace/drv/bus/usb
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ohci/hc.c

    r1cb4f05 raa81adc  
    235235    size_t mps, size_t size, unsigned interval)
    236236{
    237         endpoint_t *ep = malloc(sizeof(endpoint_t));
     237        endpoint_t *ep =
     238            endpoint_get(address, endpoint, direction, type, speed, mps);
    238239        if (ep == NULL)
    239240                return ENOMEM;
    240         int ret =
    241             endpoint_init(ep, address, endpoint, direction, type, speed, mps);
    242         if (ret != EOK) {
    243                 free(ep);
    244                 return ret;
    245         }
    246241
    247242        hcd_endpoint_t *hcd_ep = hcd_endpoint_assign(ep);
     
    251246        }
    252247
    253         ret = usb_endpoint_manager_register_ep(&instance->ep_manager, ep, size);
     248        int ret =
     249            usb_endpoint_manager_register_ep(&instance->ep_manager, ep, size);
    254250        if (ret != EOK) {
    255251                hcd_endpoint_clear(ep);
     
    279275                    &instance->lists[ep->transfer_type], hcd_ep);
    280276                instance->registers->control |= C_PLE | C_IE;
    281                 break;
    282         default:
    283277                break;
    284278        }
  • uspace/drv/bus/usb/vhc/connhost.c

    r1cb4f05 raa81adc  
    141141    size_t max_packet_size, unsigned int interval)
    142142{
    143         VHC_DATA(vhc, fun);
    144 
    145         endpoint_t *ep = malloc(sizeof(endpoint_t));
     143        /* TODO: Use usb_endpoint_manager_add_ep */
     144        VHC_DATA(vhc, fun);
     145
     146        endpoint_t *ep = endpoint_get(
     147            address, endpoint, direction, transfer_type, USB_SPEED_FULL, 1);
    146148        if (ep == NULL) {
    147149                return ENOMEM;
    148150        }
    149151
    150         int rc = endpoint_init(ep, address, endpoint, direction, transfer_type,
    151             USB_SPEED_FULL, 1);
    152         if (rc != EOK) {
    153                 free(ep);
    154                 return rc;
    155         }
    156 
    157         rc = usb_endpoint_manager_register_ep(&vhc->ep_manager, ep, 1);
     152        int rc = usb_endpoint_manager_register_ep(&vhc->ep_manager, ep, 1);
    158153        if (rc != EOK) {
    159154                endpoint_destroy(ep);
Note: See TracChangeset for help on using the changeset viewer.