aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/common
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-03-10 07:49:16 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-05-13 12:12:17 -0400
commitc23bfc3835173f5229b2503e3b616001a28affad (patch)
tree109f74ea29224587bead91289f55f2d30032b615 /arch/arm/common
parentdaeb4c0c3bf2df72d0cd6e4330bad9e2e520552b (diff)
ARM: PCI: provide a default bus scan implementation
Most PCI implementations perform simple root bus scanning. Rather than having each group of platforms provide a duplicated bus scan function, provide the PCI configuration ops structure via the hw_pci structure, and call the root bus scanning function from core ARM PCI code. Acked-by: Krzysztof HaƂasa <khc@pm.waw.pl> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/common')
-rw-r--r--arch/arm/common/it8152.c7
-rw-r--r--arch/arm/common/via82c505.c11
2 files changed, 2 insertions, 16 deletions
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index dcb13494ca0d..c4110d1b1f2d 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -222,7 +222,7 @@ static int it8152_pci_write_config(struct pci_bus *bus,
222 return PCIBIOS_SUCCESSFUL; 222 return PCIBIOS_SUCCESSFUL;
223} 223}
224 224
225static struct pci_ops it8152_ops = { 225struct pci_ops it8152_ops = {
226 .read = it8152_pci_read_config, 226 .read = it8152_pci_read_config,
227 .write = it8152_pci_write_config, 227 .write = it8152_pci_write_config,
228}; 228};
@@ -346,9 +346,4 @@ void pcibios_set_master(struct pci_dev *dev)
346} 346}
347 347
348 348
349struct pci_bus * __init it8152_pci_scan_bus(int nr, struct pci_sys_data *sys)
350{
351 return pci_scan_root_bus(NULL, nr, &it8152_ops, sys, &sys->resources);
352}
353
354EXPORT_SYMBOL(dma_set_coherent_mask); 349EXPORT_SYMBOL(dma_set_coherent_mask);
diff --git a/arch/arm/common/via82c505.c b/arch/arm/common/via82c505.c
index 1171a5010aea..6cb362e56d29 100644
--- a/arch/arm/common/via82c505.c
+++ b/arch/arm/common/via82c505.c
@@ -51,7 +51,7 @@ via82c505_write_config(struct pci_bus *bus, unsigned int devfn, int where,
51 return PCIBIOS_SUCCESSFUL; 51 return PCIBIOS_SUCCESSFUL;
52} 52}
53 53
54static struct pci_ops via82c505_ops = { 54struct pci_ops via82c505_ops = {
55 .read = via82c505_read_config, 55 .read = via82c505_read_config,
56 .write = via82c505_write_config, 56 .write = via82c505_write_config,
57}; 57};
@@ -81,12 +81,3 @@ int __init via82c505_setup(int nr, struct pci_sys_data *sys)
81{ 81{
82 return (nr == 0); 82 return (nr == 0);
83} 83}
84
85struct pci_bus * __init via82c505_scan_bus(int nr, struct pci_sys_data *sysdata)
86{
87 if (nr == 0)
88 return pci_scan_root_bus(NULL, 0, &via82c505_ops, sysdata,
89 &sysdata->resources);
90
91 return NULL;
92}