2020-11-18 22:35:01

by Wendy Liang

[permalink] [raw]
Subject: [PATCH] firmware: xlnx-zynqmp: fix compilation warning

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;
| ^~~~~~

Signed-off-by: Wendy Liang <[email protected]>
---
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)
+#include <linux/err.h>
+#endif
+
#define ZYNQMP_PM_VERSION_MAJOR 1
#define ZYNQMP_PM_VERSION_MINOR 0

--
2.7.4


2020-11-20 09:17:29

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] firmware: xlnx-zynqmp: fix compilation warning



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?

>
> Signed-off-by: Wendy Liang <[email protected]>
> ---
> 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.

> +#include <linux/err.h>
> +#endif
> +
> #define ZYNQMP_PM_VERSION_MAJOR 1
> #define ZYNQMP_PM_VERSION_MINOR 0
>
>


Thanks,
Michal

2020-11-23 07:00:09

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] firmware: xlnx-zynqmp: fix compilation warning



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 <[email protected]>
>>> ---
>>> 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