x86: irq: Get irq_router's bdf via dm_pci_get_bdf()
authorBin Meng <bmeng.cn@gmail.com>
Mon, 1 Feb 2016 09:40:50 +0000 (01:40 -0800)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 5 Feb 2016 04:47:22 +0000 (12:47 +0800)
There is no need to parse PCH's <reg> property as we have already
a DM PCI API dm_pci_get_bdf() that can handle this.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/irq.c

index 0b36ace0915565ab5795655408bca91c88d7ff2a..cc0297fa51f607dcc0bb2cac0cea65eb36a0e52a 100644 (file)
@@ -86,26 +86,19 @@ static inline void fill_irq_info(struct irq_info *slot, int bus, int device,
 static int create_pirq_routing_table(struct udevice *dev)
 {
        const void *blob = gd->fdt_blob;
-       struct fdt_pci_addr addr;
        int node;
        int len, count;
        const u32 *cell;
        struct irq_routing_table *rt;
        struct irq_info *slot, *slot_base;
        int irq_entries = 0;
-       int parent;
        int i;
        int ret;
 
        node = dev->of_offset;
-       parent = dev->parent->of_offset;
-       ret = fdtdec_get_pci_addr(blob, parent, FDT_PCI_SPACE_CONFIG,
-                                 "reg", &addr);
-       if (ret)
-               return ret;
 
        /* extract the bdf from fdt_pci_addr */
-       irq_router.bdf = addr.phys_hi & 0xffff00;
+       irq_router.bdf = dm_pci_get_bdf(dev->parent);
 
        ret = fdt_find_string(blob, node, "intel,pirq-config", "pci");
        if (!ret) {