IN EFI_SMBUS_OPERATION SmbusOperation,\r
IN UINTN SmBusAddress,\r
IN UINTN Length,\r
- IN VOID *Buffer,\r
+ IN OUT VOID *Buffer,\r
OUT RETURN_STATUS *Status OPTIONAL\r
)\r
{\r
\r
return Length;\r
}\r
-\r
-/**\r
- Assigns an SMBUS slave addresses.\r
-\r
- Assigns the SMBUS device specified by Uuid the slave address specified by SmBusAddress.\r
- The status of the executed command is returned.\r
- If Command in SmBusAddress is not zero, then ASSERT().\r
- If Length in SmBusAddress is not zero, then ASSERT().\r
- If PEC in SmBusAddress is set, then ASSERT().\r
- If any reserved bits of SmBusAddress are set, then ASSERT().\r
-\r
- @param SmBusAddress Address that encodes the SMBUS Slave Address,\r
- SMBUS Command, SMBUS Data Length, and PEC.\r
- @param Uuid Pointer to the UUID of the device to assign a slave address.\r
- It will assign to all SMBUS slave devices if it is NULL.\r
-\r
- @retval RETURN_SUCCESS The SMBUS command was executed.\r
- @retval RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
- @retval RETURN_DEVICE_ERROR The request was not completed because a failure reflected\r
- in the Host Status Register bit.\r
- Device errors are a result of a transaction collision, illegal command field,\r
- unclaimed cycle (host initiated), or bus errors (collisions).\r
-\r
-**/\r
-RETURN_STATUS\r
-InternalSmBusArpDevice (\r
- IN UINTN SmBusAddress,\r
- IN CONST GUID *Uuid OPTIONAL \r
- )\r
-{\r
- EFI_PEI_SMBUS_PPI *SmbusPpi;\r
- EFI_PEI_SERVICES **PeiServices;\r
- EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress;\r
-\r
- PeiServices = GetPeiServicesTablePointer ();\r
- SmbusPpi = InternalGetSmbusPpi (PeiServices);\r
-\r
- SmbusDeviceAddress.SmbusDeviceAddress = SMBUS_LIB_SLAVE_ADDRESS (SmBusAddress);\r
- return (RETURN_STATUS) SmbusPpi->ArpDevice (\r
- PeiServices,\r
- SmbusPpi,\r
- (BOOLEAN) (Uuid == NULL),\r
- (EFI_SMBUS_UDID *) Uuid,\r
- &SmbusDeviceAddress\r
- );\r
-}\r
-\r
-/**\r
- Retrieves the mapping of all the SMBus devices.\r
-\r
- The GetArpMap() function returns the mapping of all the SMBus devices \r
- that are enumerated by the SMBus host driver. \r
- \r
- @param Length Size of the buffer that contains the SMBus device map.\r
- @param SmbusDeviceMap The pointer to the device map as enumerated by the SMBus controller driver.\r
-\r
- @retval RETURN_SUCCESS The SMBUS command was executed.\r
- @retval RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
- @retval RETURN_DEVICE_ERROR The request was not completed because a failure reflected\r
- in the Host Status Register bit.\r
- Device errors are a result of a transaction collision, illegal command field,\r
- unclaimed cycle (host initiated), or bus errors (collisions).\r
-\r
-**/\r
-RETURN_STATUS\r
-InternalGetArpMap (\r
- OUT UINTN *Length,\r
- OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap\r
- )\r
-{\r
- EFI_PEI_SMBUS_PPI *SmbusPpi;\r
- EFI_PEI_SERVICES **PeiServices;\r
-\r
- PeiServices = GetPeiServicesTablePointer ();\r
- SmbusPpi = InternalGetSmbusPpi (PeiServices);\r
- \r
- return (RETURN_STATUS) SmbusPpi->GetArpMap (PeiServices, SmbusPpi, Length, SmbusDeviceMap);\r
-}\r