Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2666895ybz; Sun, 19 Apr 2020 06:54:13 -0700 (PDT) X-Google-Smtp-Source: APiQypIG3+CuIquA4FshY0KKx5VzFiu2PWJPcxUV9o09HWXFFRDzEtpJWrj/CtpOB+sgKALwEDDG X-Received: by 2002:a17:906:18a2:: with SMTP id c2mr11958102ejf.167.1587304453102; Sun, 19 Apr 2020 06:54:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587304453; cv=none; d=google.com; s=arc-20160816; b=ABi8Noa/NVSN5ntev5HhQswzhcC42O9QVNhqL9pijiK3+bLZClb4hkvAEBqy/acA7e aBEODg7oRe0t5gdleeblkUkSXDv7N60WEffeuZx7VKh+h+K1KtY8HcZqTWyvgRmEzNQO ZAmzaekvSjc/weUel4KdOPOxkmF1b2oAv/Yh03b6R02h8y6CvBoJGloghhvNB/wpuIXl WVla/5Bq1szTi541SPwKBT2yd0q7G9OQT3tQd43i0Iv6hw9B4DhaDGjelFDjirw48vLP 5axVGGbQwTNFpt6upU3/rd7McjUAn1U54++5hlx83AUxsil2gNMlIsrD56vpks3eNLxb gOag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=6KvwUGLTJsZkE+PS31HMvCAdmIiAd4FHl89Kgjxz2Vs=; b=zAcylAAVGLgAcySq3KcqUicqCSwjFepDRULSaF70DsnV0VCBgn/svkCEFMt3uTFPxq TOtY8iwWIpWRkf6ljjQ8OUpHu6Lx9GiIdsOVIfaQipb5YUdHH6YSBJYpQlxyYGPiwbIp DQ9v6Or4/FABZyWNl2FpuiaMSL2HoeyO1mEAey5yN0XBwF7pJzAY+3nPNEJAm58n/8q5 9f5WtriXaTQY7yYnRvIBcj+/gtHvzZs7Ur/9EExOk0WV26tCem3gbLb57lS1DpQYVJMq uXDOkxy+5nsFHCaF6G7cZZIeNLEfRmJdMZHBAKPsNU04bS4/5+t+UScwq4JzlVIENu/x kvxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WRhthNtV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p4si14085322ejd.3.2020.04.19.06.53.50; Sun, 19 Apr 2020 06:54:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WRhthNtV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1726447AbgDSNw3 (ORCPT + 99 others); Sun, 19 Apr 2020 09:52:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725949AbgDSNw3 (ORCPT ); Sun, 19 Apr 2020 09:52:29 -0400 Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE444C061A0C for ; Sun, 19 Apr 2020 06:52:28 -0700 (PDT) Received: by mail-pj1-x1043.google.com with SMTP id ng8so3359606pjb.2 for ; Sun, 19 Apr 2020 06:52:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6KvwUGLTJsZkE+PS31HMvCAdmIiAd4FHl89Kgjxz2Vs=; b=WRhthNtV8KSgK3zWkw8KaxMpRJgypCyqPK4kd+aXeNMMY/hISM2ls2AF3BYGaViR1m UiZnnSSMTuGEJ1F033u+U4tqx4Z9c/X5/4uGefnHkxr9Scmq1nZXljOVV9f+au5wM1Fa yuvtb2ugwyZwFWquqqnTWlB9fogB5Qwj/tbAZSiO7O1fu+/u+WQNZlrxv3lAbhvsTbOt 4USU+qAhwOu65Qaotuj6fyDQGkoM2ERNeIzrLw+3xoBokBKcYfKgpIMw5ju+S8+00Ae5 uTSXRMeTIjqKwZYvAnXEMk5ptISWxKU4cQgzjL9s42AX1Q2gXRWfm4XsOc3PM3XWUmaG TmoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6KvwUGLTJsZkE+PS31HMvCAdmIiAd4FHl89Kgjxz2Vs=; b=Xj459OuKT+r0xYtP6B364AESwPxPEabA0bb3mOxWIXxnNh4c5lM5QnEVpRqagDYlmD b1nghA6zcFFg3XBEke+lca7EoQ2yHEyBUYFb8+byQ7HY82JYXH3xcVUqsFTy4swk7FUt UV7ONh7M+cwZ5cMvDXqgcvF3xzdea8MrZpVz5nZUcoz4VTYq6lSR8+3noUxGqUO26EoW 7KjHRnCvoqtJefeHtvhGAamKPSAbDSUrdgWHaF3ByIYsjF+0EQs2wTSWTILr8OLfdNRS tFCEOgcvFD8ZRAzdImZnYV5P1pMVRyZjaOXGrYRWlT/5cXfYwSKhTjDUeTIkX50c8ApL 0TGA== X-Gm-Message-State: AGi0PuaNU4+INJ7nObTHdxriLvZ2BFu7NqnAV1oLM7tZim9kzuPnyWmJ AH6n5JK+JOt8r9dkNFQYrGM= X-Received: by 2002:a17:90a:f995:: with SMTP id cq21mr8731630pjb.56.1587304348552; Sun, 19 Apr 2020 06:52:28 -0700 (PDT) Received: from localhost (89.208.244.140.16clouds.com. [89.208.244.140]) by smtp.gmail.com with ESMTPSA id r63sm25456526pfr.42.2020.04.19.06.52.27 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 19 Apr 2020 06:52:28 -0700 (PDT) From: Dejin Zheng To: broonie@kernel.org, linux-kernel@vger.kernel.org Cc: Dejin Zheng Subject: [PATCH v1 2/2] regmap: redefined regmap_field_read_poll_timeout to simplify code Date: Sun, 19 Apr 2020 21:51:50 +0800 Message-Id: <20200419135150.14741-3-zhengdejin5@gmail.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200419135150.14741-1-zhengdejin5@gmail.com> References: <20200419135150.14741-1-zhengdejin5@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org use read_poll_timeout macro to redefined regmap_field_read_poll_timeout and also remove the duplicate code. Signed-off-by: Dejin Zheng --- include/linux/regmap.h | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 299c1f6a03b4..78ddf224f988 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -194,25 +194,10 @@ struct reg_sequence { */ #define regmap_field_read_poll_timeout(field, val, cond, sleep_us, timeout_us) \ ({ \ - u64 __timeout_us = (timeout_us); \ - unsigned long __sleep_us = (sleep_us); \ - ktime_t timeout = ktime_add_us(ktime_get(), __timeout_us); \ - int pollret; \ - might_sleep_if(__sleep_us); \ - for (;;) { \ - pollret = regmap_field_read((field), &(val)); \ - if (pollret) \ - break; \ - if (cond) \ - break; \ - if (__timeout_us && ktime_compare(ktime_get(), timeout) > 0) { \ - pollret = regmap_field_read((field), &(val)); \ - break; \ - } \ - if (__sleep_us) \ - usleep_range((__sleep_us >> 2) + 1, __sleep_us); \ - } \ - pollret ?: ((cond) ? 0 : -ETIMEDOUT); \ + int __ret, __tmp; \ + __tmp = read_poll_timeout(regmap_field_read, __ret, __ret || (cond), \ + sleep_us, timeout_us, false, (field), &(val)); \ + __ret ?: __tmp; \ }) #ifdef CONFIG_REGMAP -- 2.25.0