
Hi Lukasz
+#ifdef CONFIG_SPL_BUILD
- dfu_reset = 0;
+#endif
Why do you only ifdef this part? What problem does this solve?
Common/dfu.c is common code for SPL and U-boot, for SPL-DFU dfu_reset should not be given. This is must fix. Also this avoid use of run_command for SPL-DFU altogether, SPL size also will reduce by removing cli.c/cli_hush.c
As I've metioned in the other mail. Kconfig option would be OK.
And this Kconfig should be _only_ enabled for your SPL-DFU support enabled (also in Kconfig).
I have already added CONFIG_SPL_DFU_NO_RESET option for SPL-DFU in Kconfig.
Please look into the dfu_usb_get_reset() __weak function definition.
It is by default set to true.
You can extend this function to take into account a Kconfig option to return false during SPL builds.
As suggested by you, I feel this is best option.
I have test verified this option, will post in next patch version.
__weak bool dfu_usb_get_reset(void) { +#ifdef CONFIG_SPL_DFU_NO_RESET + return false +#else return true; +#endif }
Also changing run_command() to do_reset().
If (dfu_reset) do_reset(NULL, 0, 0, NULL);
Regards Ravi