| .. | .. |
|---|
| 214 | 214 | |
|---|
| 215 | 215 | static int param_get_trace_method_name(char *buffer, const struct kernel_param *kp) |
|---|
| 216 | 216 | { |
|---|
| 217 | | - return scnprintf(buffer, PAGE_SIZE, "%s", acpi_gbl_trace_method_name); |
|---|
| 217 | + return scnprintf(buffer, PAGE_SIZE, "%s\n", acpi_gbl_trace_method_name); |
|---|
| 218 | 218 | } |
|---|
| 219 | 219 | |
|---|
| 220 | 220 | static const struct kernel_param_ops param_ops_trace_method = { |
|---|
| .. | .. |
|---|
| 271 | 271 | static int param_get_trace_state(char *buffer, const struct kernel_param *kp) |
|---|
| 272 | 272 | { |
|---|
| 273 | 273 | if (!(acpi_gbl_trace_flags & ACPI_TRACE_ENABLED)) |
|---|
| 274 | | - return sprintf(buffer, "disable"); |
|---|
| 274 | + return sprintf(buffer, "disable\n"); |
|---|
| 275 | 275 | else { |
|---|
| 276 | 276 | if (acpi_gbl_trace_method_name) { |
|---|
| 277 | 277 | if (acpi_gbl_trace_flags & ACPI_TRACE_ONESHOT) |
|---|
| 278 | | - return sprintf(buffer, "method-once"); |
|---|
| 278 | + return sprintf(buffer, "method-once\n"); |
|---|
| 279 | 279 | else |
|---|
| 280 | | - return sprintf(buffer, "method"); |
|---|
| 280 | + return sprintf(buffer, "method\n"); |
|---|
| 281 | 281 | } else |
|---|
| 282 | | - return sprintf(buffer, "enable"); |
|---|
| 282 | + return sprintf(buffer, "enable\n"); |
|---|
| 283 | 283 | } |
|---|
| 284 | 284 | return 0; |
|---|
| 285 | 285 | } |
|---|
| .. | .. |
|---|
| 302 | 302 | { |
|---|
| 303 | 303 | int result; |
|---|
| 304 | 304 | |
|---|
| 305 | | - result = sprintf(buffer, "%x", ACPI_CA_VERSION); |
|---|
| 305 | + result = sprintf(buffer, "%x\n", ACPI_CA_VERSION); |
|---|
| 306 | 306 | |
|---|
| 307 | 307 | return result; |
|---|
| 308 | 308 | } |
|---|
| .. | .. |
|---|
| 327 | 327 | |
|---|
| 328 | 328 | struct acpi_table_attr { |
|---|
| 329 | 329 | struct bin_attribute attr; |
|---|
| 330 | | - char name[ACPI_NAME_SIZE]; |
|---|
| 330 | + char name[ACPI_NAMESEG_SIZE]; |
|---|
| 331 | 331 | int instance; |
|---|
| 332 | | - char filename[ACPI_NAME_SIZE+ACPI_INST_SIZE]; |
|---|
| 332 | + char filename[ACPI_NAMESEG_SIZE+ACPI_INST_SIZE]; |
|---|
| 333 | 333 | struct list_head node; |
|---|
| 334 | 334 | }; |
|---|
| 335 | 335 | |
|---|
| .. | .. |
|---|
| 368 | 368 | char instance_str[ACPI_INST_SIZE]; |
|---|
| 369 | 369 | |
|---|
| 370 | 370 | sysfs_attr_init(&table_attr->attr.attr); |
|---|
| 371 | | - ACPI_MOVE_NAME(table_attr->name, table_header->signature); |
|---|
| 371 | + ACPI_COPY_NAMESEG(table_attr->name, table_header->signature); |
|---|
| 372 | 372 | |
|---|
| 373 | 373 | list_for_each_entry(attr, &acpi_table_attr_list, node) { |
|---|
| 374 | | - if (ACPI_COMPARE_NAME(table_attr->name, attr->name)) |
|---|
| 374 | + if (ACPI_COMPARE_NAMESEG(table_attr->name, attr->name)) |
|---|
| 375 | 375 | if (table_attr->instance < attr->instance) |
|---|
| 376 | 376 | table_attr->instance = attr->instance; |
|---|
| 377 | 377 | } |
|---|
| .. | .. |
|---|
| 382 | 382 | return -ERANGE; |
|---|
| 383 | 383 | } |
|---|
| 384 | 384 | |
|---|
| 385 | | - ACPI_MOVE_NAME(table_attr->filename, table_header->signature); |
|---|
| 386 | | - table_attr->filename[ACPI_NAME_SIZE] = '\0'; |
|---|
| 385 | + ACPI_COPY_NAMESEG(table_attr->filename, table_header->signature); |
|---|
| 386 | + table_attr->filename[ACPI_NAMESEG_SIZE] = '\0'; |
|---|
| 387 | 387 | if (table_attr->instance > 1 || (table_attr->instance == 1 && |
|---|
| 388 | 388 | !acpi_get_table |
|---|
| 389 | 389 | (table_header->signature, 2, &header))) { |
|---|
| .. | .. |
|---|
| 439 | 439 | { |
|---|
| 440 | 440 | struct acpi_data_attr *data_attr; |
|---|
| 441 | 441 | void __iomem *base; |
|---|
| 442 | | - ssize_t rc; |
|---|
| 442 | + ssize_t size; |
|---|
| 443 | 443 | |
|---|
| 444 | 444 | data_attr = container_of(bin_attr, struct acpi_data_attr, attr); |
|---|
| 445 | + size = data_attr->attr.size; |
|---|
| 445 | 446 | |
|---|
| 446 | | - base = acpi_os_map_memory(data_attr->addr, data_attr->attr.size); |
|---|
| 447 | + if (offset < 0) |
|---|
| 448 | + return -EINVAL; |
|---|
| 449 | + |
|---|
| 450 | + if (offset >= size) |
|---|
| 451 | + return 0; |
|---|
| 452 | + |
|---|
| 453 | + if (count > size - offset) |
|---|
| 454 | + count = size - offset; |
|---|
| 455 | + |
|---|
| 456 | + base = acpi_os_map_iomem(data_attr->addr, size); |
|---|
| 447 | 457 | if (!base) |
|---|
| 448 | 458 | return -ENOMEM; |
|---|
| 449 | | - rc = memory_read_from_buffer(buf, count, &offset, base, |
|---|
| 450 | | - data_attr->attr.size); |
|---|
| 451 | | - acpi_os_unmap_memory(base, data_attr->attr.size); |
|---|
| 452 | 459 | |
|---|
| 453 | | - return rc; |
|---|
| 460 | + memcpy_fromio(buf, base + offset, count); |
|---|
| 461 | + |
|---|
| 462 | + acpi_os_unmap_iomem(base, size); |
|---|
| 463 | + |
|---|
| 464 | + return count; |
|---|
| 454 | 465 | } |
|---|
| 455 | 466 | |
|---|
| 456 | 467 | static int acpi_bert_data_init(void *th, struct acpi_data_attr *data_attr) |
|---|
| .. | .. |
|---|
| 484 | 495 | int i; |
|---|
| 485 | 496 | |
|---|
| 486 | 497 | for (i = 0; i < NUM_ACPI_DATA_OBJS; i++) { |
|---|
| 487 | | - if (ACPI_COMPARE_NAME(th->signature, acpi_data_objs[i].name)) { |
|---|
| 498 | + if (ACPI_COMPARE_NAMESEG(th->signature, acpi_data_objs[i].name)) { |
|---|
| 488 | 499 | data_attr = kzalloc(sizeof(*data_attr), GFP_KERNEL); |
|---|
| 489 | 500 | if (!data_attr) |
|---|
| 490 | 501 | return -ENOMEM; |
|---|
| .. | .. |
|---|
| 648 | 659 | } |
|---|
| 649 | 660 | } |
|---|
| 650 | 661 | |
|---|
| 651 | | -static int get_status(u32 index, acpi_event_status *status, |
|---|
| 662 | +static int get_status(u32 index, acpi_event_status *ret, |
|---|
| 652 | 663 | acpi_handle *handle) |
|---|
| 653 | 664 | { |
|---|
| 654 | | - int result; |
|---|
| 665 | + acpi_status status; |
|---|
| 655 | 666 | |
|---|
| 656 | 667 | if (index >= num_gpes + ACPI_NUM_FIXED_EVENTS) |
|---|
| 657 | 668 | return -EINVAL; |
|---|
| 658 | 669 | |
|---|
| 659 | 670 | if (index < num_gpes) { |
|---|
| 660 | | - result = acpi_get_gpe_device(index, handle); |
|---|
| 661 | | - if (result) { |
|---|
| 671 | + status = acpi_get_gpe_device(index, handle); |
|---|
| 672 | + if (ACPI_FAILURE(status)) { |
|---|
| 662 | 673 | ACPI_EXCEPTION((AE_INFO, AE_NOT_FOUND, |
|---|
| 663 | 674 | "Invalid GPE 0x%x", index)); |
|---|
| 664 | | - return result; |
|---|
| 675 | + return -ENXIO; |
|---|
| 665 | 676 | } |
|---|
| 666 | | - result = acpi_get_gpe_status(*handle, index, status); |
|---|
| 667 | | - } else if (index < (num_gpes + ACPI_NUM_FIXED_EVENTS)) |
|---|
| 668 | | - result = acpi_get_event_status(index - num_gpes, status); |
|---|
| 677 | + status = acpi_get_gpe_status(*handle, index, ret); |
|---|
| 678 | + } else { |
|---|
| 679 | + status = acpi_get_event_status(index - num_gpes, ret); |
|---|
| 680 | + } |
|---|
| 681 | + if (ACPI_FAILURE(status)) |
|---|
| 682 | + return -EIO; |
|---|
| 669 | 683 | |
|---|
| 670 | | - return result; |
|---|
| 684 | + return 0; |
|---|
| 671 | 685 | } |
|---|
| 672 | 686 | |
|---|
| 673 | 687 | static ssize_t counter_show(struct kobject *kobj, |
|---|