mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:18:11 +00:00
Kernel: Untangle StorageController from PCI::DeviceController
This commit is contained in:
parent
68c8b52612
commit
2f8b047339
3 changed files with 8 additions and 9 deletions
|
@ -42,24 +42,21 @@ namespace Kernel {
|
|||
|
||||
class AsyncBlockDeviceRequest;
|
||||
class StorageDevice;
|
||||
class StorageController : public RefCounted<StorageController>
|
||||
, public PCI::DeviceController {
|
||||
class StorageController : public RefCounted<StorageController> {
|
||||
AK_MAKE_ETERNAL
|
||||
public:
|
||||
enum class Type : u8 {
|
||||
IDE,
|
||||
NVMe
|
||||
};
|
||||
|
||||
virtual ~StorageController() = default;
|
||||
|
||||
virtual Type type() const = 0;
|
||||
virtual RefPtr<StorageDevice> device(u32 index) const = 0;
|
||||
virtual size_t devices_count() const = 0;
|
||||
|
||||
protected:
|
||||
explicit StorageController(PCI::Address address)
|
||||
: PCI::DeviceController(address)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void start_request(const StorageDevice&, AsyncBlockDeviceRequest&) = 0;
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue