Changeset 68b5ed6e in mainline for uspace/lib/usb
- Timestamp:
- 2011-03-21T14:27:47Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e34e77a
- Parents:
- 3954a63b
- Location:
- uspace/lib/usb
- Files:
-
- 2 edited
-
include/usb/host/device_keeper.h (modified) (1 diff)
-
src/host/device_keeper.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/host/device_keeper.h
r3954a63b r68b5ed6e 48 48 }; 49 49 50 typedef struct device_keeper{50 typedef struct { 51 51 struct usb_device_info devices[USB_ADDRESS_COUNT]; 52 52 fibril_mutex_t guard; 53 53 fibril_condvar_t default_address_occupied; 54 54 usb_address_t last_address; 55 } device_keeper_t;55 } usb_device_keeper_t; 56 56 57 void device_keeper_init(device_keeper_t *instance);57 void usb_device_keeper_init(usb_device_keeper_t *instance); 58 58 59 void device_keeper_reserve_default(60 device_keeper_t *instance, usb_speed_t speed);59 void usb_device_keeper_reserve_default_address( 60 usb_device_keeper_t *instance, usb_speed_t speed); 61 61 62 void device_keeper_release_default(device_keeper_t *instance);62 void usb_device_keeper_release_default_address(usb_device_keeper_t *instance); 63 63 64 void device_keeper_reset_if_need(65 device_keeper_t *instance, usb_target_t target,64 void usb_device_keeper_reset_if_need( 65 usb_device_keeper_t *instance, usb_target_t target, 66 66 const unsigned char *setup_data); 67 67 68 int device_keeper_get_toggle(69 device_keeper_t *instance, usb_target_t target, usb_direction_t direction);68 int usb_device_keeper_get_toggle( 69 usb_device_keeper_t *instance, usb_target_t target, usb_direction_t direction); 70 70 71 int device_keeper_set_toggle(device_keeper_t *instance,71 int usb_device_keeper_set_toggle(usb_device_keeper_t *instance, 72 72 usb_target_t target, usb_direction_t direction, bool toggle); 73 73 74 usb_address_t device_keeper_ request(75 device_keeper_t *instance, usb_speed_t speed);74 usb_address_t device_keeper_get_free_address( 75 usb_device_keeper_t *instance, usb_speed_t speed); 76 76 77 void device_keeper_bind(78 device_keeper_t *instance, usb_address_t address, devman_handle_t handle);77 void usb_device_keeper_bind( 78 usb_device_keeper_t *instance, usb_address_t address, devman_handle_t handle); 79 79 80 void device_keeper_release(device_keeper_t *instance, usb_address_t address);80 void usb_device_keeper_release(usb_device_keeper_t *instance, usb_address_t address); 81 81 82 usb_address_t device_keeper_find(83 device_keeper_t *instance, devman_handle_t handle);82 usb_address_t usb_device_keeper_find( 83 usb_device_keeper_t *instance, devman_handle_t handle); 84 84 85 usb_speed_t device_keeper_speed(86 device_keeper_t *instance, usb_address_t address);85 usb_speed_t usb_device_keeper_get_speed( 86 usb_device_keeper_t *instance, usb_address_t address); 87 87 #endif 88 88 /** -
uspace/lib/usb/src/host/device_keeper.c
r3954a63b r68b5ed6e 45 45 * Set all values to false/0. 46 46 */ 47 void device_keeper_init(device_keeper_t *instance)47 void usb_device_keeper_init(usb_device_keeper_t *instance) 48 48 { 49 49 assert(instance); … … 65 65 * @param[in] speed Speed of the device requesting default address. 66 66 */ 67 void device_keeper_reserve_default(device_keeper_t *instance, usb_speed_t speed)67 void usb_device_keeper_reserve_default_address(usb_device_keeper_t *instance, usb_speed_t speed) 68 68 { 69 69 assert(instance); … … 83 83 * @param[in] speed Speed of the device requesting default address. 84 84 */ 85 void device_keeper_release_default(device_keeper_t *instance)85 void usb_device_keeper_release_default_address(usb_device_keeper_t *instance) 86 86 { 87 87 assert(instance); … … 100 100 * Really ugly one. 101 101 */ 102 void device_keeper_reset_if_need(103 device_keeper_t *instance, usb_target_t target, const unsigned char *data)102 void usb_device_keeper_reset_if_need( 103 usb_device_keeper_t *instance, usb_target_t target, const unsigned char *data) 104 104 { 105 105 assert(instance); … … 144 144 * @return Error code 145 145 */ 146 int device_keeper_get_toggle(147 device_keeper_t *instance, usb_target_t target, usb_direction_t direction)146 int usb_device_keeper_get_toggle( 147 usb_device_keeper_t *instance, usb_target_t target, usb_direction_t direction) 148 148 { 149 149 assert(instance); … … 173 173 * @return Error code. 174 174 */ 175 int device_keeper_set_toggle(device_keeper_t *instance,175 int usb_device_keeper_set_toggle(usb_device_keeper_t *instance, 176 176 usb_target_t target, usb_direction_t direction, bool toggle) 177 177 { … … 207 207 * @return Free address, or error code. 208 208 */ 209 usb_address_t device_keeper_ request(210 device_keeper_t *instance, usb_speed_t speed)209 usb_address_t device_keeper_get_free_address( 210 usb_device_keeper_t *instance, usb_speed_t speed) 211 211 { 212 212 assert(instance); … … 241 241 * @param[in] handle Devman handle of the device. 242 242 */ 243 void device_keeper_bind(244 device_keeper_t *instance, usb_address_t address, devman_handle_t handle)243 void usb_device_keeper_bind( 244 usb_device_keeper_t *instance, usb_address_t address, devman_handle_t handle) 245 245 { 246 246 assert(instance); … … 258 258 * @param[in] address Device address 259 259 */ 260 void device_keeper_release(device_keeper_t *instance, usb_address_t address)260 void usb_device_keeper_release(usb_device_keeper_t *instance, usb_address_t address) 261 261 { 262 262 assert(instance); … … 276 276 * @return USB Address, or error code. 277 277 */ 278 usb_address_t device_keeper_find(279 device_keeper_t *instance, devman_handle_t handle)278 usb_address_t usb_device_keeper_find( 279 usb_device_keeper_t *instance, devman_handle_t handle) 280 280 { 281 281 assert(instance); … … 299 299 * @return USB speed. 300 300 */ 301 usb_speed_t device_keeper_speed(302 device_keeper_t *instance, usb_address_t address)301 usb_speed_t usb_device_keeper_get_speed( 302 usb_device_keeper_t *instance, usb_address_t address) 303 303 { 304 304 assert(instance);
Note:
See TracChangeset
for help on using the changeset viewer.
