diff --git a/kernel/src/arch/x86_64/disk/ATA.cpp b/kernel/src/arch/x86_64/disk/ATA.cpp index d30aca58..fc177efa 100644 --- a/kernel/src/arch/x86_64/disk/ATA.cpp +++ b/kernel/src/arch/x86_64/disk/ATA.cpp @@ -733,8 +733,7 @@ Result> ATADevice::create(SharedPtr drive) auto device = TRY(adopt_shared_if_nonnull(new (std::nothrow) ATADevice())); device->m_drive = drive; device->m_device_path = TRY(ATA::Drive::create_drive_name(drive)); - TRY(DeviceRegistry::register_special_device(DeviceRegistry::Disk, next_minor++, device, - device->m_device_path.chars(), 0400)); + TRY(DeviceRegistry::register_special_device(DeviceRegistry::Disk, next_minor++, device, 0400)); return (SharedPtr)device; } diff --git a/kernel/src/fs/MBR.cpp b/kernel/src/fs/MBR.cpp index 0a585abe..5be1d280 100644 --- a/kernel/src/fs/MBR.cpp +++ b/kernel/src/fs/MBR.cpp @@ -24,8 +24,7 @@ namespace MBR device->m_start_offset = start_block * device->m_block_size; device->m_num_blocks = num_blocks; device->m_device_path = TRY(create_partition_name(host_device, partition_index)); - return DeviceRegistry::register_special_device(DeviceRegistry::DiskPartition, next_minor++, device, - device->m_device_path.chars(), 0400); + return DeviceRegistry::register_special_device(DeviceRegistry::DiskPartition, next_minor++, device, 0400); } Result PartitionDevice::read(u8* buf, usize offset, usize length) const diff --git a/kernel/src/fs/devices/ConsoleDevice.cpp b/kernel/src/fs/devices/ConsoleDevice.cpp index 11677ede..594261c2 100644 --- a/kernel/src/fs/devices/ConsoleDevice.cpp +++ b/kernel/src/fs/devices/ConsoleDevice.cpp @@ -18,7 +18,7 @@ static bool g_echo { true }; Result ConsoleDevice::create() { auto device = (SharedPtr)TRY(make_shared()); - return DeviceRegistry::register_special_device(DeviceRegistry::Console, 0, device, "console"); + return DeviceRegistry::register_special_device(DeviceRegistry::Console, 0, device); } Result ConsoleDevice::read(u8* buf, usize, usize length) const diff --git a/kernel/src/fs/devices/DeviceRegistry.cpp b/kernel/src/fs/devices/DeviceRegistry.cpp index 7e1b01a2..116da3cd 100644 --- a/kernel/src/fs/devices/DeviceRegistry.cpp +++ b/kernel/src/fs/devices/DeviceRegistry.cpp @@ -42,13 +42,15 @@ namespace DeviceRegistry return {}; } - Result register_special_device(u32 major, u32 minor, SharedPtr device, const char* name, mode_t mode) + Result register_special_device(u32 major, u32 minor, SharedPtr device, mode_t mode) { for (const auto& descriptor : g_available_devices) { if (descriptor.major == major && descriptor.minor == minor) return err(EEXIST); } + const char* name = device->device_path().chars(); + kdbgln("DeviceRegistry: registered new device type %u:%u at path /%s in devfs", major, minor, name); auto desc = DeviceDescriptor { .device = device, .major = major, .minor = minor, .name = name, .mode = mode }; diff --git a/kernel/src/fs/devices/DeviceRegistry.h b/kernel/src/fs/devices/DeviceRegistry.h index 8ee64e9f..07d728da 100644 --- a/kernel/src/fs/devices/DeviceRegistry.h +++ b/kernel/src/fs/devices/DeviceRegistry.h @@ -19,8 +19,7 @@ namespace DeviceRegistry Result> fetch_special_device(u32 major, u32 minor); - Result register_special_device(u32 major, u32 minor, SharedPtr device, const char* name, - mode_t mode = 0666); + Result register_special_device(u32 major, u32 minor, SharedPtr device, mode_t mode = 0666); Result init(); diff --git a/kernel/src/fs/devices/FramebufferDevice.cpp b/kernel/src/fs/devices/FramebufferDevice.cpp index 9711c175..c42b8904 100644 --- a/kernel/src/fs/devices/FramebufferDevice.cpp +++ b/kernel/src/fs/devices/FramebufferDevice.cpp @@ -6,7 +6,7 @@ Result FramebufferDevice::create() { auto device = (SharedPtr)TRY(make_shared()); - return DeviceRegistry::register_special_device(DeviceRegistry::Framebuffer, 0, device, "fb0", 0600); + return DeviceRegistry::register_special_device(DeviceRegistry::Framebuffer, 0, device, 0600); } Result FramebufferDevice::read(u8*, usize, usize) const diff --git a/kernel/src/fs/devices/FullDevice.cpp b/kernel/src/fs/devices/FullDevice.cpp index d3df949a..6763d052 100644 --- a/kernel/src/fs/devices/FullDevice.cpp +++ b/kernel/src/fs/devices/FullDevice.cpp @@ -3,5 +3,5 @@ Result FullDevice::create() { auto device = (SharedPtr)TRY(make_shared()); - return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 2, device, "full"); + return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 2, device); } diff --git a/kernel/src/fs/devices/NullDevice.cpp b/kernel/src/fs/devices/NullDevice.cpp index ef8ef167..0fd8efee 100644 --- a/kernel/src/fs/devices/NullDevice.cpp +++ b/kernel/src/fs/devices/NullDevice.cpp @@ -3,5 +3,5 @@ Result NullDevice::create() { auto device = (SharedPtr)TRY(make_shared()); - return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 0, device, "null"); + return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 0, device); } diff --git a/kernel/src/fs/devices/ZeroDevice.cpp b/kernel/src/fs/devices/ZeroDevice.cpp index ac75b252..57403234 100644 --- a/kernel/src/fs/devices/ZeroDevice.cpp +++ b/kernel/src/fs/devices/ZeroDevice.cpp @@ -3,5 +3,5 @@ Result ZeroDevice::create() { auto device = (SharedPtr)TRY(make_shared()); - return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 1, device, "zero"); + return DeviceRegistry::register_special_device(DeviceRegistry::Memory, 1, device); }