/* Point to the next object */
resource =
- ACPI_PTR_ADD(struct acpi_resource, resource,
+ ACPI_ADD_PTR(struct acpi_resource, resource,
resource->length);
}
* Get the number of bits set in the 16-bit IRQ mask
*/
ACPI_MOVE_16_TO_16(&temp16, buffer);
- extra_struct_bytes =
- acpi_rs_count_set_bits(temp16) * sizeof(u32);
+ extra_struct_bytes = acpi_rs_count_set_bits(temp16);
break;
case ACPI_RESOURCE_NAME_DMA:
* DMA Resource:
* Get the number of bits set in the 8-bit DMA mask
*/
- extra_struct_bytes =
- acpi_rs_count_set_bits(*buffer) * sizeof(u32);
+ extra_struct_bytes = acpi_rs_count_set_bits(*buffer);
break;
case ACPI_RESOURCE_NAME_VENDOR_SMALL:
case ACPI_RESOURCE_NAME_END_TAG:
/*
- * End Tag: This is the normal exit
+ * End Tag: This is the normal exit, add size of end_tag
*/
- *size_needed = buffer_size;
+ *size_needed = buffer_size + ACPI_RS_SIZE_MIN;
return_ACPI_STATUS(AE_OK);
case ACPI_RESOURCE_NAME_VENDOR_LARGE:
temp16 = (u16) (acpi_gbl_resource_struct_sizes[resource_index] +
extra_struct_bytes);
- buffer_size += (u32) ACPI_ALIGN_RESOURCE_SIZE(temp16);
+ buffer_size += (u32) ACPI_ROUND_UP_TO_NATIVE_WORD(temp16);
/*
* Point to the next resource within the stream