On Tue, Oct 10, 2023 at 04:33:09PM +0200, Marco Felsch wrote: > The upcoming commit fixes the HAB support for FlexSPI enabled barebox > images. This commit prepares the source to keep the diff smaller. > > For the upcoming fix we need a 2nd CSF command sequence which is > basically the same as the first except for the "Blocks = ...." command. > Therefore we need to handle the blocks command separately which is done > by this commit. At the moment there is no functional change. > > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > --- > scripts/imx/imx.c | 22 ++++++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c > index 933019eba449..acc8424e547d 100644 > --- a/scripts/imx/imx.c > +++ b/scripts/imx/imx.c > @@ -296,6 +296,24 @@ static int hab_add_str(struct config_data *data, const char *str) > return 0; > } > > +static int hab_add_barebox_blocks(struct config_data *data, > + const char *csf_str, > + const char *flexspi_csf_str) > +{ > + int len = strlen(csf_str); > + > + if (data->csf_space < len) > + return -ENOMEM; > + > + strcat(data->csf, csf_str); > + if (flexspi_csf_str) > + strcat(data->flexspi_csf, flexspi_csf_str); Do we need a space check here as well? Sascha > + > + data->csf_space -= len; > + > + return 0; > +} > + > static int do_hab(struct config_data *data, int argc, char *argv[]) > { > int i, ret; > @@ -343,7 +361,7 @@ imx8m_get_offset_size(struct config_data *data, > > static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) > { > - char *str; > + char *str, *flexspi_str = NULL; > int ret; > int i; > uint32_t signed_size = data->load_size; > @@ -378,7 +396,7 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) > if (ret < 0) > return -ENOMEM; > > - ret = hab_add_str(data, str); > + ret = hab_add_barebox_blocks(data, str, flexspi_str); > free(str); > if (ret) > return ret; > -- > 2.39.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |