ladybird/Kernel/Devices
Liav A 3af70cb0fc Kernel/Devices: Abstract SysFS Device add/remove methods more properly
It is starting to get a little messy with how each device can try to add
or remove itself to either /sys/dev/block or /sys/dev/char directories.

To better do this, we introduce 4 virtual methods to take care of that,
so until we ensure all nodes in /sys/dev/block and /sys/dev/char are
actual symlinks, we allow the Device base class to call virtual methods
upon insertion or before being destroying, so it add itself elegantly to
either of these directories or remove itself when needed.

For special cases where we need to create symlinks, we have two virtual
methods to be called otherwise to do almost the same thing mentioned
before, but to use symlinks instead.
2022-07-19 11:02:37 +01:00
..
Audio Kernel/Audio: Fix buffer size underflow for non-page-aligned sizes 2022-06-23 23:26:33 +01:00
HID Kernel/HID: Take a spinlock when calling KeyboardClient::on_key_pressed 2022-05-06 18:05:14 +02:00
AsyncDeviceRequest.cpp Kernel: Convert Processor::in_irq() to static current_in_irq() 2021-08-23 00:02:09 +02:00
AsyncDeviceRequest.h Kernel: Allow WorkQueue items allocation failures propagation 2022-04-20 19:47:18 +02:00
BlockDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
BlockDevice.h Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
CharacterDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
CharacterDevice.h Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
ConsoleDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ConsoleDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Device.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
Device.h Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
DeviceControlDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DeviceControlDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DeviceManagement.cpp Kernel: Add DeviceManagement::try_for_each() for fallible iteration 2022-02-27 20:37:57 +01:00
DeviceManagement.h Kernel: Add DeviceManagement::try_for_each() for fallible iteration 2022-02-27 20:37:57 +01:00
FullDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FullDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KCOVDevice.cpp Kernel+SystemServer: Make KCOVDevice a character device 2022-07-10 14:57:55 +02:00
KCOVDevice.h Kernel+SystemServer: Make KCOVDevice a character device 2022-07-10 14:57:55 +02:00
KCOVInstance.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KCOVInstance.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
MemoryDevice.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
MemoryDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NullDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NullDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PCISerialDevice.cpp Kernel/PCI: Don't hold spinlocks when doing fast device enumeration 2022-03-14 22:39:09 +01:00
PCISerialDevice.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
PCSpeaker.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
PCSpeaker.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RandomDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
RandomDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SelfTTYDevice.cpp Kernel: Create SelfTTYDevice class to help replace /dev/tty symlink 2022-03-22 20:26:05 +01:00
SelfTTYDevice.h Kernel: Create SelfTTYDevice class to help replace /dev/tty symlink 2022-03-22 20:26:05 +01:00
SerialDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SerialDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ZeroDevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ZeroDevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00