Commit 92414fdca00c1746b950a45f4bc76796239d18aa
1 parent
bb36d470
cosmetics
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1598 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
49 additions
and
52 deletions
hw/usb.c
@@ -199,10 +199,6 @@ int set_usb_string(uint8_t *buf, const char *str) | @@ -199,10 +199,6 @@ int set_usb_string(uint8_t *buf, const char *str) | ||
199 | 199 | ||
200 | #define MAX_PORTS 8 | 200 | #define MAX_PORTS 8 |
201 | 201 | ||
202 | -#define DS_IDLE 0 | ||
203 | -#define DS_CONTROL_IN 1 | ||
204 | -#define DS_CONTROL_OUT 2 | ||
205 | - | ||
206 | typedef struct USBHubPort { | 202 | typedef struct USBHubPort { |
207 | USBPort port; | 203 | USBPort port; |
208 | USBDevice *dev; | 204 | USBDevice *dev; |
@@ -260,41 +256,41 @@ typedef struct USBHubState { | @@ -260,41 +256,41 @@ typedef struct USBHubState { | ||
260 | /* same as Linux kernel root hubs */ | 256 | /* same as Linux kernel root hubs */ |
261 | 257 | ||
262 | static const uint8_t qemu_hub_dev_descriptor[] = { | 258 | static const uint8_t qemu_hub_dev_descriptor[] = { |
263 | - 0x12, /* __u8 bLength; */ | ||
264 | - 0x01, /* __u8 bDescriptorType; Device */ | ||
265 | - 0x10, 0x01, /* __u16 bcdUSB; v1.1 */ | ||
266 | - | ||
267 | - 0x09, /* __u8 bDeviceClass; HUB_CLASSCODE */ | ||
268 | - 0x00, /* __u8 bDeviceSubClass; */ | ||
269 | - 0x00, /* __u8 bDeviceProtocol; [ low/full speeds only ] */ | ||
270 | - 0x08, /* __u8 bMaxPacketSize0; 8 Bytes */ | ||
271 | - | ||
272 | - 0x00, 0x00, /* __u16 idVendor; */ | ||
273 | - 0x00, 0x00, /* __u16 idProduct; */ | ||
274 | - 0x01, 0x01, /* __u16 bcdDevice */ | ||
275 | - | ||
276 | - 0x03, /* __u8 iManufacturer; */ | ||
277 | - 0x02, /* __u8 iProduct; */ | ||
278 | - 0x01, /* __u8 iSerialNumber; */ | ||
279 | - 0x01 /* __u8 bNumConfigurations; */ | 259 | + 0x12, /* u8 bLength; */ |
260 | + 0x01, /* u8 bDescriptorType; Device */ | ||
261 | + 0x10, 0x01, /* u16 bcdUSB; v1.1 */ | ||
262 | + | ||
263 | + 0x09, /* u8 bDeviceClass; HUB_CLASSCODE */ | ||
264 | + 0x00, /* u8 bDeviceSubClass; */ | ||
265 | + 0x00, /* u8 bDeviceProtocol; [ low/full speeds only ] */ | ||
266 | + 0x08, /* u8 bMaxPacketSize0; 8 Bytes */ | ||
267 | + | ||
268 | + 0x00, 0x00, /* u16 idVendor; */ | ||
269 | + 0x00, 0x00, /* u16 idProduct; */ | ||
270 | + 0x01, 0x01, /* u16 bcdDevice */ | ||
271 | + | ||
272 | + 0x03, /* u8 iManufacturer; */ | ||
273 | + 0x02, /* u8 iProduct; */ | ||
274 | + 0x01, /* u8 iSerialNumber; */ | ||
275 | + 0x01 /* u8 bNumConfigurations; */ | ||
280 | }; | 276 | }; |
281 | 277 | ||
282 | /* XXX: patch interrupt size */ | 278 | /* XXX: patch interrupt size */ |
283 | static const uint8_t qemu_hub_config_descriptor[] = { | 279 | static const uint8_t qemu_hub_config_descriptor[] = { |
284 | 280 | ||
285 | /* one configuration */ | 281 | /* one configuration */ |
286 | - 0x09, /* __u8 bLength; */ | ||
287 | - 0x02, /* __u8 bDescriptorType; Configuration */ | ||
288 | - 0x19, 0x00, /* __u16 wTotalLength; */ | ||
289 | - 0x01, /* __u8 bNumInterfaces; (1) */ | ||
290 | - 0x01, /* __u8 bConfigurationValue; */ | ||
291 | - 0x00, /* __u8 iConfiguration; */ | ||
292 | - 0xc0, /* __u8 bmAttributes; | 282 | + 0x09, /* u8 bLength; */ |
283 | + 0x02, /* u8 bDescriptorType; Configuration */ | ||
284 | + 0x19, 0x00, /* u16 wTotalLength; */ | ||
285 | + 0x01, /* u8 bNumInterfaces; (1) */ | ||
286 | + 0x01, /* u8 bConfigurationValue; */ | ||
287 | + 0x00, /* u8 iConfiguration; */ | ||
288 | + 0xc0, /* u8 bmAttributes; | ||
293 | Bit 7: must be set, | 289 | Bit 7: must be set, |
294 | 6: Self-powered, | 290 | 6: Self-powered, |
295 | 5: Remote wakeup, | 291 | 5: Remote wakeup, |
296 | 4..0: resvd */ | 292 | 4..0: resvd */ |
297 | - 0x00, /* __u8 MaxPower; */ | 293 | + 0x00, /* u8 MaxPower; */ |
298 | 294 | ||
299 | /* USB 1.1: | 295 | /* USB 1.1: |
300 | * USB 2.0, single TT organization (mandatory): | 296 | * USB 2.0, single TT organization (mandatory): |
@@ -308,36 +304,36 @@ static const uint8_t qemu_hub_config_descriptor[] = { | @@ -308,36 +304,36 @@ static const uint8_t qemu_hub_config_descriptor[] = { | ||
308 | */ | 304 | */ |
309 | 305 | ||
310 | /* one interface */ | 306 | /* one interface */ |
311 | - 0x09, /* __u8 if_bLength; */ | ||
312 | - 0x04, /* __u8 if_bDescriptorType; Interface */ | ||
313 | - 0x00, /* __u8 if_bInterfaceNumber; */ | ||
314 | - 0x00, /* __u8 if_bAlternateSetting; */ | ||
315 | - 0x01, /* __u8 if_bNumEndpoints; */ | ||
316 | - 0x09, /* __u8 if_bInterfaceClass; HUB_CLASSCODE */ | ||
317 | - 0x00, /* __u8 if_bInterfaceSubClass; */ | ||
318 | - 0x00, /* __u8 if_bInterfaceProtocol; [usb1.1 or single tt] */ | ||
319 | - 0x00, /* __u8 if_iInterface; */ | 307 | + 0x09, /* u8 if_bLength; */ |
308 | + 0x04, /* u8 if_bDescriptorType; Interface */ | ||
309 | + 0x00, /* u8 if_bInterfaceNumber; */ | ||
310 | + 0x00, /* u8 if_bAlternateSetting; */ | ||
311 | + 0x01, /* u8 if_bNumEndpoints; */ | ||
312 | + 0x09, /* u8 if_bInterfaceClass; HUB_CLASSCODE */ | ||
313 | + 0x00, /* u8 if_bInterfaceSubClass; */ | ||
314 | + 0x00, /* u8 if_bInterfaceProtocol; [usb1.1 or single tt] */ | ||
315 | + 0x00, /* u8 if_iInterface; */ | ||
320 | 316 | ||
321 | /* one endpoint (status change endpoint) */ | 317 | /* one endpoint (status change endpoint) */ |
322 | - 0x07, /* __u8 ep_bLength; */ | ||
323 | - 0x05, /* __u8 ep_bDescriptorType; Endpoint */ | ||
324 | - 0x81, /* __u8 ep_bEndpointAddress; IN Endpoint 1 */ | ||
325 | - 0x03, /* __u8 ep_bmAttributes; Interrupt */ | ||
326 | - 0x02, 0x00, /* __u16 ep_wMaxPacketSize; 1 + (MAX_ROOT_PORTS / 8) */ | ||
327 | - 0xff /* __u8 ep_bInterval; (255ms -- usb 2.0 spec) */ | 318 | + 0x07, /* u8 ep_bLength; */ |
319 | + 0x05, /* u8 ep_bDescriptorType; Endpoint */ | ||
320 | + 0x81, /* u8 ep_bEndpointAddress; IN Endpoint 1 */ | ||
321 | + 0x03, /* u8 ep_bmAttributes; Interrupt */ | ||
322 | + 0x02, 0x00, /* u16 ep_wMaxPacketSize; 1 + (MAX_ROOT_PORTS / 8) */ | ||
323 | + 0xff /* u8 ep_bInterval; (255ms -- usb 2.0 spec) */ | ||
328 | }; | 324 | }; |
329 | 325 | ||
330 | static const uint8_t qemu_hub_hub_descriptor[] = | 326 | static const uint8_t qemu_hub_hub_descriptor[] = |
331 | { | 327 | { |
332 | - 0x09, /* __u8 bLength; */ | ||
333 | - 0x29, /* __u8 bDescriptorType; Hub-descriptor */ | ||
334 | - 0x00, /* __u8 bNbrPorts; (patched later) */ | ||
335 | - 0x0a, /* __u16 wHubCharacteristics; */ | 328 | + 0x09, /* u8 bLength; */ |
329 | + 0x29, /* u8 bDescriptorType; Hub-descriptor */ | ||
330 | + 0x00, /* u8 bNbrPorts; (patched later) */ | ||
331 | + 0x0a, /* u16 wHubCharacteristics; */ | ||
336 | 0x00, /* (per-port OC, no power switching) */ | 332 | 0x00, /* (per-port OC, no power switching) */ |
337 | - 0x01, /* __u8 bPwrOn2pwrGood; 2ms */ | ||
338 | - 0x00, /* __u8 bHubContrCurrent; 0 mA */ | ||
339 | - 0x00, /* __u8 DeviceRemovable; *** 7 Ports max *** */ | ||
340 | - 0xff /* __u8 PortPwrCtrlMask; *** 7 ports max *** */ | 333 | + 0x01, /* u8 bPwrOn2pwrGood; 2ms */ |
334 | + 0x00, /* u8 bHubContrCurrent; 0 mA */ | ||
335 | + 0x00, /* u8 DeviceRemovable; *** 7 Ports max *** */ | ||
336 | + 0xff /* u8 PortPwrCtrlMask; *** 7 ports max *** */ | ||
341 | }; | 337 | }; |
342 | 338 | ||
343 | static void usb_hub_attach(USBPort *port1, USBDevice *dev) | 339 | static void usb_hub_attach(USBPort *port1, USBDevice *dev) |
@@ -571,6 +567,7 @@ static int usb_hub_handle_control(USBDevice *dev, int request, int value, | @@ -571,6 +567,7 @@ static int usb_hub_handle_control(USBDevice *dev, int request, int value, | ||
571 | default: | 567 | default: |
572 | fail: | 568 | fail: |
573 | ret = USB_RET_STALL; | 569 | ret = USB_RET_STALL; |
570 | + break; | ||
574 | } | 571 | } |
575 | return ret; | 572 | return ret; |
576 | } | 573 | } |