From patchwork Wed Aug 7 12:46:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 170750 Delivered-To: patch@linaro.org Received: by 2002:a92:512:0:0:0:0:0 with SMTP id q18csp7098179ile; Wed, 7 Aug 2019 05:46:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqxBU+2YpUVD1tQZiMYBj7csI13jfgIJMtlPD85F8iKp9SO6ywE5D1O3U7ZD05Ja8xCMpxIR X-Received: by 2002:a17:90a:1785:: with SMTP id q5mr8176330pja.106.1565182006234; Wed, 07 Aug 2019 05:46:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565182006; cv=none; d=google.com; s=arc-20160816; b=cq+gAoQMz3ArzEWNf61kE/5Jhg58kCaPKetcBJRMwGVrXa/P4bZ511Zne7kMKwfLxv ebIH7kfsblp9YNJYcMKAQgSillZr52UtLydmyceQB0PacNkFX3nuTzxHl5/EU2COzVuc 47mm39HMLK1fNYfeIV23UtjzDezSRMZYIjzOI530dwhk+l7x5mKjc+OKtyNOR4Oy0m+0 5Q0bSjAdV36Qb3ZDVI/ILhDgIx529gQyvYwHwneEi9RJXcQaVeKNL7Nciqp1kCduz/oU wIpDV6MRYLGfuC7UGrGw1ZFJ8EGCppYlLBVq+fvqX8aG/Mkaa/9eyXpLsl5NU4LJWBQC K2HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=6j1tOWSB2UPgBl42npaD6Kf9DQxoOqSNF3OrDL024iw=; b=PzQcx6+zE16NHr2AfdyjSpH6zvJWR6jhRBPeqQ+e5tHiQ0rW5SUnWRGcN7uHoaifd4 IQJhCJxgX1+YiVCMJD1qpWSv+H7IAQmbPu0SVdAGD3r/y6JDs7rUajl49q+9RG3wQp9o YzALgZs6CQXd/k0/uma1IzBR4lb1BEZBg53ijcwtwU2ujrbC0AtdfybCoTLYSSh3c3zO EAvdQcDmF6IdrynvH5bqKu71oOQCtQHem/Pj9Zyt2zrE20DSTsoyS9qOIPMvz2cSQL9P ljmFte/QyLpV8zkKiXja0N+hF5Lvx5MPeNcIy9wttyniW3eJclXqSe1LsAn+N6ucd9QP iUyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=aSwBKfGp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y192si50521972pfg.172.2019.08.07.05.46.45; Wed, 07 Aug 2019 05:46:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=aSwBKfGp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387824AbfHGMqp (ORCPT + 28 others); Wed, 7 Aug 2019 08:46:45 -0400 Received: from fllv0015.ext.ti.com ([198.47.19.141]:41258 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387845AbfHGMqn (ORCPT ); Wed, 7 Aug 2019 08:46:43 -0400 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id x77CkfSv013152; Wed, 7 Aug 2019 07:46:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1565182001; bh=6j1tOWSB2UPgBl42npaD6Kf9DQxoOqSNF3OrDL024iw=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=aSwBKfGp1HOoYHwfIjeet7kcE/DmNvsL3bMsOIHG1wmq8EIZji+mAfUjettcDGuPi cVyyx8wyM+eXxRftD2MpZorNJ1zjfgtMV96PH5aD8/s7G/KnfMhkZQ7G9pQeeisv0G lwHABsJlbHWeSojgtR/uRQ2H95s0PEkYUd9qqXv4= Received: from DLEE115.ent.ti.com (dlee115.ent.ti.com [157.170.170.26]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x77CkfFO046199 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 7 Aug 2019 07:46:41 -0500 Received: from DLEE114.ent.ti.com (157.170.170.25) by DLEE115.ent.ti.com (157.170.170.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 7 Aug 2019 07:46:41 -0500 Received: from fllv0040.itg.ti.com (10.64.41.20) by DLEE114.ent.ti.com (157.170.170.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Wed, 7 Aug 2019 07:46:41 -0500 Received: from gomoku.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0040.itg.ti.com (8.15.2/8.15.2) with ESMTP id x77CkVoK016945; Wed, 7 Aug 2019 07:46:39 -0500 From: Tero Kristo To: , , CC: Subject: [PATCH 3/3] bus: ti-sysc: allow reset sharing across devices Date: Wed, 7 Aug 2019 15:46:05 +0300 Message-ID: <1565181965-21039-4-git-send-email-t-kristo@ti.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1565181965-21039-1-git-send-email-t-kristo@ti.com> References: <1565181965-21039-1-git-send-email-t-kristo@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some devices need to share their reset signals, like DSP MMUs, thus drop the exclusive notation from reset request. Also, balance the init time reset count, otherwise the resets will never be applied post boot. Signed-off-by: Tero Kristo --- drivers/bus/ti-sysc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) -- 1.9.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index e08125a..b30eb05 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -502,7 +502,7 @@ static void sysc_clkdm_allow_idle(struct sysc *ddata) static int sysc_init_resets(struct sysc *ddata) { ddata->rsts = - devm_reset_control_get_optional(ddata->dev, "rstctrl"); + devm_reset_control_get_optional_shared(ddata->dev, "rstctrl"); if (IS_ERR(ddata->rsts)) return PTR_ERR(ddata->rsts); @@ -1527,7 +1527,7 @@ static int sysc_legacy_init(struct sysc *ddata) */ static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) { - int error, val; + int error; if (!ddata->rsts) return 0; @@ -1538,7 +1538,9 @@ static int sysc_rstctrl_reset_deassert(struct sysc *ddata, bool reset) return error; } - return reset_control_deassert(ddata->rsts); + reset_control_deassert(ddata->rsts); + + return 0; } /* @@ -2418,6 +2420,10 @@ static int sysc_probe(struct platform_device *pdev) goto unprepare; } + /* Balance reset counts */ + if (ddata->rsts) + reset_control_assert(ddata->rsts); + sysc_show_registers(ddata); ddata->dev->type = &sysc_device_type;