Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp948638pxb; Wed, 6 Apr 2022 05:06:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyD68XuqvSQxZ2h1E1TpfVCTGeCQAUZJqe3Tlg655afOdFxrsSwYmUjh/cc7jZ35qFkko14 X-Received: by 2002:a05:6638:d95:b0:321:2654:5ab3 with SMTP id l21-20020a0566380d9500b0032126545ab3mr3993220jaj.194.1649246774448; Wed, 06 Apr 2022 05:06:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649246774; cv=none; d=google.com; s=arc-20160816; b=y7DnG47N5HZS7sJ1Sr4HVvr10rl7rd2JjHae2rCLf8sy8ozx84iwGAiKr3EwxxLjgt wRA6kjSaxNaRG/Th67glYLuJf1twJ0hQc5DkHAmy+ThHDd+F4hJxikwDrTb/hCp9RbyG YMROqsLCUdBjoNVCQJADib8jX/PaaC7Yj+Y6Vgqk/Z8piicABWvlHah93XhDvZvUiNwB 1BEYwWlo0J4o3jqjuIlF+6mzZYQ8X+AAriRBADZeQb9ejpbG2xUGW56UOHpDk3R5eGQG o2vVjZgVw914iAlRWUcYo58NnZ7EkE0gFvkVd7X+uspTFCkeIYNqKW59cNssmH2q46LT NLbw== 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=cDU/rU8utrM693ir4oRTuu1q2mOuySlXvCx+TqCU3XA=; b=uOrcipYc6jiSEDI7Yoy7dCKbnmoNfVLlQWL0KVxntxzJhzf5VdXzAb7Zk6t2lG7kzr RHNX8PDeqaWMW9PNghxNiEykyV4wnOl8PQptMwGQ8rAPNQ1dg7Al3NcwtrqaZIObp3a+ fFHZ+kBdSJZjvkisSoUitKJ1frsE4n2RMd3p1JAgZ81MY42/EN0c+JVxkCgn4uOKmDiC u911zdFPusiv8WZqqxySo6t0teDgptMfnX96ctT82iXzvrhk8HHXj1QJEsxmj7cRdqru cbBeteEP6yMpD2GWreL+tgZ1tqhxr10qWTwZiAGIYh//6qOI3Jar2Q6kRLxdcHU/D1Bv jqDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=QXXX8E8y; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id c1-20020a056e020cc100b002ca4d524f73si3462073ilj.145.2022.04.06.05.06.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 05:06:14 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=QXXX8E8y; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 02383477BF3; Wed, 6 Apr 2022 03:34:11 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1390176AbiDEWDV (ORCPT + 99 others); Tue, 5 Apr 2022 18:03:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242776AbiDEKfS (ORCPT ); Tue, 5 Apr 2022 06:35:18 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56D77FE2; Tue, 5 Apr 2022 03:20:00 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id B14B5CE1C9D; Tue, 5 Apr 2022 10:19:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4F3BC385A0; Tue, 5 Apr 2022 10:19:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649153997; bh=72/1zqUEYhLiiFXk5O7/0IVjc40AnVuaZl0aTzjZ4qE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QXXX8E8y4GFrf/lvP8K6pW/aGSMqZyYNNoPSveBf6+JYhvZio3kYWXprdAtNowMUK emR+qekOdwgv8+4+6GYMVsHgWFouFu7mFFDR8YG9S7uOv0VeMV+a/03EuB6SEOLyJl z5USPVMj6TitlArUfmrvXRr1MA5FYbbYwRoG8DJs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chen-Yu Tsai , AngeloGioacchino Del Regno , Linus Walleij , Sasha Levin Subject: [PATCH 5.10 421/599] pinctrl: mediatek: paris: Fix pingroup pin config state readback Date: Tue, 5 Apr 2022 09:31:55 +0200 Message-Id: <20220405070311.361696989@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070258.802373272@linuxfoundation.org> References: <20220405070258.802373272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 From: Chen-Yu Tsai [ Upstream commit 54fe55fb384ade630ef20b9a8b8f3b2a89ad97f2 ] mtk_pconf_group_get(), used to read back pingroup pin config state, simply returns a set of configs saved from a previous invocation of mtk_pconf_group_set(). This is an unfiltered, unvalidated set passed in from the pinconf core, which does not match the current hardware state. Since the driver library is designed to have one pin per group, pass through mtk_pconf_group_get() to mtk_pinconf_get(), to read back the current pin config state of the only pin in the group. Also drop the assignment of pin config state to the group. Fixes: 805250982bb5 ("pinctrl: mediatek: add pinctrl-paris that implements the vendor dt-bindings") Signed-off-by: Chen-Yu Tsai Reviewed-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20220308100956.2750295-5-wenst@chromium.org Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/mediatek/pinctrl-paris.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-paris.c b/drivers/pinctrl/mediatek/pinctrl-paris.c index 9b268ad4e1b8..2f3c65265e23 100644 --- a/drivers/pinctrl/mediatek/pinctrl-paris.c +++ b/drivers/pinctrl/mediatek/pinctrl-paris.c @@ -714,10 +714,10 @@ static int mtk_pconf_group_get(struct pinctrl_dev *pctldev, unsigned group, unsigned long *config) { struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev); + struct mtk_pinctrl_group *grp = &hw->groups[group]; - *config = hw->groups[group].config; - - return 0; + /* One pin per group only */ + return mtk_pinconf_get(pctldev, grp->pin, config); } static int mtk_pconf_group_set(struct pinctrl_dev *pctldev, unsigned group, @@ -733,8 +733,6 @@ static int mtk_pconf_group_set(struct pinctrl_dev *pctldev, unsigned group, pinconf_to_config_argument(configs[i])); if (ret < 0) return ret; - - grp->config = configs[i]; } return 0; -- 2.34.1