mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	efi_loader: efi_net: use efi_add_protocol
Use efi_add_protocol to add protocols. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
				
					committed by
					
						 Alexander Graf
						Alexander Graf
					
				
			
			
				
	
			
			
			
						parent
						
							4b9f7aaf7c
						
					
				
				
					commit
					84d14568ca
				
			| @@ -292,20 +292,26 @@ int efi_net_register(void) | ||||
|  | ||||
| 	/* We only expose the "active" eth device, so one is enough */ | ||||
| 	netobj = calloc(1, sizeof(*netobj)); | ||||
| 	if (!netobj) { | ||||
| 		printf("ERROR: Out of memory\n"); | ||||
| 		return 1; | ||||
| 	} | ||||
| 	if (!netobj) | ||||
| 		goto out_of_memory; | ||||
|  | ||||
| 	/* Hook net up to the device list */ | ||||
| 	list_add_tail(&netobj->parent.link, &efi_obj_list); | ||||
|  | ||||
| 	/* Fill in object data */ | ||||
| 	netobj->parent.protocols[0].guid = &efi_net_guid; | ||||
| 	netobj->parent.protocols[0].protocol_interface = &netobj->net; | ||||
| 	netobj->parent.protocols[1].guid = &efi_guid_device_path; | ||||
| 	netobj->parent.protocols[1].protocol_interface = | ||||
| 		efi_dp_from_eth(); | ||||
| 	netobj->parent.protocols[2].guid = &efi_pxe_guid; | ||||
| 	netobj->parent.protocols[2].protocol_interface = &netobj->pxe; | ||||
| 	netobj->parent.handle = &netobj->net; | ||||
| 	r = efi_add_protocol(netobj->parent.handle, &efi_net_guid, | ||||
| 			     &netobj->net); | ||||
| 	if (r != EFI_SUCCESS) | ||||
| 		goto out_of_memory; | ||||
| 	r = efi_add_protocol(netobj->parent.handle, &efi_guid_device_path, | ||||
| 			     efi_dp_from_eth()); | ||||
| 	if (r != EFI_SUCCESS) | ||||
| 		goto out_of_memory; | ||||
| 	r = efi_add_protocol(netobj->parent.handle, &efi_pxe_guid, | ||||
| 			     &netobj->pxe); | ||||
| 	if (r != EFI_SUCCESS) | ||||
| 		goto out_of_memory; | ||||
| 	netobj->net.revision = EFI_SIMPLE_NETWORK_PROTOCOL_REVISION; | ||||
| 	netobj->net.start = efi_net_start; | ||||
| 	netobj->net.stop = efi_net_stop; | ||||
| @@ -330,9 +336,6 @@ int efi_net_register(void) | ||||
| 	if (dhcp_ack) | ||||
| 		netobj->pxe_mode.dhcp_ack = *dhcp_ack; | ||||
|  | ||||
| 	/* Hook net up to the device list */ | ||||
| 	list_add_tail(&netobj->parent.link, &efi_obj_list); | ||||
|  | ||||
| 	/* | ||||
| 	 * Create WaitForPacket event. | ||||
| 	 */ | ||||
| @@ -365,4 +368,7 @@ int efi_net_register(void) | ||||
| 	} | ||||
|  | ||||
| 	return 0; | ||||
| out_of_memory: | ||||
| 	printf("ERROR: Out of memory\n"); | ||||
| 	return 1; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user