/** @file\r
The driver binding for VLAN configuration module.\r
\r
-Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution. The full\r
-text of the license may be found at<BR>\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) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include "VlanConfigImpl.h"\r
\r
-EFI_GUID gVlanConfigPrivateGuid = VLAN_CONFIG_PRIVATE_GUID;\r
-\r
EFI_DRIVER_BINDING_PROTOCOL gVlanConfigDriverBinding = {\r
VlanConfigDriverBindingSupported,\r
VlanConfigDriverBindingStart,\r
//\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
- &gVlanConfigPrivateGuid,\r
+ &gEfiCallerIdGuid,\r
(VOID **) &PrivateData,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
//\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
- &gVlanConfigPrivateGuid,\r
+ &gEfiCallerIdGuid,\r
PrivateData,\r
NULL\r
);\r
//\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
- &gVlanConfigPrivateGuid,\r
+ &gEfiCallerIdGuid,\r
(VOID **) &PrivateData,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
}\r
ASSERT (PrivateData->Signature == VLAN_CONFIG_PRIVATE_DATA_SIGNATURE);\r
\r
- //\r
- // Uninstall VLAN configuration Form\r
- //\r
- UninstallVlanConfigForm (PrivateData);\r
+ if (NumberOfChildren != 0) {\r
+ if (NumberOfChildren != 1 || ChildHandleBuffer[0] != PrivateData->DriverHandle) {\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+\r
+ return UninstallVlanConfigForm (PrivateData);\r
+ }\r
\r
//\r
// Uninstall the private GUID\r
//\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
ControllerHandle,\r
- &gVlanConfigPrivateGuid,\r
+ &gEfiCallerIdGuid,\r
PrivateData,\r
NULL\r
);\r