Kernel: Rework whole ATA driver structure

Make ATA driver more compatible when we are adding SATA support
This commit is contained in:
2023-10-07 15:46:30 +03:00
parent 27eb5af6f0
commit f21d4e794c
29 changed files with 400 additions and 347 deletions

View File

@@ -202,7 +202,7 @@ namespace Kernel
}
auto ref_ptr = BAN::RefPtr<SerialTTY>::adopt(tty);
DevFileSystem::get().add_device(ref_ptr->name(), ref_ptr);
DevFileSystem::get().add_device(ref_ptr);
if (serial.port() == COM1_PORT)
s_com1 = ref_ptr;
if (serial.port() == COM2_PORT)

View File

@@ -28,11 +28,11 @@ namespace Kernel
{
s_tty = this;
auto inode_or_error = DevFileSystem::get().root_inode()->find_inode("tty");
auto inode_or_error = DevFileSystem::get().root_inode()->find_inode("tty"sv);
if (inode_or_error.is_error())
{
if (inode_or_error.error().get_error_code() == ENOENT)
DevFileSystem::get().add_device("tty"sv, MUST(RamSymlinkInode::create(DevFileSystem::get(), s_tty->name(), 0666, 0, 0)));
DevFileSystem::get().add_inode("tty"sv, MUST(RamSymlinkInode::create(DevFileSystem::get(), s_tty->name(), 0666, 0, 0)));
else
dwarnln("{}", inode_or_error.error());
return;

View File

@@ -33,12 +33,12 @@ namespace Kernel
BAN::ErrorOr<BAN::RefPtr<VirtualTTY>> VirtualTTY::create(TerminalDriver* driver)
{
auto* tty = new VirtualTTY(driver);
ASSERT(tty);
auto* tty_ptr = new VirtualTTY(driver);
ASSERT(tty_ptr);
auto ref_ptr = BAN::RefPtr<VirtualTTY>::adopt(tty);
DevFileSystem::get().add_device(ref_ptr->name(), ref_ptr);
return ref_ptr;
auto tty = BAN::RefPtr<VirtualTTY>::adopt(tty_ptr);
DevFileSystem::get().add_device(tty);
return tty;
}
VirtualTTY::VirtualTTY(TerminalDriver* driver)