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

Wendy Liang wendy.liang at xilinx.com
Sat Nov 21 02:09:42 EST 2020


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?

Thanks,
Wendy

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



More information about the linux-arm-kernel mailing list