[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