From: Krzysztof Kozlowski <krzk@kernel.org>
Date: Fri, 24 Jul 2020 07:40:29 +0000 (+0200)
Subject: memory: omap-gpmc: return meaningful error codes in gpmc_cs_set_timings()
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d25112aa34d007deaef3f2b373ab98ab1a7fc92d;p=linux.git

memory: omap-gpmc: return meaningful error codes in gpmc_cs_set_timings()

The callers of gpmc_cs_set_timings() expect to receive -ERRNO on errors
and they pass further what they have received.

However gpmc_cs_set_timings() was returning -1 (equal to -EPERM) which
does not make sense in this context.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200724074038.5597-21-krzk@kernel.org
---

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index 324870d51dbc1..792cdf048881b 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -635,7 +635,7 @@ static int set_gpmc_timing_reg(int cs, int reg, int st_bit, int end_bit, int max
 #define GPMC_SET_ONE_CD_MAX(reg, st, end, max, field, cd)  \
 	if (set_gpmc_timing_reg(cs, (reg), (st), (end), (max), \
 	    t->field, (cd), #field) < 0)                       \
-		return -1
+		return -ENXIO
 
 #define GPMC_SET_ONE(reg, st, end, field) \
 	GPMC_SET_ONE_CD_MAX(reg, st, end, 0, field, GPMC_CD_FCLK)
@@ -703,7 +703,7 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t,
 
 	div = gpmc_calc_divider(t->sync_clk);
 	if (div < 0)
-		return div;
+		return -EINVAL;
 
 	/*
 	 * See if we need to change the divider for waitmonitoringtime.
@@ -727,7 +727,7 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t,
 			       __func__,
 			       t->wait_monitoring
 			       );
-			return -1;
+			return -ENXIO;
 		}
 	}