[PATCH RESEND v3] fpga: add inline stub for fpga_load
Eugen Hristev
eugen.hristev at collabora.com
Fri Aug 25 15:16:18 CEST 2023
On 8/25/23 10:21, Michal Simek wrote:
> Hi,
>
> On 8/8/23 12:22, Eugen Hristev wrote:
>> In case CC_OPTIMIZE_FOR_DEBUG is set, unused code will not be
>> optimized out,
>> hence the reference to fpga_load will be compiled.
>> if DM_FPGA and SPL_FPGA are not set, the build will fail with :
>>
>> aarch64-none-linux-gnu-ld.bfd: common/spl/spl_fit.o: in function
>> `spl_fit_upload_fpga':
>> u-boot/common/spl/spl_fit.c:595: undefined reference to `fpga_load'
>>
>> To solve this, added an inline empty stub in the header if
>> CC_OPTIMIZE_FOR_DEBUG is set such that the build will succeed.
>>
>> Signed-off-by: Eugen Hristev <eugen.hristev at collabora.com>
>> ---
>> Changes in v3:
>> - return -ENOSYS
>> Changes in v2:
>> - this is a rework as suggested by Simon of this previous patch :
>> https://patchwork.ozlabs.org/project/uboot/patch/20230619102839.277902-1-eugen.hristev@collabora.com/
>>
>> include/fpga.h | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/include/fpga.h b/include/fpga.h
>> index ed688cc0fa3b..33d0dbbe2ba4 100644
>> --- a/include/fpga.h
>> +++ b/include/fpga.h
>> @@ -60,8 +60,17 @@ int fpga_add(fpga_type devtype, void *desc);
>> int fpga_count(void);
>> const fpga_desc *const fpga_get_desc(int devnum);
>> int fpga_is_partial_data(int devnum, size_t img_len);
>> +#if defined(CONFIG_CC_OPTIMIZE_FOR_DEBUG)
>> +static inline int fpga_load(int devnum, const void *buf, size_t bsize,
>> + bitstream_type bstype, int flags)
>> +{
>> + return -ENOSYS;
>> +}
>> +#else
>> int fpga_load(int devnum, const void *buf, size_t bsize,
>> bitstream_type bstype, int flags);
>> +#endif
>> +
>> int fpga_fsload(int devnum, const void *buf, size_t size,
>> fpga_fs_info *fpga_fsinfo);
>> int fpga_loads(int devnum, const void *buf, size_t size,
>
> Actually there is another patch targeting the same code.
> Please take a look at
> https://lore.kernel.org/r/20230816065437.836392-1-chanho61.park@samsung.com
> and get Chanho on board and create a patch to cover both cases.
>
> Thanks,
> Michal
Hello Michal,
Looking at Chanho's patch, it appears that he is solving the same issue.
These are not two separate cases.
He fixed it the other way around : if CONFIG_FPGA define the right
prototype, else define the stub, while I did if CONFIG_DEBUG define
stub, else define the right prototype.
I think you should select the patch that you deem more appropriate to
fix this, I don't mind which one.
Thanks,
Eugen
More information about the U-Boot
mailing list