From patchwork Thu May 18 15:46:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95984 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp606229vqo; Thu, 18 May 2023 09:07:43 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5KJO8mp86VywuxlqLkEPwZ09+cLwCAjTvgv8Vz6SWltKaeHnSUz1AoH01dr60uSo+l1PmN X-Received: by 2002:a05:6a00:b45:b0:64c:c5c0:6e01 with SMTP id p5-20020a056a000b4500b0064cc5c06e01mr6415828pfo.31.1684426062818; Thu, 18 May 2023 09:07:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684426062; cv=none; d=google.com; s=arc-20160816; b=1LrOahHy5WWG+Ehbxt0tooemYe2tYmIYqlTBWiqyoIASjVILKpCM2zq7yjjYhaWYJu rQ63p3lxZa+WFygcIM+W+lGN+V+6flCeZzj+TqH6OjqFmo+OlXZSEl41H8scCHIRVcdX jKPhX+sm6SfCVyAAnELe+CXoNE+Sq4mHQX+epvrU+9bVwKGy+skBfjRujWWGu1/1vuII o9xo8MpO4r2mkvR5sc0jJfuLbR4gnrfLKOpXX/wUnqRu+0MOZKdxbRlrGbv21phIOrpr 782mXl6tY2rVWMhrQaOmuBWZmm4jm0mfb8TQkb0V9o/FWr9keTP52JYhPy1d5fYiYJW0 h/lQ== 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=Ymkh61skTg1zPEDqswzbYNZ5qZ7vCuKjURUbxRjnrR4=; b=iZIoaAGLCesL6f0fb9Lgo+LRSijgA5DeF+/wtk0DZX9ezsjK5ln35iSmq1B80moX7m lWXi2X/WgR4UmJf6q9wkcxAKVvhaQ7aaLvLnP9Xn1VV9SE2Y4I/iCcMMgxor18cBzf/R wAM0pmuLsGoIv3opPTd0NZ/aK3L7cWaM2iyYezga5UWg+bgl9xkQgJm6CnF+psna6qYV TBGRe8vJveNvFCfiWdtt79dWpJh4+aXNpajoy4rRYfxn5N9FHQNtD//ZPsGjy+eRa0cL VNs7Irxi2GFSlEft54rQKgq2y7Mtk/YJWJ3OZDQqpmjeoz4T/YQK/FJuUNIOQWx1mFlg D/Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=Zl19tS8K; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b26-20020a63931a000000b00525030ba5acsi1743706pge.279.2023.05.18.09.07.27; Thu, 18 May 2023 09:07:42 -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=@gmail.com header.s=20221208 header.b=Zl19tS8K; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231812AbjERPrH (ORCPT + 99 others); Thu, 18 May 2023 11:47:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230257AbjERPrF (ORCPT ); Thu, 18 May 2023 11:47:05 -0400 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEA79FB for ; Thu, 18 May 2023 08:47:04 -0700 (PDT) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-3f423ac6e2dso14731395e9.2 for ; Thu, 18 May 2023 08:47:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424823; x=1687016823; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ymkh61skTg1zPEDqswzbYNZ5qZ7vCuKjURUbxRjnrR4=; b=Zl19tS8KTowE+6PyugbQz3d+LqX6WWctHiadQ+HtWAmvSLgBd/Ahff1iTm/M8wuNOC Mwv7mqEcBwGYBnJd3yhxNI7OI6uaWSu9POQPlHErxYKjCBVsSmBXDG9ELloXSJSSLRbM F1QETn0xVEPlj1YZLOc9vb9vi3it52xTGItQx7NVGruS5P9eqm8+li7IetKsuTDgz1Zc KG2Pybtx34uxG35OD/dALu2xI4VsFXHyfbgb9HiFfV83wqu3NlyS+SLDe/ixqbP5kYu8 vuO1GMbvQ5CpoqLk8IFC4aoi4EjOTeHoGnBkEgvOu8p2oGZZSzrrSmwF7bz/BT9pE82U yJ6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424823; x=1687016823; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Ymkh61skTg1zPEDqswzbYNZ5qZ7vCuKjURUbxRjnrR4=; b=SgaUwjq+VlVnXfxitzqdVobv3r67VxCDreIcC1dTlSI+wpibiPnwNZJpiod2VYUWHX r+uC5B3Vv9v28UNQ0ES8qgAlWXsY1MSoqI8OELbWx7golF+7DQXoL6cC9EO4U5TNXHO9 0zVeGiub/HNxTn/HiIrFNXBwqxFjfP/+AVzqxJ2/hTHzHqkY34DIYGmadptxbD8AVD1O 0WQNDgS8+cmcOiJSY5IwLV4aQ5WKwAIjAd0f1di3pOSc4o8eesHNylodfA8KGokdHnLL LZymeM4L8UeXzOqjQ9ltCzWOZM2djxkKqOafPWwEK11avFFnE21Fv6XWKLgEw5tUCzZv jEzg== X-Gm-Message-State: AC+VfDxTI4P30cbI0eTvNcrk+lN12GIhJOn37+cEF0dlFr6c1zxUpCox pFBwCZdyYI5SjQESrLigTQ== X-Received: by 2002:a05:600c:210e:b0:3f5:39:240c with SMTP id u14-20020a05600c210e00b003f50039240cmr1755001wml.27.1684424822916; Thu, 18 May 2023 08:47:02 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:02 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 1/8] auto, kbuild: flatten KBUILD_CFLAGS Date: Thu, 18 May 2023 18:46:42 +0300 Message-Id: <20230518154648.581643-1-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248742927164897?= X-GMAIL-MSGID: =?utf-8?q?1766248742927164897?= Make it slightly easier to see what compiler options are added and removed (and not worry about column limit too!) Signed-off-by: Alexey Dobriyan --- Makefile | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index f836936fb4d8..10fcc64fcd1f 100644 --- a/Makefile +++ b/Makefile @@ -554,11 +554,23 @@ LINUXINCLUDE := \ $(USERINCLUDE) KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ - -Werror=implicit-function-declaration -Werror=implicit-int \ - -Werror=return-type -Wno-format-security -funsigned-char \ - -std=gnu11 + +KBUILD_CFLAGS := +KBUILD_CFLAGS += -std=gnu11 +KBUILD_CFLAGS += -fshort-wchar +KBUILD_CFLAGS += -funsigned-char +KBUILD_CFLAGS += -fno-common +KBUILD_CFLAGS += -fno-PIE +KBUILD_CFLAGS += -fno-strict-aliasing +KBUILD_CFLAGS += -Wall +KBUILD_CFLAGS += -Wundef +KBUILD_CFLAGS += -Werror=implicit-function-declaration +KBUILD_CFLAGS += -Werror=implicit-int +KBUILD_CFLAGS += -Werror=return-type +KBUILD_CFLAGS += -Werror=strict-prototypes +KBUILD_CFLAGS += -Wno-format-security +KBUILD_CFLAGS += -Wno-trigraphs + KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_RUSTFLAGS := $(rust_common_flags) \ --target=$(objtree)/scripts/target.json \ From patchwork Thu May 18 15:46:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95983 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp605181vqo; Thu, 18 May 2023 09:06:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4SCu93SdmDEXqquu7J9jfI+biK7gbvj0B+oJ0voJnX944qRteKCyRe7m2f+CrSkKkK80ge X-Received: by 2002:a05:6a00:1252:b0:638:7e00:3737 with SMTP id u18-20020a056a00125200b006387e003737mr5469129pfi.23.1684425996155; Thu, 18 May 2023 09:06:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425996; cv=none; d=google.com; s=arc-20160816; b=nIfJ8acqwzk519m1uI6RUGnQcv2U5Cjp3rexBERvYVOeSa7Of/kxvEtuJAjT1yPRir KQ0K8KBso81mw64o18SI5Vk/erv9asUj6GSWIk7evCTCdbiXkI4lTl6yK5Q8U0PyhdkY fWmMbatADl8LquCmrOJNUqcgd/clqfGDBEJX9OdVgyR5u9JuCAdDcDDwgbZbMgtnTdQT Idy0Xfyrf9+6nP5kE66szVO6dyFsajgC3OWk8iR1/nf6g7619bXzrG0Fq1nV4zu62fU/ eViY8SLYGPsuowtlf7MxTnHm3ccMUEgflAsPuzaa7PiU5RrDJD9gLs7Z35v8ApkgZmaM CTNg== 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=HjVNT6FV9uD4ZIBTI4+Tqe4kfo6zfAreNXmRgrWoob4=; b=gDArmRRgvS3f1eRGSgaw7P9DzpE1JbrEN4+Xn5xFr5DIQGo86LvbklmodDqzrsNDH7 a0IVO4uJ/aP9GOHGnVBE1DYHKS/3dfYvy5FYfy2qTBAuDfA1b0S0bNvibTNUhPsg83NT zhJm0mDuK8ZMJiTMNWzp7mE3Z+jjA4lxncn4KUl0jTNuRQ45wHMswAbF362WXxVLEWKA 267IA06In84BEC8MHNShtqbkkcR85x46Xo+eBgOl37oPxmrfdQQwFrmoUlG5gyfC1FdT n0fp0WfaQcCbD9ISfzAnJ1yP0rtXK7orcIg+gY89dY6VXdRyq7QMQX7D9FIRWHUuYopD DmCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=r6xOHzDg; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m30-20020a63711e000000b005348202cabdsi569869pgc.4.2023.05.18.09.06.18; Thu, 18 May 2023 09:06: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=@gmail.com header.s=20221208 header.b=r6xOHzDg; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231855AbjERPrJ (ORCPT + 99 others); Thu, 18 May 2023 11:47:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231604AbjERPrG (ORCPT ); Thu, 18 May 2023 11:47:06 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C2FB107 for ; Thu, 18 May 2023 08:47:05 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3f450815d0bso21733695e9.0 for ; Thu, 18 May 2023 08:47:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424824; x=1687016824; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HjVNT6FV9uD4ZIBTI4+Tqe4kfo6zfAreNXmRgrWoob4=; b=r6xOHzDg4+fr+nUwFvipwrUF/Ms0L9MPqCQImkIGB7GqWvghxdL8IdZL8QhogWsfJ2 Cnjxikff/hDjS9dEtP/5KyqLe1ul7qW1AtFHLDJgcJc9xTMWGnKQhLMtErz90RiNuFs2 UDHKusDn8oU4ZrKFbQZAn7ssU06rzCA93v+tA+anlnmgBA+9xbWcIsyUp7jVhbXOkzwv NxuRElXOBw1axyRgxcRjPhLHTHBCNUtW0VinZ38/rG8YgyZd6uHV1DaOGdTskw+IAtA6 CiPq3GfjvTFGludfvziDgNZvj1p3tCIAlE3o4Bkbee3AA5F9KpvZKPZWNwZcbqOWB/+g pZZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424824; x=1687016824; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HjVNT6FV9uD4ZIBTI4+Tqe4kfo6zfAreNXmRgrWoob4=; b=T2iPGWN53CHhHbctMSxsdYxJakhH2y5zYhHcFiig3OQChBS71FJhwTjx0a8re1V4Tc QGcByw4ku415rgny9OOauFYfy8H9x7QrpzgAVTkDcfD2QDtD0Pk3lIIkBcxJkZha4g+M PSCrmnx1ua/PAP+H4WNFd2tFvahBsUiqx7pf7+k8kFWf95z6z5rPlrg2SkXDOdBD/h+B 0iW8SajsqzoMrtrd9QApJzBAGwuX1t0jz7k8ly10pklCPDa5rCsMN/LuDo4WxXlwTPSp e7up6J/T8EhB6cdc7/zf+eq9U8Deu16KmGe8KEDfgo4gxD5oOBut1w/lMR/a3hDz+34m FFpg== X-Gm-Message-State: AC+VfDw3PWqO5xR7yB5N10OjbBHZwrAdr3nGxEzmCXzx90RNXVR5G1gj IIzgPGXaA8Isr5OIdo5turXN1SVeAA== X-Received: by 2002:a05:600c:3659:b0:3f4:23e5:5bb0 with SMTP id y25-20020a05600c365900b003f423e55bb0mr1933202wmq.5.1684424823524; Thu, 18 May 2023 08:47:03 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:03 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 2/8] auto: add "auto" keyword as alias for __auto_type Date: Thu, 18 May 2023 18:46:43 +0300 Message-Id: <20230518154648.581643-2-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248673088180096?= X-GMAIL-MSGID: =?utf-8?q?1766248673088180096?= It has similar semantics to "auto" keyword from a language which can not be named on this mailing list, in particular: { int a; const auto b = a; // const int b = a; b = 1; // compile error } { char a; auto b = a; // char b = a; // no integer promotions static_assert(sizeof(b) == 1); } { int a; const auto p = &a; // int *const p = &a; *p = 1; // works because const is applied only to top-level } It can be used to save on macroexpansion inside macro forests which use typeof() somewhere deep enough. It is cool regardless. gcc 5.1 supports __auto_type. Signed-off-by: Alexey Dobriyan --- Documentation/process/coding-style.rst | 31 +++++++++++++++++++++----- include/linux/compiler_types.h | 2 ++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst index 6db37a46d305..5bfa605c8bac 100644 --- a/Documentation/process/coding-style.rst +++ b/Documentation/process/coding-style.rst @@ -1018,7 +1018,26 @@ result. Typical examples would be functions that return pointers; they use NULL or the ERR_PTR mechanism to report failure. -17) Using bool +17) Using auto +-------------- + +Use ``auto`` macro-keyword (alias for ``__auto_type`` extension) in macros +with "evaluate argument once" idiom: + +.. code-block:: c + + #define min2(a, b) \ + ({ \ + auto a_ = (a); \ + auto b_ = (b); \ + a_ < b_ ? a_ : b_; \ + }) + +Read https://gcc.gnu.org/onlinedocs/gcc/Typeof.html before using ``auto`` or +changing anything with ``auto`` in it. + + +18) Using bool -------------- The Linux kernel bool type is an alias for the C99 _Bool type. bool values can @@ -1048,7 +1067,7 @@ readable alternative if the call-sites have naked true/false constants. Otherwise limited use of bool in structures and arguments can improve readability. -18) Don't re-invent the kernel macros +19) Don't re-invent the kernel macros ------------------------------------- The header file include/linux/kernel.h contains a number of macros that @@ -1071,7 +1090,7 @@ need them. Feel free to peruse that header file to see what else is already defined that you shouldn't reproduce in your code. -19) Editor modelines and other cruft +20) Editor modelines and other cruft ------------------------------------ Some editors can interpret configuration information embedded in source files, @@ -1105,7 +1124,7 @@ own custom mode, or may have some other magic method for making indentation work correctly. -20) Inline assembly +21) Inline assembly ------------------- In architecture-specific code, you may need to use inline assembly to interface @@ -1137,7 +1156,7 @@ the next instruction in the assembly output: : /* outputs */ : /* inputs */ : /* clobbers */); -21) Conditional Compilation +22) Conditional Compilation --------------------------- Wherever possible, don't use preprocessor conditionals (#if, #ifdef) in .c @@ -1186,7 +1205,7 @@ expression used. For instance: #endif /* CONFIG_SOMETHING */ -22) Do not crash the kernel +23) Do not crash the kernel --------------------------- In general, the decision to crash the kernel belongs to the user, rather diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index 547ea1ff806e..bf0ac2a04154 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -4,6 +4,8 @@ #ifndef __ASSEMBLY__ +#define auto __auto_type + /* * Skipped when running bindgen due to a libclang issue; * see https://github.com/rust-lang/rust-bindgen/issues/2244. From patchwork Thu May 18 15:46:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95975 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597352vqo; Thu, 18 May 2023 08:57:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4/yfFymfKGfw+5BaXq1Og6RYIHOJciOiDPQijkkzIHVgR4FfcKArzibL7SV73gic+th8r0 X-Received: by 2002:a05:6a20:2447:b0:104:873:c3be with SMTP id t7-20020a056a20244700b001040873c3bemr153862pzc.12.1684425477150; Thu, 18 May 2023 08:57:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425477; cv=none; d=google.com; s=arc-20160816; b=Df6nOfo206BhluDoOFQ7REUxBDUow2yKp23BJ9mZ9+cuLszJkNuhyoREEEEpLI7C+Y cHlbHCqZzb8T5cbHVEbdfNlPWxpvHgkbB/IgWbtGq2p44wSeHLEsdqjUqAtt9l5dwTtl nBrvQxvu5jEheikcrfaLQDWpJzjxAvtq/+BfXnJcPm2V5nuqjhVQADP80UeQ+xB5NTlS dbxlf68lpeG8lOqRWE2HlqfWqNUg1VvahbW/z3cX9Ye1Ipo4/mjByFNo3wRg5cT8E9wf XFry6ATa694oxZiKPi7uCn+vs0StHSRlervtKb9B7wdrz8F3nDCjLra9XpNi0/40jb1O jeCQ== 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=tdB2mLN/Jjc5vavA2rUP8u1cWstj8G55vSclDdDMf8Y=; b=OimJME3dRcqOU9IsBY78UEghVUj8O5Kp7jhmollolTr+e4WMBsaQIueDulRJmFsVH+ fJw4+W55a1LaGhtTs/2LsXT0Li1APO320133KFDFd6L7u7mbKzFxg7g/xfukdnOtjSI8 yPI/LbA0qfcfg7hUmo5PIvijsuq6gpLsH9lJ7OOYscAanweXCQy2f/5SCdMevVZ1+Aw1 Gt7YIJcE64U7SubfWVTMyw6ZNvT3sN4kFO2GECTJYVvHfeXjuDc8yKAoF5OUmPlco449 T1WlKrUxq4I77saQvnrhpYgl00yipK7kQOv+kSGxH/zugJc0OzpOkZUrRc0x49htkSBa yu/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=ZqENWPXk; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f26-20020aa7969a000000b0063b7b7712a5si1852692pfk.304.2023.05.18.08.57.42; Thu, 18 May 2023 08:57:57 -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=@gmail.com header.s=20221208 header.b=ZqENWPXk; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231868AbjERPrL (ORCPT + 99 others); Thu, 18 May 2023 11:47:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231663AbjERPrH (ORCPT ); Thu, 18 May 2023 11:47:07 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1673E124 for ; Thu, 18 May 2023 08:47:06 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f4449fa085so14078155e9.0 for ; Thu, 18 May 2023 08:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424824; x=1687016824; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tdB2mLN/Jjc5vavA2rUP8u1cWstj8G55vSclDdDMf8Y=; b=ZqENWPXk4bNpT73UyhZxr+EWU3dR+CGJbtg+5MvivVVN4uITH/6z2v85aZyZbmbbec qFrfrfB8SbX4AibKZ1FLL4bK4kKK7VAPLskys+I3/h29zrEqoQfvbL4h50xorOfPj8EE ixvLYBdZG3KR+aCo+c+3rAzJKwDv59ZIuPmLplKkHPfYgSNHEhTT/8RiQGDNbKnlg+PN N8EHlRpmxzu2ZHu6eyqeoyEcPNIBzRfXIqhdPByKnhSFrGaGxtVbuu1E2uSR9o7M3Xjy rKkpA1uzoBrwRjTDL/hIOwC88Niczo0O/samClXRll4dBTZpID93JKKXeHSBt0OCz5Ml dQ4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424824; x=1687016824; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tdB2mLN/Jjc5vavA2rUP8u1cWstj8G55vSclDdDMf8Y=; b=lImnqvrD2Sw/2FFAl3S232GvhNbRQxt3kieWRBKtgkWrZupJe5Gpbd6yo6hTpTw+Xl X3vKOFMd3Ab7Hry+bjaT980gDDjo4V879PencYTNSw/jnbmnxLFpt9wnlHybyizh+YwT qjUgoFKeh1TzZn/Rt4JzqvpEGSYU8vkwlJMjCusRw1v6DN9Cv5DFQOcR4ZIz0SE75+/u ZfdfmKztvI+AI8P2u/ZMfPAfej41jjZxg/pba7xvJpBn4h6eFhz1LMcHdt/hDkvQ9JG/ iNxyp+JUns1QW1H8mB6vciEPVZwtDaqyL3xyBXPkqQ2Vkc4X9AFMu/9a/asiioLEQPRS ebbQ== X-Gm-Message-State: AC+VfDzoQJfjrr6ANCkkNOZ/xZyaUz2q8NA+h+zb2VO2Feab8srVjVbX aqsP77mSa3sxrvtUInOc2rq9K+TQZA== X-Received: by 2002:a05:600c:218b:b0:3f4:24c8:f7c6 with SMTP id e11-20020a05600c218b00b003f424c8f7c6mr2024879wme.16.1684424824191; Thu, 18 May 2023 08:47:04 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:03 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 3/8] auto, proc: use "auto" instead of quite chatty macros Date: Thu, 18 May 2023 18:46:44 +0300 Message-Id: <20230518154648.581643-3-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248129545160903?= X-GMAIL-MSGID: =?utf-8?q?1766248129545160903?= Signed-off-by: Alexey Dobriyan --- fs/proc/inode.c | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/fs/proc/inode.c b/fs/proc/inode.c index f495fdb39151..88644891b876 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -309,9 +309,7 @@ static ssize_t proc_reg_read_iter(struct kiocb *iocb, struct iov_iter *iter) static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos) { - typeof_member(struct proc_ops, proc_read) read; - - read = pde->proc_ops->proc_read; + auto read = pde->proc_ops->proc_read; if (read) return read(file, buf, count, ppos); return -EIO; @@ -333,9 +331,7 @@ static ssize_t proc_reg_read(struct file *file, char __user *buf, size_t count, static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos) { - typeof_member(struct proc_ops, proc_write) write; - - write = pde->proc_ops->proc_write; + auto write = pde->proc_ops->proc_write; if (write) return write(file, buf, count, ppos); return -EIO; @@ -357,9 +353,7 @@ static ssize_t proc_reg_write(struct file *file, const char __user *buf, size_t static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts) { - typeof_member(struct proc_ops, proc_poll) poll; - - poll = pde->proc_ops->proc_poll; + auto poll = pde->proc_ops->proc_poll; if (poll) return poll(file, pts); return DEFAULT_POLLMASK; @@ -381,9 +375,7 @@ static __poll_t proc_reg_poll(struct file *file, struct poll_table_struct *pts) static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg) { - typeof_member(struct proc_ops, proc_ioctl) ioctl; - - ioctl = pde->proc_ops->proc_ioctl; + auto ioctl = pde->proc_ops->proc_ioctl; if (ioctl) return ioctl(file, cmd, arg); return -ENOTTY; @@ -406,9 +398,7 @@ static long proc_reg_unlocked_ioctl(struct file *file, unsigned int cmd, unsigne #ifdef CONFIG_COMPAT static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg) { - typeof_member(struct proc_ops, proc_compat_ioctl) compat_ioctl; - - compat_ioctl = pde->proc_ops->proc_compat_ioctl; + auto compat_ioctl = pde->proc_ops->proc_compat_ioctl; if (compat_ioctl) return compat_ioctl(file, cmd, arg); return -ENOTTY; @@ -430,9 +420,7 @@ static long proc_reg_compat_ioctl(struct file *file, unsigned int cmd, unsigned static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma) { - typeof_member(struct proc_ops, proc_mmap) mmap; - - mmap = pde->proc_ops->proc_mmap; + auto mmap = pde->proc_ops->proc_mmap; if (mmap) return mmap(file, vma); return -EIO; @@ -457,9 +445,7 @@ pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned lo unsigned long len, unsigned long pgoff, unsigned long flags) { - typeof_member(struct proc_ops, proc_get_unmapped_area) get_area; - - get_area = pde->proc_ops->proc_get_unmapped_area; + auto get_area = pde->proc_ops->proc_get_unmapped_area; #ifdef CONFIG_MMU if (!get_area) get_area = current->mm->get_unmapped_area; @@ -555,9 +541,7 @@ static int proc_reg_release(struct inode *inode, struct file *file) struct pde_opener *pdeo; if (pde_is_permanent(pde)) { - typeof_member(struct proc_ops, proc_release) release; - - release = pde->proc_ops->proc_release; + auto release = pde->proc_ops->proc_release; if (release) { return release(inode, file); } From patchwork Thu May 18 15:46:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95976 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597371vqo; Thu, 18 May 2023 08:57:59 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4K52U7ULZZO/NKDY/Db7M59USyFMP2J85asl81RppOKbemhWDiXZIxT+BR0USIH9bkWDoM X-Received: by 2002:a05:6a20:938f:b0:e9:5b0a:deff with SMTP id x15-20020a056a20938f00b000e95b0adeffmr212485pzh.22.1684425479489; Thu, 18 May 2023 08:57:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425479; cv=none; d=google.com; s=arc-20160816; b=QJWMm8A3YhUa3gbk1rvSWtOP1B3yvN7Zj6sBd3IJAEIgdbDaILL+6Kcz3x/ryC61Th /QggG+/NmRt9KNYG5dLlcaqhyABRhDqljqiPo4l0vXvMKb5h7v0A8lld3PmLoCUY7w89 nauwI5YICHNmhjlb1u8CImVi0EIH1DVi2eTiWgtCE3K9Pv2SAYTFQ7yZaC86dbt9D3mm qkQce93mOR/NkW1Fbw+34yIq3Nz9Cz3EVG1aPH1z2SPXiWuJEY516SK85//feNyY1HDs vkiIIHNefvND519ZNoK7jy5h+Db45Ojh2OvqhvfzRtJFUZ9wD8GIecfm3zULnZqPS6vg dXbw== 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=8ve/cpik81IfQFwwxkwJiJ7Zs8fZIBEq6Wc7Ue2fBls=; b=fEmSCmzMZPlKvwIs5CI2W4hFrRW+YPSICqNQmbUZ+svwrtE3vCcMuzZJSG5SKCmgni NAu+I8yaLyjI6/SFEbHBBPh4HGN2hSD/mnFwXX0F38I3rUsvvVP0THLGy76yNwYLvUhF lnp1ax2zeAEa3sZs2stVKWSHY6TWVB0CJbBNibgRYUiveWvyAro+JH0CKo82zYPxwvji WQ3d1gM/Pl5rsgj+uxWwfXHtB5DWew4OjMO2sC78dHnzXBAlVFuJdO4HVZWx+tn5u+Sv iw5miJ6cZXuKYoeh4k/fP4pPAdr9QD5QHg14KpO9AdhyavI5VJQCPE2ewuodeadSML8k 8F7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=lsI2DSrH; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p6-20020a17090a930600b0024bfc621e23si4271390pjo.42.2023.05.18.08.57.44; Thu, 18 May 2023 08:57:59 -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=@gmail.com header.s=20221208 header.b=lsI2DSrH; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231895AbjERPrO (ORCPT + 99 others); Thu, 18 May 2023 11:47:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34110 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231808AbjERPrH (ORCPT ); Thu, 18 May 2023 11:47:07 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95F41FB for ; Thu, 18 May 2023 08:47:06 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f49bf0223cso21395785e9.1 for ; Thu, 18 May 2023 08:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424825; x=1687016825; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8ve/cpik81IfQFwwxkwJiJ7Zs8fZIBEq6Wc7Ue2fBls=; b=lsI2DSrHa9zC8aT9c+6eXVcxX7o6d2X/z+wHVjoR66sJWgSYB8wQumEIgyVQUvJpck Y7xyVZAfewScZhSCGi3v259JkOJ63Z6Vb7Eonv2cXBfFsS7EFDNAnEToLYJDDJi0pOnR 9o3qSzc4z9WMdD07UgGX3gbyXHjLfy+oiW52tFbZdJv9nhPksKo89tERGReqtkpJ6tkm ObNWsU6gmtY3euSvKGRLS2/pJU38eGVy1fHGi0NIOLOtZY4hA2/A5MiBCRVrya4SleGl 4YiFcPPoX9pALrP77/LTs2eKo4favTnw9gKnvppkSEex2ayIwI9Y/7tBZUdPyAOvEg6/ ZrKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424825; x=1687016825; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8ve/cpik81IfQFwwxkwJiJ7Zs8fZIBEq6Wc7Ue2fBls=; b=MdMDDhh4vD7d8B4R89qnx7KWgpkYCE9vnlBwUvEzb+8TxKETBgBMUOz8ybLsEbxpCY bNLW7/KToCxTL65nBcLN4NiK6hIS86M9dD2feyW5EKtp79p6kVIJpVBpt4PwzYR00ySK eJQbOQfnwXGdToec28Iu8ZQkPgHAOYly5/Mjt0DH6ZqF/r17AblZvngl6QcT2d96mUSE IO9Gho4N8JN3JMki7iuo6WAA3pKKgUpb7e+D8QENLXGbwWyEZpUm1wime0uNCaPClWY9 qQfDpnG7DURXf2IKzoMOE6ACvpoEZ/Q8Zvtnvii//h0iWN8ux7G78nuctvu95z+r/day z4Pg== X-Gm-Message-State: AC+VfDyDq0MXcrRBvjybjtGKE/S8Brl/aQIUJeMJo385XFioPi9AMKW1 gwiay/4NfnX0J9Lh56zjt5wx60Zmwg== X-Received: by 2002:a7b:c5cb:0:b0:3f4:2415:617c with SMTP id n11-20020a7bc5cb000000b003f42415617cmr1900235wmk.6.1684424824877; Thu, 18 May 2023 08:47:04 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:04 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 4/8] auto: promote DIV64_U64_ROUND_UP macro to function Date: Thu, 18 May 2023 18:46:45 +0300 Message-Id: <20230518154648.581643-4-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248131483982859?= X-GMAIL-MSGID: =?utf-8?q?1766248131483982859?= so that people don't convert it to "auto". Second argument is cast to u64: u64 _tmp = (d); so it's safe to make it function argument of type u64. First argument is used like this: (ll) + _tmp - 1 which is typeof(ll) + u64 - int If u64 is "unsigned long long" then everything will be promoted to it, so making promotion earlier in function argument is OK. If u64 is "unsigned long" and typeof(ll) is ranked lower than "unsigned long" then it will be promoted to "unsigned long", then it is OK to promote to u64 earlier as function argument. If u64 is "unsigned long" and typeof(ll) is "long long" or "unsigned long long" then expression will be promoted to typeof(ll) but then everything will be truncated to "u64" when passed to div64_u64(). Thus having type wider that "u64" doesn't really matter. Signed-off-by: Alexey Dobriyan --- include/linux/math64.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/math64.h b/include/linux/math64.h index 8b9191a2849e..7e0e2625dc35 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h @@ -298,8 +298,10 @@ u64 mul_u64_u64_div_u64(u64 a, u64 mul, u64 div); * * Return: dividend / divisor rounded up */ -#define DIV64_U64_ROUND_UP(ll, d) \ - ({ u64 _tmp = (d); div64_u64((ll) + _tmp - 1, _tmp); }) +static inline u64 DIV64_U64_ROUND_UP(u64 ll, u64 d) +{ + return div64_u64(ll + d - 1, d); +} /** * DIV64_U64_ROUND_CLOSEST - unsigned 64bit divide with 64bit divisor rounded to nearest integer From patchwork Thu May 18 15:46:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95981 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp598221vqo; Thu, 18 May 2023 08:59:17 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ76xbsFwLfng8IlWiEGTlZDzfJicyjygdsDfd4Zr841FJeI59VaGejs8QQ3QzqQ7WLKtQ7g X-Received: by 2002:a17:90b:3852:b0:253:36ca:7ea0 with SMTP id nl18-20020a17090b385200b0025336ca7ea0mr2787374pjb.27.1684425556856; Thu, 18 May 2023 08:59:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425556; cv=none; d=google.com; s=arc-20160816; b=Ii8B+bP1HVbt3/4Ffidbet0NlhpBxjGGT805GDXBDSmzG5dRlzQRvP1BbXSyWp1tff a4DCm9LGKfEsz8/LWSYUWUtG78QR4eo6kRw15I+Ds+f8bDHvFuYVEmhaNJcAYjDeIi7e H8D+T8mdEwHrk0AU+YIDk3jckljzWSlAXBj+jsJQzPY0HPY9zqg0SN1MU4GBRxwyFvI3 XtN0JQRqSzqZhUUMl/WpqZjMSau6WxHORJsnR0rp6tZ07w0j4V/8zdfwIBYf6TmLYe3y 5oCPlo2oUzo52EjwoXHU/VMO0lYUX5Uu0zMvSSUDds4tE4Wao7FftFtU3ae40AUsZ1DZ By6Q== 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=so5X8y31ofqFetru35U19iFwUd1BghZyykXgxlSS3XI=; b=eZeI9Fh1Pny/WXhIafvAwigiSgxH+RW22YHcYXF2GxKQocy9l4wFb+yBLO3s/jGWaz lRo1P9mI321PzSV0Xm0FxBWhB/rleFOirII8gHIUzCKHDqkS4U+ppG4zJsuEEfldT9QU 4Eu0t1cQH3v6i+ZVe4yDRLZHuGlVtdfup3kwcMykDNTEqRm9e2wAIStWdQXi1cb1qSKS soIgviV1Umc3acguIcSfK/8ri3mPlvj72kXeJv6dwexD8D5lLBNpT7CAEWauvnG3xmbp clSgz6CmUkvYA69elJLLdXAMiGqm8YWfuyBNqQMa7Eisw6SUL4z9WPWG9kZvZYy+1ho5 6O7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b="J/N8V1K/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l10-20020a17090a384a00b0024bf50a83e7si4357112pjf.174.2023.05.18.08.59.01; Thu, 18 May 2023 08:59:16 -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=@gmail.com header.s=20221208 header.b="J/N8V1K/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231934AbjERPrR (ORCPT + 99 others); Thu, 18 May 2023 11:47:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231823AbjERPrI (ORCPT ); Thu, 18 May 2023 11:47:08 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B335107 for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-3f41dceb9c9so15403055e9.3 for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424825; x=1687016825; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=so5X8y31ofqFetru35U19iFwUd1BghZyykXgxlSS3XI=; b=J/N8V1K/EyUdwPwES+/9W2+knfmKs15zW1K3QFlNaxk7o8OfH2CMgRqWEmVTR86Nvi D7RWxgUfYI7L+UgY8CS+8cFna10iomGLogtTix/9wfpmgkNp2QZwP61h3p3/q0tQBlRs bLqQk7fr2RESycDsyWGoNKPa54KF123R17jZw6yDtBs3BuoB7eLeo0mqeNflwgIMzq7q bpmqGvwVWnSyd7GZqqm9/WIGmW4i4Z3/WdKjBP6pP6hHmjFGWuofQx+jx01ILN7KzCUK bKKFbFw5b0Ezit3vrucpxqvPyi0ZPC48uLozrMdn5EnLZR6XvVcfcUaDqzgevhUmEaIJ jq+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424825; x=1687016825; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=so5X8y31ofqFetru35U19iFwUd1BghZyykXgxlSS3XI=; b=WYreTBY42hvvM0B7pcya/5c3T2Poriy7fIfks+8qLRKGykQH01+M3olBW9lZQXNBvh 3KhMcsBu8vV8fVRrB9wFoA0gCnn2jv2X6sf5PQiZiLC+fTzNMduh549n+c46+yyG/vhh E+HGEcLQp+pxpsB344tFO70rVOnSbJ9SkBwoVjnPr9WsKxtXpM7X5gZtpFbpas+YA96w S7tG3Ots3ap9WFEpCiCqL2ImlE1n+hrrTI1ICanqSBeRMgjX4ZuU9sZe7H+QxzwDpO2v WAfd+LOApc5lpAAmK+hsN8fuOYR3mWboTx3ck3SKh2P5j5MARZnYKWizlss8Iw6PKtXS F9sg== X-Gm-Message-State: AC+VfDz3PiGnoeUM8K68R/SZcugO9+mCyjbs21e5lhwk4SVTD9vU+lle A0jFAcByWjrXNcuUGsSH7A== X-Received: by 2002:a05:600c:2186:b0:3f4:294d:8524 with SMTP id e6-20020a05600c218600b003f4294d8524mr1748975wme.22.1684424825423; Thu, 18 May 2023 08:47:05 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:05 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 5/8] auto: promote DIV64_U64_ROUND_CLOSEST macro to function Date: Thu, 18 May 2023 18:46:46 +0300 Message-Id: <20230518154648.581643-5-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248212739193152?= X-GMAIL-MSGID: =?utf-8?q?1766248212739193152?= Same explanation as for DIV64_U64_ROUND_UP: div64_u64() wants "u64" in the first argument so using anything wider in calculations before that doesn't matter. Signed-off-by: Alexey Dobriyan --- include/linux/math64.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/math64.h b/include/linux/math64.h index 7e0e2625dc35..d8770c8a9cff 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h @@ -313,8 +313,10 @@ static inline u64 DIV64_U64_ROUND_UP(u64 ll, u64 d) * * Return: dividend / divisor rounded to nearest integer */ -#define DIV64_U64_ROUND_CLOSEST(dividend, divisor) \ - ({ u64 _tmp = (divisor); div64_u64((dividend) + _tmp / 2, _tmp); }) +static inline u64 DIV64_U64_ROUND_CLOSEST(u64 dividend, u64 divisor) +{ + return div64_u64(dividend + divisor / 2, divisor); +} /** * DIV_U64_ROUND_CLOSEST - unsigned 64bit divide with 32bit divisor rounded to nearest integer From patchwork Thu May 18 15:46:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95978 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597463vqo; Thu, 18 May 2023 08:58:06 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6ipVWuJ+cLk5j7vkuX3slJ5ZrgH3MyUt7rxHNQHWJUTr7BJ/foJsn5NPchp7rfmdPCxklK X-Received: by 2002:a05:6a00:21d5:b0:641:d9b:a458 with SMTP id t21-20020a056a0021d500b006410d9ba458mr5331438pfj.18.1684425485914; Thu, 18 May 2023 08:58:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425485; cv=none; d=google.com; s=arc-20160816; b=tx8GXeFV0Ks9H/LYjGC8FEkL8RZjfaEDOfC72DT3vDFwRYsIipu/7HSjf8bSDibAa2 DZ2l4wevPm0UpveHdQbPQWhZmFaSyCh0gmuBFFJkju6z46mxUQFGq8oSsRCH/v/OLAm5 mNDNAajFVfmEl3zjw+ZRReipBV7NTNUgxrcyNnQ2P6NDwn1BZmca9KYYghLMES94Z+uO uzo/hGBnIN6s4uIq8XQIqoW2ZgAP9M8elERyHtc3j4VY1y5gNG0AjyXEWiAE7geU4cM3 qJZXshoRC2uTQJxAsokycmKEU6klpnawPk8ZyOoEcZyP9tfDcQPNCGW0ZK7DquN326nA cdFQ== 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=tye9L3auG/VYuq8Wu4br+PZRvWyj+Q5KoqkXJFSM6kY=; b=E5koZ+wUiwZ7D3WNzXnrFmhoAEe/hn7821GA5gPerI/a7ePY8JM8S+r6RMZA9/1hRj +rT9rQQjtiM5Lq1Gz+iXfOMF8GZK+22ylmcr4AAhx3i7euxHR4x1n55wwdg/+T32Iiuh QzTZx9dud3qc2IzjZ7ljEbbYo8Wtoo2rtJ3UepcrNwSyPMEvsus56MIwK8RqVA18Pl6T 3f/BV+CttcuIKgFxo2fUdTO5iP2bchYf0t0KiQAYUj8WSKanq9MqRBeOSo2hUWpr8LqB 1PZGLZtFfUfR9gwk7WQ8X+46m8c1otcp+s5asc/gqS6H29PAfMzhHFXe0QIwiBlXndVb YDGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=nm9gUVFy; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a24-20020aa794b8000000b0063806e9892fsi1952761pfl.243.2023.05.18.08.57.50; Thu, 18 May 2023 08:58:05 -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=@gmail.com header.s=20221208 header.b=nm9gUVFy; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231964AbjERPrY (ORCPT + 99 others); Thu, 18 May 2023 11:47:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230257AbjERPrI (ORCPT ); Thu, 18 May 2023 11:47:08 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91DD718C for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3f417ea5252so15541265e9.0 for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424826; x=1687016826; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tye9L3auG/VYuq8Wu4br+PZRvWyj+Q5KoqkXJFSM6kY=; b=nm9gUVFy6rjGJIT0KFUSVbQLlAiWcMvEAfmiDxi166GZPFhyV2otVC463q3ZtwqWiF 4RI3AzxUxTCnFdmOnAyUaUzJPyeaMmYg+u4muNSWI6Ez0UoC6bkWbYm2ERQHrTS9nLjf RzMpp3BhCIbLsbmqTsWHJJoLcBUmYIetei5/GjwQraTQ91CFWn38bW37nt0eY8grkVn6 CJY78GDl0OIT/h9Y94IMkIy91TxLw+vym23pti8A1uFusT4qJM+K3iu0BZ7TUPPirOdO GKYnvbngLrR+4IOPEXB4N6HtbZ06nrck3h4NbCCXToQ+LZZ3o9LvWRzkigM26IA3aawK gxKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424826; x=1687016826; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tye9L3auG/VYuq8Wu4br+PZRvWyj+Q5KoqkXJFSM6kY=; b=YfWASBDVrKQjN0s0cHwJ5E6p+vnCqpLDGFtBXECJ/eO34G7XPJzuJWtMYxR1tL3HsI 7TuoWKc3wag6Xam8/pyxIkuaXayIUHWBnKnJzsau8yKQPbukQZe7Fm9YZd8NTj0CFqKP roUbOtrkUMUE0dgj1Vc9cV8/6oTYZ+xO3KkZnqwd8iQvbzHW6bmEmok7iAxRgyH7cdkX Xxz6fecztSuMTeRFhtnT1DRiEZKJKLolKXwNY5oOQBuS/DXWvc1GsatLP/FS6621vNk7 V2WJzuz1wpkjEZ92cTGWQkJA09MjaHhlempWO2CZXcP/PYhyblF2pIK6SCykAzxJdxLC CN0g== X-Gm-Message-State: AC+VfDwgW53bgyX/xNgOSM+zGtH+nzrNoCspmN9Q9oEktD0wNGGVKBOh Ft/Z7bYnKGpp4MfS/kOCbo3J5u30Yw== X-Received: by 2002:a05:600c:b4f:b0:3f4:f0c2:125 with SMTP id k15-20020a05600c0b4f00b003f4f0c20125mr1788676wmr.23.1684424826040; Thu, 18 May 2023 08:47:06 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:05 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 6/8] auto: promote DIV_U64_ROUND_CLOSEST macro to function Date: Thu, 18 May 2023 18:46:47 +0300 Message-Id: <20230518154648.581643-6-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248138236091589?= X-GMAIL-MSGID: =?utf-8?q?1766248138236091589?= Both arguments are cast to specific types, so moving cast earlier is OK. Signed-off-by: Alexey Dobriyan --- include/linux/math64.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/math64.h b/include/linux/math64.h index d8770c8a9cff..3ab235c8a94c 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h @@ -328,8 +328,10 @@ static inline u64 DIV64_U64_ROUND_CLOSEST(u64 dividend, u64 divisor) * * Return: dividend / divisor rounded to nearest integer */ -#define DIV_U64_ROUND_CLOSEST(dividend, divisor) \ - ({ u32 _tmp = (divisor); div_u64((u64)(dividend) + _tmp / 2, _tmp); }) +static inline u64 DIV_U64_ROUND_CLOSEST(u64 dividend, u32 divisor) +{ + return div_u64(dividend + divisor / 2, divisor); +} /** * DIV_S64_ROUND_CLOSEST - signed 64bit divide with 32bit divisor rounded to nearest integer From patchwork Thu May 18 15:46:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Dobriyan X-Patchwork-Id: 95977 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp597401vqo; Thu, 18 May 2023 08:58:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4aSb/y+QYHyyw9rrr8dJHUMWcKE+mZ/8Bg2REhfR45EbIdm71JN6g6sQP1yjKIAWHhGF7m X-Received: by 2002:a17:90a:a411:b0:253:3cfa:e310 with SMTP id y17-20020a17090aa41100b002533cfae310mr3112597pjp.19.1684425482172; Thu, 18 May 2023 08:58:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684425482; cv=none; d=google.com; s=arc-20160816; b=h5BRQEXBqJtYxx8hDAT19DRnm4JTCvDv7PPoG+GgOoCHebRDJd6RYz7G3VxoSFl5cS dFEMk0q4+d5TTCpwSU2ZHo3iwOYlGaeyDIBUim/iRmY6n00x0pQuRgvlZFMdiJoI09TF k5MHOgWLdL99vK/I+IL5XCumhdasjfLDjhFnNiOME3lvNyOFa8Hh8ogvmQye9uOCypAY HmZp5OJskuBAwxH7AT/K/V7cCFfvoJ/Nqm3YHhTM17/cOp38AINf/V4X3fdCzaaDV+1C 13IKu0yA3tmLlaCGXI5k7jz1MbQvcdYuw35qUb6x7MqjGSxIc48OLvoSbf7WsEY8hwTe 2+dw== 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=yEZKMKV3a30xjKrkkWxSisXiqQtt0sbU7lcbWPA7pl4=; b=bVd+rcxhorzuJfy4p/4LF97v6Yi7A838zj66VrfdbaqlARZpwpxgPLimyjpllxNnni Tb7j04cC4xZylreOYhT5FIHZYo1PwieCGQolqvaZyirt+aaTrt48xKS5eRbIrdNTvMZL JRQ5KzaSrGMS/e/qCsS4clxEvwBV2jGARsh3MnkqaZLd46BTt7ex1q6lbJJrq2jluNjn UW2N0lcwlrti7JbOjSaRGAH43NuglQ+AbMzQ4rV2c1sOyxuQbHVCpmZ+GurBcwQZafpE TfT2tAU0K70fQDJywWlIneFDJITgx2iJLrRPsSdRDDLFs5oGuoLRxvW/meLvf0BOLggf LDQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=nleAiPCG; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z186-20020a6333c3000000b0051b48085aaasi1672496pgz.858.2023.05.18.08.57.47; Thu, 18 May 2023 08:58:02 -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=@gmail.com header.s=20221208 header.b=nleAiPCG; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231945AbjERPrV (ORCPT + 99 others); Thu, 18 May 2023 11:47:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34122 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231845AbjERPrI (ORCPT ); Thu, 18 May 2023 11:47:08 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 880A6135 for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f4449fa085so14078425e9.0 for ; Thu, 18 May 2023 08:47:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684424827; x=1687016827; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yEZKMKV3a30xjKrkkWxSisXiqQtt0sbU7lcbWPA7pl4=; b=nleAiPCGTsiSqeXbC+uTlkoBeZpbHGS9vCgo5sq4Naz8KDLyD7RB40k9BHL9XLDQ9t 9oyDpy+g2sd39bOGg4YljSFV59hiqTX0wNNqjhN0KWXGPvVn2Mc7ue7HGcEz0G1H0px+ fKcS0ycFSf7rDjTvd7GUu+zpxODCjjiGd0i8negXwzcAxZHvGlgX92InvgpRYlVaQ3ls HBvk7pvcef/z2QNT/Ynfi1QU3oVK3wbaoZXbnrA0cs9QzDITQcDSB/uoIRB4r57l/YtC Fx1/wZMcRzwAgmpw7W7YVBPn83pJdb2OmeoMzjLChZMHmL33n85/XDNGbhSgyJC6y1HG 73Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684424827; x=1687016827; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yEZKMKV3a30xjKrkkWxSisXiqQtt0sbU7lcbWPA7pl4=; b=X8BcUbsKgKZVqEJv6CN4FoWx50Tc7fLqmbtrElctrLnt5QjhKZijZjljidbiMInNyI +4v5H3aO/mk3wo4ypAPJ7Xjx4U1s7aenv35E8ZqS7mYEok98BMBCuM+QZtwXciVOzcW1 qFdUhX+EzuD6GtRCY8//K6wdAtznwtOPGDnxOQISFjtyOcXArqzfHYsNk1V9k6fVIO3B KkmBtXeLHuHUTCmM1Sb23fHxb4DaNhy7Wy+GeIsXJ0TUGpFQXL5pxvfazqE/D3UwOaJb 818IURfl7S5aNaIf5EDCA5aUNGidrQJ0YmCmDBGH6Td9HMOIfS6DWDT62kRzstO6a1oB dwBw== X-Gm-Message-State: AC+VfDzxNelouCM7R7HIEODTPUHYPFEH3V4oxo2qy+ofRNYlDeIhu41G afZt7PBLSoj+CPYlJMeETsdnLOIIhg== X-Received: by 2002:a1c:f413:0:b0:3f4:298b:d925 with SMTP id z19-20020a1cf413000000b003f4298bd925mr1540626wma.41.1684424826922; Thu, 18 May 2023 08:47:06 -0700 (PDT) Received: from p183.Dlink ([46.53.250.37]) by smtp.gmail.com with ESMTPSA id h2-20020a1ccc02000000b003f421979398sm5671769wmb.26.2023.05.18.08.47.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 08:47:06 -0700 (PDT) From: Alexey Dobriyan To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, adobriyan@gmail.com Subject: [PATCH 7/8] auto: promote DIV_S64_ROUND_CLOSEST macro to function Date: Thu, 18 May 2023 18:46:48 +0300 Message-Id: <20230518154648.581643-7-adobriyan@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230518154648.581643-1-adobriyan@gmail.com> References: <20230518154648.581643-1-adobriyan@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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?1766248134454630953?= X-GMAIL-MSGID: =?utf-8?q?1766248134454630953?= so that people don't use "auto" in it. Both arguments are cast to specific types so it's OK to move them to function arguments: s64 __x = (dividend); s32 __d = (divisor); Delete useless () while I'm at it. Signed-off-by: Alexey Dobriyan --- include/linux/math64.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/include/linux/math64.h b/include/linux/math64.h index 3ab235c8a94c..7ecae251b0f4 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h @@ -335,21 +335,20 @@ static inline u64 DIV_U64_ROUND_CLOSEST(u64 dividend, u32 divisor) /** * DIV_S64_ROUND_CLOSEST - signed 64bit divide with 32bit divisor rounded to nearest integer - * @dividend: signed 64bit dividend - * @divisor: signed 32bit divisor + * @x: signed 64bit dividend + * @d: signed 32bit divisor * * Divide signed 64bit dividend by signed 32bit divisor * and round to closest integer. * * Return: dividend / divisor rounded to nearest integer */ -#define DIV_S64_ROUND_CLOSEST(dividend, divisor)( \ -{ \ - s64 __x = (dividend); \ - s32 __d = (divisor); \ - ((__x > 0) == (__d > 0)) ? \ - div_s64((__x + (__d / 2)), __d) : \ - div_s64((__x - (__d / 2)), __d); \ -} \ -) +static inline s64 DIV_S64_ROUND_CLOSEST(s64 x, s32 d) +{ + if ((x > 0) == (d > 0)) { + return div_s64(x + d / 2, d); + } else { + return div_s64(x - d / 2, d); + } +} #endif /* _LINUX_MATH64_H */