From: Kazuhiko Sakamoto <sakamoto.kazuh...@socionext.com> Test the @ControllerHandle is not NULL and is actually managed by this driver.
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Kazuhiko Sakamoto <sakamoto.kazuh...@socionext.com> Signed-off-by: Masami Hiramatsu <masami.hirama...@linaro.org> --- .../Drivers/SynQuacerI2cDxe/ComponentName.c | 13 +++++++++++++ .../Drivers/SynQuacerI2cDxe/DriverBinding.c | 2 +- .../Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/ComponentName.c b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/ComponentName.c index 9e7f189c13..ed5f11f107 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/ComponentName.c +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/ComponentName.c @@ -158,6 +158,19 @@ SynQuacerI2cGetControllerName ( OUT CHAR16 **ControllerName ) { + EFI_STATUS Status; + + if (!ControllerHandle) { + return EFI_INVALID_PARAMETER; + } + + Status = EfiTestManagedDevice (ControllerHandle, + gSynQuacerI2cDriverBinding.DriverBindingHandle, + &gEdkiiNonDiscoverableDeviceProtocolGuid); + if (EFI_ERROR (Status)) { + return Status; + } + if (ChildHandle != NULL) { return EFI_UNSUPPORTED; } diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/DriverBinding.c b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/DriverBinding.c index 4e265aacf1..912ae79d14 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/DriverBinding.c +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/DriverBinding.c @@ -129,7 +129,7 @@ SynQuacerI2cDriverBindingStop ( } -STATIC EFI_DRIVER_BINDING_PROTOCOL gSynQuacerI2cDriverBinding = { +EFI_DRIVER_BINDING_PROTOCOL gSynQuacerI2cDriverBinding = { SynQuacerI2cDriverBindingSupported, SynQuacerI2cDriverBindingStart, SynQuacerI2cDriverBindingStop, diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.h b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.h index f891e4bf2f..c6534e6972 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.h +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.h @@ -25,6 +25,7 @@ #include <Protocol/NonDiscoverableDevice.h> extern EFI_COMPONENT_NAME2_PROTOCOL gSynQuacerI2cDriverComponentName2; +extern EFI_DRIVER_BINDING_PROTOCOL gSynQuacerI2cDriverBinding; #define SYNQUACER_I2C_SIGNATURE SIGNATURE_32 ('S', 'I', '2', 'C') #define SYNQUACER_I2C_FROM_THIS(a) CR ((a), SYNQUACER_I2C_MASTER, \ -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81859): https://edk2.groups.io/g/devel/message/81859 Mute This Topic: https://groups.io/mt/86281582/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-