mirror of
https://github.com/RGBCube/serenity
synced 2025-07-10 12:07:35 +00:00
Kernel: Allow AHCIController::initialize() to fail
If we fail to initialize an AHCI controller, we now skip adding it to the list of storage controllers in StorageManagement.
This commit is contained in:
parent
d1e88a5141
commit
5541dfd9f8
3 changed files with 13 additions and 7 deletions
|
@ -24,7 +24,7 @@ class AHCIController final : public ATAController
|
|||
friend class AHCIInterruptHandler;
|
||||
|
||||
public:
|
||||
static NonnullRefPtr<AHCIController> initialize(PCI::DeviceIdentifier const& pci_device_identifier);
|
||||
static ErrorOr<NonnullRefPtr<AHCIController>> initialize(PCI::DeviceIdentifier const& pci_device_identifier);
|
||||
virtual ~AHCIController() override;
|
||||
|
||||
virtual StringView device_name() const override { return "AHCI"sv; }
|
||||
|
@ -43,7 +43,7 @@ private:
|
|||
void enable_global_interrupts() const;
|
||||
|
||||
explicit AHCIController(PCI::DeviceIdentifier const&);
|
||||
void initialize_hba(PCI::DeviceIdentifier const&);
|
||||
ErrorOr<void> initialize_hba(PCI::DeviceIdentifier const&);
|
||||
|
||||
AHCI::HBADefinedCapabilities capabilities() const;
|
||||
LockRefPtr<StorageDevice> device_by_port(u32 index) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue