]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/lib/mpspec.c
x86: Change to use start/end address pair in write_tables()
[u-boot] / arch / x86 / lib / mpspec.c
index f3ad116316a9541953c39c0f13709d96a3e44777..6ab43f1055fdc31a2bb7f2b2d08d830392c812b5 100644 (file)
@@ -292,19 +292,19 @@ static int mptable_add_intsrc(struct mp_config_table *mc,
        struct mpc_config_intsrc *intsrc_base;
        int intsrc_entries = 0;
        const void *blob = gd->fdt_blob;
-       int node;
+       struct udevice *dev;
        int len, count;
        const u32 *cell;
-       int i;
+       int i, ret;
 
-       /* Get I/O interrupt information from device tree */
-       node = fdtdec_next_compatible(blob, 0, COMPAT_INTEL_IRQ_ROUTER);
-       if (node < 0) {
+       ret = uclass_first_device_err(UCLASS_IRQ, &dev);
+       if (ret && ret != -ENODEV) {
                debug("%s: Cannot find irq router node\n", __func__);
-               return -ENOENT;
+               return ret;
        }
 
-       cell = fdt_getprop(blob, node, "intel,pirq-routing", &len);
+       /* Get I/O interrupt information from device tree */
+       cell = fdt_getprop(blob, dev->of_offset, "intel,pirq-routing", &len);
        if (!cell)
                return -ENOENT;