提交 3f178632 编写于 作者: S Stephen Rothwell 提交者: Paul Mackerras

[POWERPC] iSeries: Unindent and clean iSeries_pci_final_fixup

Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 6a905793
...@@ -177,47 +177,49 @@ void __init iSeries_pci_final_fixup(void) ...@@ -177,47 +177,49 @@ void __init iSeries_pci_final_fixup(void)
printk("pcibios_final_fixup\n"); printk("pcibios_final_fixup\n");
for_each_pci_dev(pdev) { for_each_pci_dev(pdev) {
struct pci_dn *pdn;
const u32 *agent;
node = find_device_node(pdev->bus->number, pdev->devfn); node = find_device_node(pdev->bus->number, pdev->devfn);
printk("pci dev %p (%x.%x), node %p\n", pdev, printk("pci dev %p (%x.%x), node %p\n", pdev,
pdev->bus->number, pdev->devfn, node); pdev->bus->number, pdev->devfn, node);
if (!node) {
printk("PCI: Device Tree not found for 0x%016lX\n",
(unsigned long)pdev);
continue;
}
if (node != NULL) { pdn = PCI_DN(node);
struct pci_dn *pdn = PCI_DN(node); agent = of_get_property(node, "linux,agent-id", NULL);
const u32 *agent; if (pdn && agent) {
u8 irq = iSeries_allocate_IRQ(pdn->busno, 0,
agent = of_get_property(node, "linux,agent-id", NULL); pdn->bussubno);
if ((pdn != NULL) && (agent != NULL)) { int err;
u8 irq = iSeries_allocate_IRQ(pdn->busno, 0,
pdn->bussubno); err = HvCallXm_connectBusUnit(pdn->busno, pdn->bussubno,
int err; *agent, irq);
if (err)
err = HvCallXm_connectBusUnit(pdn->busno, pdn->bussubno, pci_log_error("Connect Bus Unit",
*agent, irq); pdn->busno, pdn->bussubno, *agent, err);
else {
err = HvCallPci_configStore8(pdn->busno,
pdn->bussubno, *agent,
PCI_INTERRUPT_LINE, irq);
if (err) if (err)
pci_log_error("Connect Bus Unit", pci_log_error("PciCfgStore Irq Failed!",
pdn->busno, pdn->bussubno, *agent, err); pdn->busno, pdn->bussubno,
else { *agent, err);
err = HvCallPci_configStore8(pdn->busno, pdn->bussubno, else
*agent,
PCI_INTERRUPT_LINE,
irq);
if (err)
pci_log_error("PciCfgStore Irq Failed!",
pdn->busno, pdn->bussubno, *agent, err);
}
if (!err)
pdev->irq = irq; pdev->irq = irq;
} }
}
++num_dev; num_dev++;
pdev->sysdata = node; pdev->sysdata = node;
PCI_DN(node)->pcidev = pdev; PCI_DN(node)->pcidev = pdev;
allocate_device_bars(pdev); allocate_device_bars(pdev);
iSeries_Device_Information(pdev, num_dev); iSeries_Device_Information(pdev, num_dev);
iommu_devnode_init_iSeries(pdev, node); iommu_devnode_init_iSeries(pdev, node);
} else
printk("PCI: Device Tree not found for 0x%016lX\n",
(unsigned long)pdev);
} }
iSeries_activate_IRQs(); iSeries_activate_IRQs();
mf_display_src(0xC9000200); mf_display_src(0xC9000200);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册