[PATCH] firmware: xlnx-zynqmp: fix compilation warning

Michal Simek michal.simek at xilinx.com
Mon Nov 23 01:58:21 EST 2020



On 21. 11. 20 8:09, Wendy Liang wrote:
> On Fri, Nov 20, 2020 at 10:14:52AM +0100, Michal Simek wrote:
>>
>>
>> On 18. 11. 20 23:31, Wendy Liang wrote:
>>> Fix compilation warning when ZYNQMP_FIRMWARE is not defined.
>>>
>>> include/linux/firmware/xlnx-zynqmp.h: In function
>>> 'zynqmp_pm_get_eemi_ops':
>>>  include/linux/firmware/xlnx-zynqmp.h:363:9: error: implicit
>>>  declaration of function 'ERR_PTR'
>>>  [-Werror=implicit-function-declaration]
>>>      363 |  return ERR_PTR(-ENODEV);
>>>
>>> include/linux/firmware/xlnx-zynqmp.h:363:18: note: each undeclared
>>> identifier is reported only once for each function it appears in
>>>    include/linux/firmware/xlnx-zynqmp.h: In function
>>> 'zynqmp_pm_get_api_version':
>>>    include/linux/firmware/xlnx-zynqmp.h:367:10: error: 'ENODEV'
>>> undeclared (first use in this function)
>>>      367 |  return -ENODEV;
>>>          |          ^~~~~~
>>
>> Are these issues caused by your AI driver?
>> If not, can you please point me to .config which reports this issue?
> It is from testbot, the ZYNQMP_FIMRWARE is not set.
> The AI engine driver c file includes the firmware/xlnx-zynqmp.h. The file
> doesn't include linux/err.h before including this xlnx-zynqmp.h file.
> However, the AI engine driver includes other header which includes
> linux/err.h.
> 
> It is good to include the linux/err.h explicitly too in the AI engine
> file. But for the firmware/xlnx-zynqmp.h it will be better to include
> linux/err.h as it is using it.
> 
>>
>>>
>>> Signed-off-by: Wendy Liang <wendy.liang at xilinx.com>
>>> ---
>>>  include/linux/firmware/xlnx-zynqmp.h | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h
>>> index 5968df8..7b6f9fc 100644
>>> --- a/include/linux/firmware/xlnx-zynqmp.h
>>> +++ b/include/linux/firmware/xlnx-zynqmp.h
>>> @@ -13,6 +13,10 @@
>>>  #ifndef __FIRMWARE_ZYNQMP_H__
>>>  #define __FIRMWARE_ZYNQMP_H__
>>>  
>>> +#if !IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
>>
>> I don't think there is a real need to have this ifdef around.
>> You can just ignore it and keep just below line.
> [Wendy] if ZYNQMP_FIRMWARE is defined, this header doesn't need
> linux/err.h shall we only include linux/err.h when it is required?

Again I have no problem to include it but please remove that #if/#endif
and include it all the time.

Thanks,
Michal




More information about the linux-arm-kernel mailing list