Loading drivers/acpi/pci_irq.c +15 −20 Original line number Diff line number Diff line Loading @@ -45,11 +45,8 @@ struct acpi_prt_entry { struct list_head list; struct acpi_pci_id id; u8 pin; struct { acpi_handle handle; u32 index; } link; u32 irq; acpi_handle link; u32 index; /* GSI, or link _CRS index */ }; static LIST_HEAD(acpi_prt_list); Loading Loading @@ -205,6 +202,8 @@ acpi_pci_irq_add_entry(acpi_handle handle, do_prt_fixups(entry, prt); entry->index = prt->source_index; /* * Type 1: Dynamic * --------------- Loading @@ -218,10 +217,9 @@ acpi_pci_irq_add_entry(acpi_handle handle, * (e.g. exists somewhere 'below' this _PRT entry in the ACPI * namespace). */ if (prt->source[0]) { acpi_get_handle(handle, prt->source, &entry->link.handle); entry->link.index = prt->source_index; } if (prt->source[0]) acpi_get_handle(handle, prt->source, &entry->link); /* * Type 2: Static * -------------- Loading @@ -229,14 +227,12 @@ acpi_pci_irq_add_entry(acpi_handle handle, * the IRQ value, which is hardwired to specific interrupt inputs on * the interrupt controller. */ else entry->link.index = prt->source_index; ACPI_DEBUG_PRINT_RAW((ACPI_DB_INFO, " %04x:%02x:%02x[%c] -> %s[%d]\n", entry->id.segment, entry->id.bus, entry->id.device, pin_name(entry->pin), prt->source, entry->link.index)); prt->source, entry->index)); spin_lock(&acpi_prt_lock); list_add_tail(&entry->list, &acpi_prt_list); Loading Loading @@ -310,17 +306,16 @@ acpi_pci_allocate_irq(struct acpi_prt_entry *entry, int irq; if (entry->link.handle) { irq = acpi_pci_link_allocate_irq(entry->link.handle, entry->link.index, triggering, polarity, link); if (entry->link) { irq = acpi_pci_link_allocate_irq(entry->link, entry->index, triggering, polarity, link); if (irq < 0) { printk(KERN_WARNING PREFIX "Invalid IRQ link routing entry\n"); return -1; } } else { irq = entry->link.index; irq = entry->index; *triggering = ACPI_LEVEL_SENSITIVE; *polarity = ACPI_ACTIVE_LOW; } Loading @@ -334,10 +329,10 @@ acpi_pci_free_irq(struct acpi_prt_entry *entry) { int irq; if (entry->link.handle) { irq = acpi_pci_link_free_irq(entry->link.handle); if (entry->link) { irq = acpi_pci_link_free_irq(entry->link); } else { irq = entry->link.index; irq = entry->index; } return irq; } Loading Loading
drivers/acpi/pci_irq.c +15 −20 Original line number Diff line number Diff line Loading @@ -45,11 +45,8 @@ struct acpi_prt_entry { struct list_head list; struct acpi_pci_id id; u8 pin; struct { acpi_handle handle; u32 index; } link; u32 irq; acpi_handle link; u32 index; /* GSI, or link _CRS index */ }; static LIST_HEAD(acpi_prt_list); Loading Loading @@ -205,6 +202,8 @@ acpi_pci_irq_add_entry(acpi_handle handle, do_prt_fixups(entry, prt); entry->index = prt->source_index; /* * Type 1: Dynamic * --------------- Loading @@ -218,10 +217,9 @@ acpi_pci_irq_add_entry(acpi_handle handle, * (e.g. exists somewhere 'below' this _PRT entry in the ACPI * namespace). */ if (prt->source[0]) { acpi_get_handle(handle, prt->source, &entry->link.handle); entry->link.index = prt->source_index; } if (prt->source[0]) acpi_get_handle(handle, prt->source, &entry->link); /* * Type 2: Static * -------------- Loading @@ -229,14 +227,12 @@ acpi_pci_irq_add_entry(acpi_handle handle, * the IRQ value, which is hardwired to specific interrupt inputs on * the interrupt controller. */ else entry->link.index = prt->source_index; ACPI_DEBUG_PRINT_RAW((ACPI_DB_INFO, " %04x:%02x:%02x[%c] -> %s[%d]\n", entry->id.segment, entry->id.bus, entry->id.device, pin_name(entry->pin), prt->source, entry->link.index)); prt->source, entry->index)); spin_lock(&acpi_prt_lock); list_add_tail(&entry->list, &acpi_prt_list); Loading Loading @@ -310,17 +306,16 @@ acpi_pci_allocate_irq(struct acpi_prt_entry *entry, int irq; if (entry->link.handle) { irq = acpi_pci_link_allocate_irq(entry->link.handle, entry->link.index, triggering, polarity, link); if (entry->link) { irq = acpi_pci_link_allocate_irq(entry->link, entry->index, triggering, polarity, link); if (irq < 0) { printk(KERN_WARNING PREFIX "Invalid IRQ link routing entry\n"); return -1; } } else { irq = entry->link.index; irq = entry->index; *triggering = ACPI_LEVEL_SENSITIVE; *polarity = ACPI_ACTIVE_LOW; } Loading @@ -334,10 +329,10 @@ acpi_pci_free_irq(struct acpi_prt_entry *entry) { int irq; if (entry->link.handle) { irq = acpi_pci_link_free_irq(entry->link.handle); if (entry->link) { irq = acpi_pci_link_free_irq(entry->link); } else { irq = entry->link.index; irq = entry->index; } return irq; } Loading