*/
temp8 = *buffer;
*bytes_consumed = (temp8 & 0x03) + 1;
- output_struct->id = ACPI_RSTYPE_IRQ;
+ output_struct->type = ACPI_RSTYPE_IRQ;
/* Point to the 16-bits of Bytes 1 and 2 */
*
* FUNCTION: acpi_rs_irq_stream
*
- * PARAMETERS: linked_list - Pointer to the resource linked list
+ * PARAMETERS: Resource - Pointer to the resource linked list
* output_buffer - Pointer to the user's return buffer
* bytes_consumed - Pointer to where the number of bytes
* used in the output_buffer is returned
******************************************************************************/
acpi_status
-acpi_rs_irq_stream(struct acpi_resource *linked_list,
+acpi_rs_irq_stream(struct acpi_resource *resource,
u8 ** output_buffer, acpi_size * bytes_consumed)
{
u8 *buffer = *output_buffer;
* The descriptor field is set based upon whether a third byte is
* needed to contain the IRQ Information.
*/
- if (ACPI_EDGE_SENSITIVE == linked_list->data.irq.edge_level &&
- ACPI_ACTIVE_HIGH == linked_list->data.irq.active_high_low &&
- ACPI_EXCLUSIVE == linked_list->data.irq.shared_exclusive) {
- *buffer = 0x22;
+ if (ACPI_EDGE_SENSITIVE == resource->data.irq.edge_level &&
+ ACPI_ACTIVE_HIGH == resource->data.irq.active_high_low &&
+ ACPI_EXCLUSIVE == resource->data.irq.shared_exclusive) {
+ *buffer = ACPI_RDESC_TYPE_IRQ_FORMAT | 0x02;
IRqinfo_byte_needed = FALSE;
} else {
- *buffer = 0x23;
+ *buffer = ACPI_RDESC_TYPE_IRQ_FORMAT | 0x03;
IRqinfo_byte_needed = TRUE;
}
/* Loop through all of the interrupts and set the mask bits */
for (index = 0;
- index < linked_list->data.irq.number_of_interrupts; index++) {
- temp8 = (u8) linked_list->data.irq.interrupts[index];
+ index < resource->data.irq.number_of_interrupts; index++) {
+ temp8 = (u8) resource->data.irq.interrupts[index];
temp16 |= 0x1 << temp8;
}
if (IRqinfo_byte_needed) {
temp8 = 0;
- temp8 = (u8) ((linked_list->data.irq.shared_exclusive &
+ temp8 = (u8) ((resource->data.irq.shared_exclusive &
0x01) << 4);
- if (ACPI_LEVEL_SENSITIVE == linked_list->data.irq.edge_level &&
- ACPI_ACTIVE_LOW == linked_list->data.irq.active_high_low) {
+ if (ACPI_LEVEL_SENSITIVE == resource->data.irq.edge_level &&
+ ACPI_ACTIVE_LOW == resource->data.irq.active_high_low) {
temp8 |= 0x08;
} else {
temp8 |= 0x01;
ACPI_FUNCTION_TRACE("rs_extended_irq_resource");
- /* Point past the Descriptor to get the number of bytes consumed */
+ /* Get the Descriptor Length field */
buffer += 1;
ACPI_MOVE_16_TO_16(&temp16, buffer);
}
*bytes_consumed = temp16 + 3;
- output_struct->id = ACPI_RSTYPE_EXT_IRQ;
+ output_struct->type = ACPI_RSTYPE_EXT_IRQ;
/* Point to the Byte3 */
/* Copy the string into the buffer */
index = 0;
- while (0x00 != *buffer) {
+ while (*buffer) {
*temp_ptr = *buffer;
temp_ptr += 1;
/* Add the terminating null */
- *temp_ptr = 0x00;
+ *temp_ptr = 0;
output_struct->data.extended_irq.resource_source.string_length =
index + 1;
temp8 = (u8) (index + 1);
struct_size += ACPI_ROUND_UP_to_32_bITS(temp8);
} else {
- output_struct->data.extended_irq.resource_source.index = 0x00;
+ output_struct->data.extended_irq.resource_source.index = 0;
output_struct->data.extended_irq.resource_source.string_length =
0;
output_struct->data.extended_irq.resource_source.string_ptr =
*
* FUNCTION: acpi_rs_extended_irq_stream
*
- * PARAMETERS: linked_list - Pointer to the resource linked list
+ * PARAMETERS: Resource - Pointer to the resource linked list
* output_buffer - Pointer to the user's return buffer
* bytes_consumed - Pointer to where the number of bytes
* used in the output_buffer is returned
******************************************************************************/
acpi_status
-acpi_rs_extended_irq_stream(struct acpi_resource *linked_list,
+acpi_rs_extended_irq_stream(struct acpi_resource *resource,
u8 ** output_buffer, acpi_size * bytes_consumed)
{
u8 *buffer = *output_buffer;
u16 *length_field;
u8 temp8 = 0;
u8 index;
- char *temp_pointer = NULL;
ACPI_FUNCTION_TRACE("rs_extended_irq_stream");
- /* The descriptor field is static */
+ /* Set the Descriptor Type field */
- *buffer = 0x89;
+ *buffer = ACPI_RDESC_TYPE_EXTENDED_XRUPT;
buffer += 1;
- /* Set a pointer to the Length field - to be filled in later */
+ /* Save a pointer to the Length field - to be filled in later */
length_field = ACPI_CAST_PTR(u16, buffer);
buffer += 2;
/* Set the Interrupt vector flags */
- temp8 = (u8) (linked_list->data.extended_irq.producer_consumer & 0x01);
- temp8 |=
- ((linked_list->data.extended_irq.shared_exclusive & 0x01) << 3);
+ temp8 = (u8) (resource->data.extended_irq.producer_consumer & 0x01);
+ temp8 |= ((resource->data.extended_irq.shared_exclusive & 0x01) << 3);
/*
* Set the Interrupt Mode
*
* - Edge/Level are defined opposite in the table vs the headers
*/
- if (ACPI_EDGE_SENSITIVE == linked_list->data.extended_irq.edge_level) {
+ if (ACPI_EDGE_SENSITIVE == resource->data.extended_irq.edge_level) {
temp8 |= 0x2;
}
/* Set the Interrupt Polarity */
- temp8 |= ((linked_list->data.extended_irq.active_high_low & 0x1) << 2);
+ temp8 |= ((resource->data.extended_irq.active_high_low & 0x1) << 2);
*buffer = temp8;
buffer += 1;
/* Set the Interrupt table length */
- temp8 = (u8) linked_list->data.extended_irq.number_of_interrupts;
+ temp8 = (u8) resource->data.extended_irq.number_of_interrupts;
*buffer = temp8;
buffer += 1;
for (index = 0;
- index < linked_list->data.extended_irq.number_of_interrupts;
+ index < resource->data.extended_irq.number_of_interrupts;
index++) {
ACPI_MOVE_32_TO_32(buffer,
- &linked_list->data.extended_irq.
+ &resource->data.extended_irq.
interrupts[index]);
buffer += 4;
}
/* Resource Source Index and Resource Source are optional */
- if (0 != linked_list->data.extended_irq.resource_source.string_length) {
+ if (0 != resource->data.extended_irq.resource_source.string_length) {
*buffer =
- (u8) linked_list->data.extended_irq.resource_source.index;
+ (u8) resource->data.extended_irq.resource_source.index;
buffer += 1;
- temp_pointer = (char *)buffer;
-
/* Copy the string */
- ACPI_STRCPY(temp_pointer,
- linked_list->data.extended_irq.resource_source.
+ ACPI_STRCPY((char *)buffer,
+ resource->data.extended_irq.resource_source.
string_ptr);
/*
- * Buffer needs to be set to the length of the sting + one for the
+ * Buffer needs to be set to the length of the string + one for the
* terminating null
*/
buffer +=
(acpi_size) (ACPI_STRLEN
- (linked_list->data.extended_irq.
- resource_source.string_ptr) + 1);
+ (resource->data.extended_irq.resource_source.
+ string_ptr) + 1);
}
/* Return the number of bytes consumed in this operation */