|
@@ -88,13 +88,20 @@ static int ehci_msm_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
- hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
|
|
- if (IS_ERR(hcd->regs)) {
|
|
|
- ret = PTR_ERR(hcd->regs);
|
|
|
+ if (!res) {
|
|
|
+ dev_err(&pdev->dev, "Unable to get memory resource\n");
|
|
|
+ ret = -ENODEV;
|
|
|
goto put_hcd;
|
|
|
}
|
|
|
+
|
|
|
hcd->rsrc_start = res->start;
|
|
|
hcd->rsrc_len = resource_size(res);
|
|
|
+ hcd->regs = devm_ioremap(&pdev->dev, hcd->rsrc_start, hcd->rsrc_len);
|
|
|
+ if (!hcd->regs) {
|
|
|
+ dev_err(&pdev->dev, "ioremap failed\n");
|
|
|
+ ret = -ENOMEM;
|
|
|
+ goto put_hcd;
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
|
* OTG driver takes care of PHY initialization, clock management,
|