aboutsummaryrefslogtreecommitdiff
path: root/drivers/clk/qcom/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/qcom/clock.c')
-rw-r--r--drivers/clk/qcom/clock.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/clk/qcom/clock.c b/drivers/clk/qcom/clock.c
index e69f0cbdd65..1f5092e1ffe 100644
--- a/drivers/clk/qcom/clock.c
+++ b/drivers/clk/qcom/clock.c
@@ -1,7 +1,7 @@
/* arch/arm/mach-msm/clock.c
*
* Copyright (C) 2007 Google, Inc.
- * Copyright (c) 2007-2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2007-2014, The Linux Foundation. All rights reserved.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
@@ -488,9 +488,6 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
if (IS_ERR_OR_NULL(clk))
return -EINVAL;
- if (!clk->ops->set_rate)
- return -ENOSYS;
-
if (!is_rate_valid(clk, rate))
return -EINVAL;
@@ -500,6 +497,11 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
if (clk->rate == rate && !(clk->flags & CLKFLAG_NO_RATE_CACHE))
goto out;
+ if (!clk->ops->set_rate) {
+ rc = -ENOSYS;
+ goto out;
+ }
+
trace_clock_set_rate(name, rate, raw_smp_processor_id());
start_rate = clk->rate;