FreeBSD kernel usb device Code
uhci_pci.c File Reference
#include <sys/cdefs.h>
#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/usb_core.h>
#include <dev/usb/usb_busdma.h>
#include <dev/usb/usb_process.h>
#include <dev/usb/usb_util.h>
#include <dev/usb/usb_debug.h>
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
#include <dev/usb/usb_pci.h>
#include <dev/usb/controller/uhci.h>
#include <dev/usb/controller/uhcireg.h>
#include "usb_if.h"
Include dependency graph for uhci_pci.c:

Go to the source code of this file.

Macros

#define PCI_UHCI_VENDORID_INTEL   0x8086
 
#define PCI_UHCI_VENDORID_HP   0x103c
 
#define PCI_UHCI_VENDORID_VIA   0x1106
 

Functions

 __FBSDID ("$FreeBSD$")
 
static int uhci_pci_take_controller (device_t self)
 
static const char * uhci_pci_match (device_t self)
 
static int uhci_pci_probe (device_t self)
 
static int uhci_pci_attach (device_t self)
 
int uhci_pci_detach (device_t self)
 
 DRIVER_MODULE (uhci, pci, uhci_driver, uhci_devclass, 0, 0)
 
 MODULE_DEPEND (uhci, usb, 1, 1, 1)
 

Variables

static device_probe_t uhci_pci_probe
 
static device_attach_t uhci_pci_attach
 
static device_detach_t uhci_pci_detach
 
static usb_take_controller_t uhci_pci_take_controller
 
static device_method_t uhci_pci_methods []
 
static driver_t uhci_driver
 
static devclass_t uhci_devclass
 

Macro Definition Documentation

◆ PCI_UHCI_VENDORID_HP

#define PCI_UHCI_VENDORID_HP   0x103c

Definition at line 82 of file uhci_pci.c.

◆ PCI_UHCI_VENDORID_INTEL

#define PCI_UHCI_VENDORID_INTEL   0x8086

Definition at line 81 of file uhci_pci.c.

◆ PCI_UHCI_VENDORID_VIA

#define PCI_UHCI_VENDORID_VIA   0x1106

Definition at line 83 of file uhci_pci.c.

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ DRIVER_MODULE()

DRIVER_MODULE ( uhci  ,
pci  ,
uhci_driver  ,
uhci_devclass  ,
,
 
)

◆ MODULE_DEPEND()

MODULE_DEPEND ( uhci  ,
usb  ,
,
,
 
)

◆ uhci_pci_attach()

◆ uhci_pci_detach()

int uhci_pci_detach ( device_t  self)

◆ uhci_pci_match()

static const char * uhci_pci_match ( device_t  self)
static

Definition at line 101 of file uhci_pci.c.

References PCI_INTERFACE_UHCI, PCIC_SERIALBUS, and PCIS_SERIALBUS_USB.

Referenced by uhci_pci_attach(), and uhci_pci_probe().

Here is the caller graph for this function:

◆ uhci_pci_probe()

static int uhci_pci_probe ( device_t  self)
static

Definition at line 253 of file uhci_pci.c.

References desc, and uhci_pci_match().

Here is the call graph for this function:

◆ uhci_pci_take_controller()

static int uhci_pci_take_controller ( device_t  self)
static

Definition at line 93 of file uhci_pci.c.

References PCI_LEGSUP, and PCI_LEGSUP_USBPIRQDEN.

Variable Documentation

◆ uhci_devclass

devclass_t uhci_devclass
static

Definition at line 459 of file uhci_pci.c.

◆ uhci_driver

driver_t uhci_driver
static
Initial value:
= {
.name = "uhci",
.methods = uhci_pci_methods,
.size = sizeof(struct uhci_softc),
}
static device_method_t uhci_pci_methods[]
Definition: uhci_pci.c:440

Definition at line 453 of file uhci_pci.c.

◆ uhci_pci_attach

device_attach_t uhci_pci_attach
static

Definition at line 88 of file uhci_pci.c.

◆ uhci_pci_detach

device_detach_t uhci_pci_detach
static

Definition at line 89 of file uhci_pci.c.

Referenced by uhci_pci_attach().

◆ uhci_pci_methods

device_method_t uhci_pci_methods[]
static
Initial value:
= {
DEVMETHOD(device_probe, uhci_pci_probe),
DEVMETHOD(device_attach, uhci_pci_attach),
DEVMETHOD(device_detach, uhci_pci_detach),
DEVMETHOD(device_suspend, bus_generic_suspend),
DEVMETHOD(device_resume, bus_generic_resume),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(usb_take_controller, uhci_pci_take_controller),
DEVMETHOD_END
}
static usb_take_controller_t uhci_pci_take_controller
Definition: uhci_pci.c:90
static device_detach_t uhci_pci_detach
Definition: uhci_pci.c:89
static device_attach_t uhci_pci_attach
Definition: uhci_pci.c:88
static device_probe_t uhci_pci_probe
Definition: uhci_pci.c:87

Definition at line 440 of file uhci_pci.c.

◆ uhci_pci_probe

device_probe_t uhci_pci_probe
static

Definition at line 87 of file uhci_pci.c.

◆ uhci_pci_take_controller

usb_take_controller_t uhci_pci_take_controller
static

Definition at line 90 of file uhci_pci.c.