diff --git a/Kernel/Bus/VirtIO/VirtIORNG.cpp b/Kernel/Bus/VirtIO/VirtIORNG.cpp index 560ab0a075..94fb060ec3 100644 --- a/Kernel/Bus/VirtIO/VirtIORNG.cpp +++ b/Kernel/Bus/VirtIO/VirtIORNG.cpp @@ -10,8 +10,7 @@ namespace Kernel { UNMAP_AFTER_INIT VirtIORNG::VirtIORNG(PCI::Address address) - : CharacterDevice(10, 183) - , VirtIODevice(address, "VirtIORNG") + : VirtIODevice(address, "VirtIORNG") { bool success = negotiate_features([&](auto) { return 0; diff --git a/Kernel/Bus/VirtIO/VirtIORNG.h b/Kernel/Bus/VirtIO/VirtIORNG.h index 12a2223a68..b43a4267a3 100644 --- a/Kernel/Bus/VirtIO/VirtIORNG.h +++ b/Kernel/Bus/VirtIO/VirtIORNG.h @@ -6,6 +6,7 @@ #pragma once +#include #include #include #include @@ -14,19 +15,11 @@ namespace Kernel { #define REQUESTQ 0 -class VirtIORNG final : public CharacterDevice +class VirtIORNG final + : public RefCounted , public VirtIODevice { public: - virtual StringView purpose() const override { return class_name(); } - virtual StringView class_name() const override { return m_class_name; } - - virtual bool can_read(const FileDescription&, size_t) const override { return false; } - virtual KResultOr read(FileDescription&, u64, UserOrKernelBuffer&, size_t) override { return 0; } - virtual bool can_write(const FileDescription&, size_t) const override { return false; } - virtual KResultOr write(FileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return 0; } - - virtual mode_t required_mode() const override { return 0666; } - virtual String device_name() const override { return "hwrng"; } + virtual StringView purpose() const override { return m_class_name; } VirtIORNG(PCI::Address); virtual ~VirtIORNG() override;