From patchwork Thu Mar 23 15:50:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 74104 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2992898wrt; Thu, 23 Mar 2023 08:57:17 -0700 (PDT) X-Google-Smtp-Source: AK7set9Ls1kMiyFPAGysnqk/i6j8nbFfaByVf7IVWc6N+S3PyyXdIcNy8pKAI/x5WNLDJeldFK4s X-Received: by 2002:a05:6402:1c95:b0:4af:7bdc:188e with SMTP id cy21-20020a0564021c9500b004af7bdc188emr6612680edb.16.1679587037622; Thu, 23 Mar 2023 08:57:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679587037; cv=none; d=google.com; s=arc-20160816; b=axHpDVNm9qtSXi4eI/8cOQxihKBiXcBr5gnO52B/ZEDQh4E/fFDiaykarKMnen299L AL2ftO9VxWh4w/vC5t7kMDCMCkicvviO9HlTWXCyV6DvnZxniyyD2kGTUBuMIlVoxCjG UrI0iqpyofahzqjjFxqnMrrQcRUJWVWpjMkfPp+oucJTERyV1CXuKW8niHh3SSUx5vQX Fa4BYRkXWu+++0OAf7nciTy9jcUuGlrX6buf1hJ0NGIi20g9uWUWHK+EkBJiseBAB4V5 N1hQkHGSe+F+MHkOmpKROEcEzCayKTAPWI2ZYS+qYqpWJOmDbI5xxfIOlfLzbiAB+U+H DfyA== 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=JXcBM23C0CRqoaHoMa5T/rmYyNMllUk9WUQjp2X3po4=; b=jF0RKzXKVen+tblDvvAYvOzK0T6MdFR952EcHxZlovjhfV6787FLiMqKREGFU/PIN+ I/hJ6EYIcY1o3VB8WmAHYG/H0EASuFe81FwlcBQyN9r3OjYkQlz+2121BoQ3o25ht9uk YplJdKoZKjFm1NEvI7/ZG0itiL9R+IEtS7HF20hCr//u0Mf107ivWKq9AMwOFfQCicHs zI+me5wNRTbirQjWH8Hoh/PqXl3sdeMSFrlZVLP1Kjt1wADDVtl0D/egPjHk0D2A6eXO 1B5PdM6LvkaxmYql2JioinpoyBvjXV4ErWKlJ2oRYvUWXsvA1YjTRTWhQhcF1HV6I9ff PWYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=APczLv3c; 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 qf29-20020a1709077f1d00b00931e0d277basi19662421ejc.389.2023.03.23.08.56.30; Thu, 23 Mar 2023 08:57:17 -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=APczLv3c; 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 S231713AbjCWPuC (ORCPT + 99 others); Thu, 23 Mar 2023 11:50:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229775AbjCWPuA (ORCPT ); Thu, 23 Mar 2023 11:50:00 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3B312724 for ; Thu, 23 Mar 2023 08:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679586599; x=1711122599; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=vRbqxKRfJQyo9rp8OOe6y4TT1npJst8dzHA3s1UC37U=; b=APczLv3cvW6PDTsCEifKzgHoxsIl3zGmatGRRMqmL6ClZ6PO/R9I42tn FUXtgXA6IPSR2NFiaFKOQnMrqBcAbh/jytVXYfBQG4KBzyHtjFIY3XfHG iYXZzHKfbjlAKkfwAD9MCXb+H/1q3SRKVaWYdYxLCWQRHpOMTfWWGMZ/K gf+BDArSdgMF95KgZugKKJprUIAJwvusFHbkykqdMENDIT/De1ZRLtsMc qilCkXnPbz4MEKjLg/seHKN9m9CQZcsSGIjoPFE617Z4jmx/9QdYWNmEn 1tzhNO1aTzk90IHA+5RCSZfUQmovbGm1xKNuUekHvGnUh67W+LPTvfgRy w==; X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="341081518" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="341081518" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2023 08:49:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="712716318" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="712716318" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 23 Mar 2023 08:49:47 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2B424176; Thu, 23 Mar 2023 17:50:33 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Rasmus Villemoes , Andrew Morton Subject: [PATCH v1 1/1] kernel.h: Split the hexadecimal related helpers to hex.h Date: Thu, 23 Mar 2023 17:50:29 +0200 Message-Id: <20230323155029.40000-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b 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?1761174657391621806?= X-GMAIL-MSGID: =?utf-8?q?1761174657391621806?= 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 40bce7495af8..0d91e0af0125 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -263,34 +264,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