diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 77823d2..ff5b928 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -520,7 +520,7 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 		goto err_clk;
 	}
 
-	clk_enable(rtc_clk);
+	clk_prepare_enable(rtc_clk);
 
 	/* check to see if everything is setup correctly */
 
@@ -591,7 +591,7 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 		goto err_tick_irq;
 	}
 
-	clk_disable(rtc_clk);
+	clk_disable_unprepare(rtc_clk);
 
 	return 0;
 
@@ -604,7 +604,7 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev)
 
  err_nortc:
 	s3c_rtc_enable(pdev, 0);
-	clk_disable(rtc_clk);
+	clk_disable_unprepare(rtc_clk);
 	clk_put(rtc_clk);
 
  err_clk:
