Changes in uspace/drv/usbhub/usbhub_private.h [d493ac17:5097bed4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhub/usbhub_private.h
rd493ac17 r5097bed4 27 27 */ 28 28 29 /** @addtogroup drvusbhub29 /** @addtogroup usb 30 30 * @{ 31 31 */ 32 32 /** @file 33 * @brief Hub driver private definitions33 * @brief Hub driver. 34 34 */ 35 35 … … 42 42 #include <adt/list.h> 43 43 #include <bool.h> 44 #include <d df/driver.h>45 #include <f ibril_synch.h>44 #include <driver.h> 45 #include <futex.h> 46 46 47 #include <usb/usb.h> 48 #include <usb/usbdrv.h> 47 49 #include <usb/classes/hub.h> 48 #include <usb/ usb.h>50 #include <usb/devreq.h> 49 51 #include <usb/debug.h> 50 #include <usb/request.h>51 52 52 53 //************ … … 60 61 //************ 61 62 // 62 // convenience debug printf for usb hub63 // convenience debug printf 63 64 // 64 65 //************ 65 66 #define dprintf(level, format, ...) \ 66 usb_log_printf((level), format "\n", ##__VA_ARGS__) 67 67 usb_dprintf(NAME, (level), format "\n", ##__VA_ARGS__) 68 68 69 69 /** 70 * Create hub structure instance70 * create hub structure instance 71 71 * 72 72 * Set the address and port count information most importantly. … … 76 76 * @return 77 77 */ 78 usb_hub_info_t * usb_create_hub_info(d df_dev_t * device);78 usb_hub_info_t * usb_create_hub_info(device_t * device, int hc); 79 79 80 /** List of hubs maanged by this driver */80 /** list of hubs maanged by this driver */ 81 81 extern usb_general_list_t usb_hub_list; 82 82 83 /** Lock for hub list*/84 extern f ibril_mutex_t usb_hub_list_lock;83 /** lock for hub list*/ 84 extern futex_t usb_hub_list_lock; 85 85 86 86 87 87 /** 88 * Perform complete control read transaction88 * perform complete control read transaction 89 89 * 90 * Manages all three steps of transaction: setup, read and finalize90 * manages all three steps of transaction: setup, read and finalize 91 91 * @param phone 92 92 * @param target 93 * @param request Request packet94 * @param rcvd_buffer Received data93 * @param request request for data 94 * @param rcvd_buffer received data 95 95 * @param rcvd_size 96 * @param actual_size Actual size of received data96 * @param actual_size actual size of received data 97 97 * @return error code 98 98 */ 99 /*100 99 int usb_drv_sync_control_read( 101 usb_endpoint_pipe_t *pipe,100 int phone, usb_target_t target, 102 101 usb_device_request_setup_packet_t * request, 103 102 void * rcvd_buffer, size_t rcvd_size, size_t * actual_size 104 ); */103 ); 105 104 106 105 /** 107 * Perform complete control write transaction106 * perform complete control write transaction 108 107 * 109 * Manages all three steps of transaction: setup, write and finalize108 * manages all three steps of transaction: setup, write and finalize 110 109 * @param phone 111 110 * @param target 112 * @param request Request packet to send data111 * @param request request to send data 113 112 * @param sent_buffer 114 113 * @param sent_size 115 114 * @return error code 116 115 */ 117 /*int usb_drv_sync_control_write(118 usb_endpoint_pipe_t *pipe,116 int usb_drv_sync_control_write( 117 int phone, usb_target_t target, 119 118 usb_device_request_setup_packet_t * request, 120 119 void * sent_buffer, size_t sent_size 121 ); */120 ); 122 121 123 122 /** 124 * Set the device request to be a get hub descriptor request.123 * set the device request to be a get hub descriptor request. 125 124 * @warning the size is allways set to USB_HUB_MAX_DESCRIPTOR_SIZE 126 125 * @param request … … 138 137 } 139 138 140 /** 141 * Clear feature on hub port. 142 * 143 * @param hc Host controller telephone 144 * @param address Hub address 145 * @param port_index Port 146 * @param feature Feature selector 147 * @return Operation result 148 */ 149 static inline int usb_hub_clear_port_feature(usb_endpoint_pipe_t *pipe, 139 static inline int usb_hub_clear_port_feature(int hc, usb_address_t address, 150 140 int port_index, 151 141 usb_hub_class_feature_t feature) { 152 142 usb_target_t target = { 143 .address = address, 144 .endpoint = 0 145 }; 153 146 usb_device_request_setup_packet_t clear_request = { 154 147 .request_type = USB_HUB_REQ_TYPE_CLEAR_PORT_FEATURE, … … 158 151 }; 159 152 clear_request.value = feature; 160 return usb_ endpoint_pipe_control_write(pipe, &clear_request,153 return usb_drv_psync_control_write(hc, target, &clear_request, 161 154 sizeof(clear_request), NULL, 0); 162 155 } 163 156 164 /**165 * @brief create uint8_t array with serialized descriptor166 *167 * @param descriptor168 * @return newly created serializd descriptor pointer169 */170 void * usb_serialize_hub_descriptor(usb_hub_descriptor_t * descriptor);171 172 /**173 * @brief create deserialized desriptor structure out of serialized descriptor174 *175 * The serialized descriptor must be proper usb hub descriptor,176 * otherwise an eerror might occur.177 *178 * @param sdescriptor serialized descriptor179 * @return newly created deserialized descriptor pointer180 */181 usb_hub_descriptor_t * usb_deserialize_hub_desriptor(void * sdescriptor);182 157 183 158
Note:
See TracChangeset
for help on using the changeset viewer.