aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/speakup/kobjects.c62
-rw-r--r--drivers/staging/speakup/speakup.h2
-rw-r--r--drivers/staging/speakup/speakup_acntpc.c22
-rw-r--r--drivers/staging/speakup/speakup_acntsa.c22
-rw-r--r--drivers/staging/speakup/speakup_apollo.c24
-rw-r--r--drivers/staging/speakup/speakup_audptr.c24
-rw-r--r--drivers/staging/speakup/speakup_bns.c22
-rw-r--r--drivers/staging/speakup/speakup_decext.c24
-rw-r--r--drivers/staging/speakup/speakup_decpc.c24
-rw-r--r--drivers/staging/speakup/speakup_dectlk.c24
-rw-r--r--drivers/staging/speakup/speakup_dtlk.c28
-rw-r--r--drivers/staging/speakup/speakup_dummy.c22
-rw-r--r--drivers/staging/speakup/speakup_keypc.c18
-rw-r--r--drivers/staging/speakup/speakup_ltlk.c28
-rw-r--r--drivers/staging/speakup/speakup_soft.c30
-rw-r--r--drivers/staging/speakup/speakup_spkout.c24
-rw-r--r--drivers/staging/speakup/speakup_txprt.c22
17 files changed, 210 insertions, 212 deletions
diff --git a/drivers/staging/speakup/kobjects.c b/drivers/staging/speakup/kobjects.c
index e2f597ee6261..1ca91f7092b1 100644
--- a/drivers/staging/speakup/kobjects.c
+++ b/drivers/staging/speakup/kobjects.c
@@ -851,75 +851,75 @@ static ssize_t message_store(struct kobject *kobj, struct kobj_attribute *attr,
851 * Declare the attributes. 851 * Declare the attributes.
852 */ 852 */
853static struct kobj_attribute keymap_attribute = 853static struct kobj_attribute keymap_attribute =
854 __ATTR(keymap, ROOT_W, keymap_show, keymap_store); 854 __ATTR(keymap, S_IWUSR|S_IRUGO, keymap_show, keymap_store);
855static struct kobj_attribute silent_attribute = 855static struct kobj_attribute silent_attribute =
856 __ATTR(silent, USER_W, NULL, silent_store); 856 __ATTR(silent, S_IWUGO, NULL, silent_store);
857static struct kobj_attribute synth_attribute = 857static struct kobj_attribute synth_attribute =
858 __ATTR(synth, USER_RW, synth_show, synth_store); 858 __ATTR(synth, S_IWUGO|S_IRUGO, synth_show, synth_store);
859static struct kobj_attribute synth_direct_attribute = 859static struct kobj_attribute synth_direct_attribute =
860 __ATTR(synth_direct, USER_W, NULL, synth_direct_store); 860 __ATTR(synth_direct, S_IWUGO, NULL, synth_direct_store);
861static struct kobj_attribute version_attribute = 861static struct kobj_attribute version_attribute =
862 __ATTR_RO(version); 862 __ATTR_RO(version);
863 863
864static struct kobj_attribute delimiters_attribute = 864static struct kobj_attribute delimiters_attribute =
865 __ATTR(delimiters, USER_RW, punc_show, punc_store); 865 __ATTR(delimiters, S_IWUGO|S_IRUGO, punc_show, punc_store);
866static struct kobj_attribute ex_num_attribute = 866static struct kobj_attribute ex_num_attribute =
867 __ATTR(ex_num, USER_RW, punc_show, punc_store); 867 __ATTR(ex_num, S_IWUGO|S_IRUGO, punc_show, punc_store);
868static struct kobj_attribute punc_all_attribute = 868static struct kobj_attribute punc_all_attribute =
869 __ATTR(punc_all, USER_RW, punc_show, punc_store); 869 __ATTR(punc_all, S_IWUGO|S_IRUGO, punc_show, punc_store);
870static struct kobj_attribute punc_most_attribute = 870static struct kobj_attribute punc_most_attribute =
871 __ATTR(punc_most, USER_RW, punc_show, punc_store); 871 __ATTR(punc_most, S_IWUGO|S_IRUGO, punc_show, punc_store);
872static struct kobj_attribute punc_some_attribute = 872static struct kobj_attribute punc_some_attribute =
873 __ATTR(punc_some, USER_RW, punc_show, punc_store); 873 __ATTR(punc_some, S_IWUGO|S_IRUGO, punc_show, punc_store);
874static struct kobj_attribute repeats_attribute = 874static struct kobj_attribute repeats_attribute =
875 __ATTR(repeats, USER_RW, punc_show, punc_store); 875 __ATTR(repeats, S_IWUGO|S_IRUGO, punc_show, punc_store);
876 876
877static struct kobj_attribute attrib_bleep_attribute = 877static struct kobj_attribute attrib_bleep_attribute =
878 __ATTR(attrib_bleep, USER_RW, spk_var_show, spk_var_store); 878 __ATTR(attrib_bleep, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
879static struct kobj_attribute bell_pos_attribute = 879static struct kobj_attribute bell_pos_attribute =
880 __ATTR(bell_pos, USER_RW, spk_var_show, spk_var_store); 880 __ATTR(bell_pos, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
881static struct kobj_attribute bleep_time_attribute = 881static struct kobj_attribute bleep_time_attribute =
882 __ATTR(bleep_time, USER_RW, spk_var_show, spk_var_store); 882 __ATTR(bleep_time, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
883static struct kobj_attribute bleeps_attribute = 883static struct kobj_attribute bleeps_attribute =
884 __ATTR(bleeps, USER_RW, spk_var_show, spk_var_store); 884 __ATTR(bleeps, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
885static struct kobj_attribute cursor_time_attribute = 885static struct kobj_attribute cursor_time_attribute =
886 __ATTR(cursor_time, USER_RW, spk_var_show, spk_var_store); 886 __ATTR(cursor_time, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
887static struct kobj_attribute key_echo_attribute = 887static struct kobj_attribute key_echo_attribute =
888 __ATTR(key_echo, USER_RW, spk_var_show, spk_var_store); 888 __ATTR(key_echo, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
889static struct kobj_attribute no_interrupt_attribute = 889static struct kobj_attribute no_interrupt_attribute =
890 __ATTR(no_interrupt, USER_RW, spk_var_show, spk_var_store); 890 __ATTR(no_interrupt, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
891static struct kobj_attribute punc_level_attribute = 891static struct kobj_attribute punc_level_attribute =
892 __ATTR(punc_level, USER_RW, spk_var_show, spk_var_store); 892 __ATTR(punc_level, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
893static struct kobj_attribute reading_punc_attribute = 893static struct kobj_attribute reading_punc_attribute =
894 __ATTR(reading_punc, USER_RW, spk_var_show, spk_var_store); 894 __ATTR(reading_punc, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
895static struct kobj_attribute say_control_attribute = 895static struct kobj_attribute say_control_attribute =
896 __ATTR(say_control, USER_RW, spk_var_show, spk_var_store); 896 __ATTR(say_control, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
897static struct kobj_attribute say_word_ctl_attribute = 897static struct kobj_attribute say_word_ctl_attribute =
898 __ATTR(say_word_ctl, USER_RW, spk_var_show, spk_var_store); 898 __ATTR(say_word_ctl, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
899static struct kobj_attribute spell_delay_attribute = 899static struct kobj_attribute spell_delay_attribute =
900 __ATTR(spell_delay, USER_RW, spk_var_show, spk_var_store); 900 __ATTR(spell_delay, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
901 901
902/* 902/*
903 * These attributes are i18n related. 903 * These attributes are i18n related.
904 */ 904 */
905static struct kobj_attribute announcements_attribute = 905static struct kobj_attribute announcements_attribute =
906 __ATTR(announcements, USER_RW, message_show, message_store); 906 __ATTR(announcements, S_IWUGO|S_IRUGO, message_show, message_store);
907static struct kobj_attribute characters_attribute = 907static struct kobj_attribute characters_attribute =
908 __ATTR(characters, USER_RW, chars_chartab_show, chars_chartab_store); 908 __ATTR(characters, S_IWUGO|S_IRUGO, chars_chartab_show, chars_chartab_store);
909static struct kobj_attribute chartab_attribute = 909static struct kobj_attribute chartab_attribute =
910 __ATTR(chartab, USER_RW, chars_chartab_show, chars_chartab_store); 910 __ATTR(chartab, S_IWUGO|S_IRUGO, chars_chartab_show, chars_chartab_store);
911static struct kobj_attribute ctl_keys_attribute = 911static struct kobj_attribute ctl_keys_attribute =
912 __ATTR(ctl_keys, USER_RW, message_show, message_store); 912 __ATTR(ctl_keys, S_IWUGO|S_IRUGO, message_show, message_store);
913static struct kobj_attribute colors_attribute = 913static struct kobj_attribute colors_attribute =
914 __ATTR(colors, USER_RW, message_show, message_store); 914 __ATTR(colors, S_IWUGO|S_IRUGO, message_show, message_store);
915static struct kobj_attribute formatted_attribute = 915static struct kobj_attribute formatted_attribute =
916 __ATTR(formatted, USER_RW, message_show, message_store); 916 __ATTR(formatted, S_IWUGO|S_IRUGO, message_show, message_store);
917static struct kobj_attribute function_names_attribute = 917static struct kobj_attribute function_names_attribute =
918 __ATTR(function_names, USER_RW, message_show, message_store); 918 __ATTR(function_names, S_IWUGO|S_IRUGO, message_show, message_store);
919static struct kobj_attribute key_names_attribute = 919static struct kobj_attribute key_names_attribute =
920 __ATTR(key_names, USER_RW, message_show, message_store); 920 __ATTR(key_names, S_IWUGO|S_IRUGO, message_show, message_store);
921static struct kobj_attribute states_attribute = 921static struct kobj_attribute states_attribute =
922 __ATTR(states, USER_RW, message_show, message_store); 922 __ATTR(states, S_IWUGO|S_IRUGO, message_show, message_store);
923 923
924/* 924/*
925 * Create groups of attributes so that we can create and destroy them all 925 * Create groups of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup.h b/drivers/staging/speakup/speakup.h
index 0126f714821a..a7bcceec436a 100644
--- a/drivers/staging/speakup/speakup.h
+++ b/drivers/staging/speakup/speakup.h
@@ -12,8 +12,6 @@
12/* proc permissions */ 12/* proc permissions */
13#define USER_R (S_IFREG|S_IRUGO) 13#define USER_R (S_IFREG|S_IRUGO)
14#define USER_W (S_IFREG|S_IWUGO) 14#define USER_W (S_IFREG|S_IWUGO)
15#define USER_RW (S_IFREG|S_IRUGO|S_IWUGO)
16#define ROOT_W (S_IFREG|S_IRUGO|S_IWUSR)
17 15
18#define TOGGLE_0 .u.n = {NULL, 0, 0, 1, 0, 0, NULL } 16#define TOGGLE_0 .u.n = {NULL, 0, 0, 1, 0, 0, NULL }
19#define TOGGLE_1 .u.n = {NULL, 1, 0, 1, 0, 0, NULL } 17#define TOGGLE_1 .u.n = {NULL, 1, 0, 1, 0, 0, NULL }
diff --git a/drivers/staging/speakup/speakup_acntpc.c b/drivers/staging/speakup/speakup_acntpc.c
index 1c8a7f4a0ef5..e7dfa434bd96 100644
--- a/drivers/staging/speakup/speakup_acntpc.c
+++ b/drivers/staging/speakup/speakup_acntpc.c
@@ -62,28 +62,28 @@ static struct var_t vars[] = {
62 * These attributes will appear in /sys/accessibility/speakup/acntpc. 62 * These attributes will appear in /sys/accessibility/speakup/acntpc.
63 */ 63 */
64static struct kobj_attribute caps_start_attribute = 64static struct kobj_attribute caps_start_attribute =
65 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 65 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
66static struct kobj_attribute caps_stop_attribute = 66static struct kobj_attribute caps_stop_attribute =
67 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 67 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
68static struct kobj_attribute pitch_attribute = 68static struct kobj_attribute pitch_attribute =
69 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 69 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
70static struct kobj_attribute rate_attribute = 70static struct kobj_attribute rate_attribute =
71 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 71 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
72static struct kobj_attribute tone_attribute = 72static struct kobj_attribute tone_attribute =
73 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 73 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute vol_attribute = 74static struct kobj_attribute vol_attribute =
75 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 75 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
76 76
77static struct kobj_attribute delay_time_attribute = 77static struct kobj_attribute delay_time_attribute =
78 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 78 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
79static struct kobj_attribute direct_attribute = 79static struct kobj_attribute direct_attribute =
80 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 80 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
81static struct kobj_attribute full_time_attribute = 81static struct kobj_attribute full_time_attribute =
82 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 82 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
83static struct kobj_attribute jiffy_delta_attribute = 83static struct kobj_attribute jiffy_delta_attribute =
84 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 84 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
85static struct kobj_attribute trigger_time_attribute = 85static struct kobj_attribute trigger_time_attribute =
86 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 86 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
87 87
88/* 88/*
89 * Create a group of attributes so that we can create and destroy them all 89 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_acntsa.c b/drivers/staging/speakup/speakup_acntsa.c
index 22a8b7291098..c7f014ed9628 100644
--- a/drivers/staging/speakup/speakup_acntsa.c
+++ b/drivers/staging/speakup/speakup_acntsa.c
@@ -47,28 +47,28 @@ static struct var_t vars[] = {
47 * These attributes will appear in /sys/accessibility/speakup/acntsa. 47 * These attributes will appear in /sys/accessibility/speakup/acntsa.
48 */ 48 */
49static struct kobj_attribute caps_start_attribute = 49static struct kobj_attribute caps_start_attribute =
50 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 50 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
51static struct kobj_attribute caps_stop_attribute = 51static struct kobj_attribute caps_stop_attribute =
52 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 52 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
53static struct kobj_attribute pitch_attribute = 53static struct kobj_attribute pitch_attribute =
54 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 54 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
55static struct kobj_attribute rate_attribute = 55static struct kobj_attribute rate_attribute =
56 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 56 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
57static struct kobj_attribute tone_attribute = 57static struct kobj_attribute tone_attribute =
58 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 58 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
59static struct kobj_attribute vol_attribute = 59static struct kobj_attribute vol_attribute =
60 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 60 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
61 61
62static struct kobj_attribute delay_time_attribute = 62static struct kobj_attribute delay_time_attribute =
63 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 63 __ATTR(delay_time, S_IRUSR|S_IRUGO, spk_var_show, spk_var_store);
64static struct kobj_attribute direct_attribute = 64static struct kobj_attribute direct_attribute =
65 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 65 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
66static struct kobj_attribute full_time_attribute = 66static struct kobj_attribute full_time_attribute =
67 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 67 __ATTR(full_time, S_IRUSR|S_IRUGO, spk_var_show, spk_var_store);
68static struct kobj_attribute jiffy_delta_attribute = 68static struct kobj_attribute jiffy_delta_attribute =
69 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 69 __ATTR(jiffy_delta, S_IRUSR|S_IRUGO, spk_var_show, spk_var_store);
70static struct kobj_attribute trigger_time_attribute = 70static struct kobj_attribute trigger_time_attribute =
71 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 71 __ATTR(trigger_time, S_IRUSR|S_IRUGO, spk_var_show, spk_var_store);
72 72
73/* 73/*
74 * Create a group of attributes so that we can create and destroy them all 74 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_apollo.c b/drivers/staging/speakup/speakup_apollo.c
index 70cf1591676a..38c8c2221e4e 100644
--- a/drivers/staging/speakup/speakup_apollo.c
+++ b/drivers/staging/speakup/speakup_apollo.c
@@ -53,30 +53,30 @@ static struct var_t vars[] = {
53 * These attributes will appear in /sys/accessibility/speakup/apollo. 53 * These attributes will appear in /sys/accessibility/speakup/apollo.
54 */ 54 */
55static struct kobj_attribute caps_start_attribute = 55static struct kobj_attribute caps_start_attribute =
56 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 56 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
57static struct kobj_attribute caps_stop_attribute = 57static struct kobj_attribute caps_stop_attribute =
58 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 58 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
59static struct kobj_attribute lang_attribute = 59static struct kobj_attribute lang_attribute =
60 __ATTR(lang, USER_RW, spk_var_show, spk_var_store); 60 __ATTR(lang, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
61static struct kobj_attribute pitch_attribute = 61static struct kobj_attribute pitch_attribute =
62 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 62 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute rate_attribute = 63static struct kobj_attribute rate_attribute =
64 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 64 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute voice_attribute = 65static struct kobj_attribute voice_attribute =
66 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 66 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute vol_attribute = 67static struct kobj_attribute vol_attribute =
68 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 68 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
69 69
70static struct kobj_attribute delay_time_attribute = 70static struct kobj_attribute delay_time_attribute =
71 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 71 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
72static struct kobj_attribute direct_attribute = 72static struct kobj_attribute direct_attribute =
73 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 73 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute full_time_attribute = 74static struct kobj_attribute full_time_attribute =
75 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 75 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
76static struct kobj_attribute jiffy_delta_attribute = 76static struct kobj_attribute jiffy_delta_attribute =
77 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 77 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
78static struct kobj_attribute trigger_time_attribute = 78static struct kobj_attribute trigger_time_attribute =
79 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 79 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
80 80
81/* 81/*
82 * Create a group of attributes so that we can create and destroy them all 82 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_audptr.c b/drivers/staging/speakup/speakup_audptr.c
index 61a3ceeb0d3a..de5b4a5f43b6 100644
--- a/drivers/staging/speakup/speakup_audptr.c
+++ b/drivers/staging/speakup/speakup_audptr.c
@@ -49,30 +49,30 @@ static struct var_t vars[] = {
49 * These attributes will appear in /sys/accessibility/speakup/audptr. 49 * These attributes will appear in /sys/accessibility/speakup/audptr.
50 */ 50 */
51static struct kobj_attribute caps_start_attribute = 51static struct kobj_attribute caps_start_attribute =
52 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 52 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
53static struct kobj_attribute caps_stop_attribute = 53static struct kobj_attribute caps_stop_attribute =
54 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 54 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
55static struct kobj_attribute pitch_attribute = 55static struct kobj_attribute pitch_attribute =
56 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 56 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
57static struct kobj_attribute punct_attribute = 57static struct kobj_attribute punct_attribute =
58 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 58 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
59static struct kobj_attribute rate_attribute = 59static struct kobj_attribute rate_attribute =
60 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 60 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
61static struct kobj_attribute tone_attribute = 61static struct kobj_attribute tone_attribute =
62 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 62 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute vol_attribute = 63static struct kobj_attribute vol_attribute =
64 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 64 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
65 65
66static struct kobj_attribute delay_time_attribute = 66static struct kobj_attribute delay_time_attribute =
67 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 67 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
68static struct kobj_attribute direct_attribute = 68static struct kobj_attribute direct_attribute =
69 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 69 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
70static struct kobj_attribute full_time_attribute = 70static struct kobj_attribute full_time_attribute =
71 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 71 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
72static struct kobj_attribute jiffy_delta_attribute = 72static struct kobj_attribute jiffy_delta_attribute =
73 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 73 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute trigger_time_attribute = 74static struct kobj_attribute trigger_time_attribute =
75 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 75 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
76 76
77/* 77/*
78 * Create a group of attributes so that we can create and destroy them all 78 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_bns.c b/drivers/staging/speakup/speakup_bns.c
index 4bfe3d458dc0..4939e8c7272e 100644
--- a/drivers/staging/speakup/speakup_bns.c
+++ b/drivers/staging/speakup/speakup_bns.c
@@ -44,28 +44,28 @@ static struct var_t vars[] = {
44 * These attributes will appear in /sys/accessibility/speakup/bns. 44 * These attributes will appear in /sys/accessibility/speakup/bns.
45 */ 45 */
46static struct kobj_attribute caps_start_attribute = 46static struct kobj_attribute caps_start_attribute =
47 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 47 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
48static struct kobj_attribute caps_stop_attribute = 48static struct kobj_attribute caps_stop_attribute =
49 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 49 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
50static struct kobj_attribute pitch_attribute = 50static struct kobj_attribute pitch_attribute =
51 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 51 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
52static struct kobj_attribute rate_attribute = 52static struct kobj_attribute rate_attribute =
53 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 53 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
54static struct kobj_attribute tone_attribute = 54static struct kobj_attribute tone_attribute =
55 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 55 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
56static struct kobj_attribute vol_attribute = 56static struct kobj_attribute vol_attribute =
57 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 57 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
58 58
59static struct kobj_attribute delay_time_attribute = 59static struct kobj_attribute delay_time_attribute =
60 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 60 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
61static struct kobj_attribute direct_attribute = 61static struct kobj_attribute direct_attribute =
62 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 62 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute full_time_attribute = 63static struct kobj_attribute full_time_attribute =
64 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 64 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute jiffy_delta_attribute = 65static struct kobj_attribute jiffy_delta_attribute =
66 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 66 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute trigger_time_attribute = 67static struct kobj_attribute trigger_time_attribute =
68 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 68 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
69 69
70/* 70/*
71 * Create a group of attributes so that we can create and destroy them all 71 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_decext.c b/drivers/staging/speakup/speakup_decext.c
index d306e010d3ea..b17af9803929 100644
--- a/drivers/staging/speakup/speakup_decext.c
+++ b/drivers/staging/speakup/speakup_decext.c
@@ -70,30 +70,30 @@ static struct var_t vars[] = {
70 * These attributes will appear in /sys/accessibility/speakup/decext. 70 * These attributes will appear in /sys/accessibility/speakup/decext.
71 */ 71 */
72static struct kobj_attribute caps_start_attribute = 72static struct kobj_attribute caps_start_attribute =
73 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 73 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute caps_stop_attribute = 74static struct kobj_attribute caps_stop_attribute =
75 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 75 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
76static struct kobj_attribute pitch_attribute = 76static struct kobj_attribute pitch_attribute =
77 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 77 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
78static struct kobj_attribute punct_attribute = 78static struct kobj_attribute punct_attribute =
79 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 79 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
80static struct kobj_attribute rate_attribute = 80static struct kobj_attribute rate_attribute =
81 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 81 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
82static struct kobj_attribute voice_attribute = 82static struct kobj_attribute voice_attribute =
83 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 83 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
84static struct kobj_attribute vol_attribute = 84static struct kobj_attribute vol_attribute =
85 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 85 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
86 86
87static struct kobj_attribute delay_time_attribute = 87static struct kobj_attribute delay_time_attribute =
88 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 88 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
89static struct kobj_attribute direct_attribute = 89static struct kobj_attribute direct_attribute =
90 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 90 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
91static struct kobj_attribute full_time_attribute = 91static struct kobj_attribute full_time_attribute =
92 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 92 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
93static struct kobj_attribute jiffy_delta_attribute = 93static struct kobj_attribute jiffy_delta_attribute =
94 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 94 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
95static struct kobj_attribute trigger_time_attribute = 95static struct kobj_attribute trigger_time_attribute =
96 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 96 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
97 97
98/* 98/*
99 * Create a group of attributes so that we can create and destroy them all 99 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_decpc.c b/drivers/staging/speakup/speakup_decpc.c
index ea6b72d40b31..cfa4bc032358 100644
--- a/drivers/staging/speakup/speakup_decpc.c
+++ b/drivers/staging/speakup/speakup_decpc.c
@@ -164,30 +164,30 @@ static struct var_t vars[] = {
164 * These attributes will appear in /sys/accessibility/speakup/decpc. 164 * These attributes will appear in /sys/accessibility/speakup/decpc.
165 */ 165 */
166static struct kobj_attribute caps_start_attribute = 166static struct kobj_attribute caps_start_attribute =
167 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 167 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
168static struct kobj_attribute caps_stop_attribute = 168static struct kobj_attribute caps_stop_attribute =
169 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 169 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
170static struct kobj_attribute pitch_attribute = 170static struct kobj_attribute pitch_attribute =
171 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 171 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
172static struct kobj_attribute punct_attribute = 172static struct kobj_attribute punct_attribute =
173 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 173 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
174static struct kobj_attribute rate_attribute = 174static struct kobj_attribute rate_attribute =
175 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 175 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
176static struct kobj_attribute voice_attribute = 176static struct kobj_attribute voice_attribute =
177 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 177 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
178static struct kobj_attribute vol_attribute = 178static struct kobj_attribute vol_attribute =
179 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 179 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
180 180
181static struct kobj_attribute delay_time_attribute = 181static struct kobj_attribute delay_time_attribute =
182 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 182 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
183static struct kobj_attribute direct_attribute = 183static struct kobj_attribute direct_attribute =
184 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 184 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
185static struct kobj_attribute full_time_attribute = 185static struct kobj_attribute full_time_attribute =
186 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 186 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
187static struct kobj_attribute jiffy_delta_attribute = 187static struct kobj_attribute jiffy_delta_attribute =
188 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 188 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
189static struct kobj_attribute trigger_time_attribute = 189static struct kobj_attribute trigger_time_attribute =
190 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 190 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
191 191
192/* 192/*
193 * Create a group of attributes so that we can create and destroy them all 193 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_dectlk.c b/drivers/staging/speakup/speakup_dectlk.c
index 15fdec323a70..0a27c8f32bb9 100644
--- a/drivers/staging/speakup/speakup_dectlk.c
+++ b/drivers/staging/speakup/speakup_dectlk.c
@@ -70,30 +70,30 @@ static struct var_t vars[] = {
70 * These attributes will appear in /sys/accessibility/speakup/dectlk. 70 * These attributes will appear in /sys/accessibility/speakup/dectlk.
71 */ 71 */
72static struct kobj_attribute caps_start_attribute = 72static struct kobj_attribute caps_start_attribute =
73 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 73 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute caps_stop_attribute = 74static struct kobj_attribute caps_stop_attribute =
75 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 75 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
76static struct kobj_attribute pitch_attribute = 76static struct kobj_attribute pitch_attribute =
77 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 77 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
78static struct kobj_attribute punct_attribute = 78static struct kobj_attribute punct_attribute =
79 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 79 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
80static struct kobj_attribute rate_attribute = 80static struct kobj_attribute rate_attribute =
81 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 81 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
82static struct kobj_attribute voice_attribute = 82static struct kobj_attribute voice_attribute =
83 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 83 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
84static struct kobj_attribute vol_attribute = 84static struct kobj_attribute vol_attribute =
85 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 85 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
86 86
87static struct kobj_attribute delay_time_attribute = 87static struct kobj_attribute delay_time_attribute =
88 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 88 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
89static struct kobj_attribute direct_attribute = 89static struct kobj_attribute direct_attribute =
90 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 90 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
91static struct kobj_attribute full_time_attribute = 91static struct kobj_attribute full_time_attribute =
92 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 92 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
93static struct kobj_attribute jiffy_delta_attribute = 93static struct kobj_attribute jiffy_delta_attribute =
94 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 94 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
95static struct kobj_attribute trigger_time_attribute = 95static struct kobj_attribute trigger_time_attribute =
96 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 96 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
97 97
98/* 98/*
99 * Create a group of attributes so that we can create and destroy them all 99 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_dtlk.c b/drivers/staging/speakup/speakup_dtlk.c
index 1feb0fba1b43..5c6c34191e8d 100644
--- a/drivers/staging/speakup/speakup_dtlk.c
+++ b/drivers/staging/speakup/speakup_dtlk.c
@@ -67,34 +67,34 @@ static struct var_t vars[] = {
67 * These attributes will appear in /sys/accessibility/speakup/dtlk. 67 * These attributes will appear in /sys/accessibility/speakup/dtlk.
68 */ 68 */
69static struct kobj_attribute caps_start_attribute = 69static struct kobj_attribute caps_start_attribute =
70 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 70 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
71static struct kobj_attribute caps_stop_attribute = 71static struct kobj_attribute caps_stop_attribute =
72 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 72 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
73static struct kobj_attribute freq_attribute = 73static struct kobj_attribute freq_attribute =
74 __ATTR(freq, USER_RW, spk_var_show, spk_var_store); 74 __ATTR(freq, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
75static struct kobj_attribute pitch_attribute = 75static struct kobj_attribute pitch_attribute =
76 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 76 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
77static struct kobj_attribute punct_attribute = 77static struct kobj_attribute punct_attribute =
78 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 78 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
79static struct kobj_attribute rate_attribute = 79static struct kobj_attribute rate_attribute =
80 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 80 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
81static struct kobj_attribute tone_attribute = 81static struct kobj_attribute tone_attribute =
82 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 82 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
83static struct kobj_attribute voice_attribute = 83static struct kobj_attribute voice_attribute =
84 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 84 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
85static struct kobj_attribute vol_attribute = 85static struct kobj_attribute vol_attribute =
86 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 86 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
87 87
88static struct kobj_attribute delay_time_attribute = 88static struct kobj_attribute delay_time_attribute =
89 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 89 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
90static struct kobj_attribute direct_attribute = 90static struct kobj_attribute direct_attribute =
91 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 91 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
92static struct kobj_attribute full_time_attribute = 92static struct kobj_attribute full_time_attribute =
93 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 93 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
94static struct kobj_attribute jiffy_delta_attribute = 94static struct kobj_attribute jiffy_delta_attribute =
95 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 95 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
96static struct kobj_attribute trigger_time_attribute = 96static struct kobj_attribute trigger_time_attribute =
97 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 97 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
98 98
99/* 99/*
100 * Create a group of attributes so that we can create and destroy them all 100 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_dummy.c b/drivers/staging/speakup/speakup_dummy.c
index 4a24b9c1e8e3..e19e9994bbb5 100644
--- a/drivers/staging/speakup/speakup_dummy.c
+++ b/drivers/staging/speakup/speakup_dummy.c
@@ -46,28 +46,28 @@ static struct var_t vars[] = {
46 * These attributes will appear in /sys/accessibility/speakup/dummy. 46 * These attributes will appear in /sys/accessibility/speakup/dummy.
47 */ 47 */
48static struct kobj_attribute caps_start_attribute = 48static struct kobj_attribute caps_start_attribute =
49 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 49 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
50static struct kobj_attribute caps_stop_attribute = 50static struct kobj_attribute caps_stop_attribute =
51 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 51 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
52static struct kobj_attribute pitch_attribute = 52static struct kobj_attribute pitch_attribute =
53 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 53 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
54static struct kobj_attribute rate_attribute = 54static struct kobj_attribute rate_attribute =
55 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 55 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
56static struct kobj_attribute tone_attribute = 56static struct kobj_attribute tone_attribute =
57 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 57 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
58static struct kobj_attribute vol_attribute = 58static struct kobj_attribute vol_attribute =
59 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 59 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
60 60
61static struct kobj_attribute delay_time_attribute = 61static struct kobj_attribute delay_time_attribute =
62 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 62 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute direct_attribute = 63static struct kobj_attribute direct_attribute =
64 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 64 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute full_time_attribute = 65static struct kobj_attribute full_time_attribute =
66 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 66 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute jiffy_delta_attribute = 67static struct kobj_attribute jiffy_delta_attribute =
68 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 68 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
69static struct kobj_attribute trigger_time_attribute = 69static struct kobj_attribute trigger_time_attribute =
70 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 70 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
71 71
72/* 72/*
73 * Create a group of attributes so that we can create and destroy them all 73 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_keypc.c b/drivers/staging/speakup/speakup_keypc.c
index 2f2fe5eeff63..9c246d701a95 100644
--- a/drivers/staging/speakup/speakup_keypc.c
+++ b/drivers/staging/speakup/speakup_keypc.c
@@ -59,24 +59,24 @@ static struct var_t vars[] = {
59 * These attributes will appear in /sys/accessibility/speakup/keypc. 59 * These attributes will appear in /sys/accessibility/speakup/keypc.
60 */ 60 */
61static struct kobj_attribute caps_start_attribute = 61static struct kobj_attribute caps_start_attribute =
62 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 62 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute caps_stop_attribute = 63static struct kobj_attribute caps_stop_attribute =
64 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 64 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute pitch_attribute = 65static struct kobj_attribute pitch_attribute =
66 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 66 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute rate_attribute = 67static struct kobj_attribute rate_attribute =
68 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 68 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
69 69
70static struct kobj_attribute delay_time_attribute = 70static struct kobj_attribute delay_time_attribute =
71 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 71 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
72static struct kobj_attribute direct_attribute = 72static struct kobj_attribute direct_attribute =
73 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 73 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
74static struct kobj_attribute full_time_attribute = 74static struct kobj_attribute full_time_attribute =
75 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 75 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
76static struct kobj_attribute jiffy_delta_attribute = 76static struct kobj_attribute jiffy_delta_attribute =
77 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 77 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
78static struct kobj_attribute trigger_time_attribute = 78static struct kobj_attribute trigger_time_attribute =
79 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 79 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
80 80
81/* 81/*
82 * Create a group of attributes so that we can create and destroy them all 82 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_ltlk.c b/drivers/staging/speakup/speakup_ltlk.c
index 326f94d6b079..c9be6f52c254 100644
--- a/drivers/staging/speakup/speakup_ltlk.c
+++ b/drivers/staging/speakup/speakup_ltlk.c
@@ -50,34 +50,34 @@ static struct var_t vars[] = {
50 * These attributes will appear in /sys/accessibility/speakup/ltlk. 50 * These attributes will appear in /sys/accessibility/speakup/ltlk.
51 */ 51 */
52static struct kobj_attribute caps_start_attribute = 52static struct kobj_attribute caps_start_attribute =
53 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 53 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
54static struct kobj_attribute caps_stop_attribute = 54static struct kobj_attribute caps_stop_attribute =
55 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 55 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
56static struct kobj_attribute freq_attribute = 56static struct kobj_attribute freq_attribute =
57 __ATTR(freq, USER_RW, spk_var_show, spk_var_store); 57 __ATTR(freq, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
58static struct kobj_attribute pitch_attribute = 58static struct kobj_attribute pitch_attribute =
59 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 59 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
60static struct kobj_attribute punct_attribute = 60static struct kobj_attribute punct_attribute =
61 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 61 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
62static struct kobj_attribute rate_attribute = 62static struct kobj_attribute rate_attribute =
63 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 63 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
64static struct kobj_attribute tone_attribute = 64static struct kobj_attribute tone_attribute =
65 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 65 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
66static struct kobj_attribute voice_attribute = 66static struct kobj_attribute voice_attribute =
67 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 67 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
68static struct kobj_attribute vol_attribute = 68static struct kobj_attribute vol_attribute =
69 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 69 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
70 70
71static struct kobj_attribute delay_time_attribute = 71static struct kobj_attribute delay_time_attribute =
72 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 72 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
73static struct kobj_attribute direct_attribute = 73static struct kobj_attribute direct_attribute =
74 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 74 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
75static struct kobj_attribute full_time_attribute = 75static struct kobj_attribute full_time_attribute =
76 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 76 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
77static struct kobj_attribute jiffy_delta_attribute = 77static struct kobj_attribute jiffy_delta_attribute =
78 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 78 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
79static struct kobj_attribute trigger_time_attribute = 79static struct kobj_attribute trigger_time_attribute =
80 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 80 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
81 81
82/* 82/*
83 * Create a group of attributes so that we can create and destroy them all 83 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_soft.c b/drivers/staging/speakup/speakup_soft.c
index 243c3d52fe5e..ee6089502a96 100644
--- a/drivers/staging/speakup/speakup_soft.c
+++ b/drivers/staging/speakup/speakup_soft.c
@@ -61,41 +61,41 @@ static struct var_t vars[] = {
61 * These attributes will appear in /sys/accessibility/speakup/soft. 61 * These attributes will appear in /sys/accessibility/speakup/soft.
62 */ 62 */
63static struct kobj_attribute caps_start_attribute = 63static struct kobj_attribute caps_start_attribute =
64 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 64 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute caps_stop_attribute = 65static struct kobj_attribute caps_stop_attribute =
66 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 66 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute freq_attribute = 67static struct kobj_attribute freq_attribute =
68 __ATTR(freq, USER_RW, spk_var_show, spk_var_store); 68 __ATTR(freq, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
69static struct kobj_attribute pitch_attribute = 69static struct kobj_attribute pitch_attribute =
70 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 70 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
71static struct kobj_attribute punct_attribute = 71static struct kobj_attribute punct_attribute =
72 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 72 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
73static struct kobj_attribute rate_attribute = 73static struct kobj_attribute rate_attribute =
74 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 74 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
75static struct kobj_attribute tone_attribute = 75static struct kobj_attribute tone_attribute =
76 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 76 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
77static struct kobj_attribute voice_attribute = 77static struct kobj_attribute voice_attribute =
78 __ATTR(voice, USER_RW, spk_var_show, spk_var_store); 78 __ATTR(voice, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
79static struct kobj_attribute vol_attribute = 79static struct kobj_attribute vol_attribute =
80 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 80 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
81 81
82/* 82/*
83 * We should uncomment the following definition, when we agree on a 83 * We should uncomment the following definition, when we agree on a
84 * method of passing a language designation to the software synthesizer. 84 * method of passing a language designation to the software synthesizer.
85 * static struct kobj_attribute lang_attribute = 85 * static struct kobj_attribute lang_attribute =
86 * __ATTR(lang, USER_RW, spk_var_show, spk_var_store); 86 * __ATTR(lang, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
87 */ 87 */
88 88
89static struct kobj_attribute delay_time_attribute = 89static struct kobj_attribute delay_time_attribute =
90 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 90 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
91static struct kobj_attribute direct_attribute = 91static struct kobj_attribute direct_attribute =
92 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 92 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
93static struct kobj_attribute full_time_attribute = 93static struct kobj_attribute full_time_attribute =
94 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 94 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
95static struct kobj_attribute jiffy_delta_attribute = 95static struct kobj_attribute jiffy_delta_attribute =
96 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 96 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
97static struct kobj_attribute trigger_time_attribute = 97static struct kobj_attribute trigger_time_attribute =
98 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 98 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
99 99
100/* 100/*
101 * Create a group of attributes so that we can create and destroy them all 101 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_spkout.c b/drivers/staging/speakup/speakup_spkout.c
index e74f85620c68..711cf114df83 100644
--- a/drivers/staging/speakup/speakup_spkout.c
+++ b/drivers/staging/speakup/speakup_spkout.c
@@ -48,30 +48,30 @@ static struct var_t vars[] = {
48 * These attributes will appear in /sys/accessibility/speakup/spkout. 48 * These attributes will appear in /sys/accessibility/speakup/spkout.
49 */ 49 */
50static struct kobj_attribute caps_start_attribute = 50static struct kobj_attribute caps_start_attribute =
51 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 51 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
52static struct kobj_attribute caps_stop_attribute = 52static struct kobj_attribute caps_stop_attribute =
53 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 53 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
54static struct kobj_attribute pitch_attribute = 54static struct kobj_attribute pitch_attribute =
55 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 55 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
56static struct kobj_attribute punct_attribute = 56static struct kobj_attribute punct_attribute =
57 __ATTR(punct, USER_RW, spk_var_show, spk_var_store); 57 __ATTR(punct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
58static struct kobj_attribute rate_attribute = 58static struct kobj_attribute rate_attribute =
59 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 59 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
60static struct kobj_attribute tone_attribute = 60static struct kobj_attribute tone_attribute =
61 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 61 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
62static struct kobj_attribute vol_attribute = 62static struct kobj_attribute vol_attribute =
63 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 63 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
64 64
65static struct kobj_attribute delay_time_attribute = 65static struct kobj_attribute delay_time_attribute =
66 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 66 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute direct_attribute = 67static struct kobj_attribute direct_attribute =
68 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 68 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
69static struct kobj_attribute full_time_attribute = 69static struct kobj_attribute full_time_attribute =
70 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 70 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
71static struct kobj_attribute jiffy_delta_attribute = 71static struct kobj_attribute jiffy_delta_attribute =
72 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 72 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
73static struct kobj_attribute trigger_time_attribute = 73static struct kobj_attribute trigger_time_attribute =
74 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 74 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
75 75
76/* 76/*
77 * Create a group of attributes so that we can create and destroy them all 77 * Create a group of attributes so that we can create and destroy them all
diff --git a/drivers/staging/speakup/speakup_txprt.c b/drivers/staging/speakup/speakup_txprt.c
index 5a29b9fcc930..3f0be04df071 100644
--- a/drivers/staging/speakup/speakup_txprt.c
+++ b/drivers/staging/speakup/speakup_txprt.c
@@ -44,28 +44,28 @@ static struct var_t vars[] = {
44 * These attributes will appear in /sys/accessibility/speakup/txprt. 44 * These attributes will appear in /sys/accessibility/speakup/txprt.
45 */ 45 */
46static struct kobj_attribute caps_start_attribute = 46static struct kobj_attribute caps_start_attribute =
47 __ATTR(caps_start, USER_RW, spk_var_show, spk_var_store); 47 __ATTR(caps_start, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
48static struct kobj_attribute caps_stop_attribute = 48static struct kobj_attribute caps_stop_attribute =
49 __ATTR(caps_stop, USER_RW, spk_var_show, spk_var_store); 49 __ATTR(caps_stop, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
50static struct kobj_attribute pitch_attribute = 50static struct kobj_attribute pitch_attribute =
51 __ATTR(pitch, USER_RW, spk_var_show, spk_var_store); 51 __ATTR(pitch, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
52static struct kobj_attribute rate_attribute = 52static struct kobj_attribute rate_attribute =
53 __ATTR(rate, USER_RW, spk_var_show, spk_var_store); 53 __ATTR(rate, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
54static struct kobj_attribute tone_attribute = 54static struct kobj_attribute tone_attribute =
55 __ATTR(tone, USER_RW, spk_var_show, spk_var_store); 55 __ATTR(tone, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
56static struct kobj_attribute vol_attribute = 56static struct kobj_attribute vol_attribute =
57 __ATTR(vol, USER_RW, spk_var_show, spk_var_store); 57 __ATTR(vol, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
58 58
59static struct kobj_attribute delay_time_attribute = 59static struct kobj_attribute delay_time_attribute =
60 __ATTR(delay_time, ROOT_W, spk_var_show, spk_var_store); 60 __ATTR(delay_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
61static struct kobj_attribute direct_attribute = 61static struct kobj_attribute direct_attribute =
62 __ATTR(direct, USER_RW, spk_var_show, spk_var_store); 62 __ATTR(direct, S_IWUGO|S_IRUGO, spk_var_show, spk_var_store);
63static struct kobj_attribute full_time_attribute = 63static struct kobj_attribute full_time_attribute =
64 __ATTR(full_time, ROOT_W, spk_var_show, spk_var_store); 64 __ATTR(full_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
65static struct kobj_attribute jiffy_delta_attribute = 65static struct kobj_attribute jiffy_delta_attribute =
66 __ATTR(jiffy_delta, ROOT_W, spk_var_show, spk_var_store); 66 __ATTR(jiffy_delta, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
67static struct kobj_attribute trigger_time_attribute = 67static struct kobj_attribute trigger_time_attribute =
68 __ATTR(trigger_time, ROOT_W, spk_var_show, spk_var_store); 68 __ATTR(trigger_time, S_IWUSR|S_IRUGO, spk_var_show, spk_var_store);
69 69
70/* 70/*
71 * Create a group of attributes so that we can create and destroy them all 71 * Create a group of attributes so that we can create and destroy them all