From patchwork Fri Nov 3 10:48:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 161233 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp935853vqu; Fri, 3 Nov 2023 03:52:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFKp5mZJwEg9Jvv+cqgqXXvFc3/ZKiLIh+yksevrDd2gOJoQHlRVOE4ahjXfeQiJSCfrhk3 X-Received: by 2002:a05:6358:5e09:b0:169:a54e:eb24 with SMTP id q9-20020a0563585e0900b00169a54eeb24mr8704255rwn.19.1699008724512; Fri, 03 Nov 2023 03:52:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1699008724; cv=none; d=google.com; s=arc-20160816; b=qPT2FvRigMsobNrfYZp8hBLeBwsqyg9hPzAjEx1HJ+9GQ66jo/MfRi9Edf5uAC1AD2 Y8PVaqeUKQ/gwnLixpnxLO9xH0nj8r6jfCg/agjDnyHXF6rpJoHEjJxeLq4/f9I1CPmz rkPn3S8NThWTctnoW5zXKWN7j3iwQ+U6ZhDwcdwwOMmeRvKUJTtOkXEVg33DT57V82+D T5IEfh9XLIb/7mShE+pzXoYHCWfqpicEabfNfHVfFypN1fuEAIvoo3KKKo5ZVdb57GWg PWNGaQCuPmBUtCE+FLT2A78/doeujO/gXmaKhMiDWBsvkUeLgz9Ba+JzMuQwSkIIqRok HZcA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ZuD+kzTK3GMqMh4cRFD6FbY1OqwfVp6oqKPDZbwG/ng=; fh=1N2DBqAE4qlJ/MdmzyBAVyqZb6NxbBXSfjSgYrLDqv0=; b=lctv0PBm+UheboJyfeJCGK2eCC/FCT46PH4cIbKBaramb4DTAV8GlMnA8czaouHJJk F0ANW0AwFc67rt63VKTv7yrlngOo9Z+YDrSo6CIwjTOi1kUo5QkOCJzb6mvbsC+Ae2KI DPpZ2F+C9y+JMolS6i3ssrJM2SZxQOmfmizgfQka4wlDVyUH70ObtqM2K+vgpaNsqYMP oIbj4ajdAqYYgOWRzp9GUSvOJIQEq0re3ZkjoCCqzbTaJ+vbYujPzx1m9uwG4+PrS7sy w5VBE76c4O0FSFsXQTLVwy29VmV4/i13piTfh8n/ktqJuhIIB7LPCei6EYMFo0DyPKxZ 7OXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="Q/qGJhKT"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id f11-20020a63554b000000b005ac7b5e2357si1268220pgm.378.2023.11.03.03.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Nov 2023 03:52:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="Q/qGJhKT"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id DD1CA828D013; Fri, 3 Nov 2023 03:50:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377791AbjKCKtn (ORCPT + 36 others); Fri, 3 Nov 2023 06:49:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377663AbjKCKtf (ORCPT ); Fri, 3 Nov 2023 06:49:35 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36A70D7; Fri, 3 Nov 2023 03:49:29 -0700 (PDT) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A39fwoe025893; Fri, 3 Nov 2023 10:49:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=ZuD+kzTK3GMqMh4cRFD6FbY1OqwfVp6oqKPDZbwG/ng=; b=Q/qGJhKTuZXEiIZgAJjwTEPCpkdLblMbsylsxRTucMZJfRjPdVDWFnxqRc2QPCeJW7TR 7Lx8wLxgef6NBIIS5/sqKNOghO7FGugKJXyJ2VirABZAmKKJ69KNZfLxYUEFJ+RPgEtB qGA/V7L+FYQQF+zt0acei1dD5ug3sbc6toOedjRir+8AyBDa9TGBo+2+r8YkYeSMowOO ADQJD+gbC7jgoeofuG4gRkEpvxGuKY1ThHFMPzAYZomNF0IL5I/D9xuRWTB+RNSsnqoH AR64ELse9qpuJUeRPxB1N2yjCUsG2P9wFe7E3aVSpaPo0eVvtURbEadhgDSgpiHbKJwQ Hw== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u4ss98nud-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 03 Nov 2023 10:49:13 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3A3An5Ya003573 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 3 Nov 2023 10:49:05 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.39; Fri, 3 Nov 2023 03:49:01 -0700 From: Luo Jie To: , , , , , , , , , , CC: , , , , Subject: [PATCH v11 1/4] clk: qcom: branch: Add clk_branch2_prepare_ops Date: Fri, 3 Nov 2023 18:48:43 +0800 Message-ID: <20231103104846.30875-2-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231103104846.30875-1-quic_luoj@quicinc.com> References: <20231103104846.30875-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: 4k-vjz2EV2a0TAdYn6rkZP6FQaPU2KW8 X-Proofpoint-GUID: 4k-vjz2EV2a0TAdYn6rkZP6FQaPU2KW8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-03_10,2023-11-02_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 malwarescore=0 phishscore=0 impostorscore=0 clxscore=1015 mlxscore=0 mlxlogscore=796 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311030090 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Fri, 03 Nov 2023 03:50:04 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781539771855576695 X-GMAIL-MSGID: 1781539771855576695 Add the clk_branch2_prepare_ops for supporting clock controller where the hardware register is accessed by MDIO bus, and the spin lock can't be used because of sleep during the MDIO operation. The clock is enabled by the .prepare instead of .enable when the clk_branch2_prepare_ops is used. Signed-off-by: Luo Jie Acked-by: Stephen Boyd --- drivers/clk/qcom/clk-branch.c | 7 +++++++ drivers/clk/qcom/clk-branch.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/clk/qcom/clk-branch.c b/drivers/clk/qcom/clk-branch.c index fc4735f74f0f..e22cdcf694f6 100644 --- a/drivers/clk/qcom/clk-branch.c +++ b/drivers/clk/qcom/clk-branch.c @@ -153,3 +153,10 @@ const struct clk_ops clk_branch_simple_ops = { .is_enabled = clk_is_enabled_regmap, }; EXPORT_SYMBOL_GPL(clk_branch_simple_ops); + +const struct clk_ops clk_branch2_prepare_ops = { + .prepare = clk_branch2_enable, + .unprepare = clk_branch2_disable, + .is_prepared = clk_is_enabled_regmap, +}; +EXPORT_SYMBOL_GPL(clk_branch2_prepare_ops); diff --git a/drivers/clk/qcom/clk-branch.h b/drivers/clk/qcom/clk-branch.h index 0cf800b9d08d..f6f355f28b71 100644 --- a/drivers/clk/qcom/clk-branch.h +++ b/drivers/clk/qcom/clk-branch.h @@ -85,6 +85,7 @@ extern const struct clk_ops clk_branch_ops; extern const struct clk_ops clk_branch2_ops; extern const struct clk_ops clk_branch_simple_ops; extern const struct clk_ops clk_branch2_aon_ops; +extern const struct clk_ops clk_branch2_prepare_ops; #define to_clk_branch(_hw) \ container_of(to_clk_regmap(_hw), struct clk_branch, clkr)