usb/isp1760: Move some code (prepare for next patch)
authorArvid Brodin <arvid.brodin@enea.com>
Sun, 21 Aug 2011 06:29:24 +0000 (08:29 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 22 Aug 2011 22:32:11 +0000 (15:32 -0700)
Move the few lines of code in isp1760_enable_interrupts() and
isp1760_init_maps() into isp1760_run(). This makes the following patch
easier.

Signed-off-by: Arvid Brodin <arvid.brodin@enea.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/isp1760-hcd.c

index 840beda66dd94aa378c506918ffad093e1ba4052..a46ccf97a5c9cf876277a60d0f57d3a913c64d09 100644 (file)
@@ -514,23 +514,18 @@ static int isp1760_hc_setup(struct usb_hcd *hcd)
        return priv_init(hcd);
 }
 
-static void isp1760_init_maps(struct usb_hcd *hcd)
+static int isp1760_run(struct usb_hcd *hcd)
 {
-       /*set last maps, for iso its only 1, else 32 tds bitmap*/
-       reg_write32(hcd->regs, HC_ATL_PTD_LASTPTD_REG, 0x80000000);
-       reg_write32(hcd->regs, HC_INT_PTD_LASTPTD_REG, 0x80000000);
-       reg_write32(hcd->regs, HC_ISO_PTD_LASTPTD_REG, 0x00000001);
+       int retval;
+       u32 temp;
+       u32 command;
+       u32 chipid;
 
-       reg_write32(hcd->regs, HC_ATL_PTD_SKIPMAP_REG, 0xffffffff);
-       reg_write32(hcd->regs, HC_INT_PTD_SKIPMAP_REG, 0xffffffff);
-       reg_write32(hcd->regs, HC_ISO_PTD_SKIPMAP_REG, 0xffffffff);
+       hcd->uses_new_polling = 1;
 
-       reg_write32(hcd->regs, HC_BUFFER_STATUS_REG,
-                                               ATL_BUF_FILL | INT_BUF_FILL);
-}
+       hcd->state = HC_STATE_RUNNING;
 
-static void isp1760_enable_interrupts(struct usb_hcd *hcd)
-{
+       /* Set PTD interrupt AND & OR maps */
        reg_write32(hcd->regs, HC_ATL_IRQ_MASK_AND_REG, 0);
        reg_write32(hcd->regs, HC_ATL_IRQ_MASK_OR_REG, 0xffffffff);
        reg_write32(hcd->regs, HC_INT_IRQ_MASK_AND_REG, 0);
@@ -538,19 +533,7 @@ static void isp1760_enable_interrupts(struct usb_hcd *hcd)
        reg_write32(hcd->regs, HC_ISO_IRQ_MASK_AND_REG, 0);
        reg_write32(hcd->regs, HC_ISO_IRQ_MASK_OR_REG, 0xffffffff);
        /* step 23 passed */
-}
 
-static int isp1760_run(struct usb_hcd *hcd)
-{
-       int retval;
-       u32 temp;
-       u32 command;
-       u32 chipid;
-
-       hcd->uses_new_polling = 1;
-
-       hcd->state = HC_STATE_RUNNING;
-       isp1760_enable_interrupts(hcd);
        temp = reg_read32(hcd->regs, HC_HW_MODE_CTRL);
        reg_write32(hcd->regs, HC_HW_MODE_CTRL, temp | HW_GLOBAL_INTR_EN);
 
@@ -581,8 +564,16 @@ static int isp1760_run(struct usb_hcd *hcd)
                                        chipid & 0xffff, chipid >> 16);
 
        /* PTD Register Init Part 2, Step 28 */
-       /* enable INTs */
-       isp1760_init_maps(hcd);
+
+       /* Setup registers controlling PTD checking */
+       reg_write32(hcd->regs, HC_ATL_PTD_LASTPTD_REG, 0x80000000);
+       reg_write32(hcd->regs, HC_INT_PTD_LASTPTD_REG, 0x80000000);
+       reg_write32(hcd->regs, HC_ISO_PTD_LASTPTD_REG, 0x00000001);
+       reg_write32(hcd->regs, HC_ATL_PTD_SKIPMAP_REG, 0xffffffff);
+       reg_write32(hcd->regs, HC_INT_PTD_SKIPMAP_REG, 0xffffffff);
+       reg_write32(hcd->regs, HC_ISO_PTD_SKIPMAP_REG, 0xffffffff);
+       reg_write32(hcd->regs, HC_BUFFER_STATUS_REG,
+                                               ATL_BUF_FILL | INT_BUF_FILL);
 
        /* GRR this is run-once init(), being done every time the HC starts.
         * So long as they're part of class devices, we can't do it init()