Message ID | 20221123065319.56756-1-zhengyongjun3@huawei.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp2630890wrr; Tue, 22 Nov 2022 22:58:23 -0800 (PST) X-Google-Smtp-Source: AA0mqf7KIL2YQHM9GNt+ST4EJtqVy53qqQBenniIk0lBZBgGTEGPXaU9Mmbyc1rbJSUphQpSKRxF X-Received: by 2002:a63:5641:0:b0:470:48c2:3aa1 with SMTP id g1-20020a635641000000b0047048c23aa1mr6330388pgm.45.1669186703420; Tue, 22 Nov 2022 22:58:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669186703; cv=none; d=google.com; s=arc-20160816; b=olO9tx3NyZLj5Hn4rQPk1IFi+owvo3MLNY8dx66Kwnd/jBxL7dOHSyaP5XMSEkwtDT 6vBRkaklkrFz2ndYgUqIWbhLqUt79HI2ewg2hFzYbBHjtsOfk1xlv2Hjg4cK5y6JVkQE h6ZIYvd9N+pr595ueMKTBdsB6FZKu6UuxH/jkIlfoSfNKuM21HWa6s2SeFvtxNdKb4Ix pV34UIKWqE6/mvKN9CBoWIF1ScS51hw+tz+OUO/23RSBC9lj7EH+G7erBnlygCzz872Z p2Vy/7sC1J+sDUHb4lHYFWNBjDSArr+XIZSoWEhxW9Nm5uh9tnSdky8gG+fzwoVhpF92 A02w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=j5FK2zb9526anUlw9GqO0eMl8cRRmIfLkovimvTgsFw=; b=YjwrNg1X5II1DC0uMwg+e6nLhPLuByrDczD4G2SBG064FU3gSRv29Shca1i/qjGKdm 5GvG6yaKKqpddodQ8KHDy12nmC2bcGEN68R73xlVfmUu9kAh07aldtM923Bu8JV7+7z7 HmmPHe917k5rhQTPfyVGBNo+I8mEcMwchYW7CId1U20u4DfETd/j1nIMiWv35oDexeX4 WUx6e671Pi+VTA8cC4aomA8DjFLOIjPnrKv1KzFmfdkK7wmBsCH2gigXI2E/4UzFvS38 ISZ3F5qiJjFmDay2Es5M7CIG+W9ColP4vv7VeetiVtklfqbqrLmSF5MmvbT92sDqEpyW 1y7w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w190-20020a6382c7000000b004774a855372si11340712pgd.694.2022.11.22.22.58.10; Tue, 22 Nov 2022 22:58:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236139AbiKWGzY (ORCPT <rfc822;cjcooper78@gmail.com> + 99 others); Wed, 23 Nov 2022 01:55:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236072AbiKWGzX (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 23 Nov 2022 01:55:23 -0500 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48C1087A48 for <linux-kernel@vger.kernel.org>; Tue, 22 Nov 2022 22:55:22 -0800 (PST) Received: from kwepemi500013.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4NHBd04943zJns6; Wed, 23 Nov 2022 14:52:04 +0800 (CST) Received: from huawei.com (10.175.112.208) by kwepemi500013.china.huawei.com (7.221.188.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 23 Nov 2022 14:55:19 +0800 From: Zheng Yongjun <zhengyongjun3@huawei.com> To: <cluster-devel@redhat.com>, <linux-kernel@vger.kernel.org> CC: <ccaulfie@redhat.com>, <teigland@redhat.com>, <zhengbin13@huawei.com> Subject: [PATCH -next] fs: dlm: Fix build error without DEBUG_LOCK_ALLOC Date: Wed, 23 Nov 2022 06:53:19 +0000 Message-ID: <20221123065319.56756-1-zhengyongjun3@huawei.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.112.208] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500013.china.huawei.com (7.221.188.120) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750269117110078827?= X-GMAIL-MSGID: =?utf-8?q?1750269117110078827?= |
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
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
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
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
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
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)
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.