[PATCH 17/20] ACPI: PCI: simplify struct acpi_prt_entry

Bjorn Helgaas
2008-12-09T04:31:27Z

Remove unused "irq" field, remove unnecessary struct,
rename "handle" to "link".

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
---
drivers/acpi/pci_irq.c | 35 +++++++++++++++--------------------
1 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index b1cfd39..288583b 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -47,11 +47,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);
@@ -207,6 +204,8 @@ acpi_pci_irq_add_entry(acpi_handle handle,

do_prt_fixups(entry, prt);

+ entry->index = prt->source_index;
+
/*
* Type 1: Dynamic
* ---------------
@@ -220,10 +219,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
* --------------
@@ -231,14 +229,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);
@@ -312,17 +308,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;
}
@@ -336,10 +331,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;
}