[PATCH 2/3] staging: speakup: use native error codes

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Mar 27 15:44:56 UTC 2013


The mapping as follows:
	E_RANGE		-> ERANGE
	E_UNDEF		-> ENODATA
	E_TOOLONG	-> E2BIG

Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
---
 drivers/staging/speakup/kobjects.c    |  4 ++--
 drivers/staging/speakup/speakup.h     |  3 ---
 drivers/staging/speakup/varhandlers.c | 12 ++++++------
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/speakup/kobjects.c b/drivers/staging/speakup/kobjects.c
index d0f660b..04bf8e8 100644
--- a/drivers/staging/speakup/kobjects.c
+++ b/drivers/staging/speakup/kobjects.c
@@ -619,7 +619,7 @@ ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr,
 			len = E_SET;
 		value = simple_strtol(cp, NULL, 10);
 		ret = spk_set_num_var(value, param, len);
-		if (ret == E_RANGE) {
+		if (ret == -ERANGE) {
 			var_data = param->data;
 			pr_warn("value for %s out of range, expect %d to %d\n",
 				attr->attr.name,
@@ -637,7 +637,7 @@ ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr,
 		cp = (char *) buf;
 		cp[len] = '\0';
 		ret = spk_set_string_var(buf, param, len);
-		if (ret == E_TOOLONG)
+		if (ret == -E2BIG)
 			pr_warn("value too long for %s\n",
 					attr->attr.name);
 		break;
diff --git a/drivers/staging/speakup/speakup.h b/drivers/staging/speakup/speakup.h
index 1e5691c..4c67c73 100644
--- a/drivers/staging/speakup/speakup.h
+++ b/drivers/staging/speakup/speakup.h
@@ -45,9 +45,6 @@
 #define IS_TYPE(x, type) ((spk_chartab[((u_char)x)]&type) == type)
 
 #define SET_DEFAULT -4
-#define E_RANGE -3
-#define E_TOOLONG -2
-#define E_UNDEF -1
 
 extern int speakup_thread(void *data);
 extern void spk_reset_default_chars(void);
diff --git a/drivers/staging/speakup/varhandlers.c b/drivers/staging/speakup/varhandlers.c
index 0a237da..fb479a5 100644
--- a/drivers/staging/speakup/varhandlers.c
+++ b/drivers/staging/speakup/varhandlers.c
@@ -185,11 +185,11 @@ int spk_set_num_var(int input, struct st_var_header *var, int how)
 	char *cp;
 	struct var_t *var_data = var->data;
 	if (var_data == NULL)
-		return E_UNDEF;
+		return -ENODATA;
 
 	if (how == E_NEW_DEFAULT) {
 		if (input < var_data->u.n.low || input > var_data->u.n.high)
-			ret = E_RANGE;
+			ret = -ERANGE;
 		else
 			var_data->u.n.default_val = input;
 		return ret;
@@ -207,7 +207,7 @@ int spk_set_num_var(int input, struct st_var_header *var, int how)
 		else if (how == E_DEC)
 			val -= input;
 		if (val < var_data->u.n.low || val > var_data->u.n.high)
-			return E_RANGE;
+			return -ERANGE;
 	}
 	var_data->u.n.value = val;
 	if (var->var_type == VAR_TIME && p_val != NULL) {
@@ -249,9 +249,9 @@ int spk_set_string_var(const char *page, struct st_var_header *var, int len)
 	int ret = 0;
 	struct var_t *var_data = var->data;
 	if (var_data == NULL)
-		return E_UNDEF;
+		return -ENODATA;
 	if (len > MAXVARLEN)
-		return -E_TOOLONG;
+		return -E2BIG;
 	if (!len) {
 		if (!var_data->u.s.default_val)
 			return 0;
@@ -263,7 +263,7 @@ int spk_set_string_var(const char *page, struct st_var_header *var, int len)
 	} else if (var->p_val)
 		strcpy((char *)var->p_val, page);
 	else
-		return -E_TOOLONG;
+		return -E2BIG;
 	return ret;
 }
 
-- 
1.8.2.rc0.22.gb3600c3




More information about the devel mailing list