Re: [mcgrof-next:20210908-firmware-builtin-v4 2/11] drivers/base/firmware_loader/builtin/main.c:36:6: error: no previous prototype for function 'firmware_is_builtin'

From: Luis Chamberlain
Date: Mon Sep 13 2021 - 13:30:59 EST


On Mon, Sep 13, 2021 at 10:25:35AM -0700, Nathan Chancellor wrote:
> On 9/13/2021 8:56 AM, Luis Chamberlain wrote:
> > On Fri, Sep 10, 2021 at 06:52:03PM -0700, Nathan Chancellor wrote:
> > > On Fri, Sep 10, 2021 at 05:48:23PM -0700, Luis Chamberlain wrote:
> > > > On Fri, Sep 10, 2021 at 03:41:31PM +0800, kernel test robot wrote:
> > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20210908-firmware-builtin-v4
> > > > > head: 1c69d6a17750179d68bcaf6b16f9a08d2e475989
> > > > > commit: 79e9fce20ee88ffe37542a66277628e6c53dde14 [2/11] firmware_loader: formalize built-in firmware API
> > > > > config: hexagon-buildonly-randconfig-r004-20210910 (attached as .config)
> > > > > compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
> > > > > reproduce (this is a W=1 build):
> > > > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > > > chmod +x ~/bin/make.cross
> > > > > # https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/commit/?id=79e9fce20ee88ffe37542a66277628e6c53dde14
> > > > > git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
> > > > > git fetch --no-tags mcgrof-next 20210908-firmware-builtin-v4
> > > > > git checkout 79e9fce20ee88ffe37542a66277628e6c53dde14
> > > > > # save the attached .config to linux build tree
> > > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=hexagon
> > > > >
> > > > > If you fix the issue, kindly add following tag as appropriate
> > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > > >
> > > > > All errors (new ones prefixed by >>):
> > > > >
> > > > > > > drivers/base/firmware_loader/builtin/main.c:36:6: error: no previous prototype for function 'firmware_is_builtin' [-Werror,-Wmissing-prototypes]
> > > > > bool firmware_is_builtin(const struct firmware *fw)
> > > >
> > > > This is a lie though its defined on drivers/base/firmware_loader/firmware.h
> > >
> > > Unless I am missing something, you don't include the firmware_loader
> > > copy of firmware.h in builtin/main.c (only the linux one)? Isn't that
> > > the source of the warning?
> >
> > You would think, but nope, its there:
> >
> > #include "firmware.h"
>
> I see that in drivers/base/firmware_loader/main.c but the warning is
> complaining about drivers/base/firmware_loader/builtin/main.c, where I only
> see
>
> #include <linux/firmware.h>
>
> Sorry for the issues with reproducing. For what it's worth, I can reproduce
> this locally and adding
>
> #include "../firmware.h"
>
> to drivers/base/firmware_loader/builtin/main.c fixes it for me.

Got it, thanks! I've ammended this change.

Luis