Re: [PATCH 4.14 00/21] 4.14.335-rc1 review

From: Alexis Lothoré
Date: Fri Jan 05 2024 - 15:43:35 EST


Hello,

On 1/5/24 18:13, Daniel Díaz wrote:
> Hello!
>
> On 05/01/24 8:38 a. m., Greg Kroah-Hartman wrote:

[...]

> Failure looks like this:
>
> -----8<-----
>   /builds/linux/drivers/pinctrl/pinctrl-at91-pio4.c: In function
> 'atmel_pinctrl_probe':
>   /builds/linux/drivers/pinctrl/pinctrl-at91-pio4.c:1054:3: error: too many
> arguments to function 'irq_set_lockdep_class'
>      irq_set_lockdep_class(irq, &atmel_lock_key, &atmel_request_key);
>      ^~~~~~~~~~~~~~~~~~~~~
>   In file included from /builds/linux/include/linux/irq.h:517,
>                    from /builds/linux/include/linux/gpio/driver.h:7,
>                    from /builds/linux/drivers/pinctrl/pinctrl-at91-pio4.c:18:
>   /builds/linux/include/linux/irqdesc.h:250:1: note: declared here
>    irq_set_lockdep_class(unsigned int irq, struct lock_class_key *class)
>    ^~~~~~~~~~~~~~~~~~~~~
>   make[3]: *** [/builds/linux/scripts/Makefile.build:330:
> drivers/pinctrl/pinctrl-at91-pio4.o] Error 1
> ----->8-----
>
> Bisection points to:
>
>   commit 6c47537ba008b3affe99360f65592ff5b797818f
>   Author: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
>   Date:   Fri Dec 15 22:34:24 2023 +0100
>
>       pinctrl: at91-pio4: use dedicated lock class for IRQ
>             [ Upstream commit 14694179e561b5f2f7e56a0f590e2cb49a9cc7ab ]

This fails because linux-4.14.y is older than 39c3fd58952d: kernel/irq: Extend
lockdep class for request mutex, which updates irq_set_lockdep_class API.

Looking at irq_set_lockdep_class update patch, what appears to be a simple fix is
to simply remove the last parameter from irq_set_lockdep_class call in
pinctrl-at91-pio4.c, but I am not even sure if the fix remains legitimate in this
case (ie if the corresponding lockdep splat reappears), and I do not have access
to corresponding hardware before the deadline, so if that's not already the plan,
I suggest to drop this from 4.14 branch.

Alexis

--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com