From patchwork Thu Sep 14 05:46:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 139657 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp448887vqi; Thu, 14 Sep 2023 08:58:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHXnbh3JELgsujntk+nJtWCchuNcNkj6ks5//k0Mysa+OMOi7KB5PFtJAjeWvn8us0j464Q X-Received: by 2002:a92:d8c2:0:b0:34f:36ae:e8c3 with SMTP id l2-20020a92d8c2000000b0034f36aee8c3mr5503332ilo.1.1694707090231; Thu, 14 Sep 2023 08:58:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694707090; cv=none; d=google.com; s=arc-20160816; b=XcxUj5hkpMRrqft0uLQ5SOwEbw1hWsPDHhxXWqVVMKTfyilBYNBn20efT8z6H7LmbD 03Ue0Gt7dHpGKvkAFlnZrHUDbd/5Jrya8PPIlozNJG6WKoWxUOU8g9hRM2f81QxTjJ2x I4AdEBU4pK5FmmlRyXvoUK3AMUvW5L1sNsPXCV2WxSf5aaHdnMlDkWJtN8GxLAKFx3Fn JC6Bcuu/zo35SPwhk77OIeJK6mIRxHOdHSrdPF2V/C+B3OZT48R2Qv2qdumtACP+ZSgO hUnif61GCejMvtVkUr11EqQTr6ZdFXz8Xhk1MmrXM8XCvtmAbvhVtiG4+I8jNoaqyUj6 MQ4g== 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=aaNOGruwlDMPG/o153KX48k0VgZKC1T4Cakvv/aJbvaSddYXVp5+X4ZFOowN/G2nfm IAKuGe5qkGX91OEG2ftBjOQpwHGmTFQeg8IymuwmpDycm/4cYFhtXAZfOWOFkAQGbi5v hUhIYIj36GJTU/nhYmqHmg9LVAiq6D2KIfWtyMVdv4/mP2DU/UOzzVUF06fbY7fTCjRA H6vLJ47Xm48XjaMuVoPUySmJcfUBynXYWJcatebdL896yigHVso4GHdph1KZbE2+t72D rHFVhOQffRmGtJFrAV4wfiGIERm2Oqj239OHQ/tdAQNzaCGaKAzYZicH3Z+PSDGuGGDw 5G3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Ib9e8cwO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id g9-20020a636b09000000b0056a77ae0b54si1675046pgc.442.2023.09.14.08.58.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 08:58:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Ib9e8cwO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (Postfix) with ESMTP id 68DA681B94C5; Wed, 13 Sep 2023 22:47:56 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235297AbjINFrc (ORCPT + 35 others); Thu, 14 Sep 2023 01:47:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235140AbjINFrZ (ORCPT ); Thu, 14 Sep 2023 01:47:25 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49C9A1724; Wed, 13 Sep 2023 22:47:17 -0700 (PDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38E5XDJN028083; Thu, 14 Sep 2023 05:47:04 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=Ib9e8cwOVsckwROJA4+pfrwLIO73guw9xwuVxQDDArvgFDyjIvk64Oqara54pUkafI05 mZzEXSWD6CiQma7I71nLX6v9IEETQrigIsanGpyMMr/MMLRrQ7LfVa/yI56OcITymuLa +nqgmclve/qEpnYl01hp7UDfsTz1tNt5H2iRcP01RIBJyFZ3/POyXgir5jYDVVMoOQyN hW3IpInpaXYxX7Mbry8WV7I8Z/fA5rfyjj6kGzGJ2S5pNb8VSagjqJlih9Cdid5rZxIg AAekOUHq9nwZmHdUIzH5zTf9ToE/SE9QOxTbT+ZibXPyv7PJqAsK0flE/EC3gmNnBPTV ag== Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3t3v4h8140-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Sep 2023 05:47:03 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 38E5l22X000468 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Sep 2023 05:47:02 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Wed, 13 Sep 2023 22:46:58 -0700 From: Luo Jie To: , , , , , , , , , , CC: , , , , Subject: [PATCH v7 1/4] clk: qcom: branch: Add clk_branch2_prepare_ops Date: Thu, 14 Sep 2023 13:46:36 +0800 Message-ID: <20230914054639.13075-2-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230914054639.13075-1-quic_luoj@quicinc.com> References: <20230914054639.13075-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 nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: LatfP-dGLU7l0MIY6NN08IpT-80akOfX X-Proofpoint-GUID: LatfP-dGLU7l0MIY6NN08IpT-80akOfX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-14_03,2023-09-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 bulkscore=0 mlxlogscore=803 adultscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309140050 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 (snail.vger.email [0.0.0.0]); Wed, 13 Sep 2023 22:47:56 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777029181658810630 X-GMAIL-MSGID: 1777029181658810630 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)