Linux Kernels

ARM: davinci: clock: Correct return values for API functions

This change “ARM: davinci: clock: Correct return values for API functions” (commit f6c1a8a) in Linux kernel is authored by Peter Ujfalusi <peter.ujfalusi [at] ti.com> on Mon Sep 14 12:29:39 2015 +0300.

Description of "ARM: davinci: clock: Correct return values for API functions"

The change “ARM: davinci: clock: Correct return values for API functions” introduces changes as follows.

ARM: davinci: clock: Correct return values for API functions

Fix the values returned by the publicly used functions.
These function should return 0 when they are called with clk == NULL in
similar manner as the clock API does to avoid different behavior in drivers
used by daVinci and other architectures.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>

Linux kernel releases containing commit f6c1a8a

The Linux kernel releases containing this commit are as follows.

Linux kernel code changes from "ARM: davinci: clock: Correct return values for API functions"

There are 16 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 arch/arm/mach-davinci/clock.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
 
diff --git a/arch/arm/mach-davinci/clock.c b/arch/arm/mach-davinci/clock.c
index c70bb0a4dfb4..3caff9637a82 100644
--- a/arch/arm/mach-davinci/clock.c
+++ b/arch/arm/mach-davinci/clock.c
@@ -97,7 +97,9 @@ int clk_enable(struct clk *clk)
 {
 	unsigned long flags;
 
-	if (clk == NULL || IS_ERR(clk))
+	if (!clk)
+		return 0;
+	else if (IS_ERR(clk))
 		return -EINVAL;
 
 	spin_lock_irqsave(&clockfw_lock, flags);
@@ -124,7 +126,7 @@ EXPORT_SYMBOL(clk_disable);
 unsigned long clk_get_rate(struct clk *clk)
 {
 	if (clk == NULL || IS_ERR(clk))
-		return -EINVAL;
+		return 0;
 
 	return clk->rate;
 }
@@ -159,8 +161,10 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
 	unsigned long flags;
 	int ret = -EINVAL;
 
-	if (clk == NULL || IS_ERR(clk))
-		return ret;
+	if (!clk)
+		return 0;
+	else if (IS_ERR(clk))
+		return -EINVAL;
 
 	if (clk->set_rate)
 		ret = clk->set_rate(clk, rate);
@@ -181,7 +185,9 @@ int clk_set_parent(struct clk *clk, struct clk *parent)
 {
 	unsigned long flags;
 
-	if (clk == NULL || IS_ERR(clk))
+	if (!clk)
+		return 0;
+	else if (IS_ERR(clk))
 		return -EINVAL;
 
 	/* Cannot change parent on enabled clock */

The commit for this change in Linux stable tree is f6c1a8a (patch).

Last modified: 2020/01/11 06:57