Changes in uspace/drv/bus/usb/usbflbk/main.c [8e10ef4:920d0fc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbflbk/main.c
r8e10ef4 r920d0fc 48 48 static int usbfallback_device_add(usb_device_t *dev) 49 49 { 50 usb_log_info("Pretending to control %s `%s'.\n", 51 usb_device_get_iface_number(dev) < 0 ? "device" : "interface", 52 usb_device_get_name(dev)); 50 int rc; 51 const char *fun_name = "ctl"; 52 53 ddf_fun_t *ctl_fun = ddf_fun_create(dev->ddf_dev, fun_exposed, 54 fun_name); 55 if (ctl_fun == NULL) { 56 usb_log_error("Failed to create control function.\n"); 57 return ENOMEM; 58 } 59 rc = ddf_fun_bind(ctl_fun); 60 if (rc != EOK) { 61 usb_log_error("Failed to bind control function: %s.\n", 62 str_error(rc)); 63 return rc; 64 } 65 66 dev->driver_data = ctl_fun; 67 68 usb_log_info("Pretending to control %s `%s'" \ 69 " (node `%s', handle %" PRIun ").\n", 70 dev->interface_no < 0 ? "device" : "interface", 71 ddf_dev_get_name(dev->ddf_dev), fun_name, ddf_dev_get_handle(dev->ddf_dev)); 72 53 73 return EOK; 54 74 } … … 62 82 { 63 83 assert(dev); 84 ddf_fun_t *ctl_fun = dev->driver_data; 85 const int ret = ddf_fun_unbind(ctl_fun); 86 if (ret != EOK) { 87 usb_log_error("Failed to unbind %s.\n", ddf_fun_get_name(ctl_fun)); 88 return ret; 89 } 90 ddf_fun_destroy(ctl_fun); 91 dev->driver_data = NULL; 92 64 93 return EOK; 65 94 }
Note:
See TracChangeset
for help on using the changeset viewer.