|
@@ -185,7 +185,6 @@ static int rcar_thermal_probe(struct platform_device *pdev)
|
|
|
struct thermal_zone_device *zone;
|
|
|
struct rcar_thermal_priv *priv;
|
|
|
struct resource *res;
|
|
|
- int ret;
|
|
|
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
if (!res) {
|
|
@@ -206,16 +205,14 @@ static int rcar_thermal_probe(struct platform_device *pdev)
|
|
|
res->start, resource_size(res));
|
|
|
if (!priv->base) {
|
|
|
dev_err(&pdev->dev, "Unable to ioremap thermal register\n");
|
|
|
- ret = -ENOMEM;
|
|
|
- goto error_free_priv;
|
|
|
+ return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
zone = thermal_zone_device_register("rcar_thermal", 0, 0, priv,
|
|
|
&rcar_thermal_zone_ops, NULL, 0, 0);
|
|
|
if (IS_ERR(zone)) {
|
|
|
dev_err(&pdev->dev, "thermal zone device is NULL\n");
|
|
|
- ret = PTR_ERR(zone);
|
|
|
- goto error_iounmap;
|
|
|
+ return PTR_ERR(zone);
|
|
|
}
|
|
|
|
|
|
platform_set_drvdata(pdev, zone);
|
|
@@ -223,26 +220,15 @@ static int rcar_thermal_probe(struct platform_device *pdev)
|
|
|
dev_info(&pdev->dev, "proved\n");
|
|
|
|
|
|
return 0;
|
|
|
-
|
|
|
-error_iounmap:
|
|
|
- devm_iounmap(&pdev->dev, priv->base);
|
|
|
-error_free_priv:
|
|
|
- devm_kfree(&pdev->dev, priv);
|
|
|
-
|
|
|
- return ret;
|
|
|
}
|
|
|
|
|
|
static int rcar_thermal_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct thermal_zone_device *zone = platform_get_drvdata(pdev);
|
|
|
- struct rcar_thermal_priv *priv = zone->devdata;
|
|
|
|
|
|
thermal_zone_device_unregister(zone);
|
|
|
platform_set_drvdata(pdev, NULL);
|
|
|
|
|
|
- devm_iounmap(&pdev->dev, priv->base);
|
|
|
- devm_kfree(&pdev->dev, priv);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|