MdePkg UefiLib: Make the event empty function public

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=298

Then this event empty function can be used to remove
the duplication in drivers and other libraries.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Star Zeng 2017-01-17 13:26:18 +08:00
parent 058cd03b58
commit 1b1970630d
4 changed files with 43 additions and 47 deletions

View File

@ -12,7 +12,7 @@
of size reduction when compiler optimization is disabled. If MDEPKG_NDEBUG is of size reduction when compiler optimization is disabled. If MDEPKG_NDEBUG is
defined, then debug and assert related macros wrapped by it are the NULL implementations. defined, then debug and assert related macros wrapped by it are the NULL implementations.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution. the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at The full text of the license may be found at
@ -241,6 +241,22 @@ EfiEventGroupSignal (
IN CONST EFI_GUID *EventGroup IN CONST EFI_GUID *EventGroup
); );
/**
An empty function that can be used as NotifyFunction parameter of
CreateEvent() or CreateEventEx().
@param Event Event whose notification function is being invoked.
@param Context The pointer to the notification function's context,
which is implementation-dependent.
**/
VOID
EFIAPI
EfiEventEmptyFunction (
IN EFI_EVENT Event,
IN VOID *Context
);
/** /**
Returns the current TPL. Returns the current TPL.

View File

@ -5,7 +5,7 @@
EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers, EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers,
and print messages on the console output and standard error devices. and print messages on the console output and standard error devices.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -332,7 +332,7 @@ EfiEventGroupSignal (
Status = gBS->CreateEventEx ( Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL, EVT_NOTIFY_SIGNAL,
TPL_CALLBACK, TPL_CALLBACK,
InternalEmptyFunction, EfiEventEmptyFunction,
NULL, NULL,
EventGroup, EventGroup,
&Event &Event
@ -347,6 +347,24 @@ EfiEventGroupSignal (
return Status; return Status;
} }
/**
An empty function that can be used as NotifyFunction parameter of
CreateEvent() or CreateEventEx().
@param Event Event whose notification function is being invoked.
@param Context The pointer to the notification function's context,
which is implementation-dependent.
**/
VOID
EFIAPI
EfiEventEmptyFunction (
IN EFI_EVENT Event,
IN VOID *Context
)
{
}
/** /**
Returns the current TPL. Returns the current TPL.
@ -1587,23 +1605,3 @@ GetBestLanguage (
// //
return NULL; return NULL;
} }
/**
An empty function to pass error checking of CreateEventEx ().
This empty function ensures that EVT_NOTIFY_SIGNAL_ALL is error
checked correctly since it is now mapped into CreateEventEx() in UEFI 2.0.
@param Event Event whose notification function is being invoked.
@param Context The pointer to the notification function's context,
which is implementation-dependent.
**/
VOID
EFIAPI
InternalEmptyFunction (
IN EFI_EVENT Event,
IN VOID *Context
)
{
}

View File

@ -1,7 +1,7 @@
/** @file /** @file
Internal include file for UefiLib. Internal include file for UefiLib.
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -41,22 +41,4 @@
#include <Library/PrintLib.h> #include <Library/PrintLib.h>
#include <Library/DevicePathLib.h> #include <Library/DevicePathLib.h>
/**
An empty function to pass error checking of CreateEventEx ().
This empty function ensures that EVT_NOTIFY_SIGNAL_ALL is error
checked correctly since it is now mapped into CreateEventEx() in UEFI 2.0.
@param Event Event whose notification function is being invoked.
@param Context The pointer to the notification function's context,
which is implementation-dependent.
**/
VOID
EFIAPI
InternalEmptyFunction (
IN EFI_EVENT Event,
IN VOID *Context
);
#endif #endif

View File

@ -6,7 +6,7 @@
(EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way. This module is a DXE driver as (EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way. This module is a DXE driver as
it contains DXE enum extensions for EFI event services. it contains DXE enum extensions for EFI event services.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -46,7 +46,7 @@ EfiCreateEventLegacyBoot (
{ {
return EfiCreateEventLegacyBootEx ( return EfiCreateEventLegacyBootEx (
TPL_CALLBACK, TPL_CALLBACK,
InternalEmptyFunction, EfiEventEmptyFunction,
NULL, NULL,
LegacyBootEvent LegacyBootEvent
); );
@ -99,7 +99,7 @@ EfiCreateEventLegacyBootEx (
// CreateEventEx will check NotifyFunction is NULL or not and return error. // CreateEventEx will check NotifyFunction is NULL or not and return error.
// Use dummy routine for the case NotifyFunction is NULL. // Use dummy routine for the case NotifyFunction is NULL.
// //
WorkerNotifyFunction = InternalEmptyFunction; WorkerNotifyFunction = EfiEventEmptyFunction;
} else { } else {
WorkerNotifyFunction = NotifyFunction; WorkerNotifyFunction = NotifyFunction;
} }
@ -141,7 +141,7 @@ EfiCreateEventReadyToBoot (
{ {
return EfiCreateEventReadyToBootEx ( return EfiCreateEventReadyToBootEx (
TPL_CALLBACK, TPL_CALLBACK,
InternalEmptyFunction, EfiEventEmptyFunction,
NULL, NULL,
ReadyToBootEvent ReadyToBootEvent
); );
@ -194,7 +194,7 @@ EfiCreateEventReadyToBootEx (
// CreateEventEx will check NotifyFunction is NULL or not and return error. // CreateEventEx will check NotifyFunction is NULL or not and return error.
// Use dummy routine for the case NotifyFunction is NULL. // Use dummy routine for the case NotifyFunction is NULL.
// //
WorkerNotifyFunction = InternalEmptyFunction; WorkerNotifyFunction = EfiEventEmptyFunction;
} else { } else {
WorkerNotifyFunction = NotifyFunction; WorkerNotifyFunction = NotifyFunction;
} }