diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-10-20 17:31:00 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-10-21 01:33:12 -0400 |
commit | 914f7c31b0bea0ccf3bf474d0b99d803f7985097 (patch) | |
tree | 06c8ff4bf0f12170904bf681ffaedd14f368a7c8 /drivers/cpufreq/cpufreq_userspace.c | |
parent | 95dd722700dc9bbb000d51cab07dde48720e9178 (diff) |
[CPUFREQ] handle sysfs errors
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq_userspace.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_userspace.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index a06c204589c..2a4eb0bfaf3 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c | |||
@@ -131,19 +131,26 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, | |||
131 | unsigned int event) | 131 | unsigned int event) |
132 | { | 132 | { |
133 | unsigned int cpu = policy->cpu; | 133 | unsigned int cpu = policy->cpu; |
134 | int rc = 0; | ||
135 | |||
134 | switch (event) { | 136 | switch (event) { |
135 | case CPUFREQ_GOV_START: | 137 | case CPUFREQ_GOV_START: |
136 | if (!cpu_online(cpu)) | 138 | if (!cpu_online(cpu)) |
137 | return -EINVAL; | 139 | return -EINVAL; |
138 | BUG_ON(!policy->cur); | 140 | BUG_ON(!policy->cur); |
139 | mutex_lock(&userspace_mutex); | 141 | mutex_lock(&userspace_mutex); |
142 | rc = sysfs_create_file (&policy->kobj, | ||
143 | &freq_attr_scaling_setspeed.attr); | ||
144 | if (rc) | ||
145 | goto start_out; | ||
146 | |||
140 | cpu_is_managed[cpu] = 1; | 147 | cpu_is_managed[cpu] = 1; |
141 | cpu_min_freq[cpu] = policy->min; | 148 | cpu_min_freq[cpu] = policy->min; |
142 | cpu_max_freq[cpu] = policy->max; | 149 | cpu_max_freq[cpu] = policy->max; |
143 | cpu_cur_freq[cpu] = policy->cur; | 150 | cpu_cur_freq[cpu] = policy->cur; |
144 | cpu_set_freq[cpu] = policy->cur; | 151 | cpu_set_freq[cpu] = policy->cur; |
145 | sysfs_create_file (&policy->kobj, &freq_attr_scaling_setspeed.attr); | ||
146 | dprintk("managing cpu %u started (%u - %u kHz, currently %u kHz)\n", cpu, cpu_min_freq[cpu], cpu_max_freq[cpu], cpu_cur_freq[cpu]); | 152 | dprintk("managing cpu %u started (%u - %u kHz, currently %u kHz)\n", cpu, cpu_min_freq[cpu], cpu_max_freq[cpu], cpu_cur_freq[cpu]); |
153 | start_out: | ||
147 | mutex_unlock(&userspace_mutex); | 154 | mutex_unlock(&userspace_mutex); |
148 | break; | 155 | break; |
149 | case CPUFREQ_GOV_STOP: | 156 | case CPUFREQ_GOV_STOP: |
@@ -180,7 +187,7 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, | |||
180 | mutex_unlock(&userspace_mutex); | 187 | mutex_unlock(&userspace_mutex); |
181 | break; | 188 | break; |
182 | } | 189 | } |
183 | return 0; | 190 | return rc; |
184 | } | 191 | } |
185 | 192 | ||
186 | 193 | ||