Changeset ae3a941 in mainline for uspace/drv/bus/usb/vhc
- Timestamp:
- 2018-02-26T16:51:40Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e773f58
- Parents:
- 3692678
- Location:
- uspace/drv/bus/usb/vhc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/hub/hub.c
r3692678 rae3a941 68 68 69 69 /** Convert hub port state to a char. */ 70 char hub_port_state_to_char(hub_port_state_t state) { 70 char hub_port_state_to_char(hub_port_state_t state) 71 { 71 72 switch (state) { 72 case HUB_PORT_STATE_NOT_CONFIGURED:73 return '-';74 case HUB_PORT_STATE_POWERED_OFF:75 return 'O';76 case HUB_PORT_STATE_DISCONNECTED:77 return 'X';78 case HUB_PORT_STATE_DISABLED:79 return 'D';80 case HUB_PORT_STATE_RESETTING:81 return 'R';82 case HUB_PORT_STATE_ENABLED:83 return 'E';84 case HUB_PORT_STATE_SUSPENDED:85 return 'S';86 case HUB_PORT_STATE_RESUMING:87 return 'F';88 default:89 return '?';73 case HUB_PORT_STATE_NOT_CONFIGURED: 74 return '-'; 75 case HUB_PORT_STATE_POWERED_OFF: 76 return 'O'; 77 case HUB_PORT_STATE_DISCONNECTED: 78 return 'X'; 79 case HUB_PORT_STATE_DISABLED: 80 return 'D'; 81 case HUB_PORT_STATE_RESETTING: 82 return 'R'; 83 case HUB_PORT_STATE_ENABLED: 84 return 'E'; 85 case HUB_PORT_STATE_SUSPENDED: 86 return 'S'; 87 case HUB_PORT_STATE_RESUMING: 88 return 'F'; 89 default: 90 return '?'; 90 91 } 91 92 } … … 234 235 235 236 switch (state) { 236 case HUB_PORT_STATE_POWERED_OFF:237 clear_port_status_change(port, HUB_STATUS_C_PORT_CONNECTION);238 clear_port_status_change(port, HUB_STATUS_C_PORT_ENABLE);239 clear_port_status_change(port, HUB_STATUS_C_PORT_RESET);240 break;241 case HUB_PORT_STATE_RESUMING:242 port->state = state;243 set_port_state_delayed(hub, port_index,244 10, state, HUB_PORT_STATE_ENABLED);245 break;246 case HUB_PORT_STATE_RESETTING:247 port->state = state;248 set_port_state_delayed(hub, port_index,249 10, state, HUB_PORT_STATE_ENABLED);250 break;251 case HUB_PORT_STATE_ENABLED:252 if (port->state == HUB_PORT_STATE_RESETTING) {253 set_port_status_change(port, HUB_STATUS_C_PORT_RESET);254 }255 break;256 default:257 break;237 case HUB_PORT_STATE_POWERED_OFF: 238 clear_port_status_change(port, HUB_STATUS_C_PORT_CONNECTION); 239 clear_port_status_change(port, HUB_STATUS_C_PORT_ENABLE); 240 clear_port_status_change(port, HUB_STATUS_C_PORT_RESET); 241 break; 242 case HUB_PORT_STATE_RESUMING: 243 port->state = state; 244 set_port_state_delayed(hub, port_index, 245 10, state, HUB_PORT_STATE_ENABLED); 246 break; 247 case HUB_PORT_STATE_RESETTING: 248 port->state = state; 249 set_port_state_delayed(hub, port_index, 250 10, state, HUB_PORT_STATE_ENABLED); 251 break; 252 case HUB_PORT_STATE_ENABLED: 253 if (port->state == HUB_PORT_STATE_RESETTING) { 254 set_port_status_change(port, HUB_STATUS_C_PORT_RESET); 255 } 256 break; 257 default: 258 break; 258 259 } 259 260 … … 336 337 } 337 338 338 uint32_t status; 339 status = MAKE_BYTE( 339 uint32_t status = MAKE_BYTE( 340 340 /* Current connect status. */ 341 341 port->connected_device == NULL ? 0 : 1, … … 344 344 /* Suspend. */ 345 345 (port->state == HUB_PORT_STATE_SUSPENDED) 346 || (port->state == HUB_PORT_STATE_RESUMING) ? 1 : 0,346 || (port->state == HUB_PORT_STATE_RESUMING) ? 1 : 0, 347 347 /* Over-current. */ 348 348 0, … … 350 350 port->state == HUB_PORT_STATE_RESETTING ? 1 : 0, 351 351 /* Reserved. */ 352 0, 0, 0) 353 354 | (MAKE_BYTE(352 0, 0, 0); 353 354 status |= MAKE_BYTE( 355 355 /* Port power. */ 356 356 port->state == HUB_PORT_STATE_POWERED_OFF ? 0 : 1, … … 359 359 /* Reserved. */ 360 360 0, 0, 0, 0, 0, 0 361 ) )<< 8;361 ) << 8; 362 362 363 363 status |= (port->status_change << 16); … … 463 463 static errno_t set_port_state_delayed_fibril(void *arg) 464 464 { 465 struct delay_port_state_change *change 466 =(struct delay_port_state_change *) arg;465 struct delay_port_state_change *change = 466 (struct delay_port_state_change *) arg; 467 467 468 468 async_usleep(change->delay); … … 500 500 hub_port_state_t old_state, hub_port_state_t new_state) 501 501 { 502 struct delay_port_state_change *change 503 =malloc(sizeof(struct delay_port_state_change));502 struct delay_port_state_change *change = 503 malloc(sizeof(struct delay_port_state_change)); 504 504 505 505 change->hub = hub; -
uspace/drv/bus/usb/vhc/transfer.c
r3692678 rae3a941 50 50 return false; 51 51 } 52 const usb_device_request_setup_packet_t *setup 53 =&transfer->batch.setup.packet;52 const usb_device_request_setup_packet_t *setup = 53 &transfer->batch.setup.packet; 54 54 if (setup->request_type != 0) { 55 55 return false; … … 139 139 assert(!list_empty(&dev->transfer_queue)); 140 140 141 vhc_transfer_t *transfer = list_get_instance( 142 list_first(&dev->transfer_queue), vhc_transfer_t, link); 141 vhc_transfer_t *transfer = 142 list_get_instance(list_first(&dev->transfer_queue), 143 vhc_transfer_t, link); 143 144 list_remove(&transfer->link); 144 145 … … 258 259 dev->dev_local, &data_transfer_size); 259 260 } else { 260 usb_log_warning("Device has no remote phone nor local node."); 261 usb_log_warning("Device has no remote phone " 262 "nor local node."); 261 263 rc = ESTALL; 262 264 } … … 269 271 if (is_set_address_transfer(transfer)) { 270 272 usb_device_request_setup_packet_t *setup = 271 (void *) transfer->batch.setup.buffer;273 (void *) transfer->batch.setup.buffer; 272 274 dev->address = setup->value; 273 275 usb_log_debug2("Address changed to %d", -
uspace/drv/bus/usb/vhc/vhcd.h
r3692678 rae3a941 93 93 errno_t vhc_virtdev_plug(vhc_data_t *, async_sess_t *, uintptr_t *); 94 94 errno_t vhc_virtdev_plug_local(vhc_data_t *, usbvirt_device_t *, uintptr_t *); 95 errno_t vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *, usb_address_t address); 95 errno_t vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *, 96 usb_address_t address); 96 97 void vhc_virtdev_unplug(vhc_data_t *, uintptr_t); 97 98
Note:
See TracChangeset
for help on using the changeset viewer.
