[PATCH] Reduce nr of ptr derefs in drivers/pci/hotplug/pciehprm_acpi.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Please consider applying.


Signed-off-by: Jesper Juhl <[email protected]>
---

 drivers/pci/hotplug/pciehprm_acpi.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

orig:
   text    data     bss     dec     hex filename
   2013       0     256    2269     8dd drivers/pci/hotplug/pciehprm_acpi.o
patched:
   text    data     bss     dec     hex filename
   2002       0     256    2258     8d2 drivers/pci/hotplug/pciehprm_acpi.o

--- linux-2.6.15-rc5-git1-orig/drivers/pci/hotplug/pciehprm_acpi.c	2005-12-04 18:48:04.000000000 +0100
+++ linux-2.6.15-rc5-git1/drivers/pci/hotplug/pciehprm_acpi.c	2005-12-11 05:27:16.000000000 +0100
@@ -174,7 +174,9 @@ int pciehp_get_hp_hw_control_from_firmwa
 	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_firmwa
 		 */
 		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) {



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux