diff options
Diffstat (limited to 'drivers/acpi/fan.c')
| -rw-r--r-- | drivers/acpi/fan.c | 51 |
1 files changed, 20 insertions, 31 deletions
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c index 1cd25784b7a4..38acc69b21bc 100644 --- a/drivers/acpi/fan.c +++ b/drivers/acpi/fan.c | |||
| @@ -78,7 +78,6 @@ static int acpi_fan_read_state(struct seq_file *seq, void *offset) | |||
| 78 | struct acpi_fan *fan = seq->private; | 78 | struct acpi_fan *fan = seq->private; |
| 79 | int state = 0; | 79 | int state = 0; |
| 80 | 80 | ||
| 81 | ACPI_FUNCTION_TRACE("acpi_fan_read_state"); | ||
| 82 | 81 | ||
| 83 | if (fan) { | 82 | if (fan) { |
| 84 | if (acpi_bus_get_power(fan->handle, &state)) | 83 | if (acpi_bus_get_power(fan->handle, &state)) |
| @@ -87,7 +86,7 @@ static int acpi_fan_read_state(struct seq_file *seq, void *offset) | |||
| 87 | seq_printf(seq, "status: %s\n", | 86 | seq_printf(seq, "status: %s\n", |
| 88 | !state ? "on" : "off"); | 87 | !state ? "on" : "off"); |
| 89 | } | 88 | } |
| 90 | return_VALUE(0); | 89 | return 0; |
| 91 | } | 90 | } |
| 92 | 91 | ||
| 93 | static int acpi_fan_state_open_fs(struct inode *inode, struct file *file) | 92 | static int acpi_fan_state_open_fs(struct inode *inode, struct file *file) |
| @@ -104,22 +103,21 @@ acpi_fan_write_state(struct file *file, const char __user * buffer, | |||
| 104 | struct acpi_fan *fan = (struct acpi_fan *)m->private; | 103 | struct acpi_fan *fan = (struct acpi_fan *)m->private; |
| 105 | char state_string[12] = { '\0' }; | 104 | char state_string[12] = { '\0' }; |
| 106 | 105 | ||
| 107 | ACPI_FUNCTION_TRACE("acpi_fan_write_state"); | ||
| 108 | 106 | ||
| 109 | if (!fan || (count > sizeof(state_string) - 1)) | 107 | if (!fan || (count > sizeof(state_string) - 1)) |
| 110 | return_VALUE(-EINVAL); | 108 | return -EINVAL; |
| 111 | 109 | ||
| 112 | if (copy_from_user(state_string, buffer, count)) | 110 | if (copy_from_user(state_string, buffer, count)) |
| 113 | return_VALUE(-EFAULT); | 111 | return -EFAULT; |
| 114 | 112 | ||
| 115 | state_string[count] = '\0'; | 113 | state_string[count] = '\0'; |
| 116 | 114 | ||
| 117 | result = acpi_bus_set_power(fan->handle, | 115 | result = acpi_bus_set_power(fan->handle, |
| 118 | simple_strtoul(state_string, NULL, 0)); | 116 | simple_strtoul(state_string, NULL, 0)); |
| 119 | if (result) | 117 | if (result) |
| 120 | return_VALUE(result); | 118 | return result; |
| 121 | 119 | ||
| 122 | return_VALUE(count); | 120 | return count; |
| 123 | } | 121 | } |
| 124 | 122 | ||
| 125 | static struct file_operations acpi_fan_state_ops = { | 123 | static struct file_operations acpi_fan_state_ops = { |
| @@ -135,16 +133,15 @@ static int acpi_fan_add_fs(struct acpi_device *device) | |||
| 135 | { | 133 | { |
| 136 | struct proc_dir_entry *entry = NULL; | 134 | struct proc_dir_entry *entry = NULL; |
| 137 | 135 | ||
| 138 | ACPI_FUNCTION_TRACE("acpi_fan_add_fs"); | ||
| 139 | 136 | ||
| 140 | if (!device) | 137 | if (!device) |
| 141 | return_VALUE(-EINVAL); | 138 | return -EINVAL; |
| 142 | 139 | ||
| 143 | if (!acpi_device_dir(device)) { | 140 | if (!acpi_device_dir(device)) { |
| 144 | acpi_device_dir(device) = proc_mkdir(acpi_device_bid(device), | 141 | acpi_device_dir(device) = proc_mkdir(acpi_device_bid(device), |
| 145 | acpi_fan_dir); | 142 | acpi_fan_dir); |
| 146 | if (!acpi_device_dir(device)) | 143 | if (!acpi_device_dir(device)) |
| 147 | return_VALUE(-ENODEV); | 144 | return -ENODEV; |
| 148 | acpi_device_dir(device)->owner = THIS_MODULE; | 145 | acpi_device_dir(device)->owner = THIS_MODULE; |
| 149 | } | 146 | } |
| 150 | 147 | ||
| @@ -153,21 +150,18 @@ static int acpi_fan_add_fs(struct acpi_device *device) | |||
| 153 | S_IFREG | S_IRUGO | S_IWUSR, | 150 | S_IFREG | S_IRUGO | S_IWUSR, |
| 154 | acpi_device_dir(device)); | 151 | acpi_device_dir(device)); |
| 155 | if (!entry) | 152 | if (!entry) |
| 156 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 153 | return -ENODEV; |
| 157 | "Unable to create '%s' fs entry\n", | ||
| 158 | ACPI_FAN_FILE_STATE)); | ||
| 159 | else { | 154 | else { |
| 160 | entry->proc_fops = &acpi_fan_state_ops; | 155 | entry->proc_fops = &acpi_fan_state_ops; |
| 161 | entry->data = acpi_driver_data(device); | 156 | entry->data = acpi_driver_data(device); |
| 162 | entry->owner = THIS_MODULE; | 157 | entry->owner = THIS_MODULE; |
| 163 | } | 158 | } |
| 164 | 159 | ||
| 165 | return_VALUE(0); | 160 | return 0; |
| 166 | } | 161 | } |
| 167 | 162 | ||
| 168 | static int acpi_fan_remove_fs(struct acpi_device *device) | 163 | static int acpi_fan_remove_fs(struct acpi_device *device) |
| 169 | { | 164 | { |
| 170 | ACPI_FUNCTION_TRACE("acpi_fan_remove_fs"); | ||
| 171 | 165 | ||
| 172 | if (acpi_device_dir(device)) { | 166 | if (acpi_device_dir(device)) { |
| 173 | remove_proc_entry(ACPI_FAN_FILE_STATE, acpi_device_dir(device)); | 167 | remove_proc_entry(ACPI_FAN_FILE_STATE, acpi_device_dir(device)); |
| @@ -175,7 +169,7 @@ static int acpi_fan_remove_fs(struct acpi_device *device) | |||
| 175 | acpi_device_dir(device) = NULL; | 169 | acpi_device_dir(device) = NULL; |
| 176 | } | 170 | } |
| 177 | 171 | ||
| 178 | return_VALUE(0); | 172 | return 0; |
| 179 | } | 173 | } |
| 180 | 174 | ||
| 181 | /* -------------------------------------------------------------------------- | 175 | /* -------------------------------------------------------------------------- |
| @@ -188,14 +182,13 @@ static int acpi_fan_add(struct acpi_device *device) | |||
| 188 | struct acpi_fan *fan = NULL; | 182 | struct acpi_fan *fan = NULL; |
| 189 | int state = 0; | 183 | int state = 0; |
| 190 | 184 | ||
| 191 | ACPI_FUNCTION_TRACE("acpi_fan_add"); | ||
| 192 | 185 | ||
| 193 | if (!device) | 186 | if (!device) |
| 194 | return_VALUE(-EINVAL); | 187 | return -EINVAL; |
| 195 | 188 | ||
| 196 | fan = kmalloc(sizeof(struct acpi_fan), GFP_KERNEL); | 189 | fan = kmalloc(sizeof(struct acpi_fan), GFP_KERNEL); |
| 197 | if (!fan) | 190 | if (!fan) |
| 198 | return_VALUE(-ENOMEM); | 191 | return -ENOMEM; |
| 199 | memset(fan, 0, sizeof(struct acpi_fan)); | 192 | memset(fan, 0, sizeof(struct acpi_fan)); |
| 200 | 193 | ||
| 201 | fan->handle = device->handle; | 194 | fan->handle = device->handle; |
| @@ -205,8 +198,7 @@ static int acpi_fan_add(struct acpi_device *device) | |||
| 205 | 198 | ||
| 206 | result = acpi_bus_get_power(fan->handle, &state); | 199 | result = acpi_bus_get_power(fan->handle, &state); |
| 207 | if (result) { | 200 | if (result) { |
| 208 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 201 | printk(KERN_ERR PREFIX "Reading power state\n"); |
| 209 | "Error reading power state\n")); | ||
| 210 | goto end; | 202 | goto end; |
| 211 | } | 203 | } |
| 212 | 204 | ||
| @@ -226,17 +218,16 @@ static int acpi_fan_add(struct acpi_device *device) | |||
| 226 | if (result) | 218 | if (result) |
| 227 | kfree(fan); | 219 | kfree(fan); |
| 228 | 220 | ||
| 229 | return_VALUE(result); | 221 | return result; |
| 230 | } | 222 | } |
| 231 | 223 | ||
| 232 | static int acpi_fan_remove(struct acpi_device *device, int type) | 224 | static int acpi_fan_remove(struct acpi_device *device, int type) |
| 233 | { | 225 | { |
| 234 | struct acpi_fan *fan = NULL; | 226 | struct acpi_fan *fan = NULL; |
| 235 | 227 | ||
| 236 | ACPI_FUNCTION_TRACE("acpi_fan_remove"); | ||
| 237 | 228 | ||
| 238 | if (!device || !acpi_driver_data(device)) | 229 | if (!device || !acpi_driver_data(device)) |
| 239 | return_VALUE(-EINVAL); | 230 | return -EINVAL; |
| 240 | 231 | ||
| 241 | fan = (struct acpi_fan *)acpi_driver_data(device); | 232 | fan = (struct acpi_fan *)acpi_driver_data(device); |
| 242 | 233 | ||
| @@ -244,7 +235,7 @@ static int acpi_fan_remove(struct acpi_device *device, int type) | |||
| 244 | 235 | ||
| 245 | kfree(fan); | 236 | kfree(fan); |
| 246 | 237 | ||
| 247 | return_VALUE(0); | 238 | return 0; |
| 248 | } | 239 | } |
| 249 | 240 | ||
| 250 | static int acpi_fan_suspend(struct acpi_device *device, int state) | 241 | static int acpi_fan_suspend(struct acpi_device *device, int state) |
| @@ -283,31 +274,29 @@ static int __init acpi_fan_init(void) | |||
| 283 | { | 274 | { |
| 284 | int result = 0; | 275 | int result = 0; |
| 285 | 276 | ||
| 286 | ACPI_FUNCTION_TRACE("acpi_fan_init"); | ||
| 287 | 277 | ||
| 288 | acpi_fan_dir = proc_mkdir(ACPI_FAN_CLASS, acpi_root_dir); | 278 | acpi_fan_dir = proc_mkdir(ACPI_FAN_CLASS, acpi_root_dir); |
| 289 | if (!acpi_fan_dir) | 279 | if (!acpi_fan_dir) |
| 290 | return_VALUE(-ENODEV); | 280 | return -ENODEV; |
| 291 | acpi_fan_dir->owner = THIS_MODULE; | 281 | acpi_fan_dir->owner = THIS_MODULE; |
| 292 | 282 | ||
| 293 | result = acpi_bus_register_driver(&acpi_fan_driver); | 283 | result = acpi_bus_register_driver(&acpi_fan_driver); |
| 294 | if (result < 0) { | 284 | if (result < 0) { |
| 295 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); | 285 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); |
| 296 | return_VALUE(-ENODEV); | 286 | return -ENODEV; |
| 297 | } | 287 | } |
| 298 | 288 | ||
| 299 | return_VALUE(0); | 289 | return 0; |
| 300 | } | 290 | } |
| 301 | 291 | ||
| 302 | static void __exit acpi_fan_exit(void) | 292 | static void __exit acpi_fan_exit(void) |
| 303 | { | 293 | { |
| 304 | ACPI_FUNCTION_TRACE("acpi_fan_exit"); | ||
| 305 | 294 | ||
| 306 | acpi_bus_unregister_driver(&acpi_fan_driver); | 295 | acpi_bus_unregister_driver(&acpi_fan_driver); |
| 307 | 296 | ||
| 308 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); | 297 | remove_proc_entry(ACPI_FAN_CLASS, acpi_root_dir); |
| 309 | 298 | ||
| 310 | return_VOID; | 299 | return; |
| 311 | } | 300 | } |
| 312 | 301 | ||
| 313 | module_init(acpi_fan_init); | 302 | module_init(acpi_fan_init); |
