diff options
Diffstat (limited to 'drivers/rtc/rtc-s3c.c')
| -rw-r--r-- | drivers/rtc/rtc-s3c.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index a6b1252c9941..806072238c00 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c @@ -535,13 +535,15 @@ static int s3c_rtc_probe(struct platform_device *pdev)  	}  	clk_prepare_enable(info->rtc_clk); -	info->rtc_src_clk = devm_clk_get(&pdev->dev, "rtc_src"); -	if (IS_ERR(info->rtc_src_clk)) { -		dev_err(&pdev->dev, "failed to find rtc source clock\n"); -		return PTR_ERR(info->rtc_src_clk); +	if (info->data->needs_src_clk) { +		info->rtc_src_clk = devm_clk_get(&pdev->dev, "rtc_src"); +		if (IS_ERR(info->rtc_src_clk)) { +			dev_err(&pdev->dev, +				"failed to find rtc source clock\n"); +			return PTR_ERR(info->rtc_src_clk); +		} +		clk_prepare_enable(info->rtc_src_clk);  	} -	clk_prepare_enable(info->rtc_src_clk); -  	/* check to see if everything is setup correctly */  	if (info->data->enable)  |