Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4748779pxj; Wed, 12 May 2021 12:19:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbdUWaBlM9W/SBfdcCdRp152YRx1wleap7d2X4L16oQ0sxlLE4gki2MSG/+gwMH/qQLPgA X-Received: by 2002:a05:6830:55b:: with SMTP id l27mr31717840otb.260.1620847186041; Wed, 12 May 2021 12:19:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620847186; cv=none; d=google.com; s=arc-20160816; b=Z/NavPuv6CCCSBwz8Vqdu5sSSVGPMiw/YNWhiWN5hJDNQszM6+CyZq4162bEIGRFlD uoXaTfsWGH9NLWYcN06mk+Js6JYM4tLhNa8Ht1DlQc/8IFiMeqjdpEtTVYqYt851qtlq QGrNUzf1KV1q0H/henHNIAkV1zkaZEivPSLf4SryJKNoVlfGcgOMXahEIziHzGXoLCjj 9qY/Nj8OVshttbRMoh93Urvg40dp5uXNWV9RzhMxtAm7KgE40ZpIp8T9uscayyU5WEqj /er7GI46rgaNEYjFDokO3SnJj+XqzGsWjUH9JZd34ix8PdK9WzqYkB5ANRyJif7LW5XS JhZQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bFWsusTJklCBmQ9McWanfX7za/ogVtbrJ8jvGDIqHOo=; b=F5lJDC94h0Fng0W8AcMKMg4ACtmriOpR68UIviW1dk3qZU7KPWdW8emWE3WHcoUr/h El7XAcZzio57KJ5wQWUj8Xgt5MaAdJWbCWaP9fsUsxGkRNfqlcF52Q5rTkCVKRGyyvZy lcnTNrUq+rDWUGQjx0fF+4s8Vdu3lbCfHfiPQQc+UTmLofrRvfuygzaDqypUme4BnL5w iQXWfKlsVQdr7HWL0K4VtQU0iDxwlDAGo62YcpCBYp2u4ZTdAiV9JX3o+BM90PGLP92M 94l1RRjYyZoQuNEA4AI5Rn3TOML8dWqSKRdbSaoy4a6nv8XFUzHt1AwnFSqraLmMYVUE 9fzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=aPYonEKD; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 187si661848oih.31.2021.05.12.12.19.27; Wed, 12 May 2021 12:19:46 -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=@linuxfoundation.org header.s=korg header.b=aPYonEKD; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377690AbhELTIf (ORCPT + 99 others); Wed, 12 May 2021 15:08:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:37580 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233880AbhELQm7 (ORCPT ); Wed, 12 May 2021 12:42:59 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D264561D4B; Wed, 12 May 2021 16:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620835967; bh=BMMnwKIKArOQuJDpMbJFy5/8JvHpyrHqrwgsEE8FpDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aPYonEKDkvXRavSQdTfbeJM9e62zqj3gpEBzaWfKGjCAPL4OsapttmISP2/pjfmWe d15mvsHC29Nfkmp6ETRmNY/a80HMcZYpQCWBGMIqeJANes/deHcCmH0XHGpt+iQw67 w1e0O8UBPDwGuHQi3x4hrc8tV15sMwxoi4sLjBY4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tudor Ambarus , Claudiu Beznea , Ludovic Desroches , Linus Walleij , Sasha Levin Subject: [PATCH 5.12 555/677] pinctrl: at91-pio4: Fix slew rate disablement Date: Wed, 12 May 2021 16:50:01 +0200 Message-Id: <20210512144855.825233710@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144837.204217980@linuxfoundation.org> References: <20210512144837.204217980@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tudor Ambarus [ Upstream commit cbde6c823bfaa553fb162257a5926ba15ebaaa43 ] The slew rate was enabled by default for each configuration of the pin. In case the pin had more than one configuration, even if we set the slew rate as disabled in the device tree, the next pin configuration would set again the slew rate enabled by default, overwriting the slew rate disablement. Instead of enabling the slew rate by default for each pin configuration, enable the slew rate by default just once per pin, regardless of the number of configurations. This way the slew rate disablement will also work for cases where pins have multiple configurations. Fixes: c709135e576b ("pinctrl: at91-pio4: add support for slew-rate") Signed-off-by: Tudor Ambarus Reviewed-by: Claudiu Beznea Acked-by: Ludovic Desroches Link: https://lore.kernel.org/r/20210409082522.625168-1-tudor.ambarus@microchip.com Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/pinctrl-at91-pio4.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c index e71ebccc479c..03c32b2c5d30 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, conf = atmel_pin_config_read(pctldev, pin_id); + /* Keep slew rate enabled by default. */ + if (atmel_pioctrl->slew_rate_support) + conf |= ATMEL_PIO_SR_MASK; + for (i = 0; i < num_configs; i++) { unsigned int param = pinconf_to_config_param(configs[i]); unsigned int arg = pinconf_to_config_argument(configs[i]); @@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n", __func__, pin_id, configs[i]); - /* Keep slew rate enabled by default. */ - if (atmel_pioctrl->slew_rate_support) - conf |= ATMEL_PIO_SR_MASK; - switch (param) { case PIN_CONFIG_BIAS_DISABLE: conf &= (~ATMEL_PIO_PUEN_MASK); -- 2.30.2