summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2016-10-05 18:18:07 +0100
committerRalf Baechle <ralf@linux-mips.org>2016-10-06 17:56:13 +0200
commit23dac14d058fcd7cb2b4e6389139ca065855afe7 (patch)
tree24c6ac358767d802528bc7de3535cdd4e2964be6
parentd05c513069f15be5de766026a4192998688ffff1 (diff)
downloadop-kernel-dev-23dac14d058fcd7cb2b4e6389139ca065855afe7.zip
op-kernel-dev-23dac14d058fcd7cb2b4e6389139ca065855afe7.tar.gz
MIPS: PCI: Use struct list_head lists
Rather than open-coding a linked list implementation, make use of the one in linux/list.h. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/14340/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/include/asm/pci.h3
-rw-r--r--arch/mips/pci/pci.c9
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h
index 9b63cd4..547e113 100644
--- a/arch/mips/include/asm/pci.h
+++ b/arch/mips/include/asm/pci.h
@@ -17,6 +17,7 @@
*/
#include <linux/ioport.h>
+#include <linux/list.h>
#include <linux/of.h>
/*
@@ -25,7 +26,7 @@
* single controller supporting multiple channels.
*/
struct pci_controller {
- struct pci_controller *next;
+ struct list_head list;
struct pci_bus *bus;
struct device_node *of_node;
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index b4c02f2..644ae96 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -28,8 +28,7 @@
/*
* The PCI controller list.
*/
-
-static struct pci_controller *hose_head, **hose_tail = &hose_head;
+static LIST_HEAD(controllers);
unsigned long PCIBIOS_MIN_IO;
unsigned long PCIBIOS_MIN_MEM;
@@ -193,8 +192,8 @@ void register_pci_controller(struct pci_controller *hose)
goto out;
}
- *hose_tail = hose;
- hose_tail = &hose->next;
+ INIT_LIST_HEAD(&hose->list);
+ list_add(&hose->list, &controllers);
/*
* Do not panic here but later - this might happen before console init.
@@ -248,7 +247,7 @@ static int __init pcibios_init(void)
pcibios_set_cache_line_size();
/* Scan all of the recorded PCI controllers. */
- for (hose = hose_head; hose; hose = hose->next)
+ list_for_each_entry(hose, &controllers, list)
pcibios_scanbus(hose);
pci_fixup_irqs(pci_common_swizzle, pcibios_map_irq);
OpenPOWER on IntegriCloud