From patchwork Mon Dec 19 12:32:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 34520 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp2358600wrn; Mon, 19 Dec 2022 04:33:29 -0800 (PST) X-Google-Smtp-Source: AA0mqf4RmPJTCCWe8lm4O+26bImQfIGqNsFkxX4ExVv8qwi9YZWM5lKEZU5ut22pL505VTvIWL13 X-Received: by 2002:a05:6a20:4414:b0:af:7b32:4deb with SMTP id ce20-20020a056a20441400b000af7b324debmr33985419pzb.4.1671453208830; Mon, 19 Dec 2022 04:33:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671453208; cv=none; d=google.com; s=arc-20160816; b=fPeyT7eeluUgpODXzhoKqjfDikW2BKVtIg1seeqtnSaNT4GGghH9HJgTkZ0uczFbUR GqEv0P8/bM2RaKgiv2q3pADTx0hkXXa1xZshD6UsBM44BMBasTrpSHe46pM60UpBz7dS EYG60veuu8WXDyyGUEmkuOQSXuyv3ZtmlAhu9myNzPsbsZ2aQ7BbtDLDx56h5E5zjJt5 Dx36bMzxvZUtjv/6TJIeneiEX1QtDYzEp9GYKErwlTuhlte9ch2xAQramL7wqoNZNFDh 9mr49HFuGmM/RfoH9UbpXutf6kHsk1Wnf0PmnMwtiX6sI5IT4HsTfPpY2gBcJwJKDB9/ e3TQ== 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=YaAGvqoVS6B5eSc4micqKPYOU3FLZqnZKuVo/snKpL8=; b=TpS8L5E+oTXK5kar0KJnbdvNayqznwI2GGaT3EXzqzg27b5lrZ2dZXl22yztv1I6d7 EpVPeko90oG5mvU3I7k8XsAoSHewCXvD0urmr8ax4d21cjylYqYY99LbbKgIYEa+WqMF uM3esrZMeRKaaQZ+w5T4p+zDG1shVTBg2VYUscISdcKusx4wFGxM7ejBeetdxzCOGULG AumhXxEovkpClNoiXvxsAFAmSZA89duF1SR5nC6gq1irgkF63c2l3wuZ0vPBjLIsBiNn KOLVZ9dYPdIvZylHqHB7W7WbMpUUBsSnzUe2dUAH5ePhXdnwJIS7EBPpIQOrnZb+MZ6t BVZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cMqCwPqg; 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 t134-20020a635f8c000000b0043a0121bb28si10779604pgb.811.2022.12.19.04.33.16; Mon, 19 Dec 2022 04:33:28 -0800 (PST) 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=cMqCwPqg; 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 S231869AbiLSMdF (ORCPT + 99 others); Mon, 19 Dec 2022 07:33:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232067AbiLSMch (ORCPT ); Mon, 19 Dec 2022 07:32:37 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 644CBF018; Mon, 19 Dec 2022 04:31:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1671453107; x=1702989107; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/otEhEs+STYSNvH47lyUPmGAgLM3giYO0stFpJM8ox0=; b=cMqCwPqgTvNoSomzr81QRacZ6r8f566ojSRWY+KzJ+kap7qv5Am92liD QoLtfg/f5uWYBFx5d0lVG7iJoxYar5LspMZBvYDuRGgtk9EuD0A710WwL Lw8WyM+QLVCA0YINl37AERNrEwvgGuywGUD3lnyyEszbznDe9RItWnMSx CPjtMv6jVyPMLus5rV9N4Fv+T2WYLv5t9V7NEa+Pt3yJ9s14IVI+1QfCq egropQcs0RcbKYwDqHpj5rODvThHgkEkBjcG7dwDn2vGQDxffJMLDfw4t gN+6ZalCw/C8dqSCAY/ppJgy/juqRNAy95/T5RzleGqhJJsTvlan6QNye g==; X-IronPort-AV: E=McAfee;i="6500,9779,10565"; a="320509090" X-IronPort-AV: E=Sophos;i="5.96,255,1665471600"; d="scan'208";a="320509090" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Dec 2022 04:31:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10565"; a="774913750" X-IronPort-AV: E=Sophos;i="5.96,255,1665471600"; d="scan'208";a="774913750" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga004.jf.intel.com with ESMTP; 19 Dec 2022 04:31:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D9917B7; Mon, 19 Dec 2022 14:32:13 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 2/4] pinctrl: intel: Deduplicate some code in intel_config_set_pull() Date: Mon, 19 Dec 2022 14:32:06 +0200 Message-Id: <20221219123208.5505-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221219123208.5505-1-andriy.shevchenko@linux.intel.com> References: <20221219123208.5505-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,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=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?1752645719768792057?= X-GMAIL-MSGID: =?utf-8?q?1752645719768792057?= First part is to assign default argument for all cases, since bias disablement doesn't use it anyway. Second part is to clear all bits in the bias setting and depending on the argument and parameter set them as asked. While at it, add break statement to the default cases. Signed-off-by: Andy Shevchenko --- drivers/pinctrl/intel/pinctrl-intel.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index 4b1d5a21aa68..6926f64b68d4 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c @@ -691,21 +691,14 @@ static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned int pin, raw_spin_lock_irqsave(&pctrl->lock, flags); value = readl(padcfg1); + value &= ~(PADCFG1_TERM_MASK | PADCFG1_TERM_UP); - switch (param) { - case PIN_CONFIG_BIAS_DISABLE: - value &= ~(PADCFG1_TERM_MASK | PADCFG1_TERM_UP); - break; + /* Set default strength value in case none is given */ + if (arg == 1) + arg = 5000; + switch (param) { case PIN_CONFIG_BIAS_PULL_UP: - value &= ~PADCFG1_TERM_MASK; - - value |= PADCFG1_TERM_UP; - - /* Set default strength value in case none is given */ - if (arg == 1) - arg = 5000; - switch (arg) { case 20000: value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT; @@ -721,17 +714,13 @@ static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned int pin, break; default: ret = -EINVAL; + break; } + value |= PADCFG1_TERM_UP; break; case PIN_CONFIG_BIAS_PULL_DOWN: - value &= ~(PADCFG1_TERM_UP | PADCFG1_TERM_MASK); - - /* Set default strength value in case none is given */ - if (arg == 1) - arg = 5000; - switch (arg) { case 20000: value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT; @@ -755,6 +744,7 @@ static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned int pin, break; default: ret = -EINVAL; + break; } break;