1/* $FreeBSD: head/sys/dev/usb/usb_hub.h 250207 2013-05-03 11:10:04Z hselasky $ */ |
2/*- 3 * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. --- 33 unchanged lines hidden (view full) --- 43struct usb_hub { 44 struct usb_device *hubudev; /* the HUB device */ 45 usb_error_t (*explore) (struct usb_device *hub); 46 void *hubsoftc; 47 usb_size_t uframe_usage[USB_HS_MICRO_FRAMES_MAX]; 48 uint16_t portpower; /* mA per USB port */ 49 uint8_t isoc_last_time; 50 uint8_t nports; |
51#if (USB_HAVE_FIXED_PORT == 0) |
52 struct usb_port ports[0]; |
53#else 54 struct usb_port ports[USB_MAX_PORTS]; 55#endif |
56}; 57 58/* function prototypes */ 59 60void usb_hs_bandwidth_alloc(struct usb_xfer *xfer); 61void usb_hs_bandwidth_free(struct usb_xfer *xfer); 62void usb_bus_port_set_device(struct usb_bus *bus, struct usb_port *up, 63 struct usb_device *udev, uint8_t device_index); 64struct usb_device *usb_bus_port_get_device(struct usb_bus *bus, 65 struct usb_port *up); 66void usb_needs_explore(struct usb_bus *bus, uint8_t do_probe); 67void usb_needs_explore_all(void); 68void usb_bus_power_update(struct usb_bus *bus); 69void usb_bus_powerd(struct usb_bus *bus); 70void uhub_root_intr(struct usb_bus *, const uint8_t *, uint8_t); 71usb_error_t uhub_query_info(struct usb_device *, uint8_t *, uint8_t *); 72 73#endif /* _USB_HUB_H_ */ |