|
iPXE
|
A USB bus. More...
#include <usb.h>
Data Fields | |
| const char * | name |
| Name. More... | |
| struct device * | dev |
| Underlying hardware device. More... | |
| struct usb_host_operations * | op |
| Host controller operations set. More... | |
| unsigned int | address |
| Bus address. More... | |
| size_t | mtu |
| Largest transfer allowed on the bus. More... | |
| unsigned long long | addresses |
| Address in-use mask. More... | |
| struct usb_hub * | hub |
| Root hub. More... | |
| struct list_head | list |
| List of USB buses. More... | |
| struct list_head | devices |
| List of devices. More... | |
| struct list_head | hubs |
| List of hubs. More... | |
| struct usb_bus_host_operations * | host |
| Host controller operations. More... | |
| void * | priv |
| Host controller private data. More... | |
| struct device* usb_bus::dev |
Underlying hardware device.
Definition at line 969 of file usb.h.
Referenced by alloc_usb_bus(), and ehci_poll_companions().
| struct usb_host_operations* usb_bus::op |
Host controller operations set.
Definition at line 971 of file usb.h.
Referenced by usb_endpoint_open().
| unsigned int usb_bus::address |
| unsigned long long usb_bus::addresses |
Address in-use mask.
This is used only by buses which perform manual address assignment. USB allows for addresses in the range [1,127]. We use a simple bitmask which restricts us to the range [1,64]; this is unlikely to be a problem in practice. For comparison: controllers which perform autonomous address assignment (such as xHCI) typically allow for only 32 devices per bus anyway.
| struct usb_hub* usb_bus::hub |
Root hub.
Definition at line 994 of file usb.h.
Referenced by alloc_usb(), ehci_probe(), register_usb(), register_usb_hub(), uhci_probe(), usbio_start(), xhci_port_status(), and xhci_register().
| struct usb_bus_host_operations* usb_bus::host |
1.8.15