Kernel/Storage: Modernize ATA IDE controller initialization code

This is done by 2 ways which both fit very well together:
- We stop use LockRefPtrs. We also don't allow expansion of the
  m_channels member, by setting it to be a fixed Array of 2
  IDEChannels.
- More error propagation through the code, in the construction point of
  IDEChannel(s). This means that in the future we could technically do
  something meaningful with OOM conditions when initializing an IDE
  controller.
This commit is contained in:
Liav A 2023-04-11 00:47:52 +03:00 committed by Linus Groh
commit 0050358cd3
Notes: sideshowbarker 2024-07-16 21:51:02 +09:00
5 changed files with 17 additions and 17 deletions

View file

@ -31,6 +31,6 @@ protected:
IDEController();
LockRefPtr<StorageDevice> device_by_channel_and_position(u32 index) const;
Vector<NonnullLockRefPtr<IDEChannel>> m_channels;
Array<RefPtr<IDEChannel>, 2> m_channels;
};
}