Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / drivers / usb / host / ehci-platform.c
index bc6455c8b77a91855e3b0adc5abd21084fdda1a6..8557803e6154b0f64c5843af4f636cd1e66febf6 100644 (file)
@@ -164,11 +164,6 @@ static int ehci_platform_probe(struct platform_device *dev)
                dev_err(&dev->dev, "no irq provided");
                return irq;
        }
-       res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
-       if (!res_mem) {
-               dev_err(&dev->dev, "no memory resource provided");
-               return -ENXIO;
-       }
 
        hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev,
                             dev_name(&dev->dev));
@@ -250,14 +245,15 @@ static int ehci_platform_probe(struct platform_device *dev)
                        goto err_reset;
        }
 
-       hcd->rsrc_start = res_mem->start;
-       hcd->rsrc_len = resource_size(res_mem);
-
+       res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
        hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
        if (IS_ERR(hcd->regs)) {
                err = PTR_ERR(hcd->regs);
                goto err_power;
        }
+       hcd->rsrc_start = res_mem->start;
+       hcd->rsrc_len = resource_size(res_mem);
+
        err = usb_add_hcd(hcd, irq, IRQF_SHARED);
        if (err)
                goto err_power;
@@ -311,8 +307,7 @@ static int ehci_platform_remove(struct platform_device *dev)
        return 0;
 }
 
-#ifdef CONFIG_PM
-
+#ifdef CONFIG_PM_SLEEP
 static int ehci_platform_suspend(struct device *dev)
 {
        struct usb_hcd *hcd = dev_get_drvdata(dev);
@@ -348,11 +343,7 @@ static int ehci_platform_resume(struct device *dev)
        ehci_resume(hcd, false);
        return 0;
 }
-
-#else /* !CONFIG_PM */
-#define ehci_platform_suspend  NULL
-#define ehci_platform_resume   NULL
-#endif /* CONFIG_PM */
+#endif /* CONFIG_PM_SLEEP */
 
 static const struct of_device_id vt8500_ehci_ids[] = {
        { .compatible = "via,vt8500-ehci", },
@@ -368,10 +359,8 @@ static const struct platform_device_id ehci_platform_table[] = {
 };
 MODULE_DEVICE_TABLE(platform, ehci_platform_table);
 
-static const struct dev_pm_ops ehci_platform_pm_ops = {
-       .suspend        = ehci_platform_suspend,
-       .resume         = ehci_platform_resume,
-};
+static SIMPLE_DEV_PM_OPS(ehci_platform_pm_ops, ehci_platform_suspend,
+       ehci_platform_resume);
 
 static struct platform_driver ehci_platform_driver = {
        .id_table       = ehci_platform_table,