diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2006-05-19 02:48:47 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-05-24 02:08:56 -0400 |
commit | 96ff6afaf1c2fdd118139095dea66c0910379780 (patch) | |
tree | 5364530523d40789b549edc66e02e47b04932c9a /arch/powerpc/platforms/iseries/pci.c | |
parent | 0d177df15d12926dc2ef7c814f317f02de52ce17 (diff) |
[PATCH] powerpc: remove iSeries_Global_Device_List
We can now scan the list of device nodes instead. This also allows us
to remove the Device_list member of struct pci_dn.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/iseries/pci.c')
-rw-r--r-- | arch/powerpc/platforms/iseries/pci.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c index 9d571e749098..5bc08d4eef49 100644 --- a/arch/powerpc/platforms/iseries/pci.c +++ b/arch/powerpc/platforms/iseries/pci.c | |||
@@ -50,8 +50,6 @@ | |||
50 | */ | 50 | */ |
51 | static struct device_node *find_Device_Node(int bus, int devfn); | 51 | static struct device_node *find_Device_Node(int bus, int devfn); |
52 | 52 | ||
53 | LIST_HEAD(iSeries_Global_Device_List); | ||
54 | |||
55 | static int Pci_Retry_Max = 3; /* Only retry 3 times */ | 53 | static int Pci_Retry_Max = 3; /* Only retry 3 times */ |
56 | static int Pci_Error_Flag = 1; /* Set Retry Error on. */ | 54 | static int Pci_Error_Flag = 1; /* Set Retry Error on. */ |
57 | 55 | ||
@@ -245,8 +243,6 @@ void iSeries_pcibios_init(void) | |||
245 | pdn->bussubno = *busp; | 243 | pdn->bussubno = *busp; |
246 | pdn->Irq = irq; | 244 | pdn->Irq = irq; |
247 | pdn->LogicalSlot = *lsn; | 245 | pdn->LogicalSlot = *lsn; |
248 | list_add_tail(&pdn->Device_List, | ||
249 | &iSeries_Global_Device_List); | ||
250 | } | 246 | } |
251 | } | 247 | } |
252 | } | 248 | } |
@@ -338,11 +334,13 @@ EXPORT_SYMBOL(iSeries_memcpy_fromio); | |||
338 | */ | 334 | */ |
339 | static struct device_node *find_Device_Node(int bus, int devfn) | 335 | static struct device_node *find_Device_Node(int bus, int devfn) |
340 | { | 336 | { |
341 | struct pci_dn *pdn; | 337 | struct device_node *node; |
338 | |||
339 | for (node = NULL; (node = of_find_all_nodes(node)); ) { | ||
340 | struct pci_dn *pdn = PCI_DN(node); | ||
342 | 341 | ||
343 | list_for_each_entry(pdn, &iSeries_Global_Device_List, Device_List) { | 342 | if (pdn && (bus == pdn->busno) && (devfn == pdn->devfn)) |
344 | if ((bus == pdn->busno) && (devfn == pdn->devfn)) | 343 | return node; |
345 | return pdn->node; | ||
346 | } | 344 | } |
347 | return NULL; | 345 | return NULL; |
348 | } | 346 | } |