summaryrefslogtreecommitdiff
path: root/Kernel/CMakeLists.txt
diff options
context:
space:
mode:
authorLuke <luke.wilde@live.co.uk>2021-08-08 19:50:20 +0100
committerAndreas Kling <kling@serenityos.org>2021-08-09 21:05:25 +0200
commit7a86a8df903c0efd73241173a00d7abfd1d6451f (patch)
tree440d44554939a7653a97f88cf238f414b47b52a5 /Kernel/CMakeLists.txt
parentc5974d3518db2b05eaa5d002516137980a587e36 (diff)
downloadserenity-7a86a8df903c0efd73241173a00d7abfd1d6451f.zip
Kernel/USB: Create controller base class and introduce USBManagement
This removes Pipes dependency on the UHCIController by introducing a controller base class. This will be used to implement other controllers such as OHCI. Additionally, there can be multiple instances of a UHCI controller. For example, multiple UHCI instances can be required for systems with EHCI controllers. EHCI relies on using multiple of either UHCI or OHCI controllers to drive USB 1.x devices. This means UHCIController can no longer be a singleton. Multiple instances of it can now be created and passed to the device and then to the pipe. To handle finding and creating these instances, USBManagement has been introduced. It has the same pattern as the other management classes such as NetworkManagement.
Diffstat (limited to 'Kernel/CMakeLists.txt')
-rw-r--r--Kernel/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt
index cd426a38ba..1ac315a2d8 100644
--- a/Kernel/CMakeLists.txt
+++ b/Kernel/CMakeLists.txt
@@ -32,7 +32,9 @@ set(KERNEL_SOURCES
Bus/PCI/Initializer.cpp
Bus/PCI/WindowedMMIOAccess.cpp
Bus/USB/UHCIController.cpp
+ Bus/USB/USBController.cpp
Bus/USB/USBDevice.cpp
+ Bus/USB/USBManagement.cpp
Bus/USB/USBPipe.cpp
Bus/USB/USBTransfer.cpp
CMOS.cpp