1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00

Kernel/USB: Add USB Driver register/unregister function

This commit is contained in:
Jesse Buhagiar 2022-05-18 00:05:02 +10:00 committed by Andrew Kaster
parent 3cead2801a
commit 2aa17f619c
2 changed files with 23 additions and 0 deletions

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, Luke Wilde <lukew@serenityos.org>
* Copyright (c) 2023, Jesse Buhagiar <jesse.buhagiar@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -74,6 +75,20 @@ UNMAP_AFTER_INIT void USBManagement::initialize()
s_the.ensure_instance();
}
void USBManagement::register_driver(NonnullLockRefPtr<Driver> driver)
{
dbgln_if(USB_DEBUG, "Registering driver {}", driver->name());
m_available_drivers.append(driver);
}
void USBManagement::unregister_driver(NonnullLockRefPtr<Driver> driver)
{
dbgln_if(USB_DEBUG, "Unregistering driver {}", driver->name());
auto const& found_driver = m_available_drivers.find(driver);
if (!found_driver.is_end())
m_available_drivers.remove(found_driver.index());
}
USBManagement& USBManagement::the()
{
return *s_the;