u-boot/common/spl/spl_dfu.c
Simon Glass e7dcf5645f env: Drop environment.h header file where not needed
This header file is now only used by files that access internal
environment features. Drop it from various places where it is not needed.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-11 16:43:41 -04:00

56 lines
1.1 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2016
* Texas Instruments, <www.ti.com>
*
* Ravi B <ravibabu@ti.com>
*/
#include <common.h>
#include <env.h>
#include <spl.h>
#include <linux/compiler.h>
#include <errno.h>
#include <watchdog.h>
#include <console.h>
#include <g_dnl.h>
#include <usb.h>
#include <dfu.h>
static int run_dfu(int usb_index, char *interface, char *devstring)
{
int ret;
ret = dfu_init_env_entities(interface, devstring);
if (ret) {
dfu_free_entities();
goto exit;
}
run_usb_dnl_gadget(usb_index, "usb_dnl_dfu");
exit:
dfu_free_entities();
return ret;
}
int spl_dfu_cmd(int usbctrl, char *dfu_alt_info, char *interface, char *devstr)
{
char *str_env;
int ret;
/* set default environment */
env_set_default(NULL, 0);
str_env = env_get(dfu_alt_info);
if (!str_env) {
pr_err("\"%s\" env variable not defined!\n", dfu_alt_info);
return -EINVAL;
}
ret = env_set("dfu_alt_info", str_env);
if (ret) {
pr_err("unable to set env variable \"dfu_alt_info\"!\n");
return -EINVAL;
}
/* invoke dfu command */
return run_dfu(usbctrl, interface, devstr);
}