[PATCH] spl: Add function called after fpga image upload
Taedcke, Christian
christian.taedcke-oss at weidmueller.com
Mon Jul 10 15:07:06 CEST 2023
Am 10.07.2023 um 13:45 schrieb Marek Vasut:
> On 6/27/23 11:04, christian.taedcke-oss at weidmueller.com wrote:
>> From: Christian Taedcke <christian.taedcke at weidmueller.com>
>>
>> This way custom logic can be implemented per board after the fpga
>> image is uploaded.
>>
>> Signed-off-by: Christian Taedcke <christian.taedcke at weidmueller.com>
>> ---
>>
>> common/spl/spl_fit.c | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
>> index 730639f756..3a1e3382ba 100644
>> --- a/common/spl/spl_fit.c
>> +++ b/common/spl/spl_fit.c
>> @@ -560,6 +560,16 @@ __weak void *spl_load_simple_fit_fix_load(const
>> void *fit)
>> return (void *)fit;
>> }
>> +/*
>> + * Weak default function to allow implementing logic after fpga image is
>> + * uploaded.
>> + */
>> +__weak void board_spl_fit_post_upload_fpga(const void *fit, int node,
>> + struct spl_image_info *fpga_image,
>> + int ret)
>> +{
>
> Is there an example use case for this, which cannot be implemented
> elsewhere ?
See my previous email to Michal, i did not find another way to implemnt
my use-cases.
>
>> +}
>> +
>> static void warn_deprecated(const char *msg)
>> {
>> printf("DEPRECATED: %s\n", msg);
>> @@ -590,6 +600,9 @@ static int spl_fit_upload_fpga(struct spl_fit_info
>> *ctx, int node,
>> ret = fpga_load(devnum, (void *)fpga_image->load_addr,
>> fpga_image->size, BIT_FULL, flags);
>> +
>> + board_spl_fit_post_upload_fpga(ctx->fit, node, fpga_image, ret);
>> +
>> if (ret) {
>
> Please implement error handling this way:
>
> ret = fpga_load(...)
> if (ret)
> handle_error();
>
> ret = board_spl_...(...)
> if (ret)
> handle_error();
I need to call board_spl_fit_post_upload_fpga() independent of the
return value of fpga_load(). This is not a handle_error() function, more
like a notify_result() (with can be ok or an error).
Regards,
Christian
More information about the U-Boot
mailing list