From patchwork Fri Aug 4 05:09:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 130978 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:44a:b0:3f2:4152:657d with SMTP id ez10csp70969vqb; Thu, 3 Aug 2023 23:47:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFyRKUal6yDl1Hxbv67FAyw4u+klhQZMezDygr0JNmwV9BrcShFHDo/2tiVFls68KqniA9W X-Received: by 2002:a17:906:210:b0:997:eab5:f1c6 with SMTP id 16-20020a170906021000b00997eab5f1c6mr774016ejd.30.1691131623832; Thu, 03 Aug 2023 23:47:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691131623; cv=none; d=google.com; s=arc-20160816; b=dWGeU6LhPg/mfC1lm4S8I1e82vEf7Y1XUxZQbmyhBOzST/ankk02yLgfDnzgVXn2Px 1T+yA9VFL0pFwQAAKxRTzJJ9qgIF4jUG84u5UHKGsO+WRnkfBmp8ikdgorJ/VOdhUL2a SfYfE05AaIKZPxKOt7uwIZEX6081fYZMRiTCu0jOae2MQZHMgU7eMoz6/PiIZbeUGmIp hVO90Ty9L3FaBIQ2exSvX7kIIiDc+UzUG8DQH1iIA5YFH3hg0eK45MQtBqZiNP5naP5E e9NiNJuL2+lHBsbnv5JOokG1G4TTkRSvR69V8zdMd1sib201vqszUAvB7Jalmql3UmAG 3lxw== 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=yzXfjqVRxHU3k9rEtOcgYiE9Uo84rKfIOMZJpzda4Vo=; fh=RlRSWf5cfYOl+2dWSWA3PKrgkhRlbogi1MxUQ4TcpRw=; b=I6GDzrn0Ne0WUs1VsDaHHAwYpbW6vNFQn6Dy0hZOrCmUdxuu+t5BpM2nAvyjAgDW4u pIlYmeMFZ6k9+WAmrJiabGd1+/s0FOvF6Mv+JVuuHrf3cX06Rr1TZwldDoiQvO2HLtkd 5z2PSIYUCL8BMhK47oPYKCgz3UzXlghsj3KVt7EyB8L5ixqDoWiE/osf3nD0w1kuT/fn BJ0QPDo2yG+7jLwzXyaNeNjLB7KPDoCGEiH/xL2IEgO4wdYbkjVYVouVzY2oGfLfz8UX H/qfG91UKqU4PKAK3bkDIZdY5HCTxByd0nN/Uwu5ONSi/ZTUftW5eQGvG62bNJogEd+Q UyZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NFfvv2gq; 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 y19-20020a170906915300b0099ca3cf3c38si405509ejw.120.2023.08.03.23.46.39; Thu, 03 Aug 2023 23:47:03 -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=NFfvv2gq; 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 S232227AbjHDFMJ (ORCPT + 99 others); Fri, 4 Aug 2023 01:12:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233352AbjHDFKA (ORCPT ); Fri, 4 Aug 2023 01:10:00 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13DCA4229 for ; Thu, 3 Aug 2023 22:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691125768; x=1722661768; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=0BVzKJgnxxS0Kjt1kPZeP946iAiq2X6MYsv63AwKm1o=; b=NFfvv2gqQ9ld9n5Fcnd03b9RW/yNHO2R7eL1/1BEZhLdfIjwdX7irm+A LNsMjeFemcE98TIDsxSMSL7REEEYef+pSeDVDd6GpksZZmDzGV6UahKwP Acv8kedcZ5KwLN5Mio9obLUd6mUt6NCoNtXJQHl9EBf4Xtee2vJjHS6f+ dhgZZdHkSlL40HnDzLUYQqkD9ceKG1zXYvRvyzMu7Vzoox9/vwJcH75ar 3MTrpd5nCtuNztZlVBy0VevPZkIqMDf7lKGsaWDntI9DOPP/SVmo6UrGD hDIJd5+QAajn/VK5X71qjIRz8O9392NmmHknlj2vvjeki6qaz4+FZldNg A==; X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="368971037" X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; d="scan'208";a="368971037" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2023 22:09:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="976399793" X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; d="scan'208";a="976399793" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga006.fm.intel.com with ESMTP; 03 Aug 2023 22:09:26 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 697E9170; Fri, 4 Aug 2023 08:09:37 +0300 (EEST) From: Andy Shevchenko To: Alexey Dobriyan , linux-kernel@vger.kernel.org Cc: Andy Shevchenko , Andrew Morton Subject: [PATCH v1 1/1] math.h: Document abs_diff() Date: Fri, 4 Aug 2023 08:09:34 +0300 Message-Id: <20230804050934.83223-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.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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: INBOX X-GMAIL-THRID: 1773277579676794879 X-GMAIL-MSGID: 1773280033637748593 Initially abs_diff() has lack of documentation. Add it. Suggested-by: Andrew Morton Signed-off-by: Andy Shevchenko --- include/linux/math.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/math.h b/include/linux/math.h index 336e3e3678e7..dfba59b59998 100644 --- a/include/linux/math.h +++ b/include/linux/math.h @@ -155,6 +155,18 @@ __STRUCT_FRACT(u32) __builtin_types_compatible_p(typeof(x), unsigned type), \ ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other) +/** + * abs_diff - return absolute value of the difference between the arguments + * @a: the first argument + * @b: the second argument + * + * @a and @b has to be of the same type. With this restriction we compare + * signed to signed and unsigned to unsigned. The result is the subtraction + * the smaller of the two from the bigger, hence result is always a positive + * value. + * + * Return: an absolute value of the difference between the @a and @b. + */ #define abs_diff(a, b) ({ \ typeof(a) __a = (a); \ typeof(b) __b = (b); \