Index: sys/xen/xen_intr.c =================================================================== --- sys/xen/xen_intr.c +++ sys/xen/xen_intr.c @@ -399,7 +399,7 @@ */ static int xen_intr_bind_isrc(struct xenisrc **isrcp, evtchn_port_t local_port, - enum evtchn_type type, const char *intr_owner, driver_filter_t filter, + enum evtchn_type type, device_t intr_owner, driver_filter_t filter, driver_intr_t handler, void *arg, enum intr_type flags, xen_intr_handle_t *port_handlep) { @@ -408,7 +408,8 @@ *isrcp = NULL; if (port_handlep == NULL) { - printf("%s: %s: Bad event handle\n", intr_owner, __func__); + device_printf(intr_owner, + "%s: Bad event handle\n", __func__); return (EINVAL); } @@ -450,8 +451,8 @@ return (0); } - error = xen_intr_add_handler(intr_owner, filter, handler, arg, flags, - *port_handlep); + error = xen_intr_add_handler(device_get_nameunit(intr_owner), filter, + handler, arg, flags, *port_handlep); if (error != 0) { xen_intr_release_isrc(isrc); return (error); @@ -1019,7 +1020,7 @@ int error; error = xen_intr_bind_isrc(&isrc, local_port, EVTCHN_TYPE_PORT, - device_get_nameunit(dev), filter, handler, arg, flags, + dev, filter, handler, arg, flags, port_handlep); if (error != 0) return (error); @@ -1054,8 +1055,7 @@ } error = xen_intr_bind_isrc(&isrc, alloc_unbound.port, EVTCHN_TYPE_PORT, - device_get_nameunit(dev), filter, handler, arg, flags, - port_handlep); + dev, filter, handler, arg, flags, port_handlep); if (error != 0) { evtchn_close_t close = { .port = alloc_unbound.port }; if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close)) @@ -1089,8 +1089,7 @@ } error = xen_intr_bind_isrc(&isrc, bind_interdomain.local_port, - EVTCHN_TYPE_PORT, device_get_nameunit(dev), filter, handler, arg, - flags, port_handlep); + EVTCHN_TYPE_PORT, dev, filter, handler, arg, flags, port_handlep); if (error) { evtchn_close_t close = { .port = bind_interdomain.local_port }; if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close)) @@ -1127,8 +1126,7 @@ } error = xen_intr_bind_isrc(&isrc, bind_virq.port, EVTCHN_TYPE_VIRQ, - device_get_nameunit(dev), filter, handler, arg, flags, - port_handlep); + dev, filter, handler, arg, flags, port_handlep); #ifdef SMP if (error == 0) @@ -1192,7 +1190,7 @@ snprintf(name, sizeof(name), "cpu%u", cpu); error = xen_intr_bind_isrc(&isrc, bind_ipi.port, EVTCHN_TYPE_IPI, - name, filter, NULL, NULL, flags, port_handlep); + pcpu_find(cpu)->pc_device, filter, NULL, NULL, flags, port_handlep); if (error != 0) { evtchn_close_t close = { .port = bind_ipi.port };