From patchwork Mon Oct 24 13:24:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 9558 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp519655wru; Mon, 24 Oct 2022 08:42:08 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7eHC+wVhiNgchV1ZeUfGIvulncjO9goD06jaPFU0WY77KVW9o66T9hrk7x5kNggxL/lE1w X-Received: by 2002:a05:6a00:17a9:b0:563:3255:8601 with SMTP id s41-20020a056a0017a900b0056332558601mr33935663pfg.12.1666626127746; Mon, 24 Oct 2022 08:42:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666626127; cv=none; d=google.com; s=arc-20160816; b=mKjnD+U5vbtayvo//m8BBdnOdxNSTNUTChjppclM77T6vVT2/C4O6/q+yKV9Mmpcf5 IkLcIRJoGHsUkskBQvRi9ythvoh565taOyEQVHInATV6v+Xdm/F1xpBCMYJo/Klewblp omfyJlpM0i+bJaAEX5bgKb6wpsYyXdnm/3xv2EQKH5jVFOUxR7vFMEpxjeLHFSpoAGmQ lFosBsQaZ1PeXCg1l5qz5CmEjfVK9XDnX4RFAUKMK0ow9ct1Rgg5TxVB9Q5ezZdVr/Jc WKfyccVGKrj2hSQvxj3+ieBIuBAJ/gEeKIWOnKwCjkotQ+hMtR6VVn7xiM7P59/HJWW1 KbKQ== 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:dkim-signature; bh=3rOjnwLS0L1hOL5mm32937WDelq0OUBHoIdZryau318=; b=j/qYtdhIHWAASTkT3c6i3yl2lSPyllhD9kXlwjICSiUIUCsxpA1XtfagNdVa+9PjrF gM7seITTCWazUrY25vfnTGlwoMeJEL7ZFb1Tu2KyURzqZcS4YPQnurIvVLeOVpK+Ci4I kpzN5xdF1ufFpx9Mwyu8UbqT/SxoyK0kbkwq9UuZuEUyZaS3RUbwg8RlpNg3FRzdUsh8 H8LbVSQkoRq4TYKEVdqpEomzk2i4LUry40w5n8Fvz37BjXerjBj73AjpJp0mG0pHNvAc 7js+0K7RB7CPJubcUL1+RU+7t7mpMFiMST4PnRAFuycSpBrWfNkXSjIXKakoAE1ipCIF HLVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HuS5pPx7; 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 jd3-20020a170903260300b001869e7dea17si5133624plb.129.2022.10.24.08.41.54; Mon, 24 Oct 2022 08:42:07 -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=HuS5pPx7; 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 S231742AbiJXPbL (ORCPT + 99 others); Mon, 24 Oct 2022 11:31:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232048AbiJXPav (ORCPT ); Mon, 24 Oct 2022 11:30:51 -0400 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AED021A9900 for ; Mon, 24 Oct 2022 07:17:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666621040; x=1698157040; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=vjLUo0d5GXV0ni6+ddEs2sp+kzKyXOmoq/0N6AX5ATg=; b=HuS5pPx7lawsgqVWX0EmMJmwj5RnSAuQi5qglEzALD7oEIAMK4sjoglc dJm3Hd5shrnpn+w7PbIiE84JDi5LZ4AyzbPEzN9xER1Kch8lqPyl7WU61 jaQGrMeCKw00EXJIRerEgLDDxJVEniapW0Jm+ZzgVm5sy1b/rAJeVpsw8 GD1TxNpkJdviLZf/3MgtjxttB13k7YhSYH/kDxZsqXYakfVwaMTSpR7pT nvxHmErwtflZk0peXVCDxxkw5qOKsdzYdBoo1qsuJVtzovIK/KhgE8TI2 3ZxqEIS3bKpAGF4owov0K6qq8mkXGSbm3aVqRxnag+e++mQs/C8mzVi2W A==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="369482023" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="369482023" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2022 06:24:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="960426203" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="960426203" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga005.fm.intel.com with ESMTP; 24 Oct 2022 06:24:17 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 272AB291; Mon, 24 Oct 2022 16:24:39 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Ingo Molnar , linux-kernel@vger.kernel.org Cc: Andrew Morton Subject: [rft, PATCH v1 1/4] kernel.h: Move READ/WRITE definitions to Date: Mon, 24 Oct 2022 16:24:31 +0300 Message-Id: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747584158139554108?= X-GMAIL-MSGID: =?utf-8?q?1747584158139554108?= From: Ingo Molnar Headers shouldn't be forced to include just to gain these simple constants. Signed-off-by: Ingo Molnar Signed-off-by: Andy Shevchenko --- include/linux/kernel.h | 4 ---- include/linux/types.h | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index fe6efb24d151..bc3e0364970a 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -44,10 +44,6 @@ */ #define REPEAT_BYTE(x) ((~0ul / 0xff) * (x)) -/* generic data direction definitions */ -#define READ 0 -#define WRITE 1 - /** * ARRAY_SIZE - get the number of elements in array @arr * @arr: array to be sized diff --git a/include/linux/types.h b/include/linux/types.h index ea8cf60a8a79..67846bc43d53 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -125,6 +125,10 @@ typedef s64 int64_t; typedef u64 sector_t; typedef u64 blkcnt_t; +/* generic data direction definitions */ +#define READ 0 +#define WRITE 1 + /* * The type of an index into the pagecache. */ From patchwork Mon Oct 24 13:24:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 9553 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp518299wru; Mon, 24 Oct 2022 08:39:36 -0700 (PDT) X-Google-Smtp-Source: AMsMyM646JHlPRE1SCNCxGI2/fZB5ozwE/ldkx4dlnll/eC9Cvzmb3Z/o7V8wMfOIkxuws+NIkz+ X-Received: by 2002:a62:648e:0:b0:563:3bf5:bf39 with SMTP id y136-20020a62648e000000b005633bf5bf39mr34398551pfb.75.1666625976325; Mon, 24 Oct 2022 08:39:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666625976; cv=none; d=google.com; s=arc-20160816; b=vnyrwtcd3oqpZO56pmm4951lemVzOjW/INxJjdgV0Lnf0kON+eRqMWmWpwKSXUR5um 9BvbRNqz0q7cRz0fZs85oiKPTPutHTAINQF7O7W7f5dkf06QjXOup90lQg8k6c4noDcF H4JGiRa14woEPY16Q8JcgDZrPJAbNnvbsMolWeT6ro+OYPts0nuQb4g72yQ1F+Yiviw4 vi98Le59iB+5b84NMuvrmOgjuBMYitfGWktL3KLmuo6UcNKVvc22y0xLvVnWi0Izc4Li V2blWDHEmlptMuTIyxMXua4LpeLVGeMnsf48UWWOS+dnCOD3FLvYL8TpEsicFjFASkcw cPqQ== 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=V6zh3hBS+BVumsGsHsQPmGB5R3W7akugb3yMgewJxV0=; b=Gkqlx2FId6qQO/lGt9dZIMwZEORvPiymibyqRjz4hKTctUwHZ5WAEp4/qnHqeZ2pzj R8XsOeOZosfTYMGT5Yfrv5+B3vvBVpC8xQ/WyXwHdcVrPSaRggkbsn78heRgLsFXNPGu Daab4HvbJgDvzmgly8xBOO02sF0F7sAY70KVaaM7Or/nUVbSCkZh74/Uj0gfB7ygqcVK 1iHhAeDt1nPh5YwxOMONZAHAJyasdm2/iE/tVb6LFjy9WV8Hkx9H1qONXj1T1+igfsBK D7B9ZW88q2yV437+9Y1bk79UJmCUp9doZn/TEI/KcgK9ApsjRN+uJ2aW2orpOaV/ONO0 k12Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=duhzLA+x; 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 b16-20020a170902d51000b001869394a38dsi7998983plg.503.2022.10.24.08.39.19; Mon, 24 Oct 2022 08:39:36 -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=duhzLA+x; 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 S229851AbiJXPVl (ORCPT + 99 others); Mon, 24 Oct 2022 11:21:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229714AbiJXPVS (ORCPT ); Mon, 24 Oct 2022 11:21:18 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C820676776 for ; Mon, 24 Oct 2022 07:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666620308; x=1698156308; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OcmON4vRcRHtsz7DNouDpqshe8zRX7Zuf0O6FuXtvIQ=; b=duhzLA+x/McyKrT0h5qMXjMLQx3N/DS0x2IwBAl+GEd+WyzVVfaYLRGw 4nvDe9LHlJcx0cVGDdnBW1wK0FTAumgtYMen7dwP80jOjIk/ncsJT6uCm z0WAZ/BrYFuXEgXD/jD+tjBxDzw4NWDYPnB0zfSQ78xXm8HH1FQKF1u3I ewu99hqrf5XqJ8D4uOt891Ws7n23JlSYf5BaBDaSgQhIws0U5HFOiUfdq jbLjLNe9HayvEGq7ZFyvnvCYfjjC3syzvVqzOMD1qs9W3ZaxLHzivzUsN veMoy/M+9Y6gzaRttNAe7728lzF3mPMwiuQYL7QnaSfQOLYyUo5roE30i Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="309101789" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="309101789" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2022 06:24:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="806302274" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="806302274" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2022 06:24:17 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 31D55107; Mon, 24 Oct 2022 16:24:39 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Ingo Molnar , linux-kernel@vger.kernel.org Cc: Andrew Morton Subject: [rft, PATCH v1 2/4] kernel.h: Split the hexadecimal related helpers to hex.h Date: Mon, 24 Oct 2022 16:24:32 +0300 Message-Id: <20221024132434.47057-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> References: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747583999587531929?= X-GMAIL-MSGID: =?utf-8?q?1747583999587531929?= For the sake of cleaning up the kernel.h split the hexadecimal related helpers to own header called 'hex.h'. Signed-off-by: Andy Shevchenko --- include/linux/hex.h | 35 +++++++++++++++++++++++++++++++++++ include/linux/kernel.h | 29 +---------------------------- 2 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 include/linux/hex.h diff --git a/include/linux/hex.h b/include/linux/hex.h new file mode 100644 index 000000000000..2618382e5b0c --- /dev/null +++ b/include/linux/hex.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_HEX_H +#define _LINUX_HEX_H + +#include + +extern const char hex_asc[]; +#define hex_asc_lo(x) hex_asc[((x) & 0x0f)] +#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4] + +static inline char *hex_byte_pack(char *buf, u8 byte) +{ + *buf++ = hex_asc_hi(byte); + *buf++ = hex_asc_lo(byte); + return buf; +} + +extern const char hex_asc_upper[]; +#define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)] +#define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4] + +static inline char *hex_byte_pack_upper(char *buf, u8 byte) +{ + *buf++ = hex_asc_upper_hi(byte); + *buf++ = hex_asc_upper_lo(byte); + return buf; +} + +extern int hex_to_bin(unsigned char ch); +extern int __must_check hex2bin(u8 *dst, const char *src, size_t count); +extern char *bin2hex(char *dst, const void *src, size_t count); + +bool mac_pton(const char *s, u8 *mac); + +#endif diff --git a/include/linux/kernel.h b/include/linux/kernel.h index bc3e0364970a..7a495e94b087 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -259,34 +260,6 @@ extern enum system_states { SYSTEM_SUSPEND, } system_state; -extern const char hex_asc[]; -#define hex_asc_lo(x) hex_asc[((x) & 0x0f)] -#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4] - -static inline char *hex_byte_pack(char *buf, u8 byte) -{ - *buf++ = hex_asc_hi(byte); - *buf++ = hex_asc_lo(byte); - return buf; -} - -extern const char hex_asc_upper[]; -#define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)] -#define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4] - -static inline char *hex_byte_pack_upper(char *buf, u8 byte) -{ - *buf++ = hex_asc_upper_hi(byte); - *buf++ = hex_asc_upper_lo(byte); - return buf; -} - -extern int hex_to_bin(unsigned char ch); -extern int __must_check hex2bin(u8 *dst, const char *src, size_t count); -extern char *bin2hex(char *dst, const void *src, size_t count); - -bool mac_pton(const char *s, u8 *mac); - /* * General tracing related utility functions - trace_printk(), * tracing_on/tracing_off and tracing_start()/tracing_stop From patchwork Mon Oct 24 13:24:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 9552 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp518218wru; Mon, 24 Oct 2022 08:39:25 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5VEbZ9FAK0LtMaPgRh6tNKJucKo8FeYgtuaJ4qQ6YrTyIq4vC5Si8k0fUlhHXgQQHUALFi X-Received: by 2002:a17:903:2596:b0:186:a395:c4bd with SMTP id jb22-20020a170903259600b00186a395c4bdmr6959172plb.60.1666625964985; Mon, 24 Oct 2022 08:39:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666625964; cv=none; d=google.com; s=arc-20160816; b=YZTLPr014GtaNGvxlY9ySVwXWsTAebnyTjbDT0sZU/RHznWIOAs3rMCQNg7jhiJxpf u11Uqg3bfPHUuJzO2EXluEDnaJxbUnWMAFB0j9r6wjmeaEoqOIsaUEkU/7WgQ3tiCqaB nhGIdped9PCiYqi/jM7S0w0ByhO6cLxENUqtzfCLGd8x7uthwaldf6ZZZwZPyVY0hV/+ n6rN5i/c3kXcSDtAir1w/Cmw0GCJdsOy9WZxTQqYnlcOlOEcJBcDv5ywGNPs8cetPIXO 3w4+f/vlKVS4qDAUSG8ABUJKHagSa6tKhtL/jvmCNeJ/5vbYPKhmXKHVwf/pATaJHm+N pqRg== 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=s496xQG9iEc3RVX3j9X46FOgdMgICI7sheePz0CDABs=; b=YjICfLm1w1RROubFlApXwjEiOpzeYY/NZmSvyZ+eLOoB29lbzxMH0i0MqlIQP42tCM d7Z3aXbKoiwbFOSwysD9hWRWhUAbLHlaHOioi5InzccVMzvQIiH0R90mPCvtsi/P5fwY Z9XuIrC7GxlmSJLGvfeESLIdnGfk5VS4+/uNVNpqSyH6SFquqd6gcLIJI5JpML6T2cBZ g5bBvqx4YPVbBcNbZPjhwiQzV322ncWD5kendyMl19TJaGaaWhe3p33XHdukiVmEeDiK PIJKtV1BOE33GQeHtqdKkNQDgg6FjBIM192tdB+Lystg2Ue/9AfWOWGQZhiD4LXjPAGg bm1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Z4I+GgAg; 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 y190-20020a638ac7000000b0046edec119f6si9144866pgd.227.2022.10.24.08.39.11; Mon, 24 Oct 2022 08:39:24 -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=Z4I+GgAg; 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 S231889AbiJXPVc (ORCPT + 99 others); Mon, 24 Oct 2022 11:21:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbiJXPVK (ORCPT ); Mon, 24 Oct 2022 11:21:10 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7BAE61B0F for ; Mon, 24 Oct 2022 07:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666620294; x=1698156294; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+tthHqb3+qhwjwpwfY2B7mqLJr8pu9fonI+rXw68hM8=; b=Z4I+GgAgYjNhD5VG3pUosUAou9W07XqSdJKjbCPSLJTnsckZcaAQ0eno G4DYNohX1hXPS4TxHgdWCtaw1um3qC7keT//hBDWyZvoWUs+GX4m3nG+q +uay958Y6PItpXM3uHvm9oCizR993dCwCaUceGhVDfUH3z/PaHnbo3PTl STCMVMX6mV70Dbe8jkk++4W+GuLIEYjhayuRODeWXHh7VDpzrdqCV3DIW NbWBe7bHc9AAoHZHP1QWWzEtv6oWxQdq2nURgDy2Th85tCwXjU21EQWB/ LNbkxMWKSoxoWN6eWfo74ojKvSP0fv2RRLWRimklbk1kDQj+LEZTFURLo g==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="309101788" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="309101788" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2022 06:24:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="806302273" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="806302273" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2022 06:24:17 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3AB9E3F9; Mon, 24 Oct 2022 16:24:39 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Ingo Molnar , linux-kernel@vger.kernel.org Cc: Andrew Morton Subject: [rft, PATCH v1 3/4] kernel.h: Split out sprintf() and friends Date: Mon, 24 Oct 2022 16:24:33 +0300 Message-Id: <20221024132434.47057-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> References: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747583987674194753?= X-GMAIL-MSGID: =?utf-8?q?1747583987674194753?= kernel.h is being used as a dump for all kinds of stuff for a long time. spintf() and friends are used in many drivers without need of the full kernel.h dependency train with it. Here is the attempt on cleaning it up by splitting out sprintf() and frineds. Signed-off-by: Andy Shevchenko --- include/linux/kernel.h | 30 +----------------------------- include/linux/sprintf.h | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 29 deletions(-) create mode 100644 include/linux/sprintf.h diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 7a495e94b087..7e9612de01b8 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -199,35 +200,6 @@ static inline void might_fault(void) { } void do_exit(long error_code) __noreturn; -extern int num_to_str(char *buf, int size, - unsigned long long num, unsigned int width); - -/* lib/printf utilities */ - -extern __printf(2, 3) int sprintf(char *buf, const char * fmt, ...); -extern __printf(2, 0) int vsprintf(char *buf, const char *, va_list); -extern __printf(3, 4) -int snprintf(char *buf, size_t size, const char *fmt, ...); -extern __printf(3, 0) -int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); -extern __printf(3, 4) -int scnprintf(char *buf, size_t size, const char *fmt, ...); -extern __printf(3, 0) -int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); -extern __printf(2, 3) __malloc -char *kasprintf(gfp_t gfp, const char *fmt, ...); -extern __printf(2, 0) __malloc -char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); -extern __printf(2, 0) -const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args); - -extern __scanf(2, 3) -int sscanf(const char *, const char *, ...); -extern __scanf(2, 0) -int vsscanf(const char *, const char *, va_list); - -extern int no_hash_pointers_enable(char *str); - extern int get_option(char **str, int *pint); extern char *get_options(const char *str, int nints, int *ints); extern unsigned long long memparse(const char *ptr, char **retptr); diff --git a/include/linux/sprintf.h b/include/linux/sprintf.h new file mode 100644 index 000000000000..9cd0282aab3a --- /dev/null +++ b/include/linux/sprintf.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_KERNEL_PRINTF_H_ +#define _LINUX_KERNEL_PRINTF_H_ + +#include + +int num_to_str(char *buf, int size, unsigned long long num, unsigned int width); + +__printf(2, 3) int sprintf(char *buf, const char * fmt, ...); +__printf(2, 0) int vsprintf(char *buf, const char *, va_list); +__printf(3, 4) int snprintf(char *buf, size_t size, const char *fmt, ...); +__printf(3, 0) int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); +__printf(3, 4) int scnprintf(char *buf, size_t size, const char *fmt, ...); +__printf(3, 0) int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); +__printf(2, 3) __malloc char *kasprintf(gfp_t gfp, const char *fmt, ...); +__printf(2, 0) __malloc char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); +__printf(2, 0) const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args); + +__scanf(2, 3) int sscanf(const char *, const char *, ...); +__scanf(2, 0) int vsscanf(const char *, const char *, va_list); + +int no_hash_pointers_enable(char *str); + +#endif /* _LINUX_KERNEL_PRINTF_H */ From patchwork Mon Oct 24 13:24:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 9555 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp518673wru; Mon, 24 Oct 2022 08:40:15 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4FbSwnhu/TKXmhdutjrL+RIYIJR6b+FVWLreMd3mlsEBKPdEMAlSSZ0jPsMxfofatgjL0Y X-Received: by 2002:a17:90a:1c1:b0:20a:e745:bc30 with SMTP id 1-20020a17090a01c100b0020ae745bc30mr77164951pjd.131.1666626014293; Mon, 24 Oct 2022 08:40:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666626014; cv=none; d=google.com; s=arc-20160816; b=IibIAuC1p71Rk/I1cRXYGk1vuzbE1KfijvtBsD7oDGpYW0SRIyaHBx4ocFmwf2QVp3 T9tPb2wV8L4JpCC2GEmdsPXU7XhMq/ckL2SR9hyAc7ZR1PIh45lM81wseUsewSd3l/ri XO5zfsvvyMsS4fHyhCPCYZy7RN/XbH6+6tqMzRK1BhCzpePrDUsyWdWGsTo6YNeCNz9e 0/cTIqysDU4tO9o2cpFFrfEMepWls2KMltDw+VN9i2nyjOkmF5MEhFWaq/pV4UOxzmH6 vfPvzk6agGtEhXi1Z+q1AVdQhB+mQfrnmk3BBmTpKJImvqHEkTYYr0enIl05RLIAJbt3 VkCA== 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=EyvlQZdvuD23TDjlBP1kR3iHPRTaVvqMk687cZskHEg=; b=ucWd5uUjDQHqq3T6DB9q9oWSByHJBlgbEGKfe5ZaSr3nMOJQlY2GGgBLWU33qauohg toCJalcycCxKSKzLxwkKXIHgUShH8ru5xUngT+feCFxnpFomZMCXIGG9HiZoNtfhfoxK bzK1kHNMm68j5I7TA/cI3b4SAmxuGsLIZcRZYCuFd9UqOvS9jLCBR0MvB70GYN5alDGt sXxaCKctxGl38fOEwxYiEO+FNCsdNOW3VhPNtL9C0iUmeH4mZ5znxe/w6DqpII4DW4FF 0Zq8KVOtnj7D8+WyN/Sl0ENgHgQFEFoXUMbPG4vvnAEBhpaXBJLbtm6j6ijYfBxoeuDb kL/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jZRJCgO2; 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 m2-20020a1709026bc200b00177f4ef799fsi32398996plt.9.2022.10.24.08.40.00; Mon, 24 Oct 2022 08:40:14 -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=jZRJCgO2; 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 S231916AbiJXPWN (ORCPT + 99 others); Mon, 24 Oct 2022 11:22:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231522AbiJXPVd (ORCPT ); Mon, 24 Oct 2022 11:21:33 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1062DC06A6 for ; Mon, 24 Oct 2022 07:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666620322; x=1698156322; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ILbdB+RzuchUOaY6BHrudvHVo6rj5y46FZuOl8iY9NA=; b=jZRJCgO2/AvAX49jgMEPCwtTPw3oSPO76bm84xi6V+feh3z6nSAfJgOY JflJvA1hJxEiSQPjM5HfA7u4iYLgyUc9yEuae5fuNT1dzUyy9SclMxSX9 sUlyDjn9U7z/BcvehQJnTtWYzFMVNJRXZndj9dJtbloPS185c9k+VFcEq LmAZQd63u6x/f8KOYHz035bkqG3d/bpVVn04zplpZ80bYv9br8wITzOEr X8GyP/dX4Emx2Xo88FM124+vO4B6YMcmmu54fQ1HSN+sJRmbuXxjWoT++ nq61RnUs14F21yLTxoaJvm80wiefVMz0+HckKJbD0K1UzpVAV3hS7xKiZ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="309101790" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="309101790" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2022 06:24:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="806302275" X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="806302275" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2022 06:24:17 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5139E6DA; Mon, 24 Oct 2022 16:24:39 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Ingo Molnar , linux-kernel@vger.kernel.org Cc: Andrew Morton Subject: [rft, PATCH v1 4/4] kernel.h: Split out ARRAY_SZIE() Date: Mon, 24 Oct 2022 16:24:34 +0300 Message-Id: <20221024132434.47057-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> References: <20221024132434.47057-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747584039988591555?= X-GMAIL-MSGID: =?utf-8?q?1747584039988591555?= kernel.h is being used as a dump for all kinds of stuff for a long time. ARRAY_SIZE() is used in many drivers without need of the full kernel.h dependency train with it. Here is the attempt on cleaning it up by splitting out ARRAY_SIZE(). Signed-off-by: Andy Shevchenko --- include/linux/array_size.h | 13 +++++++++++++ include/linux/kernel.h | 8 +------- 2 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 include/linux/array_size.h diff --git a/include/linux/array_size.h b/include/linux/array_size.h new file mode 100644 index 000000000000..c9cdba26555f --- /dev/null +++ b/include/linux/array_size.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_ARRAY_SIZE_H +#define _LINUX_ARRAY_SIZE_H + +#include + +/** + * ARRAY_SIZE - get the number of elements in array @arr + * @arr: array to be sized + */ +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) + +#endif /* _LINUX_ARRAY_SIZE_H */ diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 7e9612de01b8..011eab2b0e93 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include #include @@ -46,12 +46,6 @@ */ #define REPEAT_BYTE(x) ((~0ul / 0xff) * (x)) -/** - * ARRAY_SIZE - get the number of elements in array @arr - * @arr: array to be sized - */ -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) - #define PTR_IF(cond, ptr) ((cond) ? (ptr) : NULL) #define u64_to_user_ptr(x) ( \