]> rtime.felk.cvut.cz Git - lincan.git/blob - embedded/libs4c/usb/base/usbstdresp.c
Merge master into can-usb1 branch to include proc update for 3.12+ kernels.
[lincan.git] / embedded / libs4c / usb / base / usbstdresp.c
1 /**************************************************************/
2 /***   Module : USB module - header file                    ***/
3 /***   Author : Roman Bartosinski (C) 28.04.2002            ***/
4 /***   Modify : 08.08.2002                                  ***/
5 /***   Rewrite: 05.10.2009                                  ***/
6 /**************************************************************/
7
8 #include <system_def.h>
9
10 #include <usb/usb.h>
11 #include <usb/usbdebug.h>
12
13 #include <usb/usb_srq.h> /* standard control request responses */
14
15 /*************************************************************
16  *** Common standard control endpoint0 responses
17  *************************************************************/
18   int usb_standard_control_response(usb_device_t *udev)  REENTRANT_SIGN
19   {
20     unsigned char req;
21     int ret = -1;
22     USB_DEVICE_REQUEST *preq = &(udev->request);
23
24     req = preq->bRequest & USB_REQUEST_MASK;
25     usb_debug_print( DEBUG_LEVEL_HIGH, ( "StdReq-%d\n", req));
26 /*
27     if ( (udev->stdreq[ req]) != NULL) {
28       ret = udev->stdreq[ req]( udev);
29     }
30     if( ret < 0)
31       udev->ack_setup( udev);
32 */
33     switch( req) {
34       case USB_REQUEST_GET_STATUS:        ret=usb_stdreq_get_status( udev); break;
35       case USB_REQUEST_CLEAR_FEATURE:     ret=usb_stdreq_clear_feature( udev); break;
36       case USB_REQUEST_SET_FEATURE:       ret=usb_stdreq_set_feature( udev); break;
37       case USB_REQUEST_SET_ADDRESS:       ret=usb_stdreq_set_address( udev); break;
38       case USB_REQUEST_GET_DESCRIPTOR:    ret=usb_stdreq_get_descriptor( udev); break;
39 //      case USB_REQUEST_SET_DESCRIPTOR:    break;
40       case USB_REQUEST_GET_CONFIGURATION: ret=usb_stdreq_get_configuration( udev); break;
41       case USB_REQUEST_SET_CONFIGURATION: ret=usb_stdreq_set_configuration( udev); break;
42       case USB_REQUEST_GET_INTERFACE:     ret=usb_stdreq_get_interface( udev); break;
43       case USB_REQUEST_SET_INTERFACE:     ret=usb_stdreq_set_interface( udev); break;
44 //      case USB_REQUEST_SYNC_FRAME:        break;
45 //      default:                            ret=-1; break;
46       }
47     return ret;
48   }