/** @file | |
This file implements the entrypoint and unload function for I2C DXE module. | |
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "I2cDxe.h" | |
/** | |
The user Entry Point for I2C module. The user code starts with this function. | |
@param[in] ImageHandle The firmware allocated handle for the EFI image. | |
@param[in] SystemTable A pointer to the EFI System Table. | |
@retval EFI_SUCCESS The entry point is executed successfully. | |
@retval other Some error occurs when executing this entry point. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
InitializeI2c ( | |
IN EFI_HANDLE ImageHandle, | |
IN EFI_SYSTEM_TABLE *SystemTable | |
) | |
{ | |
EFI_STATUS Status; | |
// | |
// Install driver model protocol(s). | |
// | |
Status = InitializeI2cHost (ImageHandle, SystemTable); | |
if ( !EFI_ERROR (Status)) { | |
Status = InitializeI2cBus (ImageHandle, SystemTable); | |
} | |
return Status; | |
} | |
/** | |
This is the unload handle for I2C module. | |
Disconnect the driver specified by ImageHandle from all the devices in the handle database. | |
Uninstall all the protocols installed in the driver entry point. | |
@param[in] ImageHandle The drivers' driver image. | |
@retval EFI_SUCCESS The image is unloaded. | |
@retval Others Failed to unload the image. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
I2cUnload ( | |
IN EFI_HANDLE ImageHandle | |
) | |
{ | |
EFI_STATUS Status; | |
// | |
// Disconnect the drivers | |
// | |
Status = I2cBusUnload (ImageHandle); | |
if ( !EFI_ERROR (Status)) { | |
Status = I2cHostUnload (ImageHandle); | |
} | |
return Status; | |
} |