mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:12:45 +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
	
	 Jean-Baptiste Boric
						Jean-Baptiste Boric