Serenity Operating System
at master 35 lines 1.2 kB view raw
1/* 2 * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <AK/StringView.h> 8#include <Kernel/Devices/DeviceManagement.h> 9#include <Kernel/Sections.h> 10#include <Kernel/Storage/ATA/ATADiskDevice.h> 11#include <Kernel/Storage/StorageManagement.h> 12 13namespace Kernel { 14 15NonnullLockRefPtr<ATADiskDevice> ATADiskDevice::create(ATAController const& controller, ATADevice::Address ata_address, u16 capabilities, u16 logical_sector_size, u64 max_addressable_block) 16{ 17 auto disk_device_or_error = DeviceManagement::try_create_device<ATADiskDevice>(controller, ata_address, capabilities, logical_sector_size, max_addressable_block); 18 // FIXME: Find a way to propagate errors 19 VERIFY(!disk_device_or_error.is_error()); 20 return disk_device_or_error.release_value(); 21} 22 23ATADiskDevice::ATADiskDevice(ATAController const& controller, ATADevice::Address ata_address, u16 capabilities, u16 logical_sector_size, u64 max_addressable_block) 24 : ATADevice(controller, ata_address, capabilities, logical_sector_size, max_addressable_block) 25{ 26} 27 28ATADiskDevice::~ATADiskDevice() = default; 29 30StringView ATADiskDevice::class_name() const 31{ 32 return "ATADiskDevice"sv; 33} 34 35}