FreeBSD kernel usb device Code
|
#include <sys/stdint.h>
#include <sys/stddef.h>
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/module.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/condvar.h>
#include <sys/sysctl.h>
#include <sys/sx.h>
#include <sys/unistd.h>
#include <sys/callout.h>
#include <sys/malloc.h>
#include <sys/priv.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
#include <dev/usb/usb_core.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/usb_device.h>
#include <dev/usb/usb_request.h>
#include <dev/usb/usb_debug.h>
#include <dev/usb/usb_hub.h>
#include <dev/usb/usb_util.h>
#include <dev/usb/usb_busdma.h>
#include <dev/usb/usb_transfer.h>
#include <dev/usb/usb_dynamic.h>
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
#include <dev/usb/usb_hub_private.h>
#include <contrib/dev/acpica/include/acpi.h>
#include <contrib/dev/acpica/include/accommon.h>
#include <dev/acpica/acpivar.h>
#include <sys/sbuf.h>
Go to the source code of this file.
Data Structures | |
struct | acpi_uhub_port |
struct | acpi_uhub_softc |
Macros | |
#define | USB_DEBUG_VAR uhub_debug |
#define | ACPI_PLD_SIZE 20 |
#define | ACPI_UPC_CONNECTABLE 0x80000000 |
#define | ACPI_UPC_PORTTYPE(x) ((x)&0xff) |
Functions | |
static UINT32 | acpi_uhub_find_rh_cb (ACPI_HANDLE ah, UINT32 nl, void *ctx, void **status) |
static const char * | acpi_uhub_upc_type (uint8_t type) |
static int | acpi_uhub_parse_upc (device_t dev, unsigned int p, ACPI_HANDLE ah, struct sysctl_oid_list *poid) |
static int | acpi_uhub_port_sysctl (SYSCTL_HANDLER_ARGS) |
static int | acpi_uhub_parse_pld (device_t dev, unsigned int p, ACPI_HANDLE ah, struct sysctl_oid_list *tree) |
static ACPI_STATUS | acpi_uhub_find_rh (device_t dev, ACPI_HANDLE *ah) |
static ACPI_STATUS | acpi_usb_hub_port_probe_cb (ACPI_HANDLE ah, UINT32 lv, void *ctx, void **rv) |
static ACPI_STATUS | acpi_usb_hub_port_probe (device_t dev, ACPI_HANDLE ah) |
static int | acpi_uhub_root_probe (device_t dev) |
static int | acpi_uhub_probe (device_t dev) |
static int | acpi_uhub_attach_common (device_t dev) |
static int | acpi_uhub_detach (device_t dev) |
static int | acpi_uhub_root_attach (device_t dev) |
static int | acpi_uhub_attach (device_t dev) |
static int | acpi_uhub_read_ivar (device_t dev, device_t child, int idx, uintptr_t *res) |
static int | acpi_uhub_child_location (device_t parent, device_t child, struct sbuf *sb) |
static int | acpi_uhub_get_device_path (device_t bus, device_t child, const char *locator, struct sbuf *sb) |
DRIVER_MODULE (uacpi, uhub, acpi_uhub_driver, uhub_devclass, 0, 0) | |
DRIVER_MODULE (uacpi, usbus, acpi_uhub_root_driver, uhub_devclass, 0, 0) | |
MODULE_DEPEND (uacpi, acpi, 1, 1, 1) | |
MODULE_DEPEND (uacpi, usb, 1, 1, 1) | |
MODULE_VERSION (uacpi, 1) | |
Variables | |
static device_method_t | acpi_uhub_methods [] |
static device_method_t | acpi_uhub_root_methods [] |
static devclass_t | uhub_devclass |
driver_t | uhub_driver |
static kobj_class_t | uhub_baseclasses [] = {&uhub_driver, NULL} |
static driver_t | acpi_uhub_driver |
static driver_t | acpi_uhub_root_driver |
#define ACPI_PLD_SIZE 20 |
Definition at line 84 of file usb_hub_acpi.c.
#define ACPI_UPC_CONNECTABLE 0x80000000 |
Definition at line 87 of file usb_hub_acpi.c.
#define ACPI_UPC_PORTTYPE | ( | x | ) | ((x)&0xff) |
Definition at line 88 of file usb_hub_acpi.c.
#define USB_DEBUG_VAR uhub_debug |
Definition at line 62 of file usb_hub_acpi.c.
|
static |
Definition at line 501 of file usb_hub_acpi.c.
References acpi_uhub_attach_common(), acpi_uhub_detach(), acpi_uhub_softc::ah, dev, and uhub_attach.
|
static |
Definition at line 450 of file usb_hub_acpi.c.
References acpi_usb_hub_port_probe(), acpi_uhub_softc::ah, dev, usb_device::hub, usb_hub::nports, acpi_uhub_softc::nports, acpi_uhub_softc::port, uhub_softc::sc_udev, status, and acpi_uhub_softc::usc.
Referenced by acpi_uhub_attach(), and acpi_uhub_root_attach().
|
static |
Definition at line 544 of file usb_hub_acpi.c.
References acpi_uhub_softc::ah, child, and uhub_child_location.
|
static |
Definition at line 471 of file usb_hub_acpi.c.
References dev, acpi_uhub_softc::port, and uhub_detach.
Referenced by acpi_uhub_attach(), and acpi_uhub_root_attach().
|
static |
Definition at line 349 of file usb_hub_acpi.c.
References acpi_uhub_find_rh_cb(), and dev.
Referenced by acpi_uhub_root_attach(), and acpi_uhub_root_probe().
|
static |
Definition at line 101 of file usb_hub_acpi.c.
References status.
Referenced by acpi_uhub_find_rh().
|
static |
Definition at line 557 of file usb_hub_acpi.c.
References bus, child, and uhub_get_device_path.
|
static |
Definition at line 265 of file usb_hub_acpi.c.
References ACPI_PLD_SIZE, dev, len, acpi_uhub_port::pld, acpi_uhub_softc::port, and usb_debug.
Referenced by acpi_usb_hub_port_probe_cb().
|
static |
Definition at line 139 of file usb_hub_acpi.c.
References acpi_uhub_upc_type(), ACPI_UPC_CONNECTABLE, dev, acpi_uhub_softc::port, acpi_uhub_port::upc, and usb_debug.
Referenced by acpi_usb_hub_port_probe_cb().
|
static |
Definition at line 178 of file usb_hub_acpi.c.
References acpi_uhub_upc_type(), ACPI_UPC_CONNECTABLE, error, acpi_uhub_port::handle, acpi_uhub_port::pld, req, and acpi_uhub_port::upc.
Referenced by acpi_usb_hub_port_probe_cb().
|
static |
Definition at line 432 of file usb_hub_acpi.c.
References dev, and uhub_probe.
|
static |
Definition at line 523 of file usb_hub_acpi.c.
References acpi_uhub_softc::ah, child, dev, acpi_uhub_port::handle, usb_device::hub, acpi_uhub_softc::nports, acpi_uhub_softc::port, hub_result::portno, uhub_softc::sc_udev, uhub_find_iface_index(), and acpi_uhub_softc::usc.
|
static |
Definition at line 481 of file usb_hub_acpi.c.
References acpi_uhub_attach_common(), acpi_uhub_detach(), acpi_uhub_find_rh(), acpi_uhub_softc::ah, dev, and uhub_attach.
|
static |
Definition at line 414 of file usb_hub_acpi.c.
References acpi_uhub_find_rh(), dev, status, and uhub_probe.
|
static |
Definition at line 122 of file usb_hub_acpi.c.
References type.
Referenced by acpi_uhub_parse_upc(), and acpi_uhub_port_sysctl().
|
static |
Definition at line 405 of file usb_hub_acpi.c.
References acpi_usb_hub_port_probe_cb(), and dev.
Referenced by acpi_uhub_attach_common().
|
static |
Definition at line 365 of file usb_hub_acpi.c.
References acpi_uhub_parse_pld(), acpi_uhub_parse_upc(), acpi_uhub_port_sysctl(), acpi_uhub_softc::ah, dev, acpi_uhub_port::handle, acpi_uhub_softc::nports, acpi_uhub_softc::port, and acpi_uhub_port::upc.
Referenced by acpi_usb_hub_port_probe().
DRIVER_MODULE | ( | uacpi | , |
uhub | , | ||
acpi_uhub_driver | , | ||
uhub_devclass | , | ||
0 | , | ||
0 | |||
) |
DRIVER_MODULE | ( | uacpi | , |
usbus | , | ||
acpi_uhub_root_driver | , | ||
uhub_devclass | , | ||
0 | , | ||
0 | |||
) |
MODULE_DEPEND | ( | uacpi | , |
acpi | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_DEPEND | ( | uacpi | , |
usb | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_VERSION | ( | uacpi | , |
1 | |||
) |
|
static |
Definition at line 591 of file usb_hub_acpi.c.
|
static |
Definition at line 566 of file usb_hub_acpi.c.
|
static |
Definition at line 598 of file usb_hub_acpi.c.
|
static |
Definition at line 577 of file usb_hub_acpi.c.
|
static |
Definition at line 589 of file usb_hub_acpi.c.
|
static |
Definition at line 587 of file usb_hub_acpi.c.