From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A414C433E0 for ; Mon, 3 Aug 2020 06:17:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 76E76206F6 for ; Mon, 3 Aug 2020 06:17:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="PBtAdG3O" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728356AbgHCGR0 (ORCPT ); Mon, 3 Aug 2020 02:17:26 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:38309 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728296AbgHCGRP (ORCPT ); Mon, 3 Aug 2020 02:17:15 -0400 X-UUID: b44ecaec613942d5912a701aad6be7e6-20200803 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=rjZDdVmKwlvCS5P7LK/+wokqw80LDUbVpUuPU9b4MXE=; b=PBtAdG3OUhO0EKZ7QrfIBhYI1/TLJsb9KssUm7goxz1UVCpaXByX3XFksd41P28Bi205YjopxJfsmf15zIZ4q9eML9GBXZnzAYbzHRjzUXm6H32Qvbonka5fEQOGejOF43afzUgeoBWYZ5TMAJ8Rg/k5Wnq+IO3BV5FptWnaHEM=; X-UUID: b44ecaec613942d5912a701aad6be7e6-20200803 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 763517607; Mon, 03 Aug 2020 14:17:13 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 3 Aug 2020 14:17:10 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 3 Aug 2020 14:17:10 +0800 From: Crystal Guo To: , , CC: , , , , , , , , , Crystal Guo Subject: [v2,4/6] reset-controller: ti: introduce a new reset handler Date: Mon, 3 Aug 2020 14:15:09 +0800 Message-ID: <20200803061511.29555-5-crystal.guo@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200803061511.29555-1-crystal.guo@mediatek.com> References: <20200803061511.29555-1-crystal.guo@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHRpX3N5c2Nvbl9yZXNldCgpIHRvIGludGVncmF0ZSBhc3NlcnQgYW5kIGRlYXNzZXJ0IHRv Z2V0aGVyLg0KSWYgc29tZSBtb2R1bGVzIG5lZWQgZG8gc2VyaWFsaXplZCBhc3NlcnQgYW5kIGRl YXNzZXJ0IG9wZXJhdGlvbnMNCnRvIHJlc2V0IGl0c2VsZiwgcmVzZXRfY29udHJvbF9yZXNldCBj YW4gYmUgY2FsbGVkIGZvciBjb252ZW5pZW5jZS4NCg0KQ2hhbmdlLUlkOiBJOTA0Njk5MmIxMTVh NDZmMzU5NGRlNTdmYTg5YzZhMmRlOTk1N2Q0OQ0KLS0tDQogZHJpdmVycy9yZXNldC9yZXNldC10 aS1zeXNjb24uYyB8IDIwICsrKysrKysrKysrKysrKysrKysrDQogMSBmaWxlIGNoYW5nZWQsIDIw IGluc2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVzZXQvcmVzZXQtdGktc3lz Y29uLmMgYi9kcml2ZXJzL3Jlc2V0L3Jlc2V0LXRpLXN5c2Nvbi5jDQppbmRleCBhMjYzNWMyMWRi N2YuLjFjNzRiY2I5YTZjMyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvcmVzZXQvcmVzZXQtdGktc3lz Y29uLmMNCisrKyBiL2RyaXZlcnMvcmVzZXQvcmVzZXQtdGktc3lzY29uLmMNCkBAIC01Niw2ICs1 Niw3IEBAIHN0cnVjdCB0aV9zeXNjb25fcmVzZXRfZGF0YSB7DQogCXN0cnVjdCByZWdtYXAgKnJl Z21hcDsNCiAJc3RydWN0IHRpX3N5c2Nvbl9yZXNldF9jb250cm9sICpjb250cm9sczsNCiAJdW5z aWduZWQgaW50IG5yX2NvbnRyb2xzOw0KKwlib29sIGFzc2VydF9kZWFzc2VydF90b2dldGhlcjsN CiB9Ow0KIA0KICNkZWZpbmUgdG9fdGlfc3lzY29uX3Jlc2V0X2RhdGEocmNkZXYpCVwNCkBAIC0x NTgsMTAgKzE1OSwyNCBAQCBzdGF0aWMgaW50IHRpX3N5c2Nvbl9yZXNldF9zdGF0dXMoc3RydWN0 IHJlc2V0X2NvbnRyb2xsZXJfZGV2ICpyY2RldiwNCiAJCSEoY29udHJvbC0+ZmxhZ3MgJiBTVEFU VVNfU0VUKTsNCiB9DQogDQorc3RhdGljIGludCB0aV9zeXNjb25fcmVzZXQoc3RydWN0IHJlc2V0 X2NvbnRyb2xsZXJfZGV2ICpyY2RldiwNCisJCQkgIHVuc2lnbmVkIGxvbmcgaWQpDQorew0KKwlz dHJ1Y3QgdGlfc3lzY29uX3Jlc2V0X2RhdGEgKmRhdGEgPSB0b190aV9zeXNjb25fcmVzZXRfZGF0 YShyY2Rldik7DQorDQorCWlmIChkYXRhLT5hc3NlcnRfZGVhc3NlcnRfdG9nZXRoZXIpIHsNCisJ CXRpX3N5c2Nvbl9yZXNldF9hc3NlcnQocmNkZXYsIGlkKTsNCisJCXJldHVybiB0aV9zeXNjb25f cmVzZXRfZGVhc3NlcnQocmNkZXYsIGlkKTsNCisJfSBlbHNlIHsNCisJCXJldHVybiAtRU5PVFNV UFA7DQorCX0NCit9DQorDQogc3RhdGljIGNvbnN0IHN0cnVjdCByZXNldF9jb250cm9sX29wcyB0 aV9zeXNjb25fcmVzZXRfb3BzID0gew0KIAkuYXNzZXJ0CQk9IHRpX3N5c2Nvbl9yZXNldF9hc3Nl cnQsDQogCS5kZWFzc2VydAk9IHRpX3N5c2Nvbl9yZXNldF9kZWFzc2VydCwNCiAJLnN0YXR1cwkJ PSB0aV9zeXNjb25fcmVzZXRfc3RhdHVzLA0KKwkucmVzZXQJCT0gdGlfc3lzY29uX3Jlc2V0LA0K IH07DQogDQogc3RhdGljIGludCB0aV9zeXNjb25fcmVzZXRfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikNCkBAIC0yMDQsNiArMjE5LDExIEBAIHN0YXRpYyBpbnQgdGlfc3lzY29u X3Jlc2V0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCQljb250cm9sc1tp XS5mbGFncyA9IGJlMzJfdG9fY3B1cChsaXN0KyspOw0KIAl9DQogDQorCWlmIChvZl9wcm9wZXJ0 eV9yZWFkX2Jvb2wobnAsICJhc3NlcnQtZGVhc3NlcnQtdG9nZXRoZXIiKSkNCisJCWRhdGEtPmFz c2VydF9kZWFzc2VydF90b2dldGhlciA9IHRydWU7DQorCWVsc2UNCisJCWRhdGEtPmFzc2VydF9k ZWFzc2VydF90b2dldGhlciA9IGZhbHNlOw0KKw0KIAlkYXRhLT5yY2Rldi5vcHMgPSAmdGlfc3lz Y29uX3Jlc2V0X29wczsNCiAJZGF0YS0+cmNkZXYub3duZXIgPSBUSElTX01PRFVMRTsNCiAJZGF0 YS0+cmNkZXYub2Zfbm9kZSA9IG5wOw0KLS0gDQoyLjE4LjANCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D37CC433E3 for ; Mon, 3 Aug 2020 06:19:21 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3C5502067D for ; Mon, 3 Aug 2020 06:19:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="H4z7VH/x"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="PBtAdG3O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C5502067D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=mjj/JhdbC+m62EIiVHJ/ulZNrDYdvoJga/zDbqbhnl0=; b=H4z7VH/xST+4pKwqdBhTJcaIV fLVVtiOaaGcfut5rgGQk9JGlMEJ+KCfAaQ59KnVk5WHaD1s3bOE6UycWTcCy3rTv+EY+ZGAFCm0cK s5PQYPEFIQqYJhAD04oGyQHFkSg8HcgZjLUQb3zw6Lt+DLuRhiCJ35n3uN9ManXbmKP4FB2eiJjZM EQ9CaT/XpvQgR+wVn5aK+rLiRnOuc0G2q/bsTRTMlsJFz6SLG+FWvPIl9QcDWVOy7h+bExUDNXwiu LeWhrmGwYCYgMCuKZ25gwfIyT8uTHeHKBiLz/22t9Wo/xFyS2W/Tpaaz17vnnrtnSGCt2L5x42X3s xuNlh43sw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k2ToU-0007O5-Pj; Mon, 03 Aug 2020 06:19:10 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k2ToQ-0007Lb-Ew; Mon, 03 Aug 2020 06:19:07 +0000 X-UUID: 604dd1c01b184b03b576a9947172370d-20200802 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=rjZDdVmKwlvCS5P7LK/+wokqw80LDUbVpUuPU9b4MXE=; b=PBtAdG3OUhO0EKZ7QrfIBhYI1/TLJsb9KssUm7goxz1UVCpaXByX3XFksd41P28Bi205YjopxJfsmf15zIZ4q9eML9GBXZnzAYbzHRjzUXm6H32Qvbonka5fEQOGejOF43afzUgeoBWYZ5TMAJ8Rg/k5Wnq+IO3BV5FptWnaHEM=; X-UUID: 604dd1c01b184b03b576a9947172370d-20200802 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 798646128; Sun, 02 Aug 2020 22:18:57 -0800 Received: from mtkmbs05n1.mediatek.inc (172.21.101.15) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 2 Aug 2020 23:17:11 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 3 Aug 2020 14:17:10 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 3 Aug 2020 14:17:10 +0800 From: Crystal Guo To: , , Subject: [v2,4/6] reset-controller: ti: introduce a new reset handler Date: Mon, 3 Aug 2020 14:15:09 +0800 Message-ID: <20200803061511.29555-5-crystal.guo@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200803061511.29555-1-crystal.guo@mediatek.com> References: <20200803061511.29555-1-crystal.guo@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200803_021906_637523_98E6C4CC X-CRM114-Status: GOOD ( 13.76 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Crystal Guo , yong.liang@mediatek.com, srv_heupstream@mediatek.com, seiya.wang@mediatek.com, linux-kernel@vger.kernel.org, fan.chen@mediatek.com, linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com, stanley.chu@mediatek.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Add ti_syscon_reset() to integrate assert and deassert together. If some modules need do serialized assert and deassert operations to reset itself, reset_control_reset can be called for convenience. Change-Id: I9046992b115a46f3594de57fa89c6a2de9957d49 --- drivers/reset/reset-ti-syscon.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c index a2635c21db7f..1c74bcb9a6c3 100644 --- a/drivers/reset/reset-ti-syscon.c +++ b/drivers/reset/reset-ti-syscon.c @@ -56,6 +56,7 @@ struct ti_syscon_reset_data { struct regmap *regmap; struct ti_syscon_reset_control *controls; unsigned int nr_controls; + bool assert_deassert_together; }; #define to_ti_syscon_reset_data(rcdev) \ @@ -158,10 +159,24 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev, !(control->flags & STATUS_SET); } +static int ti_syscon_reset(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct ti_syscon_reset_data *data = to_ti_syscon_reset_data(rcdev); + + if (data->assert_deassert_together) { + ti_syscon_reset_assert(rcdev, id); + return ti_syscon_reset_deassert(rcdev, id); + } else { + return -ENOTSUPP; + } +} + static const struct reset_control_ops ti_syscon_reset_ops = { .assert = ti_syscon_reset_assert, .deassert = ti_syscon_reset_deassert, .status = ti_syscon_reset_status, + .reset = ti_syscon_reset, }; static int ti_syscon_reset_probe(struct platform_device *pdev) @@ -204,6 +219,11 @@ static int ti_syscon_reset_probe(struct platform_device *pdev) controls[i].flags = be32_to_cpup(list++); } + if (of_property_read_bool(np, "assert-deassert-together")) + data->assert_deassert_together = true; + else + data->assert_deassert_together = false; + data->rcdev.ops = &ti_syscon_reset_ops; data->rcdev.owner = THIS_MODULE; data->rcdev.of_node = np; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A310BC433E0 for ; Mon, 3 Aug 2020 06:20:40 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 719F220672 for ; Mon, 3 Aug 2020 06:20:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kLrlaJ6k"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="PBtAdG3O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 719F220672 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IMcO7KX5qWn+r6uhI+6XsWOiRvdqhBrmqZG2FitG5Vg=; b=kLrlaJ6kcNcz9zZXxFOth9KWw NQhVLe2NN6nn/3jWVWU+sdPUl8VxUz027sIoQsuOBh0vBZLMyrQcQU6U+DMkvLENnxUIQ+Ksh6Ewy A6eJh68BzVpTeouKW4Wndl1MjAur18PmYyRf9oRYK4YHeic97SaXHQhedZJ6E9mw3FNBtS/+yk7FQ 5PbetWyKs8H6eXX+RSHLJuVORZICsi/15ndq3zdjdUatwL8aDWLezASLSkf+Cjq+3Ll8ZuuT8Zu/2 X/j0SvJinNndgDOShBHaxQ4cAifsLNW3Qx5w8v9VJ9hfkCfXj2WGPcrnrc0GsJFPf9tNQepHM/PST oiIBPwVkQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k2ToX-0007PH-Pq; Mon, 03 Aug 2020 06:19:13 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k2ToQ-0007Lb-Ew; Mon, 03 Aug 2020 06:19:07 +0000 X-UUID: 604dd1c01b184b03b576a9947172370d-20200802 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=rjZDdVmKwlvCS5P7LK/+wokqw80LDUbVpUuPU9b4MXE=; b=PBtAdG3OUhO0EKZ7QrfIBhYI1/TLJsb9KssUm7goxz1UVCpaXByX3XFksd41P28Bi205YjopxJfsmf15zIZ4q9eML9GBXZnzAYbzHRjzUXm6H32Qvbonka5fEQOGejOF43afzUgeoBWYZ5TMAJ8Rg/k5Wnq+IO3BV5FptWnaHEM=; X-UUID: 604dd1c01b184b03b576a9947172370d-20200802 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 798646128; Sun, 02 Aug 2020 22:18:57 -0800 Received: from mtkmbs05n1.mediatek.inc (172.21.101.15) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 2 Aug 2020 23:17:11 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 3 Aug 2020 14:17:10 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 3 Aug 2020 14:17:10 +0800 From: Crystal Guo To: , , Subject: [v2,4/6] reset-controller: ti: introduce a new reset handler Date: Mon, 3 Aug 2020 14:15:09 +0800 Message-ID: <20200803061511.29555-5-crystal.guo@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200803061511.29555-1-crystal.guo@mediatek.com> References: <20200803061511.29555-1-crystal.guo@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200803_021906_637523_98E6C4CC X-CRM114-Status: GOOD ( 13.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Crystal Guo , yong.liang@mediatek.com, srv_heupstream@mediatek.com, seiya.wang@mediatek.com, linux-kernel@vger.kernel.org, fan.chen@mediatek.com, linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com, stanley.chu@mediatek.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add ti_syscon_reset() to integrate assert and deassert together. If some modules need do serialized assert and deassert operations to reset itself, reset_control_reset can be called for convenience. Change-Id: I9046992b115a46f3594de57fa89c6a2de9957d49 --- drivers/reset/reset-ti-syscon.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c index a2635c21db7f..1c74bcb9a6c3 100644 --- a/drivers/reset/reset-ti-syscon.c +++ b/drivers/reset/reset-ti-syscon.c @@ -56,6 +56,7 @@ struct ti_syscon_reset_data { struct regmap *regmap; struct ti_syscon_reset_control *controls; unsigned int nr_controls; + bool assert_deassert_together; }; #define to_ti_syscon_reset_data(rcdev) \ @@ -158,10 +159,24 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev, !(control->flags & STATUS_SET); } +static int ti_syscon_reset(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct ti_syscon_reset_data *data = to_ti_syscon_reset_data(rcdev); + + if (data->assert_deassert_together) { + ti_syscon_reset_assert(rcdev, id); + return ti_syscon_reset_deassert(rcdev, id); + } else { + return -ENOTSUPP; + } +} + static const struct reset_control_ops ti_syscon_reset_ops = { .assert = ti_syscon_reset_assert, .deassert = ti_syscon_reset_deassert, .status = ti_syscon_reset_status, + .reset = ti_syscon_reset, }; static int ti_syscon_reset_probe(struct platform_device *pdev) @@ -204,6 +219,11 @@ static int ti_syscon_reset_probe(struct platform_device *pdev) controls[i].flags = be32_to_cpup(list++); } + if (of_property_read_bool(np, "assert-deassert-together")) + data->assert_deassert_together = true; + else + data->assert_deassert_together = false; + data->rcdev.ops = &ti_syscon_reset_ops; data->rcdev.owner = THIS_MODULE; data->rcdev.of_node = np; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel