From patchwork Thu Mar 23 17:36:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 74158 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp3052654wrt; Thu, 23 Mar 2023 10:53:39 -0700 (PDT) X-Google-Smtp-Source: AKy350ZyFedv9Vir3/fxf63Yhtw7xGcFX3jb2ZC7C2cZGAJJctIL4vAsS3OuJr3Xbn2OOIywswLy X-Received: by 2002:a05:6402:1812:b0:4fd:2193:7400 with SMTP id g18-20020a056402181200b004fd21937400mr329783edy.4.1679594019155; Thu, 23 Mar 2023 10:53:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679594019; cv=none; d=google.com; s=arc-20160816; b=YmdDPhU1w0bCM+CJRzr1aUyUnsOqc8GI9aUsXbf/7rIbuSmH7XgOruuZiF/BQjZiiY A0FN1aUG1LwFY3b3QmqL7z19FQcUeCPedYbYtLAbKHkTkyqksHrssEe5IQRKT0Xc/8Ox swEabvxio5ECsQ2Zl1JIUPymJGU/r7j1g4vkg9Jlyzy9ytXDiMLuafQxW6idnYTzfJ9w E/gcBNjwgN8tP+smyPvIx9q4PljTtrkp/zo2i9NPh2osm9HqS2rYniqgfIjyPqsX6enN nXYq9i/TaOKXSQmY+YAEgc0ujDtEwmVqTcSdbd9kRWZN4LSaTMnJBXXuHtHNtoJJGNrJ YZQQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bdIPSm8RbTGPaRQgnOeVs/7K/mSdGK0oqaIYQBarrc8=; b=ANicQmcKnGNSripSxCCZT2yjjhx3mLRVRmCcsavkKucgdS2cEWGi8Lgf6Ff0V2Z6Pk ffClhxdwLj5iTzyCVQRq2zwvR+bznHVLD1bsXYSvof74ds45Wo5BAUvslfbRzMsO+g5J EL2ptNnq/Ic7yyqOWI3WmhlQKwmNHLNgLkvUxGWDMk7TWMXRktgmS/sK7dbUCNtPHhjy tDFisGKY+9qVSVRn2gCdbm8la1GKfadkxRgMW6kID0icWR0vKdbsnow4fvTl+QdWv+ze 3FxK9Jn5HUFcu2NT9VpgEQfZvU99UNExqB0b5CNLGEed2z8gLAfICCJsMQKw0z9xyow5 rISw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=mRYUFdKO; 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=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d15-20020a056402516f00b004fb438282dfsi18443802ede.526.2023.03.23.10.53.14; Thu, 23 Mar 2023 10:53:39 -0700 (PDT) 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; dkim=pass header.i=@intel.com header.s=Intel header.b=mRYUFdKO; 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=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231831AbjCWRg1 (ORCPT + 99 others); Thu, 23 Mar 2023 13:36:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232131AbjCWRgE (ORCPT ); Thu, 23 Mar 2023 13:36:04 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DEE2305DD; Thu, 23 Mar 2023 10:35:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679592945; x=1711128945; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vwh9ptbMJOXQlZJdSj8+frJlz0P5NOeD/IEPLf/bFeA=; b=mRYUFdKO5KD6Oo3woRFDzf1mDw5LcJM4x1FNascoUV1xaQbZYamqZrRK lW8NVodwQHIVjHxdDrMLkgqgygQ6/WL2u6T2H6ayOFJBoHm2vXr1ISKyj Fou6EcUDqBNSIy6D8CAlgqq/YPmQp3rrZ2RmL9/1IWyp8wgcGZFUG2/9x 7QXfxC3OjIXM5lmqSpJhcn0uWW+cGQD8aynhHKiLkY2U58RgC5sPfyhBt tXLg+XbUfyiVjhUoBoVgRp1yC9029wXK/m4X6aKmyMkf1AdiFVuf/PtQk B8WipFeqZJMpjjaiNQbpLZ0jcAXuHNIavwLaU94KzHbQpml1lzpOW3fjJ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="327969592" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="327969592" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2023 10:35:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="675794215" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="675794215" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id AF393D0; Thu, 23 Mar 2023 19:36:11 +0200 (EET) From: Andy Shevchenko To: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Andy Shevchenko , Mika Westerberg , =?utf-8?q?Krzysztof_Wilc?= =?utf-8?q?zy=C5=84ski?= , Michael Ellerman , Randy Dunlap , Arnd Bergmann , Niklas Schnelle , Bjorn Helgaas , "Rafael J. Wysocki" , =?utf-8?q?Pali_Roh=C3=A1r?= , "Maciej W. Rozycki" , Juergen Gross , Dominik Brodowski , linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org Cc: Miguel Ojeda , Richard Henderson , Ivan Kokshaysky , Matt Turner , Russell King , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , Thomas Bogendoerfer , Nicholas Piggin , Christophe Leroy , Anatolij Gustschin , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Bjorn Helgaas , Stefano Stabellini , Oleksandr Tyshchenko Subject: [PATCH v7 1/6] kernel.h: Split out COUNT_ARGS() and CONCATENATE() Date: Thu, 23 Mar 2023 19:36:05 +0200 Message-Id: <20230323173610.60442-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com> References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761181978200032834?= X-GMAIL-MSGID: =?utf-8?q?1761181978200032834?= kernel.h is being used as a dump for all kinds of stuff for a long time. The COUNT_ARGS() and CONCATENATE() macros may be used in some places without need of the full kernel.h dependency train with it. Here is the attempt on cleaning it up by splitting out these macros(). Signed-off-by: Andy Shevchenko --- include/linux/args.h | 13 +++++++++++++ include/linux/kernel.h | 8 +------- 2 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 include/linux/args.h diff --git a/include/linux/args.h b/include/linux/args.h new file mode 100644 index 000000000000..16ef6fad8add --- /dev/null +++ b/include/linux/args.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _LINUX_ARGS_H +#define _LINUX_ARGS_H + +/* This counts to 12. Any more, it will return 13th argument. */ +#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n +#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) + +#define __CONCAT(a, b) a ## b +#define CONCATENATE(a, b) __CONCAT(a, b) + +#endif /* _LINUX_ARGS_H */ diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 40bce7495af8..c049d3394425 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -484,13 +485,6 @@ ftrace_vprintk(const char *fmt, va_list ap) static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } #endif /* CONFIG_TRACING */ -/* This counts to 12. Any more, it will return 13th argument. */ -#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n -#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) - -#define __CONCAT(a, b) a ## b -#define CONCATENATE(a, b) __CONCAT(a, b) - /* Rebuild everything on CONFIG_FTRACE_MCOUNT_RECORD */ #ifdef CONFIG_FTRACE_MCOUNT_RECORD # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD