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:
@@ -302,7 +302,7 @@ namespace Kernel::Input
|
||||
|
||||
// MF2 Keyboard
|
||||
if (index == 2 && (bytes[0] == 0xAB && bytes[1] == 0x83))
|
||||
m_devices[device] = TRY(PS2Keyboard::create(*this, device));
|
||||
m_devices[device] = TRY(PS2Keyboard::create(*this));
|
||||
|
||||
if (m_devices[device])
|
||||
return {};
|
||||
@@ -332,10 +332,4 @@ namespace Kernel::Input
|
||||
return {};
|
||||
}
|
||||
|
||||
PS2Device::PS2Device(dev_t dev)
|
||||
{
|
||||
m_dev = dev;
|
||||
m_ino = dev & 1;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,9 +37,9 @@ namespace Kernel::Input
|
||||
|
||||
}
|
||||
|
||||
BAN::ErrorOr<PS2Keyboard*> PS2Keyboard::create(PS2Controller& controller, dev_t device)
|
||||
BAN::ErrorOr<PS2Keyboard*> PS2Keyboard::create(PS2Controller& controller)
|
||||
{
|
||||
PS2Keyboard* keyboard = new PS2Keyboard(controller, device);
|
||||
PS2Keyboard* keyboard = new PS2Keyboard(controller);
|
||||
if (keyboard == nullptr)
|
||||
return BAN::Error::from_errno(ENOMEM);
|
||||
BAN::ScopeGuard guard([keyboard] { delete keyboard; });
|
||||
@@ -48,6 +48,12 @@ namespace Kernel::Input
|
||||
return keyboard;
|
||||
}
|
||||
|
||||
PS2Keyboard::PS2Keyboard(PS2Controller& controller)
|
||||
: m_controller(controller)
|
||||
, m_name(BAN::String::formatted("input{}", DeviceManager::get().get_next_input_dev()))
|
||||
, m_rdev(makedev(DeviceManager::get().get_next_rdev(), 0))
|
||||
{ }
|
||||
|
||||
void PS2Keyboard::on_byte(uint8_t byte)
|
||||
{
|
||||
// NOTE: This implementation does not allow using commands
|
||||
|
||||
Reference in New Issue
Block a user