diff options
author | Simon Glass <sjg@chromium.org> | 2016-09-25 00:20:13 (GMT) |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-06 19:08:52 (GMT) |
commit | 2a2ee2ac35f26f6b4dae11a225c2803291dff10e (patch) | |
tree | cdb362cf377e85a635bb54dc7bf7f54991914cd3 /common/spl/spl_net.c | |
parent | 97d9df0a91f1c68695913518d8dfaf26c41dbb32 (diff) | |
download | u-boot-2a2ee2ac35f26f6b4dae11a225c2803291dff10e.tar.xz |
spl: Pass spl_image as a parameter to load_image() methods
Rather than having a global variable, pass the spl_image as a parameter.
This avoids BSS use, and makes it clearer what the function is actually
doing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'common/spl/spl_net.c')
-rw-r--r-- | common/spl/spl_net.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c index 0cbd995..f4b4bc4 100644 --- a/common/spl/spl_net.c +++ b/common/spl/spl_net.c @@ -15,7 +15,8 @@ DECLARE_GLOBAL_DATA_PTR; #if defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USBETH_SUPPORT) -static int spl_net_load_image(struct spl_boot_device *bootdev) +static int spl_net_load_image(struct spl_image_info *spl_image, + struct spl_boot_device *bootdev) { int rv; @@ -35,29 +36,31 @@ static int spl_net_load_image(struct spl_boot_device *bootdev) printf("Problem booting with BOOTP\n"); return rv; } - return spl_parse_image_header(&spl_image, + return spl_parse_image_header(spl_image, (struct image_header *)load_addr); } #endif #ifdef CONFIG_SPL_ETH_SUPPORT -int spl_net_load_image_cpgmac(struct spl_boot_device *bootdev) +int spl_net_load_image_cpgmac(struct spl_image_info *spl_image, + struct spl_boot_device *bootdev) { #ifdef CONFIG_SPL_ETH_DEVICE bootdev->boot_device_name = CONFIG_SPL_ETH_DEVICE; #endif - return spl_net_load_image(bootdev); + return spl_net_load_image(spl_image, bootdev); } SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_CPGMAC, spl_net_load_image_cpgmac); #endif #ifdef CONFIG_SPL_USBETH_SUPPORT -int spl_net_load_image_usb(struct spl_boot_device *bootdev) +int spl_net_load_image_usb(struct spl_image_info *spl_image, + struct spl_boot_device *bootdev) { bootdev->boot_device_name = "usb_ether"; - return spl_net_load_image(bootdev); + return spl_net_load_image(spl_image, bootdev); } SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_USBETH, spl_net_load_image_usb); #endif |