Message ID | 20221122032010.202956-1-renzhijie2@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 q4csp1983479wrr; Mon, 21 Nov 2022 19:41:00 -0800 (PST) X-Google-Smtp-Source: AA0mqf48c/ZIwKuY/2ZqFmKdX72LtNGsyRfhMNYsIKJRxOMwKCIEMNFHgON7f10oqYviUZs1bLAh X-Received: by 2002:a17:907:6e12:b0:730:631c:40b7 with SMTP id sd18-20020a1709076e1200b00730631c40b7mr18099862ejc.336.1669088460287; Mon, 21 Nov 2022 19:41:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669088460; cv=none; d=google.com; s=arc-20160816; b=1BI/TORJsxGO2l61sGwEHVbOPouV9N1nqhjZPeqFLiKxTHnYyjZ5n/ssqpCPxZZBKr kWu/B0g9ivmAiS6bByw1tZBiZF6gB6lWl+mx4VVfvdwg8MLu8ptYwyX7LTjkNv1ldNAc magscYruq2FJbduLlLFzbdlUswkf72T2gq5jjvAn2ZlhYkU62aXQS8jY78AzPT0ZfvHL 0TT1XR5/crwDkgkpO56LZIPzFnImN56VUIBkF4flYi7qZjhMM+PEKgetGXDTp416HyaA ESsekd4Hi5yBL3VbOoySKLeFaFEAAMSmUbztMW2ICxneQYhKR72uVdOGXqZoFNJBaK8I au9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=35ZknEdMngSDlupb+seXhu6YYMg4glAWQ5CVvuOocd0=; b=ZC9ons+4yCbGYf5mbtEeyZvST8lb5/cuxPKWNZLt+wcb9JcfpcEaciE6cWbdZmlpXW A6ic7ueKmRZVfIKytHaFC/U0gNNiCZyocqrjS8t9XTV+wNV67yzihQZvZnZzPBfIRAnd gVcfL0sSvgXKS+HM3XHET45+tw+plGuoSg0+JsFguumCQRMv7Eygg+faKlwS7YOXwLIt LPWEhX3Y8Qf+jfSRIXD4bRA33RJI8xodFWEvDApGNyir1IhpJrc4Y/DdMJdi6Ihp5qSJ ugmf4ExPOltpNbkhASYfTTSQFyazJEFCbkGY4fz1V085lG3tLDTuVeLRCKNdKY025kX2 /qBQ== 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 dd17-20020a1709069b9100b0078d93325645si1068097ejc.405.2022.11.21.19.40.36; Mon, 21 Nov 2022 19:41:00 -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 S231951AbiKVDYg (ORCPT <rfc822;cjcooper78@gmail.com> + 99 others); Mon, 21 Nov 2022 22:24:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231395AbiKVDYe (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 21 Nov 2022 22:24:34 -0500 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ABD5223E96 for <linux-kernel@vger.kernel.org>; Mon, 21 Nov 2022 19:24:33 -0800 (PST) Received: from kwepemi500022.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4NGV3Q0F06zmWNQ; Tue, 22 Nov 2022 11:24:02 +0800 (CST) Received: from huawei.com (10.67.175.34) by kwepemi500022.china.huawei.com (7.221.188.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 22 Nov 2022 11:24:31 +0800 From: Ren Zhijie <renzhijie2@huawei.com> To: <catalin.marinas@arm.com>, <will@kernel.org>, <mark.rutland@arm.com> CC: <yusongping@huawei.com>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, Ren Zhijie <renzhijie2@huawei.com> Subject: [PATCH] arm64: armv8_deprecated: fix unused-function error Date: Tue, 22 Nov 2022 03:20:10 +0000 Message-ID: <20221122032010.202956-1-renzhijie2@huawei.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.175.34] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemi500022.china.huawei.com (7.221.188.64) 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?1750166101213304930?= X-GMAIL-MSGID: =?utf-8?q?1750166101213304930?= |
Series |
arm64: armv8_deprecated: fix unused-function error
|
|
Commit Message
Ren Zhijie
Nov. 22, 2022, 3:20 a.m. UTC
If CONFIG_SWP_EMULATION is not set and
CONFIG_CP15_BARRIER_EMULATION is not set,
aarch64-linux-gnu complained about unused-function :
arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function]
static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
To fix this error, warp the definition of
aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) ||
defined(CONFIG_CP15_BARRIER_EMULATION)
Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier")
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
---
arch/arm64/kernel/armv8_deprecated.c | 2 ++
1 file changed, 2 insertions(+)
Comments
On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote: > If CONFIG_SWP_EMULATION is not set and > CONFIG_CP15_BARRIER_EMULATION is not set, > aarch64-linux-gnu complained about unused-function : > > arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function] > static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > ^~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > > To fix this error, warp the definition of > aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) || > defined(CONFIG_CP15_BARRIER_EMULATION) > > Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier") This also depends on building with additional options to turn warnings into errors, no? > Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> > --- > arch/arm64/kernel/armv8_deprecated.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c > index ed0788cf6bbb..3f29ceb6653a 100644 > --- a/arch/arm64/kernel/armv8_deprecated.c > +++ b/arch/arm64/kernel/armv8_deprecated.c > @@ -64,6 +64,7 @@ struct insn_emulation { > > #define ARM_OPCODE_CONDITION_UNCOND 0xf > > +#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION) > static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > { > u32 cc_bits = opcode >> 28; > @@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > } > return ARM_OPCODE_CONDTEST_UNCOND; > } > +#endif Could we mark this as '__maybe_unused' or 'inline' instead? I think that's preferable to the ifdeferry. Thanks, Mark. > > #ifdef CONFIG_SWP_EMULATION > /* > -- > 2.17.1 >
在 2022/11/23 0:48, Mark Rutland 写道: > On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote: >> If CONFIG_SWP_EMULATION is not set and >> CONFIG_CP15_BARRIER_EMULATION is not set, >> aarch64-linux-gnu complained about unused-function : >> >> arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function] >> static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >> ^~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> >> To fix this error, warp the definition of >> aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) || >> defined(CONFIG_CP15_BARRIER_EMULATION) >> >> Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier") > This also depends on building with additional options to turn warnings into > errors, no? No,i just run the normal command as follow: make ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" >> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> >> --- >> arch/arm64/kernel/armv8_deprecated.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c >> index ed0788cf6bbb..3f29ceb6653a 100644 >> --- a/arch/arm64/kernel/armv8_deprecated.c >> +++ b/arch/arm64/kernel/armv8_deprecated.c >> @@ -64,6 +64,7 @@ struct insn_emulation { >> >> #define ARM_OPCODE_CONDITION_UNCOND 0xf >> >> +#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION) >> static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >> { >> u32 cc_bits = opcode >> 28; >> @@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >> } >> return ARM_OPCODE_CONDTEST_UNCOND; >> } >> +#endif > Could we mark this as '__maybe_unused' or 'inline' instead? I think that's > preferable to the ifdeferry. sure, i will use __maybe_unused in v2. Thanks, Ren. > Thanks, > Mark. > >> >> #ifdef CONFIG_SWP_EMULATION >> /* >> -- >> 2.17.1 >> > .
On Wed, Nov 23, 2022 at 10:06:03AM +0800, Ren Zhijie wrote: > > 在 2022/11/23 0:48, Mark Rutland 写道: > > On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote: > > > If CONFIG_SWP_EMULATION is not set and > > > CONFIG_CP15_BARRIER_EMULATION is not set, > > > aarch64-linux-gnu complained about unused-function : > > > > > > arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function] > > > static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > > > ^~~~~~~~~~~~~~~~~~~~~~~ > > > cc1: all warnings being treated as errors > > > > > > To fix this error, warp the definition of > > > aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) || > > > defined(CONFIG_CP15_BARRIER_EMULATION) > > > > > > Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier") > > This also depends on building with additional options to turn warnings into > > errors, no? > > No,i just run the normal command as follow: > > make ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" I think you must also have CONFIG_WERROR enabled? Just building defconfig + CONFIG_ARMV8_DEPRECATED=y gives me a warning, but not an error, and the kernel builds just fine. So this is a problem to fix, and I appreciate that in test configs this might be broken, but it's not a full build-time failure for most users. Thanks, Mark. > > > Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> > > > --- > > > arch/arm64/kernel/armv8_deprecated.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c > > > index ed0788cf6bbb..3f29ceb6653a 100644 > > > --- a/arch/arm64/kernel/armv8_deprecated.c > > > +++ b/arch/arm64/kernel/armv8_deprecated.c > > > @@ -64,6 +64,7 @@ struct insn_emulation { > > > #define ARM_OPCODE_CONDITION_UNCOND 0xf > > > +#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION) > > > static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > > > { > > > u32 cc_bits = opcode >> 28; > > > @@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr) > > > } > > > return ARM_OPCODE_CONDTEST_UNCOND; > > > } > > > +#endif > > Could we mark this as '__maybe_unused' or 'inline' instead? I think that's > > preferable to the ifdeferry. > > sure, i will use __maybe_unused in v2. > > Thanks, > > Ren. > > > Thanks, > > Mark. > > > > > #ifdef CONFIG_SWP_EMULATION > > > /* > > > -- > > > 2.17.1 > > > > > .
在 2022/11/23 19:01, Mark Rutland 写道: > On Wed, Nov 23, 2022 at 10:06:03AM +0800, Ren Zhijie wrote: >> 在 2022/11/23 0:48, Mark Rutland 写道: >>> On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote: >>>> If CONFIG_SWP_EMULATION is not set and >>>> CONFIG_CP15_BARRIER_EMULATION is not set, >>>> aarch64-linux-gnu complained about unused-function : >>>> >>>> arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function] >>>> static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >>>> ^~~~~~~~~~~~~~~~~~~~~~~ >>>> cc1: all warnings being treated as errors >>>> >>>> To fix this error, warp the definition of >>>> aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) || >>>> defined(CONFIG_CP15_BARRIER_EMULATION) >>>> >>>> Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier") >>> This also depends on building with additional options to turn warnings into >>> errors, no? >> No,i just run the normal command as follow: >> >> make ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" > I think you must also have CONFIG_WERROR enabled? > > Just building defconfig + CONFIG_ARMV8_DEPRECATED=y gives me a warning, but not > an error, and the kernel builds just fine. > > So this is a problem to fix, and I appreciate that in test configs this might > be broken, but it's not a full build-time failure for most users. I get it, thanks a lot! Thanks, Ren > Thanks, > Mark. > >>>> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> >>>> --- >>>> arch/arm64/kernel/armv8_deprecated.c | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c >>>> index ed0788cf6bbb..3f29ceb6653a 100644 >>>> --- a/arch/arm64/kernel/armv8_deprecated.c >>>> +++ b/arch/arm64/kernel/armv8_deprecated.c >>>> @@ -64,6 +64,7 @@ struct insn_emulation { >>>> #define ARM_OPCODE_CONDITION_UNCOND 0xf >>>> +#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION) >>>> static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >>>> { >>>> u32 cc_bits = opcode >> 28; >>>> @@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr) >>>> } >>>> return ARM_OPCODE_CONDTEST_UNCOND; >>>> } >>>> +#endif >>> Could we mark this as '__maybe_unused' or 'inline' instead? I think that's >>> preferable to the ifdeferry. >> sure, i will use __maybe_unused in v2. >> >> Thanks, >> >> Ren. >> >>> Thanks, >>> Mark. >>> >>>> #ifdef CONFIG_SWP_EMULATION >>>> /* >>>> -- >>>> 2.17.1 >>>> >>> . > .
diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c index ed0788cf6bbb..3f29ceb6653a 100644 --- a/arch/arm64/kernel/armv8_deprecated.c +++ b/arch/arm64/kernel/armv8_deprecated.c @@ -64,6 +64,7 @@ struct insn_emulation { #define ARM_OPCODE_CONDITION_UNCOND 0xf +#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION) static unsigned int aarch32_check_condition(u32 opcode, u32 psr) { u32 cc_bits = opcode >> 28; @@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr) } return ARM_OPCODE_CONDTEST_UNCOND; } +#endif #ifdef CONFIG_SWP_EMULATION /*