diff --git a/[refs] b/[refs] index 35eceb6336a2..296f6f7a8e63 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1cd572fc0c5f6887ea0542e2d3ec26625e2cdfb7 +refs/heads/master: 58efc77c86af5cb81d7d7ea0c3c3e675e7d121dc diff --git a/trunk/drivers/usb/renesas_usbhs/common.c b/trunk/drivers/usb/renesas_usbhs/common.c index 681da06170c2..072edc1cc55f 100644 --- a/trunk/drivers/usb/renesas_usbhs/common.c +++ b/trunk/drivers/usb/renesas_usbhs/common.c @@ -432,17 +432,16 @@ static int usbhs_probe(struct platform_device *pdev) } /* usb private data */ - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) { dev_err(&pdev->dev, "Could not allocate priv\n"); return -ENOMEM; } - priv->base = ioremap_nocache(res->start, resource_size(res)); + priv->base = devm_request_and_ioremap(&pdev->dev, res); if (!priv->base) { dev_err(&pdev->dev, "ioremap error.\n"); - ret = -ENOMEM; - goto probe_end_kfree; + return -ENOMEM; } /* @@ -485,7 +484,7 @@ static int usbhs_probe(struct platform_device *pdev) /* call pipe and module init */ ret = usbhs_pipe_probe(priv); if (ret < 0) - goto probe_end_iounmap; + return ret; ret = usbhs_fifo_probe(priv); if (ret < 0) @@ -546,10 +545,6 @@ static int usbhs_probe(struct platform_device *pdev) usbhs_fifo_remove(priv); probe_end_pipe_exit: usbhs_pipe_remove(priv); -probe_end_iounmap: - iounmap(priv->base); -probe_end_kfree: - kfree(priv); dev_info(&pdev->dev, "probe failed\n"); @@ -576,8 +571,6 @@ static int __devexit usbhs_remove(struct platform_device *pdev) usbhs_mod_remove(priv); usbhs_fifo_remove(priv); usbhs_pipe_remove(priv); - iounmap(priv->base); - kfree(priv); return 0; }