]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/DxeSmbusLib/InternalSmbusLib.h
Add checking for ThunkAttribute to avoid THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL...
[mirror_edk2.git] / MdePkg / Library / DxeSmbusLib / InternalSmbusLib.h
index 2435baeb9f5ef08cdd0d00e43e8b4dd662f606fd..fde8973dda5ad773cafc6ea3de07abe99ad6604e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Internal header file for Smbus library.\r
 \r
-Copyright (c) 2006, Intel Corporation<BR>\r
+Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -13,32 +13,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 **/\r
 \r
-#ifndef __INTERNAL_SMBUS_LIB_H\r
-#define __INTERNAL_SMBUS_LIB_H\r
+#ifndef __INTERNAL_SMBUS_LIB_H_\r
+#define __INTERNAL_SMBUS_LIB_H_\r
+\r
 \r
-//\r
-// The package level header files this module uses\r
-//\r
 #include <PiDxe.h>\r
-//\r
-// The protocols, PPI and GUID defintions for this module\r
-//\r
+\r
 #include <Protocol/SmbusHc.h>\r
-//\r
-// The Library classes this module consumes\r
-//\r
+\r
 #include <Library/SmbusLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 \r
-#include <IndustryStandard/Smbus.h>\r
-\r
-#define SMBUS_LIB_SLAVE_ADDRESS(SmBusAddress)      (((SmBusAddress) >> 1)  & 0x7f)\r
-#define SMBUS_LIB_COMMAND(SmBusAddress)            (((SmBusAddress) >> 8)  & 0xff)\r
-#define SMBUS_LIB_LENGTH(SmBusAddress)             (((SmBusAddress) >> 16) & 0x3f)\r
-#define SMBUS_LIB_PEC(SmBusAddress)     ((BOOLEAN) (((SmBusAddress) & SMBUS_LIB_PEC_BIT) != 0))\r
-#define SMBUS_LIB_RESEARVED(SmBusAddress)          ((SmBusAddress) & ~(((1 << 22) - 2) | SMBUS_LIB_PEC_BIT))\r
+#include <IndustryStandard/SmBus.h>\r
 \r
 //\r
 // Declaration for internal functions\r
@@ -73,4 +61,23 @@ InternalSmBusExec (
      OUT RETURN_STATUS              *Status        OPTIONAL\r
   );\r
 \r
+/**\r
+  The constructor function caches the pointer to Smbus protocol.\r
+\r
+  The constructor function locates Smbus protocol from protocol database.\r
+  It will ASSERT() if that operation fails and it will always return EFI_SUCCESS.\r
+\r
+  @param  ImageHandle   The firmware allocated handle for the EFI image.\r
+  @param  SystemTable   A pointer to the EFI System Table.\r
+\r
+  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SmbusLibConstructor (\r
+  IN EFI_HANDLE                ImageHandle,\r
+  IN EFI_SYSTEM_TABLE          *SystemTable\r
+  );\r
+\r
 #endif\r