diff options
-rw-r--r-- | drivers/staging/speakup/kobjects.c | 62 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup.h | 2 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_acntpc.c | 22 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_acntsa.c | 22 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_apollo.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_audptr.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_bns.c | 22 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_decext.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_decpc.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_dectlk.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_dtlk.c | 28 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_dummy.c | 22 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_keypc.c | 18 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_ltlk.c | 28 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_soft.c | 30 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_spkout.c | 24 | ||||
-rw-r--r-- | drivers/staging/speakup/speakup_txprt.c | 22 |
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 | */ |
853 | static struct kobj_attribute keymap_attribute = | 853 | static 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); |
855 | static struct kobj_attribute silent_attribute = | 855 | static struct kobj_attribute silent_attribute = |
856 | __ATTR(silent, USER_W, NULL, silent_store); | 856 | __ATTR(silent, S_IWUGO, NULL, silent_store); |
857 | static struct kobj_attribute synth_attribute = | 857 | static 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); |
859 | static struct kobj_attribute synth_direct_attribute = | 859 | static 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); |
861 | static struct kobj_attribute version_attribute = | 861 | static struct kobj_attribute version_attribute = |
862 | __ATTR_RO(version); | 862 | __ATTR_RO(version); |
863 | 863 | ||
864 | static struct kobj_attribute delimiters_attribute = | 864 | static 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); |
866 | static struct kobj_attribute ex_num_attribute = | 866 | static 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); |
868 | static struct kobj_attribute punc_all_attribute = | 868 | static 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); |
870 | static struct kobj_attribute punc_most_attribute = | 870 | static 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); |
872 | static struct kobj_attribute punc_some_attribute = | 872 | static 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); |
874 | static struct kobj_attribute repeats_attribute = | 874 | static 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 | ||
877 | static struct kobj_attribute attrib_bleep_attribute = | 877 | static 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); |
879 | static struct kobj_attribute bell_pos_attribute = | 879 | static 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); |
881 | static struct kobj_attribute bleep_time_attribute = | 881 | static 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); |
883 | static struct kobj_attribute bleeps_attribute = | 883 | static 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); |
885 | static struct kobj_attribute cursor_time_attribute = | 885 | static 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); |
887 | static struct kobj_attribute key_echo_attribute = | 887 | static 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); |
889 | static struct kobj_attribute no_interrupt_attribute = | 889 | static 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); |
891 | static struct kobj_attribute punc_level_attribute = | 891 | static 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); |
893 | static struct kobj_attribute reading_punc_attribute = | 893 | static 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); |
895 | static struct kobj_attribute say_control_attribute = | 895 | static 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); |
897 | static struct kobj_attribute say_word_ctl_attribute = | 897 | static 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); |
899 | static struct kobj_attribute spell_delay_attribute = | 899 | static 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 | */ |
905 | static struct kobj_attribute announcements_attribute = | 905 | static 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); |
907 | static struct kobj_attribute characters_attribute = | 907 | static 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); |
909 | static struct kobj_attribute chartab_attribute = | 909 | static 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); |
911 | static struct kobj_attribute ctl_keys_attribute = | 911 | static 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); |
913 | static struct kobj_attribute colors_attribute = | 913 | static 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); |
915 | static struct kobj_attribute formatted_attribute = | 915 | static 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); |
917 | static struct kobj_attribute function_names_attribute = | 917 | static 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); |
919 | static struct kobj_attribute key_names_attribute = | 919 | static 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); |
921 | static struct kobj_attribute states_attribute = | 921 | static 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 | */ |
64 | static struct kobj_attribute caps_start_attribute = | 64 | static 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); |
66 | static struct kobj_attribute caps_stop_attribute = | 66 | static 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); |
68 | static struct kobj_attribute pitch_attribute = | 68 | static 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); |
70 | static struct kobj_attribute rate_attribute = | 70 | static 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); |
72 | static struct kobj_attribute tone_attribute = | 72 | static 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); |
74 | static struct kobj_attribute vol_attribute = | 74 | static 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 | ||
77 | static struct kobj_attribute delay_time_attribute = | 77 | static 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); |
79 | static struct kobj_attribute direct_attribute = | 79 | static 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); |
81 | static struct kobj_attribute full_time_attribute = | 81 | static 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); |
83 | static struct kobj_attribute jiffy_delta_attribute = | 83 | static 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); |
85 | static struct kobj_attribute trigger_time_attribute = | 85 | static 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 | */ |
49 | static struct kobj_attribute caps_start_attribute = | 49 | static 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); |
51 | static struct kobj_attribute caps_stop_attribute = | 51 | static 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); |
53 | static struct kobj_attribute pitch_attribute = | 53 | static 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); |
55 | static struct kobj_attribute rate_attribute = | 55 | static 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); |
57 | static struct kobj_attribute tone_attribute = | 57 | static 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); |
59 | static struct kobj_attribute vol_attribute = | 59 | static 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 | ||
62 | static struct kobj_attribute delay_time_attribute = | 62 | static 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); |
64 | static struct kobj_attribute direct_attribute = | 64 | static 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); |
66 | static struct kobj_attribute full_time_attribute = | 66 | static 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); |
68 | static struct kobj_attribute jiffy_delta_attribute = | 68 | static 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); |
70 | static struct kobj_attribute trigger_time_attribute = | 70 | static 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 | */ |
55 | static struct kobj_attribute caps_start_attribute = | 55 | static 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); |
57 | static struct kobj_attribute caps_stop_attribute = | 57 | static 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); |
59 | static struct kobj_attribute lang_attribute = | 59 | static 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); |
61 | static struct kobj_attribute pitch_attribute = | 61 | static 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); |
63 | static struct kobj_attribute rate_attribute = | 63 | static 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); |
65 | static struct kobj_attribute voice_attribute = | 65 | static 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); |
67 | static struct kobj_attribute vol_attribute = | 67 | static 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 | ||
70 | static struct kobj_attribute delay_time_attribute = | 70 | static 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); |
72 | static struct kobj_attribute direct_attribute = | 72 | static 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); |
74 | static struct kobj_attribute full_time_attribute = | 74 | static 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); |
76 | static struct kobj_attribute jiffy_delta_attribute = | 76 | static 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); |
78 | static struct kobj_attribute trigger_time_attribute = | 78 | static 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 | */ |
51 | static struct kobj_attribute caps_start_attribute = | 51 | static 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); |
53 | static struct kobj_attribute caps_stop_attribute = | 53 | static 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); |
55 | static struct kobj_attribute pitch_attribute = | 55 | static 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); |
57 | static struct kobj_attribute punct_attribute = | 57 | static 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); |
59 | static struct kobj_attribute rate_attribute = | 59 | static 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); |
61 | static struct kobj_attribute tone_attribute = | 61 | static 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); |
63 | static struct kobj_attribute vol_attribute = | 63 | static 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 | ||
66 | static struct kobj_attribute delay_time_attribute = | 66 | static 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); |
68 | static struct kobj_attribute direct_attribute = | 68 | static 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); |
70 | static struct kobj_attribute full_time_attribute = | 70 | static 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); |
72 | static struct kobj_attribute jiffy_delta_attribute = | 72 | static 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); |
74 | static struct kobj_attribute trigger_time_attribute = | 74 | static 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 | */ |
46 | static struct kobj_attribute caps_start_attribute = | 46 | static 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); |
48 | static struct kobj_attribute caps_stop_attribute = | 48 | static 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); |
50 | static struct kobj_attribute pitch_attribute = | 50 | static 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); |
52 | static struct kobj_attribute rate_attribute = | 52 | static 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); |
54 | static struct kobj_attribute tone_attribute = | 54 | static 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); |
56 | static struct kobj_attribute vol_attribute = | 56 | static 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 | ||
59 | static struct kobj_attribute delay_time_attribute = | 59 | static 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); |
61 | static struct kobj_attribute direct_attribute = | 61 | static 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); |
63 | static struct kobj_attribute full_time_attribute = | 63 | static 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); |
65 | static struct kobj_attribute jiffy_delta_attribute = | 65 | static 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); |
67 | static struct kobj_attribute trigger_time_attribute = | 67 | static 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 | */ |
72 | static struct kobj_attribute caps_start_attribute = | 72 | static 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); |
74 | static struct kobj_attribute caps_stop_attribute = | 74 | static 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); |
76 | static struct kobj_attribute pitch_attribute = | 76 | static 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); |
78 | static struct kobj_attribute punct_attribute = | 78 | static 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); |
80 | static struct kobj_attribute rate_attribute = | 80 | static 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); |
82 | static struct kobj_attribute voice_attribute = | 82 | static 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); |
84 | static struct kobj_attribute vol_attribute = | 84 | static 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 | ||
87 | static struct kobj_attribute delay_time_attribute = | 87 | static 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); |
89 | static struct kobj_attribute direct_attribute = | 89 | static 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); |
91 | static struct kobj_attribute full_time_attribute = | 91 | static 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); |
93 | static struct kobj_attribute jiffy_delta_attribute = | 93 | static 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); |
95 | static struct kobj_attribute trigger_time_attribute = | 95 | static 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 | */ |
166 | static struct kobj_attribute caps_start_attribute = | 166 | static 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); |
168 | static struct kobj_attribute caps_stop_attribute = | 168 | static 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); |
170 | static struct kobj_attribute pitch_attribute = | 170 | static 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); |
172 | static struct kobj_attribute punct_attribute = | 172 | static 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); |
174 | static struct kobj_attribute rate_attribute = | 174 | static 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); |
176 | static struct kobj_attribute voice_attribute = | 176 | static 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); |
178 | static struct kobj_attribute vol_attribute = | 178 | static 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 | ||
181 | static struct kobj_attribute delay_time_attribute = | 181 | static 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); |
183 | static struct kobj_attribute direct_attribute = | 183 | static 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); |
185 | static struct kobj_attribute full_time_attribute = | 185 | static 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); |
187 | static struct kobj_attribute jiffy_delta_attribute = | 187 | static 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); |
189 | static struct kobj_attribute trigger_time_attribute = | 189 | static 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 | */ |
72 | static struct kobj_attribute caps_start_attribute = | 72 | static 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); |
74 | static struct kobj_attribute caps_stop_attribute = | 74 | static 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); |
76 | static struct kobj_attribute pitch_attribute = | 76 | static 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); |
78 | static struct kobj_attribute punct_attribute = | 78 | static 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); |
80 | static struct kobj_attribute rate_attribute = | 80 | static 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); |
82 | static struct kobj_attribute voice_attribute = | 82 | static 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); |
84 | static struct kobj_attribute vol_attribute = | 84 | static 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 | ||
87 | static struct kobj_attribute delay_time_attribute = | 87 | static 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); |
89 | static struct kobj_attribute direct_attribute = | 89 | static 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); |
91 | static struct kobj_attribute full_time_attribute = | 91 | static 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); |
93 | static struct kobj_attribute jiffy_delta_attribute = | 93 | static 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); |
95 | static struct kobj_attribute trigger_time_attribute = | 95 | static 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 | */ |
69 | static struct kobj_attribute caps_start_attribute = | 69 | static 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); |
71 | static struct kobj_attribute caps_stop_attribute = | 71 | static 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); |
73 | static struct kobj_attribute freq_attribute = | 73 | static 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); |
75 | static struct kobj_attribute pitch_attribute = | 75 | static 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); |
77 | static struct kobj_attribute punct_attribute = | 77 | static 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); |
79 | static struct kobj_attribute rate_attribute = | 79 | static 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); |
81 | static struct kobj_attribute tone_attribute = | 81 | static 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); |
83 | static struct kobj_attribute voice_attribute = | 83 | static 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); |
85 | static struct kobj_attribute vol_attribute = | 85 | static 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 | ||
88 | static struct kobj_attribute delay_time_attribute = | 88 | static 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); |
90 | static struct kobj_attribute direct_attribute = | 90 | static 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); |
92 | static struct kobj_attribute full_time_attribute = | 92 | static 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); |
94 | static struct kobj_attribute jiffy_delta_attribute = | 94 | static 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); |
96 | static struct kobj_attribute trigger_time_attribute = | 96 | static 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 | */ |
48 | static struct kobj_attribute caps_start_attribute = | 48 | static 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); |
50 | static struct kobj_attribute caps_stop_attribute = | 50 | static 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); |
52 | static struct kobj_attribute pitch_attribute = | 52 | static 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); |
54 | static struct kobj_attribute rate_attribute = | 54 | static 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); |
56 | static struct kobj_attribute tone_attribute = | 56 | static 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); |
58 | static struct kobj_attribute vol_attribute = | 58 | static 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 | ||
61 | static struct kobj_attribute delay_time_attribute = | 61 | static 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); |
63 | static struct kobj_attribute direct_attribute = | 63 | static 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); |
65 | static struct kobj_attribute full_time_attribute = | 65 | static 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); |
67 | static struct kobj_attribute jiffy_delta_attribute = | 67 | static 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); |
69 | static struct kobj_attribute trigger_time_attribute = | 69 | static 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 | */ |
61 | static struct kobj_attribute caps_start_attribute = | 61 | static 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); |
63 | static struct kobj_attribute caps_stop_attribute = | 63 | static 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); |
65 | static struct kobj_attribute pitch_attribute = | 65 | static 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); |
67 | static struct kobj_attribute rate_attribute = | 67 | static 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 | ||
70 | static struct kobj_attribute delay_time_attribute = | 70 | static 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); |
72 | static struct kobj_attribute direct_attribute = | 72 | static 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); |
74 | static struct kobj_attribute full_time_attribute = | 74 | static 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); |
76 | static struct kobj_attribute jiffy_delta_attribute = | 76 | static 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); |
78 | static struct kobj_attribute trigger_time_attribute = | 78 | static 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 | */ |
52 | static struct kobj_attribute caps_start_attribute = | 52 | static 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); |
54 | static struct kobj_attribute caps_stop_attribute = | 54 | static 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); |
56 | static struct kobj_attribute freq_attribute = | 56 | static 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); |
58 | static struct kobj_attribute pitch_attribute = | 58 | static 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); |
60 | static struct kobj_attribute punct_attribute = | 60 | static 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); |
62 | static struct kobj_attribute rate_attribute = | 62 | static 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); |
64 | static struct kobj_attribute tone_attribute = | 64 | static 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); |
66 | static struct kobj_attribute voice_attribute = | 66 | static 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); |
68 | static struct kobj_attribute vol_attribute = | 68 | static 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 | ||
71 | static struct kobj_attribute delay_time_attribute = | 71 | static 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); |
73 | static struct kobj_attribute direct_attribute = | 73 | static 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); |
75 | static struct kobj_attribute full_time_attribute = | 75 | static 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); |
77 | static struct kobj_attribute jiffy_delta_attribute = | 77 | static 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); |
79 | static struct kobj_attribute trigger_time_attribute = | 79 | static 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 | */ |
63 | static struct kobj_attribute caps_start_attribute = | 63 | static 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); |
65 | static struct kobj_attribute caps_stop_attribute = | 65 | static 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); |
67 | static struct kobj_attribute freq_attribute = | 67 | static 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); |
69 | static struct kobj_attribute pitch_attribute = | 69 | static 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); |
71 | static struct kobj_attribute punct_attribute = | 71 | static 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); |
73 | static struct kobj_attribute rate_attribute = | 73 | static 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); |
75 | static struct kobj_attribute tone_attribute = | 75 | static 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); |
77 | static struct kobj_attribute voice_attribute = | 77 | static 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); |
79 | static struct kobj_attribute vol_attribute = | 79 | static 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 | ||
89 | static struct kobj_attribute delay_time_attribute = | 89 | static 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); |
91 | static struct kobj_attribute direct_attribute = | 91 | static 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); |
93 | static struct kobj_attribute full_time_attribute = | 93 | static 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); |
95 | static struct kobj_attribute jiffy_delta_attribute = | 95 | static 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); |
97 | static struct kobj_attribute trigger_time_attribute = | 97 | static 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 | */ |
50 | static struct kobj_attribute caps_start_attribute = | 50 | static 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); |
52 | static struct kobj_attribute caps_stop_attribute = | 52 | static 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); |
54 | static struct kobj_attribute pitch_attribute = | 54 | static 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); |
56 | static struct kobj_attribute punct_attribute = | 56 | static 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); |
58 | static struct kobj_attribute rate_attribute = | 58 | static 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); |
60 | static struct kobj_attribute tone_attribute = | 60 | static 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); |
62 | static struct kobj_attribute vol_attribute = | 62 | static 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 | ||
65 | static struct kobj_attribute delay_time_attribute = | 65 | static 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); |
67 | static struct kobj_attribute direct_attribute = | 67 | static 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); |
69 | static struct kobj_attribute full_time_attribute = | 69 | static 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); |
71 | static struct kobj_attribute jiffy_delta_attribute = | 71 | static 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); |
73 | static struct kobj_attribute trigger_time_attribute = | 73 | static 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 | */ |
46 | static struct kobj_attribute caps_start_attribute = | 46 | static 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); |
48 | static struct kobj_attribute caps_stop_attribute = | 48 | static 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); |
50 | static struct kobj_attribute pitch_attribute = | 50 | static 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); |
52 | static struct kobj_attribute rate_attribute = | 52 | static 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); |
54 | static struct kobj_attribute tone_attribute = | 54 | static 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); |
56 | static struct kobj_attribute vol_attribute = | 56 | static 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 | ||
59 | static struct kobj_attribute delay_time_attribute = | 59 | static 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); |
61 | static struct kobj_attribute direct_attribute = | 61 | static 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); |
63 | static struct kobj_attribute full_time_attribute = | 63 | static 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); |
65 | static struct kobj_attribute jiffy_delta_attribute = | 65 | static 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); |
67 | static struct kobj_attribute trigger_time_attribute = | 67 | static 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 |