1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-03 00:32:06 +00:00
serenity/Kernel/Devices/HID
Liav A aee4786d8e Kernel: Introduce the DeviceManagement singleton
This singleton simplifies many aspects that we struggled with before:
1. There's no need to make derived classes of Device expose the
constructor as public anymore. The singleton is a friend of them, so he
can call the constructor. This solves the issue with try_create_device
helper neatly, hopefully for good.
2. Getting a reference of the NullDevice is now being done from this
singleton, which means that NullDevice no longer needs to use its own
singleton, and we can apply the try_create_device helper on it too :)
3. We can now defer registration completely after the Device constructor
which means the Device constructor is merely assigning the major and
minor numbers of the Device, and the try_create_device helper ensures it
calls the after_inserting method immediately after construction. This
creates a great opportunity to make registration more OOM-safe.
2021-09-17 01:02:48 +03:00
..
HIDDevice.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HIDManagement.cpp Kernel: Move ACPI and BIOS code into the new Firmware directory 2021-09-12 11:52:16 +02:00
HIDManagement.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
I8042Controller.cpp Kernel: Convert Processor::in_irq() to static current_in_irq() 2021-08-23 00:02:09 +02:00
I8042Controller.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
KeyboardDevice.cpp Kernel: Rename FileDescription => OpenFileDescription 2021-09-07 13:53:14 +02:00
KeyboardDevice.h Kernel/Devices: Remove required_mode and device_name methods 2021-09-08 00:42:20 +02:00
MouseDevice.cpp Kernel: Rename FileDescription => OpenFileDescription 2021-09-07 13:53:14 +02:00
MouseDevice.h Kernel/Devices: Remove required_mode and device_name methods 2021-09-08 00:42:20 +02:00
PS2KeyboardDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
PS2KeyboardDevice.h Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
PS2MouseDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
PS2MouseDevice.h Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
VMWareMouseDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
VMWareMouseDevice.h Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00