x86/PCI: use dev_printk when possible
Convert printks to use dev_printk(). I converted DBG() to dev_dbg(). This DBG() is from arch/x86/pci/pci.h and requires source-code modification to enable, so dev_dbg() seems roughly equivalent. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
committed by
Jesse Barnes
parent
756f7bc668
commit
12c0b20fa4
@@ -23,7 +23,8 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
|
|||||||
pci_read_config_byte(d, reg++, &busno);
|
pci_read_config_byte(d, reg++, &busno);
|
||||||
pci_read_config_byte(d, reg++, &suba);
|
pci_read_config_byte(d, reg++, &suba);
|
||||||
pci_read_config_byte(d, reg++, &subb);
|
pci_read_config_byte(d, reg++, &subb);
|
||||||
DBG("i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno, suba, subb);
|
dev_dbg(&d->dev, "i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno,
|
||||||
|
suba, subb);
|
||||||
if (busno)
|
if (busno)
|
||||||
pci_scan_bus_with_sysdata(busno); /* Bus A */
|
pci_scan_bus_with_sysdata(busno); /* Bus A */
|
||||||
if (suba < subb)
|
if (suba < subb)
|
||||||
|
@@ -128,10 +128,8 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
|
|||||||
pr = pci_find_parent_resource(dev, r);
|
pr = pci_find_parent_resource(dev, r);
|
||||||
if (!r->start || !pr ||
|
if (!r->start || !pr ||
|
||||||
request_resource(pr, r) < 0) {
|
request_resource(pr, r) < 0) {
|
||||||
printk(KERN_ERR "PCI: Cannot allocate "
|
dev_err(&dev->dev, "BAR %d: can't "
|
||||||
"resource region %d "
|
"allocate resource\n", idx);
|
||||||
"of bridge %s\n",
|
|
||||||
idx, pci_name(dev));
|
|
||||||
/*
|
/*
|
||||||
* Something is wrong with the region.
|
* Something is wrong with the region.
|
||||||
* Invalidate the resource to prevent
|
* Invalidate the resource to prevent
|
||||||
@@ -166,15 +164,15 @@ static void __init pcibios_allocate_resources(int pass)
|
|||||||
else
|
else
|
||||||
disabled = !(command & PCI_COMMAND_MEMORY);
|
disabled = !(command & PCI_COMMAND_MEMORY);
|
||||||
if (pass == disabled) {
|
if (pass == disabled) {
|
||||||
DBG("PCI: Resource %08lx-%08lx "
|
dev_dbg(&dev->dev, "resource %#08llx-%#08llx "
|
||||||
"(f=%lx, d=%d, p=%d)\n",
|
"(f=%lx, d=%d, p=%d)\n",
|
||||||
r->start, r->end, r->flags, disabled, pass);
|
(unsigned long long) r->start,
|
||||||
|
(unsigned long long) r->end,
|
||||||
|
r->flags, disabled, pass);
|
||||||
pr = pci_find_parent_resource(dev, r);
|
pr = pci_find_parent_resource(dev, r);
|
||||||
if (!pr || request_resource(pr, r) < 0) {
|
if (!pr || request_resource(pr, r) < 0) {
|
||||||
printk(KERN_ERR "PCI: Cannot allocate "
|
dev_err(&dev->dev, "BAR %d: can't "
|
||||||
"resource region %d "
|
"allocate resource\n", idx);
|
||||||
"of device %s\n",
|
|
||||||
idx, pci_name(dev));
|
|
||||||
/* We'll assign a new address later */
|
/* We'll assign a new address later */
|
||||||
r->end -= r->start;
|
r->end -= r->start;
|
||||||
r->start = 0;
|
r->start = 0;
|
||||||
@@ -187,8 +185,7 @@ static void __init pcibios_allocate_resources(int pass)
|
|||||||
/* Turn the ROM off, leave the resource region,
|
/* Turn the ROM off, leave the resource region,
|
||||||
* but keep it unregistered. */
|
* but keep it unregistered. */
|
||||||
u32 reg;
|
u32 reg;
|
||||||
DBG("PCI: Switching off ROM of %s\n",
|
dev_dbg(&dev->dev, "disabling ROM\n");
|
||||||
pci_name(dev));
|
|
||||||
r->flags &= ~IORESOURCE_ROM_ENABLE;
|
r->flags &= ~IORESOURCE_ROM_ENABLE;
|
||||||
pci_read_config_dword(dev,
|
pci_read_config_dword(dev,
|
||||||
dev->rom_base_reg, ®);
|
dev->rom_base_reg, ®);
|
||||||
@@ -257,8 +254,7 @@ void pcibios_set_master(struct pci_dev *dev)
|
|||||||
lat = pcibios_max_latency;
|
lat = pcibios_max_latency;
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n",
|
dev_printk(KERN_DEBUG, &dev->dev, "setting latency timer to %d\n", lat);
|
||||||
pci_name(dev), lat);
|
|
||||||
pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
|
pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -436,7 +436,7 @@ static int pirq_vlsi_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
|
|||||||
{
|
{
|
||||||
WARN_ON_ONCE(pirq >= 9);
|
WARN_ON_ONCE(pirq >= 9);
|
||||||
if (pirq > 8) {
|
if (pirq > 8) {
|
||||||
printk(KERN_INFO "VLSI router pirq escape (%d)\n", pirq);
|
dev_info(&dev->dev, "VLSI router PIRQ escape (%d)\n", pirq);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return read_config_nybble(router, 0x74, pirq-1);
|
return read_config_nybble(router, 0x74, pirq-1);
|
||||||
@@ -446,7 +446,7 @@ static int pirq_vlsi_set(struct pci_dev *router, struct pci_dev *dev, int pirq,
|
|||||||
{
|
{
|
||||||
WARN_ON_ONCE(pirq >= 9);
|
WARN_ON_ONCE(pirq >= 9);
|
||||||
if (pirq > 8) {
|
if (pirq > 8) {
|
||||||
printk(KERN_INFO "VLSI router pirq escape (%d)\n", pirq);
|
dev_info(&dev->dev, "VLSI router PIRQ escape (%d)\n", pirq);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
write_config_nybble(router, 0x74, pirq-1, irq);
|
write_config_nybble(router, 0x74, pirq-1, irq);
|
||||||
@@ -492,15 +492,17 @@ static int pirq_amd756_get(struct pci_dev *router, struct pci_dev *dev, int pirq
|
|||||||
irq = 0;
|
irq = 0;
|
||||||
if (pirq <= 4)
|
if (pirq <= 4)
|
||||||
irq = read_config_nybble(router, 0x56, pirq - 1);
|
irq = read_config_nybble(router, 0x56, pirq - 1);
|
||||||
printk(KERN_INFO "AMD756: dev %04x:%04x, router pirq : %d get irq : %2d\n",
|
dev_info(&dev->dev,
|
||||||
dev->vendor, dev->device, pirq, irq);
|
"AMD756: dev [%04x/%04x], router PIRQ %d get IRQ %d\n",
|
||||||
|
dev->vendor, dev->device, pirq, irq);
|
||||||
return irq;
|
return irq;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pirq_amd756_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
|
static int pirq_amd756_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "AMD756: dev %04x:%04x, router pirq : %d SET irq : %2d\n",
|
dev_info(&dev->dev,
|
||||||
dev->vendor, dev->device, pirq, irq);
|
"AMD756: dev [%04x/%04x], router PIRQ %d set IRQ %d\n",
|
||||||
|
dev->vendor, dev->device, pirq, irq);
|
||||||
if (pirq <= 4)
|
if (pirq <= 4)
|
||||||
write_config_nybble(router, 0x56, pirq - 1, irq);
|
write_config_nybble(router, 0x56, pirq - 1, irq);
|
||||||
return 1;
|
return 1;
|
||||||
@@ -730,7 +732,6 @@ static __init int ali_router_probe(struct irq_router *r, struct pci_dev *router,
|
|||||||
switch (device) {
|
switch (device) {
|
||||||
case PCI_DEVICE_ID_AL_M1533:
|
case PCI_DEVICE_ID_AL_M1533:
|
||||||
case PCI_DEVICE_ID_AL_M1563:
|
case PCI_DEVICE_ID_AL_M1563:
|
||||||
printk(KERN_DEBUG "PCI: Using ALI IRQ Router\n");
|
|
||||||
r->name = "ALI";
|
r->name = "ALI";
|
||||||
r->get = pirq_ali_get;
|
r->get = pirq_ali_get;
|
||||||
r->set = pirq_ali_set;
|
r->set = pirq_ali_set;
|
||||||
@@ -840,11 +841,9 @@ static void __init pirq_find_router(struct irq_router *r)
|
|||||||
h->probe(r, pirq_router_dev, pirq_router_dev->device))
|
h->probe(r, pirq_router_dev, pirq_router_dev->device))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "PCI: Using IRQ router %s [%04x/%04x] at %s\n",
|
dev_info(&pirq_router_dev->dev, "%s IRQ router [%04x/%04x]\n",
|
||||||
pirq_router.name,
|
pirq_router.name,
|
||||||
pirq_router_dev->vendor,
|
pirq_router_dev->vendor, pirq_router_dev->device);
|
||||||
pirq_router_dev->device,
|
|
||||||
pci_name(pirq_router_dev));
|
|
||||||
|
|
||||||
/* The device remains referenced for the kernel lifetime */
|
/* The device remains referenced for the kernel lifetime */
|
||||||
}
|
}
|
||||||
@@ -877,7 +876,7 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign)
|
|||||||
/* Find IRQ pin */
|
/* Find IRQ pin */
|
||||||
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
|
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
|
||||||
if (!pin) {
|
if (!pin) {
|
||||||
DBG(KERN_DEBUG " -> no interrupt pin\n");
|
dev_dbg(&dev->dev, "no interrupt pin\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
pin = pin - 1;
|
pin = pin - 1;
|
||||||
@@ -887,20 +886,20 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign)
|
|||||||
if (!pirq_table)
|
if (!pirq_table)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
DBG(KERN_DEBUG "IRQ for %s[%c]", pci_name(dev), 'A' + pin);
|
|
||||||
info = pirq_get_info(dev);
|
info = pirq_get_info(dev);
|
||||||
if (!info) {
|
if (!info) {
|
||||||
DBG(" -> not found in routing table\n" KERN_DEBUG);
|
dev_dbg(&dev->dev, "PCI INT %c not found in routing table\n",
|
||||||
|
'A' + pin);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
pirq = info->irq[pin].link;
|
pirq = info->irq[pin].link;
|
||||||
mask = info->irq[pin].bitmap;
|
mask = info->irq[pin].bitmap;
|
||||||
if (!pirq) {
|
if (!pirq) {
|
||||||
DBG(" -> not routed\n" KERN_DEBUG);
|
dev_dbg(&dev->dev, "PCI INT %c not routed\n", 'A' + pin);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DBG(" -> PIRQ %02x, mask %04x, excl %04x", pirq, mask,
|
dev_dbg(&dev->dev, "PCI INT %c -> PIRQ %02x, mask %04x, excl %04x",
|
||||||
pirq_table->exclusive_irqs);
|
'A' + pin, pirq, mask, pirq_table->exclusive_irqs);
|
||||||
mask &= pcibios_irq_mask;
|
mask &= pcibios_irq_mask;
|
||||||
|
|
||||||
/* Work around broken HP Pavilion Notebooks which assign USB to
|
/* Work around broken HP Pavilion Notebooks which assign USB to
|
||||||
@@ -930,10 +929,8 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign)
|
|||||||
if (pci_probe & PCI_USE_PIRQ_MASK)
|
if (pci_probe & PCI_USE_PIRQ_MASK)
|
||||||
newirq = 0;
|
newirq = 0;
|
||||||
else
|
else
|
||||||
printk("\n" KERN_WARNING
|
dev_warn(&dev->dev, "IRQ %d doesn't match PIRQ mask "
|
||||||
"PCI: IRQ %i for device %s doesn't match PIRQ mask - try pci=usepirqmask\n"
|
"%#x; try pci=usepirqmask\n", newirq, mask);
|
||||||
KERN_DEBUG, newirq,
|
|
||||||
pci_name(dev));
|
|
||||||
}
|
}
|
||||||
if (!newirq && assign) {
|
if (!newirq && assign) {
|
||||||
for (i = 0; i < 16; i++) {
|
for (i = 0; i < 16; i++) {
|
||||||
@@ -944,39 +941,35 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign)
|
|||||||
newirq = i;
|
newirq = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DBG(" -> newirq=%d", newirq);
|
dev_dbg(&dev->dev, "PCI INT %c -> newirq %d", 'A' + pin, newirq);
|
||||||
|
|
||||||
/* Check if it is hardcoded */
|
/* Check if it is hardcoded */
|
||||||
if ((pirq & 0xf0) == 0xf0) {
|
if ((pirq & 0xf0) == 0xf0) {
|
||||||
irq = pirq & 0xf;
|
irq = pirq & 0xf;
|
||||||
DBG(" -> hardcoded IRQ %d\n", irq);
|
msg = "hardcoded";
|
||||||
msg = "Hardcoded";
|
|
||||||
} else if (r->get && (irq = r->get(pirq_router_dev, dev, pirq)) && \
|
} else if (r->get && (irq = r->get(pirq_router_dev, dev, pirq)) && \
|
||||||
((!(pci_probe & PCI_USE_PIRQ_MASK)) || ((1 << irq) & mask))) {
|
((!(pci_probe & PCI_USE_PIRQ_MASK)) || ((1 << irq) & mask))) {
|
||||||
DBG(" -> got IRQ %d\n", irq);
|
msg = "found";
|
||||||
msg = "Found";
|
|
||||||
eisa_set_level_irq(irq);
|
eisa_set_level_irq(irq);
|
||||||
} else if (newirq && r->set &&
|
} else if (newirq && r->set &&
|
||||||
(dev->class >> 8) != PCI_CLASS_DISPLAY_VGA) {
|
(dev->class >> 8) != PCI_CLASS_DISPLAY_VGA) {
|
||||||
DBG(" -> assigning IRQ %d", newirq);
|
|
||||||
if (r->set(pirq_router_dev, dev, pirq, newirq)) {
|
if (r->set(pirq_router_dev, dev, pirq, newirq)) {
|
||||||
eisa_set_level_irq(newirq);
|
eisa_set_level_irq(newirq);
|
||||||
DBG(" ... OK\n");
|
msg = "assigned";
|
||||||
msg = "Assigned";
|
|
||||||
irq = newirq;
|
irq = newirq;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!irq) {
|
if (!irq) {
|
||||||
DBG(" ... failed\n");
|
|
||||||
if (newirq && mask == (1 << newirq)) {
|
if (newirq && mask == (1 << newirq)) {
|
||||||
msg = "Guessed";
|
msg = "guessed";
|
||||||
irq = newirq;
|
irq = newirq;
|
||||||
} else
|
} else {
|
||||||
|
dev_dbg(&dev->dev, "can't route interrupt\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "PCI: %s IRQ %d for device %s\n", msg, irq,
|
dev_info(&dev->dev, "%s PCI INT %c -> IRQ %d\n", msg, 'A' + pin, irq);
|
||||||
pci_name(dev));
|
|
||||||
|
|
||||||
/* Update IRQ for all devices with the same pirq value */
|
/* Update IRQ for all devices with the same pirq value */
|
||||||
while ((dev2 = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev2)) != NULL) {
|
while ((dev2 = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev2)) != NULL) {
|
||||||
@@ -996,17 +989,17 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign)
|
|||||||
(!(pci_probe & PCI_USE_PIRQ_MASK) || \
|
(!(pci_probe & PCI_USE_PIRQ_MASK) || \
|
||||||
((1 << dev2->irq) & mask))) {
|
((1 << dev2->irq) & mask))) {
|
||||||
#ifndef CONFIG_PCI_MSI
|
#ifndef CONFIG_PCI_MSI
|
||||||
printk(KERN_INFO "IRQ routing conflict for %s, have irq %d, want irq %d\n",
|
dev_info(&dev2->dev, "IRQ routing conflict: "
|
||||||
pci_name(dev2), dev2->irq, irq);
|
"have IRQ %d, want IRQ %d\n",
|
||||||
|
dev2->irq, irq);
|
||||||
#endif
|
#endif
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
dev2->irq = irq;
|
dev2->irq = irq;
|
||||||
pirq_penalty[irq]++;
|
pirq_penalty[irq]++;
|
||||||
if (dev != dev2)
|
if (dev != dev2)
|
||||||
printk(KERN_INFO
|
dev_info(&dev->dev, "sharing IRQ %d with %s\n",
|
||||||
"PCI: Sharing IRQ %d with %s\n",
|
irq, pci_name(dev2));
|
||||||
irq, pci_name(dev2));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
@@ -1025,8 +1018,7 @@ static void __init pcibios_fixup_irqs(void)
|
|||||||
* already in use.
|
* already in use.
|
||||||
*/
|
*/
|
||||||
if (dev->irq >= 16) {
|
if (dev->irq >= 16) {
|
||||||
DBG(KERN_DEBUG "%s: ignoring bogus IRQ %d\n",
|
dev_dbg(&dev->dev, "ignoring bogus IRQ %d\n", dev->irq);
|
||||||
pci_name(dev), dev->irq);
|
|
||||||
dev->irq = 0;
|
dev->irq = 0;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@@ -1070,12 +1062,12 @@ static void __init pcibios_fixup_irqs(void)
|
|||||||
irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
|
irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
|
||||||
PCI_SLOT(bridge->devfn), pin);
|
PCI_SLOT(bridge->devfn), pin);
|
||||||
if (irq >= 0)
|
if (irq >= 0)
|
||||||
printk(KERN_WARNING "PCI: using PPB %s[%c] to get irq %d\n",
|
dev_warn(&dev->dev, "using bridge %s INT %c to get IRQ %d\n",
|
||||||
pci_name(bridge), 'A' + pin, irq);
|
pci_name(bridge),
|
||||||
|
'A' + pin, irq);
|
||||||
}
|
}
|
||||||
if (irq >= 0) {
|
if (irq >= 0) {
|
||||||
printk(KERN_INFO "PCI->APIC IRQ transform: %s[%c] -> IRQ %d\n",
|
dev_info(&dev->dev, "PCI->APIC IRQ transform: INT %c -> IRQ %d\n", 'A' + pin, irq);
|
||||||
pci_name(dev), 'A' + pin, irq);
|
|
||||||
dev->irq = irq;
|
dev->irq = irq;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1231,25 +1223,24 @@ static int pirq_enable_irq(struct pci_dev *dev)
|
|||||||
irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
|
irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
|
||||||
PCI_SLOT(bridge->devfn), pin);
|
PCI_SLOT(bridge->devfn), pin);
|
||||||
if (irq >= 0)
|
if (irq >= 0)
|
||||||
printk(KERN_WARNING
|
dev_warn(&dev->dev, "using bridge %s "
|
||||||
"PCI: using PPB %s[%c] to get irq %d\n",
|
"INT %c to get IRQ %d\n",
|
||||||
pci_name(bridge),
|
pci_name(bridge), 'A' + pin,
|
||||||
'A' + pin, irq);
|
irq);
|
||||||
dev = bridge;
|
dev = bridge;
|
||||||
}
|
}
|
||||||
dev = temp_dev;
|
dev = temp_dev;
|
||||||
if (irq >= 0) {
|
if (irq >= 0) {
|
||||||
printk(KERN_INFO
|
dev_info(&dev->dev, "PCI->APIC IRQ transform: "
|
||||||
"PCI->APIC IRQ transform: %s[%c] -> IRQ %d\n",
|
"INT %c -> IRQ %d\n", 'A' + pin, irq);
|
||||||
pci_name(dev), 'A' + pin, irq);
|
|
||||||
dev->irq = irq;
|
dev->irq = irq;
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
} else
|
||||||
msg = " Probably buggy MP table.";
|
msg = "; probably buggy MP table";
|
||||||
} else if (pci_probe & PCI_BIOS_IRQ_SCAN)
|
} else if (pci_probe & PCI_BIOS_IRQ_SCAN)
|
||||||
msg = "";
|
msg = "";
|
||||||
else
|
else
|
||||||
msg = " Please try using pci=biosirq.";
|
msg = "; please try using pci=biosirq";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* With IDE legacy devices the IRQ lookup failure is not
|
* With IDE legacy devices the IRQ lookup failure is not
|
||||||
@@ -1259,9 +1250,8 @@ static int pirq_enable_irq(struct pci_dev *dev)
|
|||||||
!(dev->class & 0x5))
|
!(dev->class & 0x5))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
printk(KERN_WARNING
|
dev_warn(&dev->dev, "can't find IRQ for PCI INT %c%s\n",
|
||||||
"PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
|
'A' + pin, msg);
|
||||||
'A' + pin, pci_name(dev), msg);
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -131,13 +131,14 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
|
|||||||
u8 busno, suba, subb;
|
u8 busno, suba, subb;
|
||||||
int quad = BUS2QUAD(d->bus->number);
|
int quad = BUS2QUAD(d->bus->number);
|
||||||
|
|
||||||
printk("PCI: Searching for i450NX host bridges on %s\n", pci_name(d));
|
dev_info(&d->dev, "searching for i450NX host bridges\n");
|
||||||
reg = 0xd0;
|
reg = 0xd0;
|
||||||
for(pxb=0; pxb<2; pxb++) {
|
for(pxb=0; pxb<2; pxb++) {
|
||||||
pci_read_config_byte(d, reg++, &busno);
|
pci_read_config_byte(d, reg++, &busno);
|
||||||
pci_read_config_byte(d, reg++, &suba);
|
pci_read_config_byte(d, reg++, &suba);
|
||||||
pci_read_config_byte(d, reg++, &subb);
|
pci_read_config_byte(d, reg++, &subb);
|
||||||
DBG("i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno, suba, subb);
|
dev_dbg(&d->dev, "i450NX PXB %d: %02x/%02x/%02x\n",
|
||||||
|
pxb, busno, suba, subb);
|
||||||
if (busno) {
|
if (busno) {
|
||||||
/* Bus A */
|
/* Bus A */
|
||||||
pci_scan_bus_with_sysdata(QUADLOCAL2BUS(quad, busno));
|
pci_scan_bus_with_sysdata(QUADLOCAL2BUS(quad, busno));
|
||||||
|
Reference in New Issue
Block a user