usb: host: tegra: code clean up
Venu Byravarasu [Wed, 28 Mar 2012 12:00:05 +0000 (17:00 +0530)]
With this patch:
1. Renamed structure and function names to be more meaningful.
2. Removed unnecessary local variables.

Change-Id: I0684d840c1b8c606c1643e1e2517e083be825787
Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Reviewed-on: http://git-master/r/92817
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

drivers/usb/host/ehci-tegra.c

index 8dd873b..9d721fb 100644 (file)
@@ -854,38 +854,31 @@ static int tegra_ehci_bus_resume(struct usb_hcd *hcd)
 }
 #endif
 
-struct temp_buffer {
+struct dma_aligned_buffer {
        void *kmalloc_ptr;
        void *old_xfer_buffer;
        u8 data[0];
 };
 
-static void free_temp_buffer(struct urb *urb)
+static void free_dma_aligned_buffer(struct urb *urb)
 {
-       enum dma_data_direction dir;
-       struct temp_buffer *temp;
+       struct dma_aligned_buffer *temp = container_of(urb->transfer_buffer,
+               struct dma_aligned_buffer, data);
 
        if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER))
                return;
 
-       dir = usb_urb_dir_in(urb) ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
-
-       temp = container_of(urb->transfer_buffer, struct temp_buffer,
-                           data);
-
-       if (dir == DMA_FROM_DEVICE)
+       if(usb_urb_dir_in(urb))
                memcpy(temp->old_xfer_buffer, temp->data,
                       urb->transfer_buffer_length);
        urb->transfer_buffer = temp->old_xfer_buffer;
        kfree(temp->kmalloc_ptr);
-
        urb->transfer_flags &= ~URB_ALIGNED_TEMP_BUFFER;
 }
 
-static int alloc_temp_buffer(struct urb *urb, gfp_t mem_flags)
+static int alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags)
 {
-       enum dma_data_direction dir;
-       struct temp_buffer *temp, *kmalloc_ptr;
+       struct dma_aligned_buffer *temp, *kmalloc_ptr;
        size_t kmalloc_size;
 
        if (urb->num_sgs || urb->sg ||
@@ -893,26 +886,22 @@ static int alloc_temp_buffer(struct urb *urb, gfp_t mem_flags)
            !((uintptr_t)urb->transfer_buffer & (TEGRA_USB_DMA_ALIGN - 1)))
                return 0;
 
-       dir = usb_urb_dir_in(urb) ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
-
        /* Allocate a buffer with enough padding for alignment */
        kmalloc_size = urb->transfer_buffer_length +
-               sizeof(struct temp_buffer) + TEGRA_USB_DMA_ALIGN - 1;
+               sizeof(struct dma_aligned_buffer) + TEGRA_USB_DMA_ALIGN - 1;
 
        kmalloc_ptr = kmalloc(kmalloc_size, mem_flags);
        if (!kmalloc_ptr)
                return -ENOMEM;
 
-       /* Position our struct temp_buffer such that data is aligned */
+       /* Position our struct dma_aligned_buffer such that data is aligned */
        temp = PTR_ALIGN(kmalloc_ptr + 1, TEGRA_USB_DMA_ALIGN) - 1;
-
        temp->kmalloc_ptr = kmalloc_ptr;
        temp->old_xfer_buffer = urb->transfer_buffer;
-       if (dir == DMA_TO_DEVICE)
+       if (!usb_urb_dir_in(urb))
                memcpy(temp->data, urb->transfer_buffer,
                       urb->transfer_buffer_length);
        urb->transfer_buffer = temp->data;
-
        urb->transfer_flags |= URB_ALIGNED_TEMP_BUFFER;
 
        return 0;
@@ -923,13 +912,13 @@ static int tegra_ehci_map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb,
 {
        int ret;
 
-       ret = alloc_temp_buffer(urb, mem_flags);
+       ret = alloc_dma_aligned_buffer(urb, mem_flags);
        if (ret)
                return ret;
 
        ret = usb_hcd_map_urb_for_dma(hcd, urb, mem_flags);
        if (ret)
-               free_temp_buffer(urb);
+               free_dma_aligned_buffer(urb);
 
        return ret;
 }
@@ -937,7 +926,7 @@ static int tegra_ehci_map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb,
 static void tegra_ehci_unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb)
 {
        usb_hcd_unmap_urb_for_dma(hcd, urb);
-       free_temp_buffer(urb);
+       free_dma_aligned_buffer(urb);
 }
 
 void clk_timer_callback(unsigned long data)