diff options
Diffstat (limited to 'libusb/os/sunos_usb.c')
-rw-r--r-- | libusb/os/sunos_usb.c | 218 |
1 files changed, 109 insertions, 109 deletions
diff --git a/libusb/os/sunos_usb.c b/libusb/os/sunos_usb.c index 46866fb..28b167f 100644 --- a/libusb/os/sunos_usb.c +++ b/libusb/os/sunos_usb.c @@ -90,7 +90,7 @@ static int sunos_get_link(di_devlink_t devlink, void *arg) char *content = (char *)di_devlink_content(devlink); char *start = strstr(content, "/devices/"); start += strlen("/devices"); - usbi_dbg("%s", start); + usbi_dbg(NULL, "%s", start); /* line content must have minor node */ if (start == NULL || @@ -101,7 +101,7 @@ static int sunos_get_link(di_devlink_t devlink, void *arg) p = di_devlink_path(devlink); q = strrchr(p, '/'); - usbi_dbg("%s", q); + usbi_dbg(NULL, "%s", q); *(larg->linkpp) = strndup(p, strlen(p) - strlen(q)); @@ -118,7 +118,7 @@ static int sunos_physpath_to_devlink( *link_path = NULL; larg.linkpp = link_path; if ((hdl = di_devlink_init(NULL, 0)) == NULL) { - usbi_dbg("di_devlink_init failure"); + usbi_dbg(NULL, "di_devlink_init failure"); return (-1); } @@ -131,7 +131,7 @@ static int sunos_physpath_to_devlink( (void) di_devlink_fini(&hdl); if (*link_path == NULL) { - usbi_dbg("there is no devlink for this path"); + usbi_dbg(NULL, "there is no devlink for this path"); return (-1); } @@ -167,13 +167,13 @@ sunos_usb_ioctl(struct libusb_device *dev, int cmd) return (-1); } end++; - usbi_dbg("unitaddr: %s", end); + usbi_dbg(DEVICE_CTX(dev), "unitaddr: %s", end); nvlist_alloc(&nvlist, NV_UNIQUE_NAME_TYPE, KM_NOSLEEP); nvlist_add_int32(nvlist, "port", dev->port_number); //find the hub path snprintf(path_arg, sizeof(path_arg), "/devices%s:hubd", hubpath); - usbi_dbg("ioctl hub path: %s", path_arg); + usbi_dbg(DEVICE_CTX(dev), "ioctl hub path: %s", path_arg); fd = open(path_arg, O_RDONLY); if (fd < 0) { @@ -193,15 +193,15 @@ sunos_usb_ioctl(struct libusb_device *dev, int cmd) iocdata.c_nodename = (char *)"hub"; iocdata.c_unitaddr = end; iocdata.cpyout_buf = &devctl_ap_state; - usbi_dbg("%p, %" PRIuPTR, iocdata.nvl_user, iocdata.nvl_usersz); + usbi_dbg(DEVICE_CTX(dev), "%p, %" PRIuPTR, iocdata.nvl_user, iocdata.nvl_usersz); errno = 0; if (ioctl(fd, DEVCTL_AP_GETSTATE, &iocdata) == -1) { usbi_err(DEVICE_CTX(dev), "ioctl failed: fd %d, cmd %x, errno %d (%s)", fd, DEVCTL_AP_GETSTATE, errno, strerror(errno)); } else { - usbi_dbg("dev rstate: %d", devctl_ap_state.ap_rstate); - usbi_dbg("dev ostate: %d", devctl_ap_state.ap_ostate); + usbi_dbg(DEVICE_CTX(dev), "dev rstate: %d", devctl_ap_state.ap_rstate); + usbi_dbg(DEVICE_CTX(dev), "dev ostate: %d", devctl_ap_state.ap_ostate); } errno = 0; @@ -227,7 +227,7 @@ sunos_kernel_driver_active(struct libusb_device_handle *dev_handle, uint8_t inte UNUSED(interface); - usbi_dbg("%s", dpriv->ugenpath); + usbi_dbg(HANDLE_CTX(dev_handle), "%s", dpriv->ugenpath); return (dpriv->ugenpath == NULL); } @@ -236,7 +236,7 @@ sunos_kernel_driver_active(struct libusb_device_handle *dev_handle, uint8_t inte * Private functions */ static int _errno_to_libusb(int); -static int sunos_usb_get_status(int fd); +static int sunos_usb_get_status(struct libusb_context *ctx, int fd); static string_list_t * sunos_new_string_list(void) @@ -358,7 +358,7 @@ sunos_detach_kernel_driver(struct libusb_device_handle *dev_handle, dpriv = usbi_get_device_priv(dev_handle->dev); snprintf(path_arg, sizeof(path_arg), "\'\"%s\"\'", dpriv->phypath); - usbi_dbg("%s", path_arg); + usbi_dbg(HANDLE_CTX(dev_handle), "%s", path_arg); list = sunos_new_string_list(); if (list == NULL) @@ -418,7 +418,7 @@ sunos_attach_kernel_driver(struct libusb_device_handle *dev_handle, dpriv = usbi_get_device_priv(dev_handle->dev); snprintf(path_arg, sizeof(path_arg), "\'\"%s\"\'", dpriv->phypath); - usbi_dbg("%s", path_arg); + usbi_dbg(HANDLE_CTX(dev_handle), "%s", path_arg); list = sunos_new_string_list(); if (list == NULL) @@ -474,7 +474,7 @@ sunos_fill_in_dev_info(di_node_t node, struct libusb_device *dev) proplen = di_prop_lookup_bytes(DDI_DEV_T_ANY, node, "usb-raw-cfg-descriptors", &rdata); if (proplen <= 0) { - usbi_dbg("can't find raw config descriptors"); + usbi_dbg(DEVICE_CTX(dev), "can't find raw config descriptors"); return (LIBUSB_ERROR_IO); } @@ -501,7 +501,7 @@ sunos_fill_in_dev_info(di_node_t node, struct libusb_device *dev) snprintf(match_str, sizeof(match_str), "^usb/%x.%x", dev->device_descriptor.idVendor, dev->device_descriptor.idProduct); - usbi_dbg("match is %s", match_str); + usbi_dbg(DEVICE_CTX(dev), "match is %s", match_str); sunos_physpath_to_devlink(dpriv->phypath, match_str, &dpriv->ugenpath); di_devfs_path_free(phypath); @@ -514,7 +514,7 @@ sunos_fill_in_dev_info(di_node_t node, struct libusb_device *dev) /* address */ n = di_prop_lookup_ints(DDI_DEV_T_ANY, node, "assigned-address", &addr); if (n != 1 || *addr == 0) { - usbi_dbg("can't get address"); + usbi_dbg(DEVICE_CTX(dev), "can't get address"); } else { dev->device_address = *addr; } @@ -530,7 +530,7 @@ sunos_fill_in_dev_info(di_node_t node, struct libusb_device *dev) dev->speed = LIBUSB_SPEED_SUPER; } - usbi_dbg("vid=%x pid=%x, path=%s, bus_nmber=0x%x, port_number=%d, speed=%d", + usbi_dbg(DEVICE_CTX(dev), "vid=%x pid=%x, path=%s, bus_nmber=0x%x, port_number=%d, speed=%d", dev->device_descriptor.idVendor, dev->device_descriptor.idProduct, dpriv->phypath, dev->bus_number, dev->port_number, dev->speed); @@ -571,7 +571,7 @@ sunos_add_devices(di_devlink_t link, void *arg) dn = myself; /* find the root hub */ while (di_prop_lookup_ints(DDI_DEV_T_ANY, dn, "root-hub", &j) != 0) { - usbi_dbg("find_root_hub:%s", di_devfs_path(dn)); + usbi_dbg(NULL, "find_root_hub:%s", di_devfs_path(dn)); n = di_prop_lookup_ints(DDI_DEV_T_ANY, dn, "assigned-address", &addr_prop); session_id |= ((addr_prop[0] & 0xff) << i++ * 8); @@ -586,13 +586,13 @@ sunos_add_devices(di_devlink_t link, void *arg) session_id |= (bdf << i * 8); bus_number = (PCI_REG_DEV_G(reg) << 3) | PCI_REG_FUNC_G(reg); - usbi_dbg("device bus address=%s:%x, name:%s", + usbi_dbg(NULL, "device bus address=%s:%x, name:%s", di_bus_addr(myself), bus_number, di_node_name(dn)); - usbi_dbg("session id org:%" PRIx64, session_id); + usbi_dbg(NULL, "session id org:%" PRIx64, session_id); /* dn is the usb device */ for (dn = di_child_node(myself); dn != DI_NODE_NIL; dn = di_sibling_node(dn)) { - usbi_dbg("device path:%s", di_devfs_path(dn)); + usbi_dbg(NULL, "device path:%s", di_devfs_path(dn)); /* skip hub devices, because its driver can not been unload */ if (di_prop_lookup_ints(DDI_DEV_T_ANY, dn, "usb-port-count", &addr_prop) != -1) continue; @@ -600,18 +600,18 @@ sunos_add_devices(di_devlink_t link, void *arg) n = di_prop_lookup_ints(DDI_DEV_T_ANY, dn, "assigned-address", &addr_prop); if ((n != 1) || (addr_prop[0] == 0)) { - usbi_dbg("cannot get valid usb_addr"); + usbi_dbg(NULL, "cannot get valid usb_addr"); continue; } sid = (session_id << 8) | (addr_prop[0] & 0xff) ; - usbi_dbg("session id %" PRIX64, sid); + usbi_dbg(NULL, "session id %" PRIX64, sid); dev = usbi_get_device_by_session_id(nargs->ctx, sid); if (dev == NULL) { dev = usbi_alloc_device(nargs->ctx, sid); if (dev == NULL) { - usbi_dbg("can't alloc device"); + usbi_dbg(NULL, "can't alloc device"); continue; } devpriv = usbi_get_device_priv(dev); @@ -619,21 +619,21 @@ sunos_add_devices(di_devlink_t link, void *arg) if (sunos_fill_in_dev_info(dn, dev) != LIBUSB_SUCCESS) { libusb_unref_device(dev); - usbi_dbg("get information fail"); + usbi_dbg(NULL, "get information fail"); continue; } if (usbi_sanitize_device(dev) < 0) { libusb_unref_device(dev); - usbi_dbg("sanatize failed: "); + usbi_dbg(NULL, "sanatize failed: "); return (DI_WALK_TERMINATE); } } else { devpriv = usbi_get_device_priv(dev); - usbi_dbg("Dev %s exists", devpriv->ugenpath); + usbi_dbg(NULL, "Dev %s exists", devpriv->ugenpath); } if (discovered_devs_append(*(nargs->discdevs), dev) == NULL) { - usbi_dbg("cannot append device"); + usbi_dbg(NULL, "cannot append device"); } /* @@ -642,7 +642,7 @@ sunos_add_devices(di_devlink_t link, void *arg) */ libusb_unref_device(dev); - usbi_dbg("Device %s %s id=0x%" PRIx64 ", devcount:%" PRIuPTR + usbi_dbg(NULL, "Device %s %s id=0x%" PRIx64 ", devcount:%" PRIuPTR ", bdf=%" PRIx64, devpriv->ugenpath, di_devfs_path(dn), (uint64_t)sid, (*nargs->discdevs)->len, bdf); @@ -690,13 +690,13 @@ sunos_get_device_list(struct libusb_context * ctx, args.discdevs = discdevs; args.last_ugenpath = NULL; if ((root_node = di_init("/", DINFOCPYALL)) == DI_NODE_NIL) { - usbi_dbg("di_int() failed: errno %d (%s)", errno, strerror(errno)); + usbi_dbg(ctx, "di_int() failed: errno %d (%s)", errno, strerror(errno)); return (LIBUSB_ERROR_IO); } if ((devlink_hdl = di_devlink_init(NULL, 0)) == NULL) { di_fini(root_node); - usbi_dbg("di_devlink_init() failed: errno %d (%s)", errno, strerror(errno)); + usbi_dbg(ctx, "di_devlink_init() failed: errno %d (%s)", errno, strerror(errno)); return (LIBUSB_ERROR_IO); } @@ -705,7 +705,7 @@ sunos_get_device_list(struct libusb_context * ctx, /* walk each node to find USB devices */ if (di_walk_node(root_node, DI_WALK_SIBFIRST, &args, sunos_walk_minor_node_link) == -1) { - usbi_dbg("di_walk_node() failed: errno %d (%s)", errno, strerror(errno)); + usbi_dbg(ctx, "di_walk_node() failed: errno %d (%s)", errno, strerror(errno)); di_fini(root_node); return (LIBUSB_ERROR_IO); @@ -714,7 +714,7 @@ sunos_get_device_list(struct libusb_context * ctx, di_fini(root_node); di_devlink_fini(&devlink_hdl); - usbi_dbg("%zu devices", (*discdevs)->len); + usbi_dbg(ctx, "%zu devices", (*discdevs)->len); return ((*discdevs)->len); } @@ -729,7 +729,7 @@ sunos_usb_open_ep0(sunos_dev_handle_priv_t *hpriv, sunos_dev_priv_t *dpriv) } snprintf(filename, PATH_MAX, "%s/cntrl0", dpriv->ugenpath); - usbi_dbg("opening %s", filename); + usbi_dbg(NULL, "opening %s", filename); hpriv->eps[0].datafd = open(filename, O_RDWR); if (hpriv->eps[0].datafd < 0) { return(_errno_to_libusb(errno)); @@ -836,20 +836,20 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, uint8_t ep_index; sunos_dev_handle_priv_t *hpriv; - usbi_dbg("open ep 0x%02x", ep_addr); + usbi_dbg(HANDLE_CTX(hdl), "open ep 0x%02x", ep_addr); hpriv = usbi_get_device_handle_priv(hdl); ep_index = sunos_usb_ep_index(ep_addr); /* ep already opened */ if ((hpriv->eps[ep_index].datafd > 0) && (hpriv->eps[ep_index].statfd > 0)) { - usbi_dbg("ep 0x%02x already opened, return success", + usbi_dbg(HANDLE_CTX(hdl), "ep 0x%02x already opened, return success", ep_addr); return (0); } if (sunos_find_interface(hdl, ep_addr, &ifc) < 0) { - usbi_dbg("can't find interface for endpoint 0x%02x", + usbi_dbg(HANDLE_CTX(hdl), "can't find interface for endpoint 0x%02x", ep_addr); return (EACCES); @@ -896,7 +896,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, } /* Open the xfer endpoint first */ if ((fd = open(filename, mode)) == -1) { - usbi_dbg("can't open %s: errno %d (%s)", filename, errno, + usbi_dbg(HANDLE_CTX(hdl), "can't open %s: errno %d (%s)", filename, errno, strerror(errno)); return (errno); @@ -917,7 +917,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, /* Open the status endpoint with RDWR */ if ((fdstat = open(statfilename, O_RDWR)) == -1) { - usbi_dbg("can't open %s RDWR: errno %d (%s)", + usbi_dbg(HANDLE_CTX(hdl), "can't open %s RDWR: errno %d (%s)", statfilename, errno, strerror(errno)); return (errno); @@ -925,7 +925,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, count = write(fdstat, &control, sizeof(control)); if (count != 1) { /* this should have worked */ - usbi_dbg("can't write to %s: errno %d (%s)", + usbi_dbg(HANDLE_CTX(hdl), "can't write to %s: errno %d (%s)", statfilename, errno, strerror(errno)); (void) close(fdstat); @@ -934,7 +934,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, } } else { if ((fdstat = open(statfilename, O_RDONLY)) == -1) { - usbi_dbg("can't open %s: errno %d (%s)", statfilename, errno, + usbi_dbg(HANDLE_CTX(hdl), "can't open %s: errno %d (%s)", statfilename, errno, strerror(errno)); return (errno); @@ -943,7 +943,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, /* Re-open the xfer endpoint */ if ((fd = open(filename, mode)) == -1) { - usbi_dbg("can't open %s: errno %d (%s)", filename, errno, + usbi_dbg(HANDLE_CTX(hdl), "can't open %s: errno %d (%s)", filename, errno, strerror(errno)); (void) close(fdstat); @@ -952,7 +952,7 @@ sunos_check_device_and_status_open(struct libusb_device_handle *hdl, hpriv->eps[ep_index].datafd = fd; hpriv->eps[ep_index].statfd = fdstat; - usbi_dbg("ep=0x%02x datafd=%d, statfd=%d", ep_addr, fd, fdstat); + usbi_dbg(HANDLE_CTX(hdl), "ep=0x%02x datafd=%d, statfd=%d", ep_addr, fd, fdstat); return (0); } @@ -981,7 +981,7 @@ sunos_open(struct libusb_device_handle *handle) } if ((ret = sunos_usb_open_ep0(hpriv, dpriv)) != LIBUSB_SUCCESS) { - usbi_dbg("fail: %d", ret); + usbi_dbg(HANDLE_CTX(handle), "fail: %d", ret); return (ret); } @@ -993,7 +993,7 @@ sunos_close(struct libusb_device_handle *handle) { sunos_dev_handle_priv_t *hpriv; - usbi_dbg(" "); + usbi_dbg(HANDLE_CTX(handle), " "); hpriv = usbi_get_device_handle_priv(handle); @@ -1016,14 +1016,14 @@ sunos_get_active_config_descriptor(struct libusb_device *dev, * has ever been changed through setCfg. */ if ((node = di_init(dpriv->phypath, DINFOCPYALL)) == DI_NODE_NIL) { - usbi_dbg("di_int() failed: errno %d (%s)", errno, + usbi_dbg(DEVICE_CTX(dev), "di_int() failed: errno %d (%s)", errno, strerror(errno)); return (LIBUSB_ERROR_IO); } proplen = di_prop_lookup_bytes(DDI_DEV_T_ANY, node, "usb-raw-cfg-descriptors", &rdata); if (proplen <= 0) { - usbi_dbg("can't find raw config descriptors"); + usbi_dbg(DEVICE_CTX(dev), "can't find raw config descriptors"); return (LIBUSB_ERROR_IO); } @@ -1040,7 +1040,7 @@ sunos_get_active_config_descriptor(struct libusb_device *dev, cfg = (struct libusb_config_descriptor *)dpriv->raw_cfgdescr; len = MIN(len, libusb_le16_to_cpu(cfg->wTotalLength)); memcpy(buf, dpriv->raw_cfgdescr, len); - usbi_dbg("path:%s len %zu", dpriv->phypath, len); + usbi_dbg(DEVICE_CTX(dev), "path:%s len %zu", dpriv->phypath, len); return (len); } @@ -1061,7 +1061,7 @@ sunos_get_configuration(struct libusb_device_handle *handle, uint8_t *config) *config = dpriv->cfgvalue; - usbi_dbg("bConfigurationValue %u", *config); + usbi_dbg(HANDLE_CTX(handle), "bConfigurationValue %u", *config); return (LIBUSB_SUCCESS); } @@ -1072,7 +1072,7 @@ sunos_set_configuration(struct libusb_device_handle *handle, int config) sunos_dev_priv_t *dpriv = usbi_get_device_priv(handle->dev); sunos_dev_handle_priv_t *hpriv; - usbi_dbg("bConfigurationValue %d", config); + usbi_dbg(HANDLE_CTX(handle), "bConfigurationValue %d", config); hpriv = usbi_get_device_handle_priv(handle); if (dpriv->ugenpath == NULL) @@ -1092,7 +1092,7 @@ sunos_claim_interface(struct libusb_device_handle *handle, uint8_t iface) { UNUSED(handle); - usbi_dbg("iface %u", iface); + usbi_dbg(HANDLE_CTX(handle), "iface %u", iface); return (LIBUSB_SUCCESS); } @@ -1102,7 +1102,7 @@ sunos_release_interface(struct libusb_device_handle *handle, uint8_t iface) { sunos_dev_handle_priv_t *hpriv = usbi_get_device_handle_priv(handle); - usbi_dbg("iface %u", iface); + usbi_dbg(HANDLE_CTX(handle), "iface %u", iface); /* XXX: can we release it? */ hpriv->altsetting[iface] = 0; @@ -1117,7 +1117,7 @@ sunos_set_interface_altsetting(struct libusb_device_handle *handle, uint8_t ifac sunos_dev_priv_t *dpriv = usbi_get_device_priv(handle->dev); sunos_dev_handle_priv_t *hpriv = usbi_get_device_handle_priv(handle); - usbi_dbg("iface %u, setting %u", iface, altsetting); + usbi_dbg(HANDLE_CTX(handle), "iface %u, setting %u", iface, altsetting); if (dpriv->ugenpath == NULL) return (LIBUSB_ERROR_NOT_FOUND); @@ -1169,7 +1169,7 @@ sunos_async_callback(union sigval arg) ret = aio_error(aiocb); if (ret != 0) { - xfer->status = sunos_usb_get_status(hpriv->eps[ep].statfd); + xfer->status = sunos_usb_get_status(TRANSFER_CTX(xfer), hpriv->eps[ep].statfd); } else { xfer->actual_length = LIBUSB_TRANSFER_TO_USBI_TRANSFER(xfer)->transferred = @@ -1178,7 +1178,7 @@ sunos_async_callback(union sigval arg) usb_dump_data(xfer->buffer, xfer->actual_length); - usbi_dbg("ret=%d, len=%d, actual_len=%d", ret, xfer->length, + usbi_dbg(TRANSFER_CTX(xfer), "ret=%d, len=%d, actual_len=%d", ret, xfer->length, xfer->actual_length); /* async notification */ @@ -1195,7 +1195,7 @@ sunos_do_async_io(struct libusb_transfer *transfer) uint8_t ep; struct sunos_transfer_priv *tpriv; - usbi_dbg(" "); + usbi_dbg(TRANSFER_CTX(transfer), " "); tpriv = usbi_get_transfer_priv(LIBUSB_TRANSFER_TO_USBI_TRANSFER(transfer)); hpriv = usbi_get_device_handle_priv(transfer->dev_handle); @@ -1225,12 +1225,12 @@ sunos_do_async_io(struct libusb_transfer *transfer) /* return the number of bytes read/written */ static ssize_t -usb_do_io(int fd, int stat_fd, void *data, size_t size, int flag, int *status) +usb_do_io(struct libusb_context *ctx, int fd, int stat_fd, void *data, size_t size, int flag, int *status) { int error; ssize_t ret = -1; - usbi_dbg("usb_do_io(): datafd=%d statfd=%d size=0x%zx flag=%s", + usbi_dbg(ctx, "usb_do_io(): datafd=%d statfd=%d size=0x%zx flag=%s", fd, stat_fd, size, flag? "WRITE":"READ"); switch (flag) { @@ -1246,17 +1246,17 @@ usb_do_io(int fd, int stat_fd, void *data, size_t size, int flag, int *status) break; } - usbi_dbg("usb_do_io(): amount=%zd", ret); + usbi_dbg(ctx, "usb_do_io(): amount=%zd", ret); if (ret < 0) { int save_errno = errno; - usbi_dbg("TID=%x io %s errno %d (%s)", pthread_self(), + usbi_dbg(ctx, "TID=%x io %s errno %d (%s)", pthread_self(), flag?"WRITE":"READ", errno, strerror(errno)); /* sunos_usb_get_status will do a read and overwrite errno */ - error = sunos_usb_get_status(stat_fd); - usbi_dbg("io status=%d errno %d (%s)", error, + error = sunos_usb_get_status(ctx, stat_fd); + usbi_dbg(ctx, "io status=%d errno %d (%s)", error, save_errno, strerror(save_errno)); if (status) { @@ -1286,26 +1286,26 @@ solaris_submit_ctrl_on_default(struct libusb_transfer *transfer) wLength = transfer->length - LIBUSB_CONTROL_SETUP_SIZE; if (hpriv->eps[0].datafd == -1) { - usbi_dbg("ep0 not opened"); + usbi_dbg(TRANSFER_CTX(transfer), "ep0 not opened"); return (LIBUSB_ERROR_NOT_FOUND); } if ((data[0] & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN) { - usbi_dbg("IN request"); - ret = usb_do_io(hpriv->eps[0].datafd, + usbi_dbg(TRANSFER_CTX(transfer), "IN request"); + ret = usb_do_io(TRANSFER_CTX(transfer), hpriv->eps[0].datafd, hpriv->eps[0].statfd, data, LIBUSB_CONTROL_SETUP_SIZE, WRITE, &status); } else { - usbi_dbg("OUT request"); - ret = usb_do_io(hpriv->eps[0].datafd, hpriv->eps[0].statfd, + usbi_dbg(TRANSFER_CTX(transfer), "OUT request"); + ret = usb_do_io(TRANSFER_CTX(transfer), hpriv->eps[0].datafd, hpriv->eps[0].statfd, transfer->buffer, transfer->length, WRITE, (int *)&transfer->status); } setup_ret = ret; if (ret < (ssize_t)LIBUSB_CONTROL_SETUP_SIZE) { - usbi_dbg("error sending control msg: %zd", ret); + usbi_dbg(TRANSFER_CTX(transfer), "error sending control msg: %zd", ret); return (LIBUSB_ERROR_IO); } @@ -1315,8 +1315,8 @@ solaris_submit_ctrl_on_default(struct libusb_transfer *transfer) /* Read the remaining bytes for IN request */ if ((wLength) && ((data[0] & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN)) { - usbi_dbg("DATA: %d", transfer->length - (int)setup_ret); - ret = usb_do_io(hpriv->eps[0].datafd, + usbi_dbg(TRANSFER_CTX(transfer), "DATA: %d", transfer->length - (int)setup_ret); + ret = usb_do_io(TRANSFER_CTX(transfer), hpriv->eps[0].datafd, hpriv->eps[0].statfd, transfer->buffer + LIBUSB_CONTROL_SETUP_SIZE, wLength, READ, (int *)&transfer->status); @@ -1325,7 +1325,7 @@ solaris_submit_ctrl_on_default(struct libusb_transfer *transfer) if (ret >= 0) { LIBUSB_TRANSFER_TO_USBI_TRANSFER(transfer)->transferred = ret; } - usbi_dbg("Done: ctrl data bytes %zd", ret); + usbi_dbg(TRANSFER_CTX(transfer), "Done: ctrl data bytes %zd", ret); /** * Sync transfer handling. @@ -1345,13 +1345,13 @@ sunos_clear_halt(struct libusb_device_handle *handle, unsigned char endpoint) { int ret; - usbi_dbg("endpoint=0x%02x", endpoint); + usbi_dbg(HANDLE_CTX(handle), "endpoint=0x%02x", endpoint); ret = libusb_control_transfer(handle, LIBUSB_ENDPOINT_OUT | LIBUSB_RECIPIENT_ENDPOINT | LIBUSB_REQUEST_TYPE_STANDARD, LIBUSB_REQUEST_CLEAR_FEATURE, 0, endpoint, NULL, 0, 1000); - usbi_dbg("ret=%d", ret); + usbi_dbg(HANDLE_CTX(handle), "ret=%d", ret); return (ret); } @@ -1361,7 +1361,7 @@ sunos_destroy_device(struct libusb_device *dev) { sunos_dev_priv_t *dpriv = usbi_get_device_priv(dev); - usbi_dbg("destroy everything"); + usbi_dbg(DEVICE_CTX(dev), "destroy everything"); free(dpriv->raw_cfgdescr); free(dpriv->ugenpath); free(dpriv->phypath); @@ -1387,7 +1387,7 @@ sunos_submit_transfer(struct usbi_transfer *itransfer) switch (transfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: /* sync transfer */ - usbi_dbg("CTRL transfer: %d", transfer->length); + usbi_dbg(ITRANSFER_CTX(itransfer), "CTRL transfer: %d", transfer->length); err = solaris_submit_ctrl_on_default(transfer); break; @@ -1395,9 +1395,9 @@ sunos_submit_transfer(struct usbi_transfer *itransfer) /* fallthru */ case LIBUSB_TRANSFER_TYPE_INTERRUPT: if (transfer->type == LIBUSB_TRANSFER_TYPE_BULK) - usbi_dbg("BULK transfer: %d", transfer->length); + usbi_dbg(ITRANSFER_CTX(itransfer), "BULK transfer: %d", transfer->length); else - usbi_dbg("INTR transfer: %d", transfer->length); + usbi_dbg(ITRANSFER_CTX(itransfer), "INTR transfer: %d", transfer->length); err = sunos_do_async_io(transfer); break; @@ -1407,9 +1407,9 @@ sunos_submit_transfer(struct usbi_transfer *itransfer) /* fallthru */ case LIBUSB_TRANSFER_TYPE_BULK_STREAM: if (transfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) - usbi_dbg("ISOC transfer: %d", transfer->length); + usbi_dbg(ITRANSFER_CTX(itransfer), "ISOC transfer: %d", transfer->length); else - usbi_dbg("BULK STREAM transfer: %d", transfer->length); + usbi_dbg(ITRANSFER_CTX(itransfer), "BULK STREAM transfer: %d", transfer->length); err = LIBUSB_ERROR_NOT_SUPPORTED; break; } @@ -1435,7 +1435,7 @@ sunos_cancel_transfer(struct usbi_transfer *itransfer) ret = aio_cancel(hpriv->eps[ep].datafd, aiocb); - usbi_dbg("aio->fd=%d fd=%d ret = %d, %s", aiocb->aio_fildes, + usbi_dbg(ITRANSFER_CTX(itransfer), "aio->fd=%d fd=%d ret = %d, %s", aiocb->aio_fildes, hpriv->eps[ep].datafd, ret, (ret == AIO_CANCELED)? strerror(0):strerror(errno)); @@ -1461,7 +1461,7 @@ sunos_handle_transfer_completion(struct usbi_transfer *itransfer) int _errno_to_libusb(int err) { - usbi_dbg("error: %s (%d)", strerror(err), err); + usbi_dbg(NULL, "error: %s (%d)", strerror(err), err); switch (err) { case EIO: @@ -1486,96 +1486,96 @@ _errno_to_libusb(int err) * Returns: ugen's last cmd status */ static int -sunos_usb_get_status(int fd) +sunos_usb_get_status(struct libusb_context *ctx, int fd) { int status; ssize_t ret; - usbi_dbg("sunos_usb_get_status(): fd=%d", fd); + usbi_dbg(ctx, "sunos_usb_get_status(): fd=%d", fd); ret = read(fd, &status, sizeof(status)); if (ret == sizeof(status)) { switch (status) { case USB_LC_STAT_NOERROR: - usbi_dbg("No Error"); + usbi_dbg(ctx, "No Error"); break; case USB_LC_STAT_CRC: - usbi_dbg("CRC Timeout Detected\n"); + usbi_dbg(ctx, "CRC Timeout Detected\n"); break; case USB_LC_STAT_BITSTUFFING: - usbi_dbg("Bit Stuffing Violation\n"); + usbi_dbg(ctx, "Bit Stuffing Violation\n"); break; case USB_LC_STAT_DATA_TOGGLE_MM: - usbi_dbg("Data Toggle Mismatch\n"); + usbi_dbg(ctx, "Data Toggle Mismatch\n"); break; case USB_LC_STAT_STALL: - usbi_dbg("End Point Stalled\n"); + usbi_dbg(ctx, "End Point Stalled\n"); break; case USB_LC_STAT_DEV_NOT_RESP: - usbi_dbg("Device is Not Responding\n"); + usbi_dbg(ctx, "Device is Not Responding\n"); break; case USB_LC_STAT_PID_CHECKFAILURE: - usbi_dbg("PID Check Failure\n"); + usbi_dbg(ctx, "PID Check Failure\n"); break; case USB_LC_STAT_UNEXP_PID: - usbi_dbg("Unexpected PID\n"); + usbi_dbg(ctx, "Unexpected PID\n"); break; case USB_LC_STAT_DATA_OVERRUN: - usbi_dbg("Data Exceeded Size\n"); + usbi_dbg(ctx, "Data Exceeded Size\n"); break; case USB_LC_STAT_DATA_UNDERRUN: - usbi_dbg("Less data received\n"); + usbi_dbg(ctx, "Less data received\n"); break; case USB_LC_STAT_BUFFER_OVERRUN: - usbi_dbg("Buffer Size Exceeded\n"); + usbi_dbg(ctx, "Buffer Size Exceeded\n"); break; case USB_LC_STAT_BUFFER_UNDERRUN: - usbi_dbg("Buffer Underrun\n"); + usbi_dbg(ctx, "Buffer Underrun\n"); break; case USB_LC_STAT_TIMEOUT: - usbi_dbg("Command Timed Out\n"); + usbi_dbg(ctx, "Command Timed Out\n"); break; case USB_LC_STAT_NOT_ACCESSED: - usbi_dbg("Not Accessed by h/w\n"); + usbi_dbg(ctx, "Not Accessed by h/w\n"); break; case USB_LC_STAT_UNSPECIFIED_ERR: - usbi_dbg("Unspecified Error\n"); + usbi_dbg(ctx, "Unspecified Error\n"); break; case USB_LC_STAT_NO_BANDWIDTH: - usbi_dbg("No Bandwidth\n"); + usbi_dbg(ctx, "No Bandwidth\n"); break; case USB_LC_STAT_HW_ERR: - usbi_dbg("Host Controller h/w Error\n"); + usbi_dbg(ctx, "Host Controller h/w Error\n"); break; case USB_LC_STAT_SUSPENDED: - usbi_dbg("Device was Suspended\n"); + usbi_dbg(ctx, "Device was Suspended\n"); break; case USB_LC_STAT_DISCONNECTED: - usbi_dbg("Device was Disconnected\n"); + usbi_dbg(ctx, "Device was Disconnected\n"); break; case USB_LC_STAT_INTR_BUF_FULL: - usbi_dbg("Interrupt buffer was full\n"); + usbi_dbg(ctx, "Interrupt buffer was full\n"); break; case USB_LC_STAT_INVALID_REQ: - usbi_dbg("Request was Invalid\n"); + usbi_dbg(ctx, "Request was Invalid\n"); break; case USB_LC_STAT_INTERRUPTED: - usbi_dbg("Request was Interrupted\n"); + usbi_dbg(ctx, "Request was Interrupted\n"); break; case USB_LC_STAT_NO_RESOURCES: - usbi_dbg("No resources available for " + usbi_dbg(ctx, "No resources available for " "request\n"); break; case USB_LC_STAT_INTR_POLLING_FAILED: - usbi_dbg("Failed to Restart Poll"); + usbi_dbg(ctx, "Failed to Restart Poll"); break; default: - usbi_dbg("Error Not Determined %d\n", + usbi_dbg(ctx, "Error Not Determined %d\n", status); break; } } else { - usbi_dbg("read stat error: %s",strerror(errno)); + usbi_dbg(ctx, "read stat error: %s",strerror(errno)); status = -1; } |