[-next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC

Message ID 20221123065319.56756-1-zhengyongjun3@huawei.com
State New
Headers
Series [-next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC |

Commit Message

Zheng Yongjun Nov. 23, 2022, 6:53 a.m. UTC
  If CONFIG_DLM is y, DEBUG_LOCK_ALLOC is n, building fails:

fs/dlm/lowcomms.o: In function `lowcomms_queue_rwork':
lowcomms.c:(.text+0x2ac): undefined reference to `lockdep_is_held'
lowcomms.c:(.text+0x308): undefined reference to `lockdep_is_held'
fs/dlm/lowcomms.o: In function `lowcomms_queue_swork':
lowcomms.c:(.text+0x3e0): undefined reference to `lockdep_is_held'
fs/dlm/lowcomms.o: In function `restore_callbacks':
lowcomms.c:(.text+0xd8c): undefined reference to `lockdep_is_held'
lowcomms.c:(.text+0xdcc): undefined reference to `lockdep_is_held'

Make DLM select DEBUG_LOCK_ALLOC to fix this.

Fixes: dbb751ffab0b ("fs: dlm: parallelize lowcomms socket handling")
Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
---
 fs/dlm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

--
2.17.1
  

Comments

Alexander Aring Nov. 23, 2022, 1:39 p.m. UTC | #1
Hi,

On Wed, Nov 23, 2022 at 8:37 AM Zheng Yongjun <zhengyongjun3@huawei.com> wrote:
>
> If CONFIG_DLM is y, DEBUG_LOCK_ALLOC is n, building fails:
>
> fs/dlm/lowcomms.o: In function `lowcomms_queue_rwork':
> lowcomms.c:(.text+0x2ac): undefined reference to `lockdep_is_held'
> lowcomms.c:(.text+0x308): undefined reference to `lockdep_is_held'
> fs/dlm/lowcomms.o: In function `lowcomms_queue_swork':
> lowcomms.c:(.text+0x3e0): undefined reference to `lockdep_is_held'
> fs/dlm/lowcomms.o: In function `restore_callbacks':
> lowcomms.c:(.text+0xd8c): undefined reference to `lockdep_is_held'
> lowcomms.c:(.text+0xdcc): undefined reference to `lockdep_is_held'
>
> Make DLM select DEBUG_LOCK_ALLOC to fix this.
>

Thanks, there is a different approach already in dlm/next and I think
we don't want to have dlm selecting a debug option.

- Alex
  
Alexander Aring Nov. 23, 2022, 1:49 p.m. UTC | #2
Hi,

On Wed, Nov 23, 2022 at 8:39 AM Alexander Aring <aahringo@redhat.com> wrote:
>
> Hi,
>
> On Wed, Nov 23, 2022 at 8:37 AM Zheng Yongjun <zhengyongjun3@huawei.com> wrote:
> >
> > If CONFIG_DLM is y, DEBUG_LOCK_ALLOC is n, building fails:
> >
> > fs/dlm/lowcomms.o: In function `lowcomms_queue_rwork':
> > lowcomms.c:(.text+0x2ac): undefined reference to `lockdep_is_held'
> > lowcomms.c:(.text+0x308): undefined reference to `lockdep_is_held'
> > fs/dlm/lowcomms.o: In function `lowcomms_queue_swork':
> > lowcomms.c:(.text+0x3e0): undefined reference to `lockdep_is_held'
> > fs/dlm/lowcomms.o: In function `restore_callbacks':
> > lowcomms.c:(.text+0xd8c): undefined reference to `lockdep_is_held'
> > lowcomms.c:(.text+0xdcc): undefined reference to `lockdep_is_held'
> >
> > Make DLM select DEBUG_LOCK_ALLOC to fix this.
> >
>
> Thanks, there is a different approach already in dlm/next and I think
> we don't want to have dlm selecting a debug option.

btw. I am curious why lockdep defines a prototype and not an
implementation for it if LOCKDEP is not set. In my opinion there
should be some no-op functions for it that the compiler puts it out if
it's not set. Then we don't end in #idefs inside the implementation...

- Alex
  
kernel test robot Nov. 25, 2022, 2:34 p.m. UTC | #3
Hi Zheng,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20221122]

url:    https://github.com/intel-lab-lkp/linux/commits/Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
patch link:    https://lore.kernel.org/r/20221123065319.56756-1-zhengyongjun3%40huawei.com
patch subject: [PATCH -next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC
config: m68k-allyesconfig
compiler: m68k-linux-gcc (GCC) 12.1.0
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://github.com/intel-lab-lkp/linux/commit/4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
        git checkout 4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/connector/ drivers/leds/ drivers/mfd/ drivers/power/supply/ drivers/thermal/ drivers/tty/serial/ drivers/watchdog/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

    2849 |                 pr_warn_ratelimited("unencrypted skb with no associated socket - dropping\n");
         |                 ^~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      27 |                 .lock           = __RAW_SPIN_LOCK_UNLOCKED(name.lock),            \
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS'
      34 |         RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0)
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT'
      42 |                 RATELIMIT_STATE_INIT(name, interval_init, burst_init)   \
         |                 ^~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:646:16: note: in expansion of macro 'DEFINE_RATELIMIT_STATE'
     646 |         static DEFINE_RATELIMIT_STATE(_rs,                              \
         |                ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:667:9: note: in expansion of macro 'printk_ratelimited'
     667 |         printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~
   include/net/sock.h:2849:17: note: in expansion of macro 'pr_warn_ratelimited'
    2849 |                 pr_warn_ratelimited("unencrypted skb with no associated socket - dropping\n");
         |                 ^~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      27 |                 .lock           = __RAW_SPIN_LOCK_UNLOCKED(name.lock),            \
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS'
      34 |         RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0)
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT'
      42 |                 RATELIMIT_STATE_INIT(name, interval_init, burst_init)   \
         |                 ^~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:646:16: note: in expansion of macro 'DEFINE_RATELIMIT_STATE'
     646 |         static DEFINE_RATELIMIT_STATE(_rs,                              \
         |                ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:667:9: note: in expansion of macro 'printk_ratelimited'
     667 |         printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~
   include/net/sock.h:2849:17: note: in expansion of macro 'pr_warn_ratelimited'
    2849 |                 pr_warn_ratelimited("unencrypted skb with no associated socket - dropping\n");
         |                 ^~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      27 |                 .lock           = __RAW_SPIN_LOCK_UNLOCKED(name.lock),            \
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS'
      34 |         RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0)
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT'
      42 |                 RATELIMIT_STATE_INIT(name, interval_init, burst_init)   \
         |                 ^~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:646:16: note: in expansion of macro 'DEFINE_RATELIMIT_STATE'
     646 |         static DEFINE_RATELIMIT_STATE(_rs,                              \
         |                ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:667:9: note: in expansion of macro 'printk_ratelimited'
     667 |         printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~
   include/net/sock.h:2849:17: note: in expansion of macro 'pr_warn_ratelimited'
    2849 |                 pr_warn_ratelimited("unencrypted skb with no associated socket - dropping\n");
         |                 ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/local_lock.h:5,
                    from include/linux/mmzone.h:23,
                    from include/linux/topology.h:33,
                    from include/linux/irq.h:19,
                    from include/asm-generic/hardirq.h:17,
                    from ./arch/m68k/include/generated/asm/hardirq.h:1,
                    from include/linux/hardirq.h:11:
   drivers/connector/cn_proc.c: At top level:
   include/linux/local_lock_internal.h:21:18: error: 'struct lockdep_map' has no member named 'name'
      21 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
>> drivers/connector/cn_proc.c:48:37: warning: excess elements in struct initializer
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                                     ^
   include/linux/local_lock_internal.h:21:26: note: in definition of macro 'LOCAL_LOCK_DEBUG_INIT'
      21 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:37: note: (near initialization for 'local_event.lock.dep_map')
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                                     ^
   include/linux/local_lock_internal.h:21:26: note: in definition of macro 'LOCAL_LOCK_DEBUG_INIT'
      21 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:22:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      22 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                  ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:22:36: warning: excess elements in struct initializer
      22 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                                    ^~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:22:36: note: (near initialization for 'local_event.lock.dep_map')
      22 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                                    ^~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:23:18: error: 'struct lockdep_map' has no member named 'lock_type'
      23 |                 .lock_type = LD_LOCK_PERCPU,            \
         |                  ^~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:23:30: warning: excess elements in struct initializer
      23 |                 .lock_type = LD_LOCK_PERCPU,            \
         |                              ^~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:23:30: note: (near initialization for 'local_event.lock.dep_map')
      23 |                 .lock_type = LD_LOCK_PERCPU,            \
         |                              ^~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:52:43: note: in expansion of macro 'LOCAL_LOCK_DEBUG_INIT'
      52 | #define INIT_LOCAL_LOCK(lockname)       { LOCAL_LOCK_DEBUG_INIT(lockname) }
         |                                           ^~~~~~~~~~~~~~~~~~~~~
   drivers/connector/cn_proc.c:48:17: note: in expansion of macro 'INIT_LOCAL_LOCK'
      48 |         .lock = INIT_LOCAL_LOCK(lock),
         |                 ^~~~~~~~~~~~~~~
--
   In file included from include/linux/mmzone.h:16,
                    from arch/m68k/include/asm/virtconvert.h:12,
                    from arch/m68k/include/asm/io_mm.h:26,
                    from arch/m68k/include/asm/io.h:8,
                    from include/linux/io.h:13,
                    from drivers/leds/leds-cobalt-raq.c:8:
   include/linux/seqlock.h: In function 'seqcount_lockdep_reader_access':
   include/linux/seqlock.h:98:21: warning: unused variable 'l' [-Wunused-variable]
      98 |         seqcount_t *l = (seqcount_t *)s;
         |                     ^
   In file included from include/linux/ratelimit_types.h:7,
                    from include/linux/printk.h:9,
                    from include/asm-generic/bug.h:22,
                    from arch/m68k/include/asm/bug.h:32,
                    from include/linux/bug.h:5,
                    from include/linux/io.h:11:
   drivers/leds/leds-cobalt-raq.c: At top level:
   include/linux/spinlock_types_raw.h:37:18: error: 'struct lockdep_map' has no member named 'name'
      37 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/spinlock_types.h:35:9: note: in expansion of macro 'SPIN_DEP_MAP_INIT'
      35 |         SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
>> drivers/leds/leds-cobalt-raq.c:21:38: warning: excess elements in struct initializer
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |                                      ^
   include/linux/spinlock_types_raw.h:37:26: note: in definition of macro 'SPIN_DEP_MAP_INIT'
      37 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:38: note: (near initialization for '(anonymous).<anonymous>.rlock.dep_map')
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |                                      ^
   include/linux/spinlock_types_raw.h:37:26: note: in definition of macro 'SPIN_DEP_MAP_INIT'
      37 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:38:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      38 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:35:9: note: in expansion of macro 'SPIN_DEP_MAP_INIT'
      35 |         SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:38:36: warning: excess elements in struct initializer
      38 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                                    ^~~~~~~~~~~~~~
   include/linux/spinlock_types.h:35:9: note: in expansion of macro 'SPIN_DEP_MAP_INIT'
      35 |         SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:38:36: note: (near initialization for '(anonymous).<anonymous>.rlock.dep_map')
      38 |                 .wait_type_inner = LD_WAIT_CONFIG,      \
         |                                    ^~~~~~~~~~~~~~
   include/linux/spinlock_types.h:35:9: note: in expansion of macro 'SPIN_DEP_MAP_INIT'
      35 |         SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER'
      38 |         { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } }
         |                      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER'
      41 |         (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname)
         |                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED'
      43 | #define DEFINE_SPINLOCK(x)      spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-cobalt-raq.c:21:8: note: in expansion of macro 'DEFINE_SPINLOCK'
      21 | static DEFINE_SPINLOCK(led_value_lock);
         |        ^~~~~~~~~~~~~~~
--
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:68: warning: excess elements in struct initializer
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:68: note: (near initialization for '(anonymous).dep_map')
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c: At top level:
   include/linux/spinlock_types_raw.h:32:18: error: 'struct lockdep_map' has no member named 'name'
      32 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
>> drivers/mfd/wm8350-core.c:58:35: warning: excess elements in struct initializer
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |                                   ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:35: note: (near initialization for '(anonymous).dep_map')
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |                                   ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   In file included from include/linux/seqlock.h:19:
   include/linux/mutex.h:26:26: error: 'struct lockdep_map' has no member named 'name'
      26 |                         .name = #lockname,                      \
         |                          ^~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
>> drivers/mfd/wm8350-core.c:58:35: warning: excess elements in struct initializer
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |                                   ^
   include/linux/mutex.h:26:34: note: in definition of macro '__DEP_MAP_MUTEX_INITIALIZER'
      26 |                         .name = #lockname,                      \
         |                                  ^~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:35: note: (near initialization for 'reg_lock_mutex.dep_map')
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |                                   ^
   include/linux/mutex.h:26:34: note: in definition of macro '__DEP_MAP_MUTEX_INITIALIZER'
      26 |                         .name = #lockname,                      \
         |                                  ^~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/mutex.h:27:26: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                          ^~~~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/mutex.h:27:44: warning: excess elements in struct initializer
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                                            ^~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
   include/linux/mutex.h:27:44: note: (near initialization for 'reg_lock_mutex.dep_map')
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                                            ^~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/mfd/wm8350-core.c:58:8: note: in expansion of macro 'DEFINE_MUTEX'
      58 | static DEFINE_MUTEX(reg_lock_mutex);
         |        ^~~~~~~~~~~~
..

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for DEBUG_LOCK_ALLOC
   Depends on [n]: DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=n]
   Selected by [y]:
   - DLM [=y] && INET [=y] && SYSFS [=y] && CONFIGFS_FS [=y] && (IPV6 [=y] || IPV6 [=y]=n)


vim +48 drivers/connector/cn_proc.c

9f46080c41d5f3 Matt Helsley   2005-11-07  41  
3e92fd7bd2b841 Mike Galbraith 2020-05-27  42  /* local_event.count is used as the sequence number of the netlink message */
3e92fd7bd2b841 Mike Galbraith 2020-05-27  43  struct local_event {
3e92fd7bd2b841 Mike Galbraith 2020-05-27  44  	local_lock_t lock;
3e92fd7bd2b841 Mike Galbraith 2020-05-27  45  	__u32 count;
3e92fd7bd2b841 Mike Galbraith 2020-05-27  46  };
3e92fd7bd2b841 Mike Galbraith 2020-05-27  47  static DEFINE_PER_CPU(struct local_event, local_event) = {
3e92fd7bd2b841 Mike Galbraith 2020-05-27 @48  	.lock = INIT_LOCAL_LOCK(lock),
3e92fd7bd2b841 Mike Galbraith 2020-05-27  49  };
9f46080c41d5f3 Matt Helsley   2005-11-07  50
  
kernel test robot Nov. 27, 2022, 11:11 a.m. UTC | #4
Hi Zheng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20221122]

url:    https://github.com/intel-lab-lkp/linux/commits/Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
patch link:    https://lore.kernel.org/r/20221123065319.56756-1-zhengyongjun3%40huawei.com
patch subject: [PATCH -next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC
config: ia64-allmodconfig
compiler: ia64-linux-gcc (GCC) 12.1.0
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://github.com/intel-lab-lkp/linux/commit/4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
        git checkout 4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash arch/ia64/kernel/ arch/ia64/mm/ block/ crypto/ drivers/accessibility/speakup/ drivers/acpi/ drivers/android/ drivers/ata/ drivers/atm/ drivers/auxdisplay/ drivers/base/ drivers/bcma/ drivers/block/ drivers/bluetooth/ drivers/bus/ drivers/cdrom/ drivers/char/ drivers/clk/ drivers/comedi/ drivers/counter/ drivers/cpufreq/ drivers/crypto/ drivers/cxl/ drivers/dax/ drivers/devfreq/ drivers/dma-buf/ drivers/dma/ drivers/extcon/ drivers/firewire/ drivers/firmware/ drivers/fpga/ drivers/fsi/ drivers/gnss/ drivers/gpio/ drivers/gpu/drm/ drivers/gpu/ipu-v3/ drivers/greybus/ drivers/hid/ drivers/hte/ drivers/hwmon/ drivers/hwspinlock/ drivers/hwtracing/intel_th/ drivers/i2c/ drivers/i3c/ drivers/iio/ drivers/infiniband/core/ drivers/infiniband/hw/bnxt_re/ drivers/infiniband/hw/cxgb4/ drivers/infiniband/hw/efa/ drivers/infiniband/hw/hns/ drivers/infiniband/hw/mlx4/ drivers/infiniband/hw/mlx5/ drivers/infiniband/hw/mthca/ drivers/infiniband/hw/usnic/ drivers/infiniband/hw/vmw_pvrdma/ drivers/infiniband/sw/rxe/ drivers/infiniband/ulp/ipoib/ drivers/infiniband/ulp/iser/ drivers/infiniband/ulp/isert/ drivers/infiniband/ulp/rtrs/ drivers/infiniband/ulp/srpt/ drivers/input/ drivers/interconnect/ drivers/iommu/ drivers/ipack/ drivers/irqchip/ drivers/isdn/capi/ drivers/isdn/hardware/mISDN/ drivers/isdn/mISDN/ drivers/leds/ drivers/mailbox/ drivers/mcb/ drivers/md/ drivers/media/cec/core/ drivers/media/common/siano/ drivers/media/dvb-core/ drivers/media/dvb-frontends/ drivers/media/firewire/ drivers/media/i2c/ drivers/media/mc/ drivers/media/pci/bt8xx/ drivers/media/pci/cx88/ drivers/media/pci/ddbridge/ drivers/media/pci/netup_unidvb/ drivers/media/pci/pt1/ drivers/media/pci/saa7134/ drivers/media/pci/saa7164/ drivers/media/platform/mediatek/vcodec/ drivers/media/platform/qcom/camss/ drivers/media/platform/qcom/venus/ drivers/media/platform/renesas/ drivers/media/platform/samsung/s5p-mfc/ drivers/media/platform/st/sti/delta/ drivers/media/platform/ti/cal/ drivers/media/platform/ti/davinci/ drivers/media/platform/xilinx/ drivers/media/rc/ drivers/media/test-drivers/vidtv/ drivers/media/tuners/ drivers/media/usb/airspy/ drivers/media/usb/au0828/ drivers/media/usb/cx231xx/ drivers/media/usb/dvb-usb-v2/ drivers/media/usb/em28xx/ drivers/media/usb/hackrf/ drivers/media/usb/msi2500/ drivers/media/usb/pvrusb2/ drivers/media/usb/stk1160/ drivers/media/v4l2-core/ drivers/memory/ drivers/memstick/core/ drivers/message/fusion/ drivers/mfd/ drivers/misc/ drivers/mmc/core/ drivers/mmc/host/ drivers/most/ drivers/mtd/ drivers/mux/ drivers/net/ drivers/ntb/ drivers/nvdimm/ drivers/nvme/common/ drivers/nvme/host/ drivers/nvme/target/ drivers/nvmem/ drivers/of/ drivers/opp/ drivers/parport/ drivers/pci/ drivers/pcmcia/ drivers/peci/ drivers/phy/ drivers/pinctrl/ drivers/platform/chrome/ drivers/platform/goldfish/ drivers/platform/olpc/ drivers/platform/surface/ drivers/pnp/ drivers/power/supply/ drivers/powercap/ drivers/pps/ drivers/ptp/ drivers/pwm/ drivers/rapidio/ drivers/regulator/ drivers/remoteproc/ drivers/reset/ drivers/rpmsg/ drivers/rtc/ drivers/scsi/ drivers/slimbus/ drivers/soc/amlogic/ drivers/soc/apple/ drivers/soc/fsl/qe/ drivers/soc/mediatek/ drivers/soc/microchip/ drivers/soc/qcom/ drivers/soc/renesas/ drivers/soc/rockchip/ drivers/soc/sunxi/ drivers/soundwire/ drivers/spi/ drivers/spmi/ drivers/ssb/ drivers/staging/fieldbus/ drivers/staging/gdm724x/ drivers/staging/greybus/ drivers/staging/media/deprecated/stkwebcam/ drivers/staging/media/deprecated/tm6000/ drivers/staging/media/deprecated/vpfe_capture/ drivers/staging/media/meson/vdec/ drivers/staging/media/sunxi/cedrus/ drivers/staging/most/dim2/ drivers/staging/most/net/ drivers/staging/most/video/ drivers/staging/octeon/ drivers/staging/pi433/ drivers/staging/vc04_services/ drivers/staging/vme_user/ drivers/target/ drivers/tee/ drivers/thermal/ drivers/thunderbolt/ drivers/tty/ drivers/ufs/core/ drivers/uio/ drivers/usb/atm/ drivers/usb/chipidea/ drivers/usb/class/ drivers/usb/core/ drivers/usb/gadget/ drivers/usb/host/ drivers/usb/misc/ drivers/usb/mon/ drivers/usb/phy/ drivers/usb/serial/ drivers/usb/typec/ drivers/usb/usbip/ drivers/vdpa/ drivers/vfio/ drivers/vhost/ drivers/video/ drivers/virtio/ drivers/w1/ drivers/watchdog/ fs/ init/ ipc/ kernel/ lib/ mm/ net/ security/ virt/lib/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/mm_types.h:20,
                    from include/linux/buildid.h:5,
                    from include/linux/module.h:14,
                    from drivers/gpu/ipu-v3/ipu-common.c:6:
   include/linux/seqlock.h: In function 'seqcount_lockdep_reader_access':
   include/linux/seqlock.h:98:21: warning: unused variable 'l' [-Wunused-variable]
      98 |         seqcount_t *l = (seqcount_t *)s;
         |                     ^
   In file included from include/linux/ratelimit_types.h:7,
                    from include/linux/printk.h:9,
                    from include/linux/numa.h:24,
                    from arch/ia64/include/asm/nodedata.h:14,
                    from arch/ia64/include/asm/processor.h:81,
                    from arch/ia64/include/asm/timex.h:15,
                    from include/linux/timex.h:67,
                    from include/linux/time32.h:13,
                    from include/linux/time.h:60,
                    from include/linux/stat.h:19,
                    from include/linux/module.h:13:
   include/linux/semaphore.h: In function 'sema_init':
>> include/linux/spinlock_types_raw.h:32:18: error: 'struct lockdep_map' has no member named 'name'
      32 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/semaphore.h:34:68: warning: excess elements in struct initializer
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:68: note: (near initialization for '(anonymous).dep_map')
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c: At top level:
>> include/linux/spinlock_types_raw.h:32:18: error: 'struct lockdep_map' has no member named 'name'
      32 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> drivers/gpu/ipu-v3/ipu-common.c:1136:40: warning: excess elements in struct initializer
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |                                        ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:40: note: (near initialization for '(anonymous).dep_map')
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |                                        ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:110:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
     110 |                 , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
   In file included from include/linux/seqlock.h:19:
>> include/linux/mutex.h:26:26: error: 'struct lockdep_map' has no member named 'name'
      26 |                         .name = #lockname,                      \
         |                          ^~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> drivers/gpu/ipu-v3/ipu-common.c:1136:40: warning: excess elements in struct initializer
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |                                        ^
   include/linux/mutex.h:26:34: note: in definition of macro '__DEP_MAP_MUTEX_INITIALIZER'
      26 |                         .name = #lockname,                      \
         |                                  ^~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:40: note: (near initialization for 'ipu_client_id_mutex.dep_map')
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |                                        ^
   include/linux/mutex.h:26:34: note: in definition of macro '__DEP_MAP_MUTEX_INITIALIZER'
      26 |                         .name = #lockname,                      \
         |                                  ^~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> include/linux/mutex.h:27:26: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                          ^~~~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
>> include/linux/mutex.h:27:44: warning: excess elements in struct initializer
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                                            ^~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
   include/linux/mutex.h:27:44: note: (near initialization for 'ipu_client_id_mutex.dep_map')
      27 |                         .wait_type_inner = LD_WAIT_SLEEP,       \
         |                                            ^~~~~~~~~~~~~
   include/linux/mutex.h:113:17: note: in expansion of macro '__DEP_MAP_MUTEX_INITIALIZER'
     113 |                 __DEP_MAP_MUTEX_INITIALIZER(lockname) }
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mutex.h:116:34: note: in expansion of macro '__MUTEX_INITIALIZER'
     116 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
         |                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/ipu-v3/ipu-common.c:1136:8: note: in expansion of macro 'DEFINE_MUTEX'
    1136 | static DEFINE_MUTEX(ipu_client_id_mutex);
         |        ^~~~~~~~~~~~
--
   In file included from include/linux/hrtimer.h:20,
                    from include/linux/sched.h:20,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from drivers/gpu/ipu-v3/ipu-prv.h:12,
                    from drivers/gpu/ipu-v3/ipu-cpmem.c:11:
   include/linux/seqlock.h: In function 'seqcount_lockdep_reader_access':
   include/linux/seqlock.h:98:21: warning: unused variable 'l' [-Wunused-variable]
      98 |         seqcount_t *l = (seqcount_t *)s;
         |                     ^
   In file included from include/linux/ratelimit_types.h:7,
                    from include/linux/printk.h:9,
                    from include/asm-generic/bug.h:22,
                    from arch/ia64/include/asm/bug.h:17,
                    from include/linux/bug.h:5,
                    from include/linux/io.h:11,
                    from drivers/gpu/ipu-v3/ipu-cpmem.c:8:
   include/linux/semaphore.h: In function 'sema_init':
>> include/linux/spinlock_types_raw.h:32:18: error: 'struct lockdep_map' has no member named 'name'
      32 |                 .name = #lockname,                      \
         |                  ^~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/semaphore.h:34:68: warning: excess elements in struct initializer
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:68: note: (near initialization for '(anonymous).dep_map')
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                                                    ^
   include/linux/spinlock_types_raw.h:32:26: note: in definition of macro 'RAW_SPIN_DEP_MAP_INIT'
      32 |                 .name = #lockname,                      \
         |                          ^~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:18: error: 'struct lockdep_map' has no member named 'wait_type_inner'
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                  ^~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/spinlock_types_raw.h:33:36: warning: excess elements in struct initializer
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:33:36: note: (near initialization for '(anonymous).dep_map')
      33 |                 .wait_type_inner = LD_WAIT_SPIN,        \
         |                                    ^~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:66:9: note: in expansion of macro 'RAW_SPIN_DEP_MAP_INIT'
      66 |         RAW_SPIN_DEP_MAP_INIT(lockname) }
         |         ^~~~~~~~~~~~~~~~~~~~~
   include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER'
      69 |         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED'
      23 |         .lock           = __RAW_SPIN_LOCK_UNLOCKED((name).lock),        \
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/semaphore.h:34:35: note: in expansion of macro '__SEMAPHORE_INITIALIZER'
      34 |         *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~
..

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for DEBUG_LOCK_ALLOC
   Depends on [n]: DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=n]
   Selected by [m]:
   - DLM [=m] && INET [=y] && SYSFS [=y] && CONFIGFS_FS [=y] && (IPV6 [=m] || IPV6 [=m]=n)


vim +32 include/linux/spinlock_types_raw.h

4f084ca74c3f0e Thomas Gleixner 2021-08-15  28  
4f084ca74c3f0e Thomas Gleixner 2021-08-15  29  #ifdef CONFIG_DEBUG_LOCK_ALLOC
4f084ca74c3f0e Thomas Gleixner 2021-08-15  30  # define RAW_SPIN_DEP_MAP_INIT(lockname)		\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  31  	.dep_map = {					\
4f084ca74c3f0e Thomas Gleixner 2021-08-15 @32  		.name = #lockname,			\
4f084ca74c3f0e Thomas Gleixner 2021-08-15 @33  		.wait_type_inner = LD_WAIT_SPIN,	\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  34  	}
4f084ca74c3f0e Thomas Gleixner 2021-08-15  35  # define SPIN_DEP_MAP_INIT(lockname)			\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  36  	.dep_map = {					\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  37  		.name = #lockname,			\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  38  		.wait_type_inner = LD_WAIT_CONFIG,	\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  39  	}
31552385f8e9d0 Thomas Gleixner 2021-08-15  40  
31552385f8e9d0 Thomas Gleixner 2021-08-15  41  # define LOCAL_SPIN_DEP_MAP_INIT(lockname)		\
31552385f8e9d0 Thomas Gleixner 2021-08-15  42  	.dep_map = {					\
31552385f8e9d0 Thomas Gleixner 2021-08-15  43  		.name = #lockname,			\
31552385f8e9d0 Thomas Gleixner 2021-08-15  44  		.wait_type_inner = LD_WAIT_CONFIG,	\
31552385f8e9d0 Thomas Gleixner 2021-08-15  45  		.lock_type = LD_LOCK_PERCPU,		\
31552385f8e9d0 Thomas Gleixner 2021-08-15  46  	}
4f084ca74c3f0e Thomas Gleixner 2021-08-15  47  #else
4f084ca74c3f0e Thomas Gleixner 2021-08-15  48  # define RAW_SPIN_DEP_MAP_INIT(lockname)
4f084ca74c3f0e Thomas Gleixner 2021-08-15  49  # define SPIN_DEP_MAP_INIT(lockname)
31552385f8e9d0 Thomas Gleixner 2021-08-15  50  # define LOCAL_SPIN_DEP_MAP_INIT(lockname)
4f084ca74c3f0e Thomas Gleixner 2021-08-15  51  #endif
4f084ca74c3f0e Thomas Gleixner 2021-08-15  52  
4f084ca74c3f0e Thomas Gleixner 2021-08-15  53  #ifdef CONFIG_DEBUG_SPINLOCK
4f084ca74c3f0e Thomas Gleixner 2021-08-15  54  # define SPIN_DEBUG_INIT(lockname)		\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  55  	.magic = SPINLOCK_MAGIC,		\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  56  	.owner_cpu = -1,			\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  57  	.owner = SPINLOCK_OWNER_INIT,
4f084ca74c3f0e Thomas Gleixner 2021-08-15  58  #else
4f084ca74c3f0e Thomas Gleixner 2021-08-15  59  # define SPIN_DEBUG_INIT(lockname)
4f084ca74c3f0e Thomas Gleixner 2021-08-15  60  #endif
4f084ca74c3f0e Thomas Gleixner 2021-08-15  61  
4f084ca74c3f0e Thomas Gleixner 2021-08-15  62  #define __RAW_SPIN_LOCK_INITIALIZER(lockname)	\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  63  {						\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  64  	.raw_lock = __ARCH_SPIN_LOCK_UNLOCKED,	\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  65  	SPIN_DEBUG_INIT(lockname)		\
4f084ca74c3f0e Thomas Gleixner 2021-08-15  66  	RAW_SPIN_DEP_MAP_INIT(lockname) }
4f084ca74c3f0e Thomas Gleixner 2021-08-15  67  
4f084ca74c3f0e Thomas Gleixner 2021-08-15  68  #define __RAW_SPIN_LOCK_UNLOCKED(lockname)	\
4f084ca74c3f0e Thomas Gleixner 2021-08-15 @69  	(raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
4f084ca74c3f0e Thomas Gleixner 2021-08-15  70
  
kernel test robot Nov. 29, 2022, 3:05 a.m. UTC | #5
Hi Zheng,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20221122]

url:    https://github.com/intel-lab-lkp/linux/commits/Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
patch link:    https://lore.kernel.org/r/20221123065319.56756-1-zhengyongjun3%40huawei.com
patch subject: [PATCH -next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC
config: x86_64-kismet-CONFIG_DEBUG_LOCK_ALLOC-CONFIG_DLM-0-0
reproduce:
        # https://github.com/intel-lab-lkp/linux/commit/4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Zheng-Yongjun/fs-dlm-Fix-build-error-without-DEBUG_LOCK_ALLOC/20221123-145551
        git checkout 4d4ed8e34405dd08de09199be7e0dbdb8cf7c466
        # 1. reproduce by kismet
           # install kmax per https://github.com/paulgazz/kmax/blob/master/README.md
           kismet --linux-ksrc=linux --selectees CONFIG_DEBUG_LOCK_ALLOC --selectors CONFIG_DLM -a=x86_64
        # 2. reproduce by make
           # save the config file to linux source tree
           cd linux
           make ARCH=x86_64 olddefconfig

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for DEBUG_LOCK_ALLOC when selected by DLM
   
   WARNING: unmet direct dependencies detected for DEBUG_LOCK_ALLOC
     Depends on [n]: DEBUG_KERNEL [=n] && LOCK_DEBUGGING_SUPPORT [=y]
     Selected by [y]:
     - DLM [=y] && INET [=y] && SYSFS [=y] && CONFIGFS_FS [=y] && (IPV6 [=n] || IPV6 [=n]=n)
  

Patch

diff --git a/fs/dlm/Kconfig b/fs/dlm/Kconfig
index 1105ce3c80cb..90a0861e7a29 100644
--- a/fs/dlm/Kconfig
+++ b/fs/dlm/Kconfig
@@ -5,6 +5,7 @@  menuconfig DLM
 	depends on SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n)
 	select IP_SCTP
 	select SRCU
+	select DEBUG_LOCK_ALLOC
 	help
 	A general purpose distributed lock manager for kernel or userspace
 	applications.