[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f656b948-aa3a-4811-b51f-64effa2001fc@kernel.org>
Date: Sun, 8 Jun 2025 21:31:41 -0500
From: Mario Limonciello <superm1@...nel.org>
To: Peter Schneider <pschneider1968@...glemail.com>,
LKML <linux-kernel@...r.kernel.org>, linux-pm@...r.kernel.org
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
haojian.zhuang@...vell.com, mario.limonciello@....com,
Thomas Gleixner <tglx@...utronix.de>, jirislaby@...nel.org,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Lee Jones <lee@...nel.org>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: Build error in 6.16-rc1 in drivers/mfd/88pm860x-core.c
On 6/8/25 8:58 PM, Peter Schneider wrote:
> Hi all,
>
> I just tried to test-build 6.16-rc1 on my good old 2-socket Ivy Bridge
> Xeon E5-2697 v2 server, running Proxmox/Debian 12 (Bookworm) with GCC
> 12.2. I received the following build error:
>
> CC drivers/mfd/88pm860x-core.o
> drivers/mfd/88pm860x-core.c: In function 'device_irq_init':
> drivers/mfd/88pm860x-core.c:576:29: error: unused variable 'node' [-
> Werror=unused-variable]
> 576 | struct device_node *node = i2c->dev.of_node;
> | ^~~~
> cc1: all warnings being treated as errors
> make[4]: *** [scripts/Makefile.build:287: drivers/mfd/88pm860x-core.o]
> Error 1
> make[3]: *** [scripts/Makefile.build:554: drivers/mfd] Error 2
> make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
> make[1]: *** [/usr/src/linux/Makefile:2006: .] Error 2
> make: *** [Makefile:248: __sub-make] Error 2
>
>
> My config file is attached. I always build with CONFIG_WERROR=y (same as
> I do in all of my regular test builds of Greg's stable-RC releases).
I do too; I'm pretty surprised that that the build robots didn't catch this.
>
> I'm not a Kernel developer nor a C programmer, I only have superficial
> knowledge of C (but I love to test and to tinker), so I don't quite
> understand this warning/error message. Becauses some lines below, the
> node variable is used as a paramter to the of_fwnode_handle macro (from
> include/linux/of.h):
>
> irq_domain_create_legacy(of_fwnode_handle(node), nr_irqs, chip-
> >irq_base, 0,
> &pm860x_irq_domain_ops, chip);
>
> Does that not count as variable usage to the compiler?
It's not because there is a macro when CONFIG_OF is not defined that
assigns it as NULL. So to the compiler there is no variable use.
> Digging in
> somewhat deeper, I found that probably the patch from [1] is missing in
> 6.16 and should have been included?!
It was sent during the merge window, it's not a surprise that it wasn't
picked up. I just sent it in case they had a chance to grab it because
not being able to compile with CONFIG_WERROR means other things can more
easily get missed too.
>
> When I apply that patch, my build succeeds.
>
> [1]: https://lore.kernel.org/all/20250602201008.1850418-1-
> superm1@...nel.org/
>
>
> Beste Grüße,
> Peter Schneider
>
Powered by blists - more mailing lists