Changeset c9399c0 in mainline for uspace/drv
- Timestamp:
- 2013-01-05T17:05:37Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2a6e2358
- Parents:
- d1974966
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/hub/virthubops.c
rd1974966 rc9399c0 340 340 341 341 342 /** IN class request. */343 #define CLASS_REQ_IN(recipient) \344 USBVIRT_MAKE_CONTROL_REQUEST_TYPE(USB_DIRECTION_IN, \345 USBVIRT_REQUEST_TYPE_CLASS, recipient)346 /** OUT class request. */347 #define CLASS_REQ_OUT(recipient) \348 USBVIRT_MAKE_CONTROL_REQUEST_TYPE(USB_DIRECTION_OUT, \349 USBVIRT_REQUEST_TYPE_CLASS, recipient)350 342 351 343 /** Recipient: other. */ … … 353 345 /** Recipient: device. */ 354 346 #define REC_DEVICE USB_REQUEST_RECIPIENT_DEVICE 355 /** Direction: in. */ 356 #define DIR_IN USB_DIRECTION_IN 357 /** Direction: out. */ 358 #define DIR_OUT USB_DIRECTION_OUT 359 360 361 /** Create a class request. 362 * 363 * @param direction Request direction. 364 * @param recipient Request recipient. 347 348 349 /** Create a class request to get data from device 350 * 351 * @param rec Request recipient. 365 352 * @param req Request code. 366 353 */ 367 #define CLASS_REQ(direction, recipient, req) \ 368 .req_direction = direction, \ 369 .req_recipient = recipient, \ 370 .req_type = USB_REQUEST_TYPE_CLASS, \ 354 #define CLASS_REQ_IN(rec, req) \ 355 .request_type = SETUP_REQUEST_TO_HOST(USB_REQUEST_TYPE_CLASS, rec), \ 371 356 .request = req 372 357 373 /** Create a standard request. 374 * 375 * @param direction Request direction. 376 * @param recipient Request recipient. 358 /** Create a class request to send data to device 359 * 360 * @param rec Request recipient. 377 361 * @param req Request code. 378 362 */ 379 #define STD_REQ(direction, recipient, req) \ 380 .req_direction = direction, \ 381 .req_recipient = recipient, \ 382 .req_type = USB_REQUEST_TYPE_STANDARD, \ 363 #define CLASS_REQ_OUT(rec, req) \ 364 .request_type = SETUP_REQUEST_TO_DEVICE(USB_REQUEST_TYPE_CLASS, rec), \ 383 365 .request = req 384 366 … … 386 368 static usbvirt_control_request_handler_t endpoint_zero_handlers[] = { 387 369 { 388 STD_REQ(DIR_IN, REC_DEVICE, USB_DEVREQ_GET_DESCRIPTOR), 370 .request_type = SETUP_REQUEST_TO_HOST(USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE), 371 .request = USB_DEVREQ_GET_DESCRIPTOR, 389 372 .name = "GetDescriptor", 390 373 .callback = req_get_descriptor 391 374 }, 392 375 { 393 CLASS_REQ (DIR_IN,REC_DEVICE, USB_DEVREQ_GET_DESCRIPTOR),376 CLASS_REQ_IN(REC_DEVICE, USB_DEVREQ_GET_DESCRIPTOR), 394 377 .name = "GetDescriptor", 395 378 .callback = req_get_descriptor 396 379 }, 397 380 { 398 CLASS_REQ (DIR_IN,REC_OTHER, USB_HUB_REQUEST_GET_STATUS),381 CLASS_REQ_IN(REC_OTHER, USB_HUB_REQUEST_GET_STATUS), 399 382 .name = "GetPortStatus", 400 383 .callback = req_get_port_status 401 384 }, 402 385 { 403 CLASS_REQ (DIR_OUT,REC_DEVICE, USB_HUB_REQUEST_CLEAR_FEATURE),386 CLASS_REQ_OUT(REC_DEVICE, USB_HUB_REQUEST_CLEAR_FEATURE), 404 387 .name = "ClearHubFeature", 405 388 .callback = req_clear_hub_feature 406 389 }, 407 390 { 408 CLASS_REQ (DIR_OUT,REC_OTHER, USB_HUB_REQUEST_CLEAR_FEATURE),391 CLASS_REQ_OUT(REC_OTHER, USB_HUB_REQUEST_CLEAR_FEATURE), 409 392 .name = "ClearPortFeature", 410 393 .callback = req_clear_port_feature 411 394 }, 412 395 { 413 CLASS_REQ (DIR_IN,REC_OTHER, USB_HUB_REQUEST_GET_STATE),396 CLASS_REQ_IN(REC_OTHER, USB_HUB_REQUEST_GET_STATE), 414 397 .name = "GetBusState", 415 398 .callback = req_get_bus_state 416 399 }, 417 400 { 418 CLASS_REQ (DIR_IN,REC_DEVICE, USB_HUB_REQUEST_GET_DESCRIPTOR),401 CLASS_REQ_IN(REC_DEVICE, USB_HUB_REQUEST_GET_DESCRIPTOR), 419 402 .name = "GetHubDescriptor", 420 403 .callback = req_get_descriptor 421 404 }, 422 405 { 423 CLASS_REQ (DIR_IN,REC_DEVICE, USB_HUB_REQUEST_GET_STATUS),406 CLASS_REQ_IN(REC_DEVICE, USB_HUB_REQUEST_GET_STATUS), 424 407 .name = "GetHubStatus", 425 408 .callback = req_get_hub_status 426 409 }, 427 410 { 428 CLASS_REQ (DIR_IN,REC_OTHER, USB_HUB_REQUEST_GET_STATUS),411 CLASS_REQ_IN(REC_OTHER, USB_HUB_REQUEST_GET_STATUS), 429 412 .name = "GetPortStatus", 430 413 .callback = req_get_port_status 431 414 }, 432 415 { 433 CLASS_REQ (DIR_OUT,REC_DEVICE, USB_HUB_REQUEST_SET_FEATURE),416 CLASS_REQ_OUT(REC_DEVICE, USB_HUB_REQUEST_SET_FEATURE), 434 417 .name = "SetHubFeature", 435 418 .callback = req_set_hub_feature 436 419 }, 437 420 { 438 CLASS_REQ (DIR_OUT,REC_OTHER, USB_HUB_REQUEST_SET_FEATURE),421 CLASS_REQ_OUT(REC_OTHER, USB_HUB_REQUEST_SET_FEATURE), 439 422 .name = "SetPortFeature", 440 423 .callback = req_set_port_feature
Note:
See TracChangeset
for help on using the changeset viewer.