linux-next: build failure after merge of the pinctrl tree

From: Stephen Rothwell
Date: Wed Jan 27 2021 - 04:46:28 EST


Hi all,

After merging the pinctrl tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/pinctrl/samsung/pinctrl-s3c64xx.c:14:
drivers/pinctrl/samsung/pinctrl-s3c64xx.c: In function 's3c64xx_irq_set_function':
drivers/pinctrl/samsung/pinctrl-s3c64xx.c:289:20: error: passing argument 1 of 'spinlock_check' from incompatible pointer type [-Werror=incompatible-pointer-types]
289 | spin_lock_irqsave(&bank->slock, flags);
| ^~~~~~~~~~~~
| |
| raw_spinlock_t * {aka struct raw_spinlock *}
include/linux/spinlock.h:252:34: note: in definition of macro 'raw_spin_lock_irqsave'
252 | flags = _raw_spin_lock_irqsave(lock); \
| ^~~~
drivers/pinctrl/samsung/pinctrl-s3c64xx.c:289:2: note: in expansion of macro 'spin_lock_irqsave'
289 | spin_lock_irqsave(&bank->slock, flags);
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/pinctrl/samsung/pinctrl-s3c64xx.c:14:
include/linux/spinlock.h:327:67: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'raw_spinlock_t *' {aka 'struct raw_spinlock *'}
327 | static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/pinctrl/samsung/pinctrl-s3c64xx.c:296:25: error: passing argument 1 of 'spin_unlock_irqrestore' from incompatible pointer type [-Werror=incompatible-pointer-types]
296 | spin_unlock_irqrestore(&bank->slock, flags);
| ^~~~~~~~~~~~
| |
| raw_spinlock_t * {aka struct raw_spinlock *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/pinctrl/samsung/pinctrl-s3c64xx.c:14:
include/linux/spinlock.h:407:64: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'raw_spinlock_t *' {aka 'struct raw_spinlock *'}
407 | static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
| ~~~~~~~~~~~~^~~~

Caused by commit

1f306ecbe0f6 ("pinctrl: samsung: use raw_spinlock for locking")

I have used the pinctrl tree from next-20210125 for today.
--
Cheers,
Stephen Rothwell

Attachment: pgp0J84hdypNO.pgp
Description: OpenPGP digital signature