Changeset 90994fa in mainline for uspace/drv
- Timestamp:
- 2011-10-12T20:03:36Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 162726b
- Parents:
- 205f0766
- Location:
- uspace/drv/bus/usb
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhcirh/port.c
r205f0766 r90994fa 100 100 port->number = number; 101 101 port->wait_period_usec = usec; 102 port->attached_device. handle = 0;102 port->attached_device.fun = NULL; 103 103 port->attached_device.address = -1; 104 104 port->rh = rh; … … 169 169 170 170 /* Remove any old device */ 171 if (instance->attached_device. handle) {171 if (instance->attached_device.fun) { 172 172 usb_log_debug2("%s: Removing device.\n", 173 173 instance->id_string); … … 261 261 ret = usb_hc_new_device_wrapper(port->rh, &port->hc_connection, 262 262 speed, uhci_port_reset_enable, port->number, port, 263 &port->attached_device.address, 264 &port->attached_device. handle, NULL, NULL, NULL);263 &port->attached_device.address, NULL, NULL, NULL, 264 &port->attached_device.fun); 265 265 } while (ret != EOK && ++count < 4); 266 266 … … 274 274 usb_log_info("New device at port %u, address %d (handle %" PRIun ").\n", 275 275 port->number, port->attached_device.address, 276 port->attached_device. handle);276 port->attached_device.fun->handle); 277 277 return EOK; 278 278 } … … 287 287 assert(port); 288 288 /* There is nothing to remove. */ 289 if (port->attached_device. handle == 0) {289 if (port->attached_device.fun == NULL) { 290 290 usb_log_warning("%s: Removed a ghost device.\n", 291 291 port->id_string); … … 297 297 298 298 /* Stop driver first */ 299 int ret = d evman_remove_function(port->attached_device.handle);299 int ret = ddf_fun_unbind(port->attached_device.fun); 300 300 if (ret != EOK) { 301 301 usb_log_error("%s: Failed to remove child function: %s.\n", … … 303 303 return ret; 304 304 } 305 port->attached_device.handle = 0; 305 ddf_fun_destroy(port->attached_device.fun); 306 port->attached_device.fun = NULL; 306 307 307 308 /* Driver stopped, free used address */ -
uspace/drv/bus/usb/usbhub/port.c
r205f0766 r90994fa 257 257 usb_log_debug("Removing device on port %zu.\n", 258 258 port->port_number); 259 const int ret = 260 devman_remove_function(port->attached_device.handle); 259 const int ret = ddf_fun_unbind(port->attached_device.fun); 261 260 if (ret == EOK) { 261 ddf_fun_destroy(port->attached_device.fun); 262 262 const int ret = 263 263 usb_hc_unregister_device(&hub->connection, … … 269 269 } 270 270 } else { 271 usb_log_error("Failed to removechild function on port"271 usb_log_error("Failed to unbind child function on port" 272 272 " %zu: %s.\n", port->port_number, str_error(ret)); 273 273 } 274 274 port->attached_device.address = -1; 275 port->attached_device. handle = 0;275 port->attached_device.fun = NULL; 276 276 fibril_mutex_unlock(&port->mutex); 277 277 usb_log_info("Removed device on port %zu.\n", … … 418 418 419 419 usb_address_t new_address; 420 d evman_handle_t child_handle;420 ddf_fun_t *child_fun; 421 421 422 422 const int rc = usb_hc_new_device_wrapper(data->hub->usb_device->ddf_dev, 423 423 &data->hub->connection, data->speed, 424 424 enable_port_callback, (int) data->port->port_number, 425 data->port, &new_address, &child_handle,426 NULL, NULL, NULL);425 data->port, &new_address, NULL, 426 NULL, NULL, &child_fun); 427 427 428 428 if (rc != EOK) { … … 433 433 434 434 fibril_mutex_lock(&data->port->mutex); 435 data->port->attached_device. handle = child_handle;435 data->port->attached_device.fun = child_fun; 436 436 data->port->attached_device.address = new_address; 437 437 fibril_mutex_unlock(&data->port->mutex); … … 440 440 "address %d (handle %" PRIun ").\n", 441 441 data->hub->usb_device->ddf_dev->name, data->port->port_number, 442 new_address, child_ handle);442 new_address, child_fun->handle); 443 443 444 444 leave: -
uspace/drv/bus/usb/usbhub/port.h
r205f0766 r90994fa 70 70 assert(port); 71 71 port->attached_device.address = -1; 72 port->attached_device. handle = 0;72 port->attached_device.fun = NULL; 73 73 port->port_number = port_number; 74 74 port->control_pipe = control_pipe;
Note:
See TracChangeset
for help on using the changeset viewer.