NUMA-Q: fetch quad numbers from struct pci_bus
PATCH 2/4 NUMA-Q: fetch quad numbers from struct pci_bus
This introduces bus2quad() and uses it for bus conversions where it's possible to do so right away.
numa.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
arch/i386/pci/numa.c +8 -3
@@ -13,6 +13,11 @@#define PCI_CONF1_MQ_ADDRESS (bus, dev, fn, reg) \ (0x80000000 | (BUS2LOCAL(bus) << 16) | (dev << 11) | (fn << 8) | (reg & ~3)) +static int bus2quad (struct pci_bus *bus) +{ +return (int )bus->sysdata; +} +static int __pci_conf1_mq_read (int seg,int bus,int dev,int fn,int reg,int len,u32 *value) {unsigned long flags;
@@ -73,13 +78,13 @@ static int __pci_conf1_mq_write (int segstatic int pci_conf1_mq_read (struct pci_bus *bus,unsigned int devfn,int where,int size,u32 *value) { -return __pci_conf1_mq_read (0 , bus->number,PCI_SLOT (devfn), +return __pci_conf1_mq_read (bus2quad (bus), bus->number,PCI_SLOT (devfn),PCI_FUNC (devfn), where, size, value); }static int pci_conf1_mq_write (struct pci_bus *bus,unsigned int devfn,int where,int size,u32 value) { -return __pci_conf1_mq_write (0 , bus->number,PCI_SLOT (devfn), +return __pci_conf1_mq_write (bus2quad (bus), bus->number,PCI_SLOT (devfn),PCI_FUNC (devfn), where, size, value); }
@@ -96,7 +101,7 @@ static void __devinit pci_fixup_i450nx(s*/ int pxb, reg;u8 busno, suba, subb; -int quad =BUS2QUAD (d->bus->number); +int quad =bus2quad (d->bus);printk ("PCI: Searching for i450NX host bridges on %s\n" , d->slot_name); reg =0xd0 ;