Kernel: Device dev and rdev number is done more properly
Also hd* partitions are now 1 indexed instead of 0
This commit is contained in:
@@ -8,23 +8,13 @@ namespace Kernel::Input
|
||||
class PS2Device : public CharacterDevice
|
||||
{
|
||||
public:
|
||||
PS2Device(dev_t);
|
||||
virtual ~PS2Device() {}
|
||||
virtual void on_byte(uint8_t) = 0;
|
||||
|
||||
public:
|
||||
virtual ino_t ino() const override { return m_ino; }
|
||||
virtual Mode mode() const override { return { Mode::IFCHR | Mode::IRUSR | Mode::IRGRP }; }
|
||||
virtual nlink_t nlink() const override { return 1; }
|
||||
virtual uid_t uid() const override { return 0; }
|
||||
virtual gid_t gid() const override { return 0; }
|
||||
virtual off_t size() const override { return 0; }
|
||||
virtual blkcnt_t blocks() const override { return 0; }
|
||||
virtual dev_t dev() const override { return m_dev; }
|
||||
|
||||
private:
|
||||
ino_t m_ino;
|
||||
dev_t m_dev;
|
||||
};
|
||||
|
||||
class PS2Controller
|
||||
|
||||
@@ -27,17 +27,13 @@ namespace Kernel::Input
|
||||
};
|
||||
|
||||
public:
|
||||
static BAN::ErrorOr<PS2Keyboard*> create(PS2Controller&, dev_t);
|
||||
static BAN::ErrorOr<PS2Keyboard*> create(PS2Controller&);
|
||||
|
||||
virtual void on_byte(uint8_t) override;
|
||||
virtual void update() override;
|
||||
|
||||
private:
|
||||
PS2Keyboard(PS2Controller& controller, dev_t device)
|
||||
: PS2Device(device)
|
||||
, m_controller(controller)
|
||||
, m_name(BAN::String::formatted("input{}", device))
|
||||
{}
|
||||
PS2Keyboard(PS2Controller& controller);
|
||||
BAN::ErrorOr<void> initialize();
|
||||
|
||||
void append_command_queue(uint8_t);
|
||||
@@ -63,13 +59,15 @@ namespace Kernel::Input
|
||||
|
||||
Semaphore m_semaphore;
|
||||
|
||||
BAN::String m_name;
|
||||
|
||||
public:
|
||||
virtual BAN::StringView name() const override { return m_name; }
|
||||
virtual blksize_t blksize() const override { return sizeof(KeyEvent); }
|
||||
virtual dev_t rdev() const override { return 0x8594; }
|
||||
virtual dev_t rdev() const override { return m_rdev; }
|
||||
|
||||
virtual BAN::ErrorOr<size_t> read(size_t, void*, size_t) override;
|
||||
|
||||
private:
|
||||
const BAN::String m_name;
|
||||
const dev_t m_rdev;
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user