usb: musb: gadget: add ep capabilities support
authorRobert Baldyga <r.baldyga@samsung.com>
Fri, 31 Jul 2015 14:00:46 +0000 (16:00 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 4 Aug 2015 17:27:04 +0000 (12:27 -0500)
Convert endpoint configuration to new capabilities model.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_gadget.c

index 9e18178f1d45e2d94fc3550f93cd7a833d8592d6..4150bafe6bf5d2f2f3611ecb9c600413357a128a 100644 (file)
@@ -1729,6 +1729,7 @@ init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
        INIT_LIST_HEAD(&ep->end_point.ep_list);
        if (!epnum) {
                usb_ep_set_maxpacket_limit(&ep->end_point, 64);
+               ep->end_point.caps.type_control = true;
                ep->end_point.ops = &musb_g_ep0_ops;
                musb->g.ep0 = &ep->end_point;
        } else {
@@ -1736,9 +1737,20 @@ init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
                        usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_tx);
                else
                        usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_rx);
+               ep->end_point.caps.type_iso = true;
+               ep->end_point.caps.type_bulk = true;
+               ep->end_point.caps.type_int = true;
                ep->end_point.ops = &musb_ep_ops;
                list_add_tail(&ep->end_point.ep_list, &musb->g.ep_list);
        }
+
+       if (!epnum || hw_ep->is_shared_fifo) {
+               ep->end_point.caps.dir_in = true;
+               ep->end_point.caps.dir_out = true;
+       } else if (is_in)
+               ep->end_point.caps.dir_in = true;
+       else
+               ep->end_point.caps.dir_out = true;
 }
 
 /*