int retval = 0, irq;
        unsigned long val;
 
-
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
-               retval = -ENXIO;
-               goto err1;
-       }
-
        hcd = usb_create_hcd(driver, &pdev->dev, "w90x900 EHCI");
        if (!hcd) {
                retval = -ENOMEM;
                goto err1;
        }
 
-       hcd->rsrc_start = res->start;
-       hcd->rsrc_len = resource_size(res);
-
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        hcd->regs = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(hcd->regs)) {
                retval = PTR_ERR(hcd->regs);
                goto err2;
        }
+       hcd->rsrc_start = res->start;
+       hcd->rsrc_len = resource_size(res);
 
        ehci = hcd_to_ehci(hcd);
        ehci->caps = hcd->regs;