Index: sys/arm/mv/mpic.c =================================================================== --- sys/arm/mv/mpic.c +++ sys/arm/mv/mpic.c @@ -51,6 +51,7 @@ #include #include +#include #include #ifdef DEBUG @@ -331,29 +332,21 @@ int mv_msi_data(int irq, uint64_t *addr, uint32_t *data) { - u_long phys, base, size; + u_long phys, size; phandle_t node; int error; node = ofw_bus_get_node(mv_mpic_sc->sc_dev); /* Get physical addres of register space */ - error = fdt_get_range(OF_parent(node), 0, &phys, &size); + error = ofw_reg_to_paddr(node, 0, &phys, &size, NULL); if (error) { printf("%s: Cannot get register physical address, err:%d", __func__, error); return (error); } - /* Get offset of MPIC register space */ - error = fdt_regsize(node, &base, &size); - if (error) { - printf("%s: Cannot get MPIC register offset, err:%d", - __func__, error); - return (error); - } - - *addr = phys + base + MPIC_SOFT_INT; + *addr = phys + MPIC_SOFT_INT; *data = MPIC_SOFT_INT_DRBL1 | irq; return (0);