|
@@ -77,7 +77,6 @@ static ssize_t acpi_table_show(struct kobject *kobj,
|
|
container_of(bin_attr, struct acpi_table_attr, attr);
|
|
container_of(bin_attr, struct acpi_table_attr, attr);
|
|
struct acpi_table_header *table_header = NULL;
|
|
struct acpi_table_header *table_header = NULL;
|
|
acpi_status status;
|
|
acpi_status status;
|
|
- ssize_t ret_count = count;
|
|
|
|
|
|
|
|
status =
|
|
status =
|
|
acpi_get_table(table_attr->name, table_attr->instance,
|
|
acpi_get_table(table_attr->name, table_attr->instance,
|
|
@@ -85,18 +84,8 @@ static ssize_t acpi_table_show(struct kobject *kobj,
|
|
if (ACPI_FAILURE(status))
|
|
if (ACPI_FAILURE(status))
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
|
|
|
|
- if (offset >= table_header->length) {
|
|
|
|
- ret_count = 0;
|
|
|
|
- goto end;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (offset + ret_count > table_header->length)
|
|
|
|
- ret_count = table_header->length - offset;
|
|
|
|
-
|
|
|
|
- memcpy(buf, ((char *)table_header) + offset, ret_count);
|
|
|
|
-
|
|
|
|
- end:
|
|
|
|
- return ret_count;
|
|
|
|
|
|
+ return memory_read_from_buffer(buf, count, &offset,
|
|
|
|
+ table_header, table_header->length);
|
|
}
|
|
}
|
|
|
|
|
|
static void acpi_table_attr_init(struct acpi_table_attr *table_attr,
|
|
static void acpi_table_attr_init(struct acpi_table_attr *table_attr,
|