Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp982763pxb; Wed, 6 Apr 2022 06:01:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnBBIamSF22sscuzmK5QpwUAvK8L7vYJJRlkbGhueh2NdFq5hxW1l5SNZl3CbV4YERBNj0 X-Received: by 2002:a5d:8a07:0:b0:640:cfb1:423 with SMTP id w7-20020a5d8a07000000b00640cfb10423mr4056132iod.8.1649250075138; Wed, 06 Apr 2022 06:01:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649250075; cv=none; d=google.com; s=arc-20160816; b=mTM/JLPHDv/yZO3IB6KlZ8XSyEA2gQ7yfjQ/EaYpLVqnhUYx1iYRUJfdzqbdUEgUDs ifs5ejcsQk9K23/rX2C1gdAL1M02IOnpjPPsGjMaiZRRXcQUVYJiJq6WLOg+QPdyzi9/ iB+P9PuathXsJ1LMiKcQFB7tghvNw7fN0Wt/zv58J7rBZeFUtTaJCofNxaTT6MV+sdlE 23yMiUakIWCy8A3ujLHGGt7AhNuSV+L4rUJ5EviaQanyvVa/yYvAb95TXJ3bw4ggwvke YXphV1BldvaWUQj0DbLlcGPSlbHMjz323U5TCU1XKKuZlxHX84HnqehhkIKUTw9BChvx VpLA== 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=lA1f/ommKvPd2q9lhoFq7Rz9FF5PqOpvjh6GrmVnmP4=; b=y7Ms9BPJbLOrUtCZrZQisGzFL9BGSXYCVtNZURkmcqKaJt7nsZutfa140qFL6b1ucY IqWZUGIF35+pPGswbUcxOQHt3f28Aby1uGyJXOgkKzHNZfD/9tH8VuAUyV8HarS+ePSW Rr0aYDr4rSUjoQAWRdVnNVIjfmJGSRTeinbpdXA3lsz7pgi148QKQwHdFnhwQ/wG2jS1 rIawYZjbGcsaTWS4a/Ihv0Fsb98WAJlLK1ZfgsXMryMS5nU66BX2GZ2bz9Q9kB1Cs9t7 ZNzSYMf0XTGGVhCAOalI8jSBm5tJJqqVFI4DK9MtWerVQOVy7ZOnWp3n6zUY53ywtWDK yJxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ian7dWFN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1: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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id f9-20020a056638168900b00323ddc76ca9si6697858jat.17.2022.04.06.06.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 06:01:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ian7dWFN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1: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: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 05A2B581FA7; Wed, 6 Apr 2022 03:16:26 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1842689AbiDFBeN (ORCPT + 99 others); Tue, 5 Apr 2022 21:34:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349491AbiDEJt5 (ORCPT ); Tue, 5 Apr 2022 05:49:57 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA48DCF; Tue, 5 Apr 2022 02:47:31 -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 ams.source.kernel.org (Postfix) with ESMTPS id 6B3C1B818F3; Tue, 5 Apr 2022 09:47:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9AD3C385A2; Tue, 5 Apr 2022 09:47:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649152049; bh=DWzA3/dCJvDUgNa+hJKwMxfYGeR/SqXYdgc1cL+tfU0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ian7dWFNKSCS+iuSx1wfKITvxOfWo6Dg+1PWnioDNWt4JC9tdqWsDQh4ZXJ81BIHb bYzrWm4ZdEOQl7MT13kuOAQnP8PlzAHHuoEO5cTrQlUUsryYzgbvtuSK/7+dOnDlAp Rr8indp8VyrzNozzeUMdibsYr3JTOmpWUGctI2xM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Horatiu Vultur , Steen Hegelund , Philipp Zabel , Linus Walleij , Sasha Levin Subject: [PATCH 5.15 636/913] pinctrl: microchip sgpio: use reset driver Date: Tue, 5 Apr 2022 09:28:18 +0200 Message-Id: <20220405070358.904102859@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070339.801210740@linuxfoundation.org> References: <20220405070339.801210740@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: Horatiu Vultur [ Upstream commit 0b90315af7602aeb40fe7b6255ab212a19dbd78e ] On lan966x platform when the switch gets reseted then also the sgpio gets reseted. The fix for this is to extend also the sgpio driver to call the reset driver which will be reseted only once by the first driver that is probed. Signed-off-by: Horatiu Vultur Reviewed-by: Steen Hegelund Reviewed-by: Philipp Zabel Link: https://lore.kernel.org/r/20211018085754.1066056-3-horatiu.vultur@microchip.com Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/pinctrl-microchip-sgpio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/pinctrl/pinctrl-microchip-sgpio.c b/drivers/pinctrl/pinctrl-microchip-sgpio.c index 072bccdea2a5..78765faa245a 100644 --- a/drivers/pinctrl/pinctrl-microchip-sgpio.c +++ b/drivers/pinctrl/pinctrl-microchip-sgpio.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "core.h" #include "pinconf.h" @@ -803,6 +804,7 @@ static int microchip_sgpio_probe(struct platform_device *pdev) int div_clock = 0, ret, port, i, nbanks; struct device *dev = &pdev->dev; struct fwnode_handle *fwnode; + struct reset_control *reset; struct sgpio_priv *priv; struct clk *clk; u32 val; @@ -813,6 +815,11 @@ static int microchip_sgpio_probe(struct platform_device *pdev) priv->dev = dev; + reset = devm_reset_control_get_optional_shared(&pdev->dev, "switch"); + if (IS_ERR(reset)) + return dev_err_probe(dev, PTR_ERR(reset), "Failed to get reset\n"); + reset_control_reset(reset); + clk = devm_clk_get(dev, NULL); if (IS_ERR(clk)) return dev_err_probe(dev, PTR_ERR(clk), "Failed to get clock\n"); -- 2.34.1