/** @file | |
Callbacks required by the HII of the Opal UEFI Driver to help display | |
Opal device information. | |
Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "OpalHii.h" | |
/** | |
Get the driver image handle. | |
@retval the driver image handle. | |
**/ | |
EFI_HANDLE | |
HiiGetDriverImageHandleCB ( | |
VOID | |
) | |
{ | |
return gImageHandle; | |
} | |
/** | |
Returns the opaque pointer to a physical disk context. | |
@param DiskIndex Input the disk index. | |
@retval The device pointer. | |
**/ | |
VOID * | |
HiiGetDiskContextCB ( | |
UINT8 DiskIndex | |
) | |
{ | |
OPAL_DRIVER_DEVICE *Dev; | |
UINT8 CurrentDisk; | |
Dev = OpalDriverGetDeviceList (); | |
CurrentDisk = 0; | |
if (DiskIndex >= GetDeviceCount ()) { | |
return NULL; | |
} | |
while (Dev != NULL) { | |
if (CurrentDisk == DiskIndex) { | |
return Dev; | |
} else { | |
Dev = Dev->Next; | |
CurrentDisk++; | |
} | |
} | |
return NULL; | |
} | |
/** | |
Returns the opaque pointer to a physical disk context. | |
@param DiskIndex Input the disk index. | |
@retval The device pointer. | |
**/ | |
OPAL_DISK * | |
HiiGetOpalDiskCB ( | |
UINT8 DiskIndex | |
) | |
{ | |
VOID *Ctx; | |
OPAL_DRIVER_DEVICE *Tmp; | |
Ctx = HiiGetDiskContextCB (DiskIndex); | |
if (Ctx == NULL) { | |
return NULL; | |
} | |
Tmp = (OPAL_DRIVER_DEVICE *)Ctx; | |
return &Tmp->OpalDisk; | |
} | |
/** | |
Returns the disk name. | |
@param DiskIndex Input the disk index. | |
@retval Returns the disk name. | |
**/ | |
CHAR8 * | |
HiiDiskGetNameCB ( | |
UINT8 DiskIndex | |
) | |
{ | |
OPAL_DRIVER_DEVICE *Ctx; | |
Ctx = (OPAL_DRIVER_DEVICE *)HiiGetDiskContextCB (DiskIndex); | |
if (Ctx != NULL) { | |
if (Ctx->NameZ == NULL) { | |
OpalDriverGetDriverDeviceName (Ctx); | |
} | |
return Ctx->NameZ; | |
} | |
return NULL; | |
} |