aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci_schizo.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-03-11 19:42:53 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 04:55:19 -0400
commit97b3cf050b467dda571943ceadff5452bed04549 (patch)
treec5dbb828eb40f84d6203cfd5aaa56f12c4548b71 /arch/sparc64/kernel/pci_schizo.c
parentc6e87566ea080bbbe926c0e429fed48e6f680d93 (diff)
[SPARC64]: Add dummy host controller to root of all PCI domains.
We fake up a dummy one in all cases because that is the simplest thing to do and it happens to be necessary for hypervisor systems. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci_schizo.c')
-rw-r--r--arch/sparc64/kernel/pci_schizo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/pci_schizo.c b/arch/sparc64/kernel/pci_schizo.c
index f1f105af8d3c..322cdbf50eff 100644
--- a/arch/sparc64/kernel/pci_schizo.c
+++ b/arch/sparc64/kernel/pci_schizo.c
@@ -125,6 +125,9 @@ static int schizo_read_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn,
125 u16 tmp16; 125 u16 tmp16;
126 u8 tmp8; 126 u8 tmp8;
127 127
128 if (bus_dev == pbm->pci_bus && devfn == 0x00)
129 return pci_host_bridge_read_pci_cfg(bus_dev, devfn, where,
130 size, value);
128 switch (size) { 131 switch (size) {
129 case 1: 132 case 1:
130 *value = 0xff; 133 *value = 0xff;
@@ -178,6 +181,9 @@ static int schizo_write_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn,
178 unsigned char bus = bus_dev->number; 181 unsigned char bus = bus_dev->number;
179 u32 *addr; 182 u32 *addr;
180 183
184 if (bus_dev == pbm->pci_bus && devfn == 0x00)
185 return pci_host_bridge_write_pci_cfg(bus_dev, devfn, where,
186 size, value);
181 addr = schizo_pci_config_mkaddr(pbm, bus, devfn, where); 187 addr = schizo_pci_config_mkaddr(pbm, bus, devfn, where);
182 if (!addr) 188 if (!addr)
183 return PCIBIOS_SUCCESSFUL; 189 return PCIBIOS_SUCCESSFUL;