Changes in uspace/drv/usbhub/usbhub.c [71ed4849:5097bed4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhub/usbhub.c
r71ed4849 r5097bed4 75 75 //get some hub info 76 76 usb_address_t addr = usb_drv_get_my_address(hc, device); 77 dprintf(1,"[usb_hub] addres of newly created hub = %d", addr);77 dprintf(1,"[usb_hub] address of newly created hub = %d", addr); 78 78 /*if(addr<0){ 79 79 //return result; … … 174 174 dprintf(1,"[usb_hub] THERE ARE NO CONFIGURATIONS AVAILABLE"); 175 175 } 176 /// \TODO check other configurations 176 177 usb_standard_configuration_descriptor_t config_descriptor; 177 178 opResult = usb_drv_req_get_bare_configuration_descriptor(hc, … … 194 195 } 195 196 196 197 197 for (port = 1; port < hub_info->port_count+1; ++port) { 198 198 usb_hub_set_power_port_request(&request, port); … … 205 205 //ports powered, hub seems to be enabled 206 206 207 208 207 ipc_hangup(hc); 209 208 210 209 //add the hub to list 210 futex_down(&usb_hub_list_lock); 211 211 usb_lst_append(&usb_hub_list, hub_info); 212 futex_up(&usb_hub_list_lock); 213 212 214 dprintf(1,"[usb_hub] hub info added to list"); 213 215 //(void)hub_info; … … 233 235 // 234 236 //********************************************* 237 238 /** 239 * convenience function for releasing default address and writing debug info 240 * (these few lines are used too often to be written again and again) 241 * @param hc 242 * @return 243 */ 244 inline static int usb_hub_release_default_address(int hc){ 245 int opResult; 246 dprintf(1,"[usb_hub] releasing default address"); 247 opResult = usb_drv_release_default_address(hc); 248 if (opResult != EOK) { 249 dprintf(1,"[usb_hub] failed to release default address"); 250 } 251 return opResult; 252 } 235 253 236 254 /** … … 259 277 if (opResult != EOK) { 260 278 dprintf(1,"[usb_hub] something went wrong when reseting a port"); 261 } 262 } 263 264 /** 265 * convenience function for releasing default address and writing debug info 266 * (these few lines are used too often to be written again and again) 267 * @param hc 268 * @return 269 */ 270 inline static int usb_hub_release_default_address(int hc){ 271 int opResult; 272 dprintf(1,"[usb_hub] releasing default address"); 273 opResult = usb_drv_release_default_address(hc); 274 if (opResult != EOK) { 275 dprintf(1,"[usb_hub] failed to release default address"); 276 } 277 return opResult; 278 } 279 279 usb_hub_release_default_address(hc); 280 } 281 } 280 282 281 283 /** … … 343 345 344 346 /** 345 * unregister device address in hc , close the port347 * unregister device address in hc 346 348 * @param hc 347 349 * @param port … … 352 354 //usb_device_request_setup_packet_t request; 353 355 int opResult; 354 //disable port 355 /*usb_hub_set_disable_port_request(&request, port); 356 opResult = usb_drv_sync_control_write( 357 hc, target, 358 &request, 359 NULL, 0 360 ); 361 if (opResult != EOK) { 362 //continue; 363 printf("[usb_hub] something went wrong when disabling a port\n"); 364 }*/ 356 365 357 /// \TODO remove device 366 358 … … 457 449 */ 458 450 usb_general_list_t * lst_item; 451 futex_down(&usb_hub_list_lock); 459 452 for (lst_item = usb_hub_list.next; 460 453 lst_item != &usb_hub_list; 461 454 lst_item = lst_item->next) { 455 futex_up(&usb_hub_list_lock); 462 456 usb_hub_info_t * hub_info = ((usb_hub_info_t*)lst_item->data); 463 457 /* … … 510 504 } 511 505 } 506 free(change_bitmap); 512 507 513 508 ipc_hangup(hc); 514 } 509 futex_down(&usb_hub_list_lock); 510 } 511 futex_up(&usb_hub_list_lock); 515 512 } 516 513
Note:
See TracChangeset
for help on using the changeset viewer.