diff options
Diffstat (limited to 'drivers/w1/masters/omap_hdq.c')
| -rw-r--r-- | drivers/w1/masters/omap_hdq.c | 28 | 
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c index 3a7e9ff8a74..38e96ab9094 100644 --- a/drivers/w1/masters/omap_hdq.c +++ b/drivers/w1/masters/omap_hdq.c @@ -593,19 +593,17 @@ static int __devinit omap_hdq_probe(struct platform_device *pdev)  	/* get interface & functional clock objects */  	hdq_data->hdq_ick = clk_get(&pdev->dev, "ick"); -	hdq_data->hdq_fck = clk_get(&pdev->dev, "fck"); +	if (IS_ERR(hdq_data->hdq_ick)) { +		dev_dbg(&pdev->dev, "Can't get HDQ ick clock object\n"); +		ret = PTR_ERR(hdq_data->hdq_ick); +		goto err_ick; +	} -	if (IS_ERR(hdq_data->hdq_ick) || IS_ERR(hdq_data->hdq_fck)) { -		dev_dbg(&pdev->dev, "Can't get HDQ clock objects\n"); -		if (IS_ERR(hdq_data->hdq_ick)) { -			ret = PTR_ERR(hdq_data->hdq_ick); -			goto err_clk; -		} -		if (IS_ERR(hdq_data->hdq_fck)) { -			ret = PTR_ERR(hdq_data->hdq_fck); -			clk_put(hdq_data->hdq_ick); -			goto err_clk; -		} +	hdq_data->hdq_fck = clk_get(&pdev->dev, "fck"); +	if (IS_ERR(hdq_data->hdq_fck)) { +		dev_dbg(&pdev->dev, "Can't get HDQ fck clock object\n"); +		ret = PTR_ERR(hdq_data->hdq_fck); +		goto err_fck;  	}  	hdq_data->hdq_usecount = 0; @@ -665,10 +663,12 @@ err_fnclk:  	clk_disable(hdq_data->hdq_ick);  err_intfclk: -	clk_put(hdq_data->hdq_ick);  	clk_put(hdq_data->hdq_fck); -err_clk: +err_fck: +	clk_put(hdq_data->hdq_ick); + +err_ick:  	iounmap(hdq_data->hdq_base);  err_ioremap:  |