summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/pci.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-04-20 18:29:22 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-04-20 18:29:22 +0900
commite79066a659b893debe19010179d3f3f015d76d1c (patch)
tree8827e8c43a49957a3dd01fd8b22dfa36c918a575 /arch/sh/include/asm/pci.h
parent99f95f117848088f2708b45c70be73152e78bb8a (diff)
sh: pci: New-style controller registration.
This moves off of the board_pci_channels[] approach for bus registration and over to a cleaner register_pci_controller(), all derived from the MIPS code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/pci.h')
-rw-r--r--arch/sh/include/asm/pci.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h
index 82a9369511b..e057ebdb461 100644
--- a/arch/sh/include/asm/pci.h
+++ b/arch/sh/include/asm/pci.h
@@ -17,17 +17,22 @@
* external) PCI controllers.
*/
struct pci_channel {
- int (*init)(struct pci_channel *chan);
- struct pci_ops *pci_ops;
- struct resource *io_resource;
- struct resource *mem_resource;
- int first_devfn;
- int last_devfn;
- int enabled;
- unsigned long reg_base;
- unsigned long io_base;
-
- unsigned long io_map_base;
+ struct pci_channel *next;
+
+ int (*init)(struct pci_channel *chan);
+
+ struct pci_ops *pci_ops;
+ struct resource *io_resource;
+ struct resource *mem_resource;
+
+ int first_devfn;
+ int last_devfn;
+ int enabled;
+
+ unsigned long reg_base;
+ unsigned long io_base;
+
+ unsigned long io_map_base;
};
/*
@@ -35,6 +40,8 @@ struct pci_channel {
*/
extern struct pci_channel board_pci_channels[];
+extern void register_pci_controller(struct pci_channel *hose);
+
extern unsigned long PCIBIOS_MIN_IO, PCIBIOS_MIN_MEM;
struct pci_dev;