瀏覽代碼

x86: irq: Get irq_router's bdf via dm_pci_get_bdf()

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>
Bin Meng 9 年之前
父節點
當前提交
819133d9f5
共有 1 個文件被更改,包括 1 次插入8 次删除
  1. 1 8
      arch/x86/cpu/irq.c

+ 1 - 8
arch/x86/cpu/irq.c

@@ -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) {