diff options
author | Luke <luke.wilde@live.co.uk> | 2021-08-08 19:50:20 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-09 21:05:25 +0200 |
commit | 7a86a8df903c0efd73241173a00d7abfd1d6451f (patch) | |
tree | 440d44554939a7653a97f88cf238f414b47b52a5 /Kernel/CMakeLists.txt | |
parent | c5974d3518db2b05eaa5d002516137980a587e36 (diff) | |
download | serenity-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.txt | 2 |
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 |