Changeset ab5a43d1 in mainline
- Timestamp:
- 2011-03-11T16:03:25Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 71b6e92
- Parents:
- 3005db6
- Location:
- uspace/drv/uhci-rhd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified uspace/drv/uhci-rhd/port.c ¶
r3005db6 rab5a43d1 67 67 { 68 68 assert(port); 69 asprintf(&port->id_string, "Port (%p - %d)", port, number); 70 if (port->id_string == NULL) { 71 return ENOMEM; 72 } 69 73 70 74 port->address = address; … … 116 120 assert(instance); 117 121 118 /* Iteration count, for debug purposes only */119 unsigned count = 0;120 121 122 while (1) { 122 123 async_usleep(instance->wait_period_usec); … … 125 126 port_status_t port_status = uhci_port_read_status(instance); 126 127 127 /* debug print mutex */ 128 static fibril_mutex_t dbg_mtx = 129 FIBRIL_MUTEX_INITIALIZER(dbg_mtx); 130 fibril_mutex_lock(&dbg_mtx); 131 usb_log_debug2("Port(%p - %d): Status: %#04x. === %u\n", 132 instance->address, instance->number, port_status, count++); 133 print_port_status("Port", port_status); 134 fibril_mutex_unlock(&dbg_mtx); 128 print_port_status(instance->id_string, port_status); 135 129 136 130 if ((port_status & STATUS_CONNECTED_CHANGED) == 0) 137 131 continue; 138 132 139 usb_log_debug(" Port(%p - %d): Connected change detected: %x.\n",140 instance-> address, instance->number, port_status);133 usb_log_debug("%s: Connected change detected: %x.\n", 134 instance->id_string, port_status); 141 135 142 136 int rc = 143 137 usb_hc_connection_open(&instance->hc_connection); 144 138 if (rc != EOK) { 145 usb_log_error(" Port(%p - %d): Failed to connect to HC.",146 instance-> address, instance->number);139 usb_log_error("%s: Failed to connect to HC.", 140 instance->id_string); 147 141 continue; 148 142 } … … 150 144 /* Remove any old device */ 151 145 if (instance->attached_device) { 152 usb_log_debug2(" Port(%p - %d): Removing device.\n",153 instance-> address, instance->number);146 usb_log_debug2("%s: Removing device.\n", 147 instance->id_string); 154 148 uhci_port_remove_device(instance); 155 149 } … … 164 158 /* Write one to WC bits, to ack changes */ 165 159 uhci_port_write_status(instance, port_status); 166 usb_log_debug(" Port(%p - %d): Change status ACK.\n",167 instance-> address, instance->number);160 usb_log_debug("%s: Change status ACK.\n", 161 instance->id_string); 168 162 } 169 163 170 164 rc = usb_hc_connection_close(&instance->hc_connection); 171 165 if (rc != EOK) { 172 usb_log_error(" Port(%p - %d): Failed to disconnect.",173 instance-> address, instance->number);166 usb_log_error("%s: Failed to disconnect.", 167 instance->id_string); 174 168 } 175 169 } … … 187 181 uhci_port_t *port = (uhci_port_t *) arg; 188 182 189 usb_log_debug2(" Port(%p - %d): new_device_enable_port.\n",190 port-> address, port->number);183 usb_log_debug2("%s: new_device_enable_port.\n", 184 port->id_string); 191 185 192 186 /* … … 201 195 */ 202 196 { 203 usb_log_debug(" Port(%p - %d): Reset Signal start.\n",204 port-> address, port->number);197 usb_log_debug("%s: Reset Signal start.\n", 198 port->id_string); 205 199 port_status_t port_status = uhci_port_read_status(port); 206 200 port_status |= STATUS_IN_RESET; … … 210 204 port_status &= ~STATUS_IN_RESET; 211 205 uhci_port_write_status(port, port_status); 212 usb_log_debug(" Port(%p - %d): Reset Signal stop.\n",213 port-> address, port->number);206 usb_log_debug("%s: Reset Signal stop.\n", 207 port->id_string); 214 208 } 215 209 … … 232 226 assert(usb_hc_connection_is_opened(&port->hc_connection)); 233 227 234 usb_log_info(" Port(%p-%d): Detected new device.\n",235 port-> address, port->number);228 usb_log_info("%s: Detected new device.\n", 229 port->id_string); 236 230 237 231 usb_address_t dev_addr; … … 241 235 242 236 if (rc != EOK) { 243 usb_log_error(" Port(%p-%d): Failed(%d) to add device: %s.\n",244 port-> address, port->number, rc, str_error(rc));237 usb_log_error("%s: Failed(%d) to add device: %s.\n", 238 port->id_string, rc, str_error(rc)); 245 239 uhci_port_set_enabled(port, false); 246 240 return rc; 247 241 } 248 242 249 usb_log_info(" Port(%p-%d): New device has address %d (handle %zu).\n",250 port-> address, port->number, dev_addr, port->attached_device);243 usb_log_info("%s: New device has address %d (handle %zu).\n", 244 port->id_string, dev_addr, port->attached_device); 251 245 252 246 return EOK; … … 262 256 int uhci_port_remove_device(uhci_port_t *port) 263 257 { 264 usb_log_error(" Port(%p-%d): Don't know how to remove device %#x.\n",265 port-> address, port->number, (unsigned int)port->attached_device);258 usb_log_error("%s: Don't know how to remove device %d.\n", 259 port->id_string, (unsigned int)port->attached_device); 266 260 return EOK; 267 261 } … … 289 283 uhci_port_write_status(port, port_status); 290 284 291 usb_log_info(" Port(%p-%d): %sabled port.\n",292 port-> address, port->number, enabled ? "En" : "Dis");285 usb_log_info("%s: %sabled port.\n", 286 port->id_string, enabled ? "En" : "Dis"); 293 287 return EOK; 294 288 } -
TabularUnified uspace/drv/uhci-rhd/port.h ¶
r3005db6 rab5a43d1 44 44 typedef struct uhci_port 45 45 { 46 char *id_string; 46 47 port_status_t *address; 47 48 unsigned number;
Note:
See TracChangeset
for help on using the changeset viewer.