23 #include "modules/Module.h" 24 #include "pedigree/kernel/Log.h" 25 #include "pedigree/kernel/machine/Device.h" 26 #include "pedigree/kernel/processor/Processor.h" 27 #include "pedigree/kernel/utilities/new" 33 HCI_PROGIF_UHCI = 0x00,
34 HCI_PROGIF_OHCI = 0x10,
35 HCI_PROGIF_EHCI = 0x20,
36 HCI_PROGIF_XHCI = 0x30,
39 static bool bFound =
false;
41 static void probeXhci(
Device *pDev)
43 WARNING(
"USB: xHCI found, not implemented yet!");
54 static void probeEhci(
Device *pDev)
63 NOTICE(
"USB: EHCI failed to initialise");
74 static void probeOhci(
Device *pDev)
89 static void probeUhci(
Device *pDev)
109 Device::searchByClassSubclassAndProgInterface(
110 HCI_CLASS, HCI_SUBCLASS, HCI_PROGIF_XHCI, probeXhci);
111 Device::searchByClassSubclassAndProgInterface(
112 HCI_CLASS, HCI_SUBCLASS, HCI_PROGIF_EHCI, probeEhci);
113 Device::searchByClassSubclassAndProgInterface(
114 HCI_CLASS, HCI_SUBCLASS, HCI_PROGIF_OHCI, probeOhci);
116 Device::searchByClassSubclassAndProgInterface(
117 HCI_CLASS, HCI_SUBCLASS, HCI_PROGIF_UHCI, probeUhci);
128 MODULE_INFO(
"usb-hcd", &entry, &exit,
"pci",
"usb");
131 MODULE_INFO(
"usb-hcd", &entry, &exit,
"usb-glue",
"usb");
133 MODULE_INFO(
"usb-hcd", &entry, &exit,
"usb");
void replaceChild(Device *src, Device *dest)
static void setInterrupts(bool bEnable)
bool initialiseController()
Device * getParent() const