summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Brannon <cmbrannon79@gmail.com>2010-10-15 04:23:57 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-15 23:22:37 +0400
commit13f1a041ac02195ef4a84cd34693ed99a45186fb (patch)
tree7b57dcafb014a74b450b75f14b12d70ecd13c0c7
parente66c3d84759b84cf4816b252f15b8a023e7bd659 (diff)
downloadlinux-13f1a041ac02195ef4a84cd34693ed99a45186fb.tar.xz
staging: speakup: speakup_soft.c: style fixes
* Clean this file based on reports from checkpatch.pl. * Make the file_operations structure const. * Use strict_strtoul instead of simple_strtoul. Signed-off-by: Christopher Brannon <chris@the-brannons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/speakup/speakup_soft.c55
1 files changed, 34 insertions, 21 deletions
diff --git a/drivers/staging/speakup/speakup_soft.c b/drivers/staging/speakup/speakup_soft.c
index 2c85773fdbf8..a2c3dc4098b9 100644
--- a/drivers/staging/speakup/speakup_soft.c
+++ b/drivers/staging/speakup/speakup_soft.c
@@ -40,20 +40,20 @@ static int softsynth_is_alive(struct spk_synth *synth);
static unsigned char get_index(void);
static struct miscdevice synth_device;
-static int initialized = 0;
+static int initialized;
static int misc_registered;
static struct var_t vars[] = {
- { CAPS_START, .u.s = {"\x01+3p" }},
- { CAPS_STOP, .u.s = {"\x01-3p" }},
- { RATE, .u.n = {"\x01%ds", 5, 0, 9, 0, 0, NULL }},
- { PITCH, .u.n = {"\x01%dp", 5, 0, 9, 0, 0, NULL }},
- { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL }},
- { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL }},
- { PUNCT, .u.n = {"\x01%db", 0, 0, 2, 0, 0, NULL }},
- { VOICE, .u.n = {"\x01%do", 0, 0, 7, 0, 0, NULL }},
- { FREQUENCY, .u.n = {"\x01%df", 5, 0, 9, 0, 0, NULL }},
- { DIRECT, .u.n = {NULL, 0, 0, 1, 0, 0, NULL }},
+ { CAPS_START, .u.s = {"\x01+3p" } },
+ { CAPS_STOP, .u.s = {"\x01-3p" } },
+ { RATE, .u.n = {"\x01%ds", 5, 0, 9, 0, 0, NULL } },
+ { PITCH, .u.n = {"\x01%dp", 5, 0, 9, 0, 0, NULL } },
+ { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL } },
+ { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL } },
+ { PUNCT, .u.n = {"\x01%db", 0, 0, 2, 0, 0, NULL } },
+ { VOICE, .u.n = {"\x01%do", 0, 0, 7, 0, 0, NULL } },
+ { FREQUENCY, .u.n = {"\x01%df", 5, 0, 9, 0, 0, NULL } },
+ { DIRECT, .u.n = {NULL, 0, 0, 1, 0, 0, NULL } },
V_LAST_VAR
};
@@ -66,8 +66,6 @@ static struct kobj_attribute caps_stop_attribute =
__ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store);
static struct kobj_attribute freq_attribute =
__ATTR(freq, USER_RW, spk_var_show, spk_var_store);
-//static struct kobj_attribute lang_attribute =
-// __ATTR(lang, USER_RW, spk_var_show, spk_var_store);
static struct kobj_attribute pitch_attribute =
__ATTR(pitch, USER_RW, spk_var_show, spk_var_store);
static struct kobj_attribute punct_attribute =
@@ -81,6 +79,13 @@ static struct kobj_attribute voice_attribute =
static struct kobj_attribute vol_attribute =
__ATTR(vol, USER_RW, spk_var_show, spk_var_store);
+/*
+ * We should uncomment the following definition, when we agree on a
+ * method of passing a language designation to the software synthesizer.
+ * static struct kobj_attribute lang_attribute =
+ * __ATTR(lang, USER_RW, spk_var_show, spk_var_store);
+ */
+
static struct kobj_attribute delay_time_attribute =
__ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store);
static struct kobj_attribute direct_attribute =
@@ -100,7 +105,7 @@ static struct attribute *synth_attrs[] = {
&caps_start_attribute.attr,
&caps_stop_attribute.attr,
&freq_attribute.attr,
-// &lang_attribute.attr,
+/* &lang_attribute.attr, */
&pitch_attribute.attr,
&punct_attribute.attr,
&rate_attribute.attr,
@@ -161,7 +166,8 @@ static char *get_initstring(void)
while (var->var_id != MAXVARS) {
if (var->var_id != CAPS_START && var->var_id != CAPS_STOP
&& var->var_id != DIRECT)
- cp = cp + sprintf(cp, var->u.n.synth_fmt, var->u.n.value);
+ cp = cp + sprintf(cp, var->u.n.synth_fmt,
+ var->u.n.value);
var++;
}
cp = cp + sprintf(cp, "\n");
@@ -233,7 +239,7 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count,
ch = '\x18';
} else if (synth_buffer_empty()) {
break;
- } else if (! initialized) {
+ } else if (!initialized) {
if (*init) {
ch = *init;
init++;
@@ -260,20 +266,27 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count,
return chars_sent;
}
-static int last_index = 0;
+static int last_index;
static ssize_t softsynth_write(struct file *fp, const char *buf, size_t count,
loff_t *pos)
{
+ unsigned long supplied_index = 0;
+ int converted;
char indbuf[5];
if (count >= sizeof(indbuf))
return -EINVAL;
if (copy_from_user(indbuf, buf, count))
return -EFAULT;
- indbuf[4] = 0;
+ indbuf[count] = '\0';
+
+ converted = strict_strtoul(indbuf, 0, &supplied_index);
+
+ if (converted < 0)
+ return converted;
- last_index = simple_strtoul(indbuf, NULL, 0);
+ last_index = supplied_index;
return count;
}
@@ -285,7 +298,7 @@ static unsigned int softsynth_poll(struct file *fp,
poll_wait(fp, &speakup_event, wait);
spk_lock(flags);
- if (! synth_buffer_empty() || speakup_info.flushing)
+ if (!synth_buffer_empty() || speakup_info.flushing)
ret = POLLIN | POLLRDNORM;
spk_unlock(flags);
return ret;
@@ -299,7 +312,7 @@ static unsigned char get_index(void)
return rv;
}
-static struct file_operations softsynth_fops = {
+static const struct file_operations softsynth_fops = {
.owner = THIS_MODULE,
.poll = softsynth_poll,
.read = softsynth_read,