Subject: Re: linux-next: build failure after merge of the gpio-brgl-fixes tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 24 Jan 2023 12:25:41 +1100

Hi Pierluigi,

On Tue, 24 Jan 2023 00:51:48 +0000 Pierluigi Passaro <[email-masked]> wrote:
>
> On 1/23/23 21:56, Stephen Rothwell wrote:
> >
> > After merging the gpio-brgl-fixes tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> >
> > In file included from include/linux/of_gpio.h:14,
> >                  from drivers/net/phy/mdio_bus.c:27:
> > include/linux/gpio/driver.h:782:68: error: parameter 4 ('lflags') has incomplete type
> >   782 |                                             enum gpio_lookup_flags lflags,
> >       |                                             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
> > include/linux/gpio/driver.h:779:33: error: function declaration isn't a prototype [-Werror=strict-prototypes]
> >   779 | static inline struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc,
> >       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
> > cc1: some warnings being treated as errors
> >
> > Caused by commit
> >
> >   de5f701724ac ("gpiolib: fix linker errors when GPIOLIB is disabled")
> >
> > I have used the gpio-brgl-fixes tree from next-20210123 for today.
>
> please provide detailed build instructions.
> Building with
> - commit id de5f701724ac
> - defconfig arch/powerpc/configs/ppc64_defconfig
> - powerpc64-linux-gnu-gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
> The build fails almost immediately as follow
> arch/powerpc/kernel/trace/ftrace.c:839:7: error: no previous prototype for ‘arch_ftrace_match_adjust’ [-Werror=missing-prototypes]
>   839 | char *arch_ftrace_match_adjust(char *str, const char *search)
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~
> However, the same happens rolling back de5f701724ac.

What I actually built to get the above error was what is now the
pending-fixes branch in
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git but
with the gpio-brgl-fixes tree
(git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git branch
gpio/for-current (commit de5f701724ac1) merged in.

but after removing that commit (and its parent), what I built was commit
  83784b157e44 ("Merge branch 'riscv-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git")
(which is in the pending-fixes branch above) which did not fail.

gcc (Debian 12.2.0-10) 12.2.0

enum gpio_lookup_flags is defined in include/linux/gpio/machine.h which
is not directly included by include/linux/gpio/driver.h or
drivers/net/phy/mdio_bus.c.
-- 
Cheers,
Stephen Rothwell