]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/host/ehci-ath79.c
Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
[~andy/linux] / drivers / usb / host / ehci-ath79.c
index 7ea23b50f5d8f2a75a06d5bada68baac1449945c..98cc8a13169c9aab288803ecba0d88062a04e727 100644 (file)
@@ -44,6 +44,7 @@ static int ehci_ath79_init(struct usb_hcd *hcd)
        struct ehci_hcd *ehci = hcd_to_ehci(hcd);
        struct platform_device *pdev = to_platform_device(hcd->self.controller);
        const struct platform_device_id *id;
+       int hclength;
        int ret;
 
        id = platform_get_device_id(pdev);
@@ -52,21 +53,20 @@ static int ehci_ath79_init(struct usb_hcd *hcd)
                return -EINVAL;
        }
 
+       hclength = HC_LENGTH(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase));
        switch (id->driver_data) {
        case EHCI_ATH79_IP_V1:
                ehci->has_synopsys_hc_bug = 1;
 
                ehci->caps = hcd->regs;
-               ehci->regs = hcd->regs +
-                       HC_LENGTH(ehci_readl(ehci, &ehci->caps->hc_capbase));
+               ehci->regs = hcd->regs + hclength;
                break;
 
        case EHCI_ATH79_IP_V2:
                hcd->has_tt = 1;
 
                ehci->caps = hcd->regs + 0x100;
-               ehci->regs = hcd->regs + 0x100 +
-                       HC_LENGTH(ehci_readl(ehci, &ehci->caps->hc_capbase));
+               ehci->regs = hcd->regs + 0x100 + hclength;
                break;
 
        default: