]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Hand/Notify.c
Clean up DxeCore to remove duplicate memory allocation & device path utility services...
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Hand / Notify.c
index f48fee76cba6d44705ed6d39b1448f19346237c3..5f4ae191c240ef025ca70025e43caa8780b36d08 100644 (file)
@@ -1,47 +1,30 @@
-/*++\r
+/** @file\r
+  UEFI notify infrastructure\r
 \r
-Copyright (c) 2006, Intel Corporation                                                         \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
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \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
+http://opensource.org/licenses/bsd-license.php\r
 \r
-Module Name:\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  notify.c\r
+**/\r
 \r
-Abstract:\r
+#include "DxeMain.h"\r
 \r
-  EFI notify infrastructure\r
 \r
+/**\r
+  Signal event for every protocol in protocol entry.\r
 \r
+  @param  ProtEntry              Protocol entry\r
 \r
-Revision History\r
-\r
---*/\r
-\r
-#include <DxeMain.h>\r
-\r
+**/\r
 VOID\r
 CoreNotifyProtocolEntry (\r
   IN PROTOCOL_ENTRY   *ProtEntry\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Signal event for every protocol in protocol entry.\r
-\r
-Arguments:\r
-\r
-  ProtEntry     - Protocol entry\r
-\r
-Returns:\r
-\r
---*/\r
 {\r
   PROTOCOL_NOTIFY     *ProtNotify;\r
   LIST_ENTRY          *Link;\r
@@ -55,31 +38,23 @@ Returns:
 }\r
 \r
 \r
+\r
+/**\r
+  Removes Protocol from the protocol list (but not the handle list).\r
+\r
+  @param  Handle                 The handle to remove protocol on.\r
+  @param  Protocol               GUID of the protocol to be moved\r
+  @param  Interface              The interface of the protocol\r
+\r
+  @return Protocol Entry\r
+\r
+**/\r
 PROTOCOL_INTERFACE *\r
 CoreRemoveInterfaceFromProtocol (\r
   IN IHANDLE        *Handle,\r
   IN EFI_GUID       *Protocol,\r
   IN VOID           *Interface\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Removes Protocol from the protocol list (but not the handle list).\r
-\r
-Arguments:\r
-\r
-  Handle -  The handle to remove protocol on.\r
-\r
-  Protocol  -  GUID of the protocol to be moved\r
-\r
-  Interface - The interface of the protocol\r
-\r
-Returns:\r
-\r
-  Protocol Entry\r
-\r
---*/\r
 {\r
   PROTOCOL_INTERFACE  *Prot;\r
   PROTOCOL_NOTIFY     *ProtNotify;\r
@@ -96,7 +71,6 @@ Returns:
     //\r
     // If there's a protocol notify location pointing to this entry, back it up one\r
     //\r
-\r
     for(Link = ProtEntry->Notify.ForwardLink; Link != &ProtEntry->Notify; Link=Link->ForwardLink) {\r
       ProtNotify = CR(Link, PROTOCOL_NOTIFY, Link, PROTOCOL_NOTIFY_SIGNATURE);\r
 \r
@@ -108,7 +82,6 @@ Returns:
     //\r
     // Remove the protocol interface entry\r
     //\r
-\r
     RemoveEntryList (&Prot->ByProtocol);\r
   }\r
 \r
@@ -116,41 +89,31 @@ Returns:
 }\r
 \r
 \r
+/**\r
+  Add a new protocol notification record for the request protocol.\r
+\r
+  @param  Protocol               The requested protocol to add the notify\r
+                                 registration\r
+  @param  Event                  The event to signal\r
+  @param  Registration           Returns the registration record\r
+\r
+  @retval EFI_INVALID_PARAMETER  Invalid parameter\r
+  @retval EFI_SUCCESS            Successfully returned the registration record\r
+                                 that has been added\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 CoreRegisterProtocolNotify (\r
   IN EFI_GUID       *Protocol,\r
   IN EFI_EVENT      Event,\r
-  OUT  VOID           **Registration\r
+  OUT  VOID         **Registration\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Add a new protocol notification record for the request protocol.\r
-\r
-Arguments:\r
-\r
-  Protocol      - The requested protocol to add the notify registration\r
-\r
-  Event         - The event to signal \r
-\r
-  Registration  - Returns the registration record\r
-\r
-\r
-Returns:\r
-\r
-  EFI_INVALID_PARAMETER       - Invalid parameter\r
-\r
-  EFI_SUCCESS                 - Successfully returned the registration record that has been added\r
-  \r
---*/\r
 {\r
-  PROTOCOL_ENTRY      *ProtEntry;\r
-  PROTOCOL_NOTIFY     *ProtNotify;\r
+  PROTOCOL_ENTRY    *ProtEntry;\r
+  PROTOCOL_NOTIFY   *ProtNotify;\r
   EFI_STATUS        Status;\r
-  \r
+\r
   if ((Protocol == NULL) || (Event == NULL) || (Registration == NULL))  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
@@ -158,7 +121,7 @@ Returns:
   CoreAcquireProtocolLock ();\r
 \r
   ProtNotify = NULL;\r
-  \r
+\r
   //\r
   // Get the protocol entry to add the notification too\r
   //\r
@@ -169,18 +132,16 @@ Returns:
     //\r
     // Allocate a new notification record\r
     //\r
-\r
-    ProtNotify = CoreAllocateBootServicesPool (sizeof(PROTOCOL_NOTIFY));\r
-\r
+    ProtNotify = AllocatePool (sizeof(PROTOCOL_NOTIFY));\r
     if (ProtNotify != NULL) {\r
-      \r
+\r
       ProtNotify->Signature = PROTOCOL_NOTIFY_SIGNATURE;\r
       ProtNotify->Protocol = ProtEntry;\r
       ProtNotify->Event = Event;\r
       //\r
       // start at the begining\r
       //\r
-      ProtNotify->Position = &ProtEntry->Protocols; \r
+      ProtNotify->Position = &ProtEntry->Protocols;\r
 \r
       InsertTailList (&ProtEntry->Notify, &ProtNotify->Link);\r
     }\r
@@ -203,7 +164,20 @@ Returns:
 }\r
 \r
 \r
+/**\r
+  Reinstall a protocol interface on a device handle.  The OldInterface for Protocol is replaced by the NewInterface.\r
+\r
+  @param  UserHandle             Handle on which the interface is to be\r
+                                 reinstalled\r
+  @param  Protocol               The numeric ID of the interface\r
+  @param  OldInterface           A pointer to the old interface\r
+  @param  NewInterface           A pointer to the new interface\r
 \r
+  @retval EFI_SUCCESS            The protocol interface was installed\r
+  @retval EFI_NOT_FOUND          The OldInterface on the handle was not found\r
+  @retval EFI_INVALID_PARAMETER  One of the parameters has an invalid value\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 CoreReinstallProtocolInterface (\r
@@ -212,29 +186,6 @@ CoreReinstallProtocolInterface (
   IN VOID           *OldInterface,\r
   IN VOID           *NewInterface\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Reinstall a protocol interface on a device handle.  The OldInterface for Protocol is replaced by the NewInterface.\r
-\r
-Arguments:\r
-\r
-  UserHandle    - Handle on which the interface is to be reinstalled\r
-  Protocol      - The numeric ID of the interface\r
-  OldInterface  - A pointer to the old interface\r
-  NewInterface  - A pointer to the new interface \r
-\r
-\r
-Returns:\r
-\r
-  Status code.\r
-\r
-  On EFI_SUCCESS            The protocol interface was installed\r
-  On EFI_NOT_FOUND          The OldInterface on the handle was not found\r
-  On EFI_INVALID_PARAMETER  One of the parameters has an invalid value\r
-  \r
---*/\r
 {\r
   EFI_STATUS                Status;\r
   IHANDLE                   *Handle;\r
@@ -315,19 +266,19 @@ Returns:
   //\r
   CoreReleaseProtocolLock ();\r
   Status = CoreConnectController (\r
-                  UserHandle, \r
-                  NULL, \r
-                  NULL, \r
-                  TRUE\r
-                  );\r
+             UserHandle,\r
+             NULL,\r
+             NULL,\r
+             TRUE\r
+             );\r
   CoreAcquireProtocolLock ();\r
-  \r
+\r
   //\r
   // Notify the notification list for this protocol\r
   //\r
   CoreNotifyProtocolEntry (ProtEntry);\r
 \r
   CoreReleaseProtocolLock ();\r
-  \r
+\r
   return EFI_SUCCESS;\r
 }\r