]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
Refine code.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4ConfigDxe / Ip4ConfigDriver.c
index dfa4cdcd8f9911c5adfd1207d27a4d1c7b47319d..c620abd70b4141f19bbb506a869fba74b15cfb93 100644 (file)
@@ -26,6 +26,60 @@ EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding = {
   NULL\r
 };\r
 \r
+//\r
+// The intance of template of IP4 Config private data\r
+//\r
+IP4_CONFIG_INSTANCE        mIp4ConfigTemplate = {\r
+  IP4_CONFIG_INSTANCE_SIGNATURE,\r
+  NULL,\r
+  NULL,\r
+  (EFI_DEVICE_PATH_PROTOCOL *) NULL,\r
+  {\r
+    NULL,\r
+    NULL,\r
+    NULL\r
+  },\r
+  {\r
+    NULL,\r
+    NULL,\r
+    NULL\r
+  },\r
+  NULL,\r
+  (EFI_DEVICE_PATH_PROTOCOL *) NULL,\r
+  NULL,\r
+  {\r
+    FALSE,\r
+    FALSE,\r
+    {\r
+      0\r
+    },\r
+    {\r
+      0\r
+    },\r
+    {\r
+      0\r
+    }\r
+  },\r
+  0,\r
+  (EFI_MANAGED_NETWORK_PROTOCOL *) NULL,\r
+  NULL,\r
+  NULL,\r
+  NULL,\r
+  EFI_NOT_READY,\r
+  {\r
+    0,\r
+    0,\r
+    {\r
+      0\r
+    }\r
+  },\r
+  (CHAR16 *) NULL,\r
+  (NIC_IP4_CONFIG_INFO *) NULL,\r
+  (EFI_DHCP4_PROTOCOL *) NULL,\r
+  NULL,\r
+  NULL\r
+};\r
+\r
 /**\r
   The entry point for IP4 config driver which install the driver\r
   binding and component name protocol on its image.\r
@@ -180,14 +234,13 @@ Ip4ConfigDriverBindingStart (
   //\r
   // Allocate an instance then initialize it\r
   //\r
-  Instance = AllocateZeroPool (sizeof (IP4_CONFIG_INSTANCE));\r
+  Instance = AllocateCopyPool (sizeof (IP4_CONFIG_INSTANCE), &mIp4ConfigTemplate);\r
 \r
   if (Instance == NULL) {\r
     Status = EFI_OUT_OF_RESOURCES;\r
     goto ON_ERROR;\r
   }\r
 \r
-  Instance->Signature         = IP4_CONFIG_INSTANCE_SIGNATURE;\r
   Instance->Controller        = ControllerHandle;\r
   Instance->Image             = This->DriverBindingHandle;\r
   Instance->ParentDevicePath  = ParentDevicePath;\r
@@ -198,15 +251,6 @@ Ip4ConfigDriverBindingStart (
   Instance->Mnp               = Mnp;\r
   Instance->MnpHandle         = MnpHandle;\r
 \r
-  Instance->DoneEvent         = NULL;\r
-  Instance->ReconfigEvent     = NULL;\r
-  Instance->Result            = EFI_NOT_READY;\r
-  Instance->NicConfig         = NULL;\r
-\r
-  Instance->Dhcp4             = NULL;\r
-  Instance->Dhcp4Handle       = NULL;\r
-  Instance->Dhcp4Event        = NULL;\r
-\r
   Status = Mnp->GetModeData (Mnp, NULL, &SnpMode);\r
 \r
   if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {\r