usb: musb: Remove DMA ifdef for musb_gadget.c short_packet
authorTony Lindgren <tony@atomide.com>
Fri, 1 May 2015 19:29:30 +0000 (12:29 -0700)
committerFelipe Balbi <balbi@ti.com>
Thu, 7 May 2015 18:36:02 +0000 (13:36 -0500)
Let's get rid of the horrible ifdef in middle of the expression.
We can do it by adding a variable for short_packet and testing
it separately for DMA related code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_gadget.c

index a94db12878307f5e229633f4fe2edbc8dfd7983a..625d482f1a97f30fea1135f5f03cd8155c36a206 100644 (file)
@@ -489,6 +489,7 @@ void musb_g_tx(struct musb *musb, u8 epnum)
 
        if (request) {
                u8      is_dma = 0;
+               bool    short_packet = false;
 
                if (dma && (csr & MUSB_TXCSR_DMAENAB)) {
                        is_dma = 1;
@@ -507,15 +508,18 @@ void musb_g_tx(struct musb *musb, u8 epnum)
                 * First, maybe a terminating short packet. Some DMA
                 * engines might handle this by themselves.
                 */
-               if ((request->zero && request->length
+               if ((request->zero && request->length)
                        && (request->length % musb_ep->packet_sz == 0)
                        && (request->actual == request->length))
-#if defined(CONFIG_USB_INVENTRA_DMA) || defined(CONFIG_USB_UX500_DMA)
-                       || (is_dma && (!dma->desired_mode ||
+                               short_packet = true;
+
+               if ((musb_dma_inventra(musb) || musb_dma_ux500(musb)) &&
+                       (is_dma && (!dma->desired_mode ||
                                (request->actual &
-                                       (musb_ep->packet_sz - 1))))
-#endif
-               ) {
+                                       (musb_ep->packet_sz - 1)))))
+                               short_packet = true;
+
+               if (short_packet) {
                        /*
                         * On DMA completion, FIFO may not be
                         * available yet...