diff options
author | Liav A <liavalb@gmail.com> | 2022-12-20 08:17:25 +0200 |
---|---|---|
committer | Jelle Raaijmakers <jelle@gmta.nl> | 2023-04-09 18:11:37 +0200 |
commit | d8cbda69505968c6d5d2ae674a6754577efd53ed (patch) | |
tree | 2245b7ba4a7601d12ddb16e66763ab48b33f583e | |
parent | d76c08c9b0e2743e752a182fc1cd9a48667bf23c (diff) | |
download | serenity-d8cbda69505968c6d5d2ae674a6754577efd53ed.zip |
Kernel: Move HIDDevice::enable_interrupts method to I8042Device class
It happens to be that only PS/2 devices that are connected via the i8042
controller can generate interrupt events, so it makes much more sense to
have those devices to implement the enable_interrupts method because of
the I8042Device class and not the HIDDevice class.
-rw-r--r-- | Kernel/Arch/x86_64/ISABus/I8042Controller.h | 7 | ||||
-rw-r--r-- | Kernel/Devices/HID/Device.h | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/Kernel/Arch/x86_64/ISABus/I8042Controller.h b/Kernel/Arch/x86_64/ISABus/I8042Controller.h index 6ef1015208..e04a5ba4b6 100644 --- a/Kernel/Arch/x86_64/ISABus/I8042Controller.h +++ b/Kernel/Arch/x86_64/ISABus/I8042Controller.h @@ -67,11 +67,14 @@ enum I8042Response : u8 { }; class I8042Controller; +class PS2KeyboardDevice; +class PS2MouseDevice; class I8042Device { public: virtual ~I8042Device() = default; virtual void irq_handle_byte_read(u8 byte) = 0; + virtual void enable_interrupts() = 0; protected: explicit I8042Device(I8042Controller const& ps2_controller) @@ -156,8 +159,8 @@ private: bool m_first_port_available { false }; bool m_second_port_available { false }; bool m_is_dual_channel { false }; - LockRefPtr<MouseDevice> m_mouse_device; - LockRefPtr<KeyboardDevice> m_keyboard_device; + LockRefPtr<PS2MouseDevice> m_mouse_device; + LockRefPtr<PS2KeyboardDevice> m_keyboard_device; }; } diff --git a/Kernel/Devices/HID/Device.h b/Kernel/Devices/HID/Device.h index 72d244650c..a9e12f15f8 100644 --- a/Kernel/Devices/HID/Device.h +++ b/Kernel/Devices/HID/Device.h @@ -20,7 +20,6 @@ public: }; virtual Type instrument_type() const = 0; - virtual void enable_interrupts() = 0; protected: HIDDevice(MajorNumber major, MinorNumber minor) |