Commit 4eaf6db3 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Len Brown

ACPI: PCI: simplify struct acpi_prt_entry

Remove unused "irq" field, remove unnecessary struct,
rename "handle" to "link".
Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 3604a9f4
......@@ -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);
......@@ -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
* ---------------
......@@ -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
* --------------
......@@ -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);
......@@ -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;
}
......@@ -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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment