mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:12:44 +00:00 
			
		
		
		
	Kernel/Storage: Move all ATA related code to a new subdirectory
Like what happened with the PCI and USB code, this feels like the right thing to do because we can improve on the ATA capabilities and keep it distinguished from the rest of the subsystem.
This commit is contained in:
		
							parent
							
								
									648a139af3
								
							
						
					
					
						commit
						4dc3617f3c
					
				
					 23 changed files with 50 additions and 50 deletions
				
			
		
							
								
								
									
										45
									
								
								Kernel/Storage/ATA/ATAPIDiscDevice.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Kernel/Storage/ATA/ATAPIDiscDevice.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <AK/StringView.h> | ||||
| #include <Kernel/Devices/DeviceManagement.h> | ||||
| #include <Kernel/Sections.h> | ||||
| #include <Kernel/Storage/ATA/ATAPIDiscDevice.h> | ||||
| #include <Kernel/Storage/ATA/IDEChannel.h> | ||||
| #include <Kernel/Storage/ATA/IDEController.h> | ||||
| #include <Kernel/Storage/StorageManagement.h> | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
| NonnullRefPtr<ATAPIDiscDevice> ATAPIDiscDevice::create(const ATAController& controller, ATADevice::Address ata_address, u16 capabilities, u64 max_addressable_block) | ||||
| { | ||||
|     auto minor_device_number = StorageManagement::minor_number(); | ||||
| 
 | ||||
|     // FIXME: We need a way of formatting strings with KString.
 | ||||
|     auto device_name = String::formatted("hd{:c}", 'a' + minor_device_number); | ||||
|     auto device_name_kstring = KString::must_create(device_name.view()); | ||||
| 
 | ||||
|     auto disc_device_or_error = DeviceManagement::try_create_device<ATAPIDiscDevice>(controller, ata_address, minor_device_number, capabilities, max_addressable_block, move(device_name_kstring)); | ||||
|     // FIXME: Find a way to propagate errors
 | ||||
|     VERIFY(!disc_device_or_error.is_error()); | ||||
|     return disc_device_or_error.release_value(); | ||||
| } | ||||
| 
 | ||||
| ATAPIDiscDevice::ATAPIDiscDevice(const ATAController& controller, ATADevice::Address ata_address, unsigned minor_number, u16 capabilities, u64 max_addressable_block, NonnullOwnPtr<KString> early_storage_name) | ||||
|     : ATADevice(controller, ata_address, minor_number, capabilities, 0, max_addressable_block, move(early_storage_name)) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| ATAPIDiscDevice::~ATAPIDiscDevice() | ||||
| { | ||||
| } | ||||
| 
 | ||||
| StringView ATAPIDiscDevice::class_name() const | ||||
| { | ||||
|     return "ATAPIDiscDevice"; | ||||
| } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Liav A
						Liav A