[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/pciehprm_acpi.c
authorJesper Juhl <jesper.juhl@gmail.com>
Sun, 11 Dec 2005 05:43:09 +0000 (06:43 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 Jan 2006 20:13:20 +0000 (12:13 -0800)
Here's a small patch to reduce the nr. of pointer dereferences in
drivers/pci/hotplug/pciehprm_acpi.c

Benefits:
 - micro speed optimization due to fewer pointer derefs
 - generated code is slightly smaller
 - better readability

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/hotplug/pciehprm_acpi.c

index ae244e2..2bdb30f 100644 (file)
@@ -174,7 +174,9 @@ int pciehp_get_hp_hw_control_from_firmware(struct pci_dev *dev)
        acpi_status status;
        acpi_handle chandle, handle = DEVICE_ACPI_HANDLE(&(dev->dev));
        struct pci_dev *pdev = dev;
+       struct pci_bus *parent;
        u8 *path_name;
+
        /*
         * Per PCI firmware specification, we should run the ACPI _OSC
         * method to get control of hotplug hardware before using it.
@@ -190,17 +192,18 @@ int pciehp_get_hp_hw_control_from_firmware(struct pci_dev *dev)
                 */
                if (!pdev || !pdev->bus->parent)
                        break;
+               parent = pdev->bus->parent;
                dbg("Could not find %s in acpi namespace, trying parent\n",
                                pci_name(pdev));
-               if (!pdev->bus->parent->self)
+               if (!parent->self)
                        /* Parent must be a host bridge */
                        handle = acpi_get_pci_rootbridge_handle(
-                                       pci_domain_nr(pdev->bus->parent),
-                                       pdev->bus->parent->number);
+                                       pci_domain_nr(parent),
+                                       parent->number);
                else
                        handle = DEVICE_ACPI_HANDLE(
-                                       &(pdev->bus->parent->self->dev));
-               pdev = pdev->bus->parent->self;
+                                       &(parent->self->dev));
+               pdev = parent->self;
        }
 
        while (handle) {