On Thu, Jan 29, 2015 at 5:46 PM, Chris Rorvick <chris@xxxxxxxxxxx> wrote: > That whole chunk of code looks odd. Why the base 16 conversion when > we already know it's a decimal digit? Seems like this would work > without the hassle of the string conversion: Hmm, or probably even better to do this where the ep0 check is less contorted. -- >8 -- diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c index eb178fc..98a1ace 100644 --- a/drivers/staging/emxx_udc/emxx_udc.c +++ b/drivers/staging/emxx_udc/emxx_udc.c @@ -3261,25 +3261,6 @@ static void __init nbu2ss_drv_set_ep_info( ep->ep.name = name; ep->ep.ops = &nbu2ss_ep_ops; - if (isdigit(name[2])) { - - long num; - int res; - char tempbuf[2]; - - tempbuf[0] = name[2]; - tempbuf[1] = '\0'; - res = kstrtol(tempbuf, 16, &num); - - if (num == 0) - ep->ep.maxpacket = EP0_PACKETSIZE; - else - ep->ep.maxpacket = EP_PACKETSIZE; - - } else { - ep->ep.maxpacket = EP_PACKETSIZE; - } - list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list); INIT_LIST_HEAD(&ep->queue); } @@ -3293,8 +3274,12 @@ static void __init nbu2ss_drv_ep_init(struct nbu2ss_udc *udc) udc->gadget.ep0 = &udc->ep[0].ep; - for (i = 0; i < NUM_ENDPOINTS; i++) - nbu2ss_drv_set_ep_info(udc, &udc->ep[i], gp_ep_name[i]); + for (i = 0; i < NUM_ENDPOINTS; i++) { + struct nbu2ss_ep *ep = &udc->ep[i]; + + nbu2ss_drv_set_ep_info(udc, ep, gp_ep_name[i]); + ep->ep.maxpacket = i == 0 ? EP0_PACKETSIZE : EP_PACKETSIZE; + } list_del_init(&udc->ep[0].ep.ep_list); } _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel