Changeset b4b534ac in mainline for uspace/lib/usbdev/src/altiface.c
- Timestamp:
- 2016-07-22T08:24:47Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f76d2c2
- Parents:
- 5b18137 (diff), 8351f9a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/src/altiface.c
r5b18137 rb4b534ac 34 34 */ 35 35 36 #include <usb/dev/driver.h> 37 #include <usb/dev/request.h> 38 #include <usb/debug.h> 36 #include <usb/dev/alternate_ifaces.h> 39 37 #include <usb/dev/dp.h> 38 #include <assert.h> 40 39 #include <errno.h> 41 #include <str_error.h> 42 #include <assert.h> 40 #include <stdlib.h> 43 41 44 42 /** Count number of alternate settings of a interface. … … 105 103 } 106 104 107 alternates->alternative_count 108 = usb_interface_count_alternates(config_descr, config_descr_size, 109 interface_number); 105 const size_t alt_count = usb_interface_count_alternates(config_descr, 106 config_descr_size, interface_number); 110 107 111 if (alt ernates->alternative_count == 0) {108 if (alt_count == 0) { 112 109 return ENOENT; 113 110 } 114 111 115 alternates->alternatives = calloc(alternates->alternative_count,112 usb_alternate_interface_descriptors_t *alts = calloc(alt_count, 116 113 sizeof(usb_alternate_interface_descriptors_t)); 117 if (alt ernates->alternatives == NULL) {114 if (alts == NULL) { 118 115 return ENOMEM; 119 116 } … … 128 125 }; 129 126 130 usb_alternate_interface_descriptors_t *iterator131 = &alternates->alternatives[0];132 133 const usb_alternate_interface_descriptors_t *end134 = &alternates->alternatives[alternates->alternative_count];135 127 136 128 const void *iface_ptr = 137 129 usb_dp_get_nested_descriptor(&dp_parser, &dp_data, dp_data.data); 138 130 139 while (iface_ptr != NULL && iterator < end) { 131 usb_alternate_interface_descriptors_t *iterator = alts; 132 for (; iface_ptr != NULL && iterator < &alts[alt_count]; ++iterator) { 140 133 const usb_standard_interface_descriptor_t *iface = iface_ptr; 141 134 … … 159 152 dp_data.data + dp_data.size : iface_ptr; 160 153 161 iterator->nested_descriptors_size 162 = next - iterator->nested_descriptors; 154 iterator->nested_descriptors_size = 155 next - iterator->nested_descriptors; 156 } 163 157 164 ++iterator;165 }158 alternates->alternatives = alts; 159 alternates->alternative_count = alt_count; 166 160 167 161 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.