summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/Storage/ATADeviceInterface.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-03-31 15:40:16 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-03-31 15:40:16 +0200
commitaaad58f2d6a56830860cb6ddef099096b089c389 (patch)
tree99c6e18b73c6c17463ffa0bd93de62edf71bcddb /dev/kernel/src/Storage/ATADeviceInterface.cc
parentb3dfc99a0ac690cf3de2348a8887bfa4bef243bc (diff)
storage: unify naming for drive protocol interface
Renamed `fDriveKind` to `fProtocol` across kernel storage subsystems to clarify its purpose as a protocol identifier (e.g., "AHCI", "ATA-") rather than a general "kind" classification. Updated all affected header and source files: - DriveMgr, HeFS, AHCI, ATADeviceInterface, and NeFS now consistently reference `fProtocol()` instead of `fDriveKind()`. - Added streaming operators (`<<`, `>>`) to AHCI and ATA device interfaces for improved mountpoint interaction. - Promoted `GetPortsImplemented()` and `SetPortsImplemented()` to public for AHCI device configuration. - Added null checks and protocol verification logic in stream operators. This refactor improves clarity and consistency when working with storage devices across the kernel. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/Storage/ATADeviceInterface.cc')
-rw-r--r--dev/kernel/src/Storage/ATADeviceInterface.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/dev/kernel/src/Storage/ATADeviceInterface.cc b/dev/kernel/src/Storage/ATADeviceInterface.cc
index 615e82db..118a6d0a 100644
--- a/dev/kernel/src/Storage/ATADeviceInterface.cc
+++ b/dev/kernel/src/Storage/ATADeviceInterface.cc
@@ -36,8 +36,8 @@ const Char* ATADeviceInterface::Name() const
}
/// @brief Output operator.
-/// @param Data
-/// @return
+/// @param Data the disk mountpoint.
+/// @return the class itself after operation.
ATADeviceInterface& ATADeviceInterface::operator<<(MountpointInterface* Data)
{
if (!Data)
@@ -46,12 +46,13 @@ ATADeviceInterface& ATADeviceInterface::operator<<(MountpointInterface* Data)
for (SizeT driveCount = 0; driveCount < kDriveMaxCount; ++driveCount)
{
auto interface = Data->GetAddressOf(driveCount);
- if ((interface) && rt_string_cmp((interface)->fDriveKind(), "ATA-", 5) == 0)
+
+ if ((interface) && rt_string_cmp((interface)->fProtocol(), "ATA-", rt_string_len("ATA-")) == 0)
{
continue;
}
else if ((interface) &&
- rt_string_cmp((interface)->fDriveKind(), "ATA-", 5) != 0)
+ rt_string_cmp((interface)->fProtocol(), "ATA-", rt_string_len("ATA-")) != 0)
{
return *this;
}
@@ -62,8 +63,8 @@ ATADeviceInterface& ATADeviceInterface::operator<<(MountpointInterface* Data)
}
/// @brief Input operator.
-/// @param Data
-/// @return
+/// @param Data the disk mountpoint.
+/// @return the class itself after operation.
ATADeviceInterface& ATADeviceInterface::operator>>(MountpointInterface* Data)
{
if (!Data)
@@ -72,12 +73,14 @@ ATADeviceInterface& ATADeviceInterface::operator>>(MountpointInterface* Data)
for (SizeT driveCount = 0; driveCount < kDriveMaxCount; ++driveCount)
{
auto interface = Data->GetAddressOf(driveCount);
- if ((interface) && rt_string_cmp((interface)->fDriveKind(), "ATA-", 5) == 0)
+
+ // really check if it's ATA.
+ if ((interface) && rt_string_cmp((interface)->fProtocol(), "ATA-", rt_string_len("ATA-")) == 0)
{
continue;
}
else if ((interface) &&
- rt_string_cmp((interface)->fDriveKind(), "ATA-", 5) != 0)
+ rt_string_cmp((interface)->fProtocol(), "ATA-", rt_string_len("ATA-")) != 0)
{
return *this;
}