From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA82842643C for ; Mon, 6 Jul 2026 12:24:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783340651; cv=none; b=mSbL/5yu1SFiyG8US4V0dCGklyOmwJjYECSopZZ0g+oTt5pTZ90CxxRan+RBGks7aGi0HSMK38kj9lIbEFIcd1cFw2MaPwQ9lnUWZAyGgACosNxQRev3ZaMxmXCFV8hNPpOFOdTa+2FTqnF/4s0k8Qs/JdwJmlozwL5ZE3XBKtQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783340651; c=relaxed/simple; bh=jquZaB5cnyQkXfJHzXzOZTU3Nw87UqHejkSfxS+Ivrc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Aa45z0L2bi5/mN+MFM5hyvLNXKCVKHdUn/hipibXlTOYBUHtOEda5lEs0FE9H7zUbO6W6YwMvF2nQYy5SNQgnu3knYVIVfl16xKiL68Ur3LHzsktR0ZV1nGa+JO4GJJWwbWlVtOf6DdhKBGgAypywk5aufQglixTmi5CYOnRoTc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lH/jTr7x; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=G2F9HI33; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lH/jTr7x"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="G2F9HI33" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 666AxIlJ366850 for ; Mon, 6 Jul 2026 12:24:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qSRw2jkAJBqJzogSTTDVCeRoFnrRmsDwzsYxZO7/CTk=; b=lH/jTr7xhBEUnbJ/ 17N/BLVUO5PNZxCvBZJ7bZ4xO3n5aIsMbTP2oVIixRZoALWJEehhJFeWqrUDYIoo 5LQgSQ/2tRA6DJSd1lXYq8zEGP/AHQccdecKtrXKXfVaUU/49x5lG+oHNJWsB9vM hP9/G2tmbq/PebV7dr9Pv95exCQRpV8l+rW+SbQkX4isS10Hnxc+kAf8VgK66Qxd 6b3s92XDHf3KHEnMvNMhjqBq+l8Lj2TyIkMXS8EZ6CXRPvcVSpUh3/a46ZRdcfls 9B3qjsSEuJ9SAFoF5hQ36EOnnRuEXarBpv4mEMojnkLvDdVVCTjH0huOJY8zjkx5 lihrfw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f891uru16-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 06 Jul 2026 12:24:09 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51bfe75b7dbso9855901cf.3 for ; Mon, 06 Jul 2026 05:24:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783340648; x=1783945448; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=qSRw2jkAJBqJzogSTTDVCeRoFnrRmsDwzsYxZO7/CTk=; b=G2F9HI33QmJPl3RM/+A8DcQVHigv/M2f7zF1vS56CYxYLqnXJrfZdgeVkHpoCsJTcY Dy4Qzv9YEwxHIDgfw31Ve5JFrsnLaJPnQCI7rc5xXxiY/uZZU+7bHd7mXocAR062JM3C NJdhalPDx0OzCClfeB21ZV0di7ZvpyqlMpZ0Fzeub0RVM9D1/ApUYLNOPzvH+YaIlAo9 GB2n79kaUgWdebDVWTn9seSTBxTydmROymKmQeewsQis9zkZM63Apk6/97iXywgwCsA3 N+4W96ZXbt31GuhchC6c9JUmiBvM4KAX0sJR0ZdjweyODJkz9jo5/EBZaWV7q0mmQrGz Xkhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783340648; x=1783945448; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=qSRw2jkAJBqJzogSTTDVCeRoFnrRmsDwzsYxZO7/CTk=; b=O4uhrkr2IrWzrkZO8BdW75rPcEzuY7JctblDONf4WDJTjCCHX9eJPjQePo9IzBXvI2 FfjmsAe+8K3wiUDA4ZrgWmaSomQMPkzTHewsZw+U569TiHc57sAO+UiTZklT9ez1GkmF CVONm5vGcY/BFdFfR5SQDBhOt6kL8ZCnVA7Line2M05MRoJnyN1cdiA5SLTxU89TXRQV cea7Xiiaz9kOW/d0N9ONdfpzZcsCFQ625gwfcola2Z4UMGtGQpFfDXCNcw5H9TcvIbOC t4BcJbS9Naa4JCn3b75NbMiV0sg8HlTCo9cR/MIZqqE8EtMMWNd/OsTfZ5hpR2vCTZXk qqZQ== X-Forwarded-Encrypted: i=1; AHgh+RpqNOev/E2R4CQ27J8XXd8xyLgEoqOfGXCJ5GkLA4ngZsIiUku1TrHoPLJZyzqCCohIeOORqdXCKjDqLuQ=@vger.kernel.org X-Gm-Message-State: AOJu0YztcO0WjHGxdoiBAkSmk3+USe886vo9w0xqoLWkHhVJ3/UuIVAp Mq7tX5RRMHNBLvznOGQ5aTlWO5c0IXQtaNSf5mrmdNjia7saOJD/FpWGNcaefu/KwmYoOBq6uzC Hn6DJY14VnWeqcE03H9V88o4sbFwUUoiD++tccdj/WOKDhHZkOvsBpBDWqlPRFxF+jMw= X-Gm-Gg: AfdE7ckjvk5ZT0Le1xKgtLMmUQdsrJRVF/6xdcdfhy1N7LL082jRWxbsjjh35khwy0v KdsEyltjSRfkmKgiHHkgsOmX7SidijVzYL/h1FEFZAyLWK+VoZqx/040I/DbHnuNnx9h8PCystW iEM4mEznfbx9HHAVdkHLmpTQxGH+Keb4+zvYtShjLEMX5559OlFke8XNLCgJIyd6xxRS9ixdk8G Cvp9Ijd08aNxwAevZ0uxrtAQyD4Nnku6tvLvNYa8rw7rfrFRqrawYOO3fsqBdHYgyWXBz70zBrE 0+UgIq+B7g5VBW8QW1QgJXBrAznq4zXTg0J+BKshkrSEuLJIDkP87uHuAw9b3WLDXyxiSPEC67k MdU5DJXeGbYcDfYNlox3ShBfZfV/2kMJfP88= X-Received: by 2002:ac8:5e4d:0:b0:51b:f9e0:87b0 with SMTP id d75a77b69052e-51c4bd94c5bmr93171081cf.2.1783340648160; Mon, 06 Jul 2026 05:24:08 -0700 (PDT) X-Received: by 2002:ac8:5e4d:0:b0:51b:f9e0:87b0 with SMTP id d75a77b69052e-51c4bd94c5bmr93170791cf.2.1783340647458; Mon, 06 Jul 2026 05:24:07 -0700 (PDT) Received: from [192.168.120.193] ([178.235.128.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c12b5ae4959sm731134666b.0.2026.07.06.05.24.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Jul 2026 05:24:06 -0700 (PDT) Message-ID: Date: Mon, 6 Jul 2026 14:24:02 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v7 3/7] clk: qcom: Add generic clkref_en support To: Qiang Yu , Bjorn Andersson , Michael Turquette , Stephen Boyd , Brian Masney , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Taniya Das , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, krishna.chundru@oss.qualcomm.com References: <20260702-tcsr_qref_0702-v7-0-776f2811b7af@oss.qualcomm.com> <20260702-tcsr_qref_0702-v7-3-776f2811b7af@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260702-tcsr_qref_0702-v7-3-776f2811b7af@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: NAfDSuRWaA_q3Vf6Ad9uEJ3a_Bw1BGg8 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA2MDEyNiBTYWx0ZWRfX5OSHC4zM6XhX ns0Dmv3e9d3XRm+mBSoJz7JURCTOxqF+BATsmWtLIHFwxVr0pUUQydCkFdmLbDLse3szV9L8R1l EdQR3Kav+DerzE5QJkVFXUnwjlwFBGU= X-Authority-Analysis: v=2.4 cv=Mo1iLWae c=1 sm=1 tr=0 ts=6a4b9e69 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=PRfkaYvzSr8QmIIGAkY2Sg==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=4hBvweVN3K0BpMZFuekA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA2MDEyNiBTYWx0ZWRfX7xSAWeUp4CCK PJ/K1kwZlOLuwp+QZ57wSfq5lasKfwvSJxJQX+9/g6xShfgKkj9gm9xNbN/IVImw9yxPcs5XHwC pjxcGRDvy+ge7fwnnYObMPh+dpcjSXVslTX30Tfi+n9uqc6+SuFGggIwlgtftf0C0xWcPAsggYY lAXcBnsR0TFSVrwE42P3s4gXPZW+PSyDYK5Cs5wmEXAxwtyqLdjuuSA+4u9XHcAk1xX7EC/zqU/ +3VBWPiqWSlatogQyI1eosQudulsq4NDw8NQ8ei6/m+akUG4io8CLVqNdBz43Ut85lDfDFpce0S u/jUpB2L8vVCy/0DCVzeR6mLfOeBwOWo7HVkabMXYejjPrLHfbupHZLqpKcK2UDVM6i3NAYltUb vCdsSn7VmDjyXJNpCF7Tan2KUfuwMgSWNhE15n0jovwZA0sUbNPOwgiI8TvJ5mjp/wzKDQ+fX2S BvRjBGn7jiu7opvy78A== X-Proofpoint-ORIG-GUID: NAfDSuRWaA_q3Vf6Ad9uEJ3a_Bw1BGg8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-06_01,2026-07-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607060126 On 7/2/26 9:36 AM, Qiang Yu wrote: > Before XO refclk is distributed to PCIe/USB/eDP PHYs, it passes through > a QREF block. QREF is powered by dedicated LDO rails, and the clkref_en > register controls whether refclk is gated through to the PHY side. > > These clkref controls are different from typical GCC branch clocks: > - only a single enable bit is present, without branch-style config bits > - regulators must be voted before enable and unvoted after disable > > Model this as a dedicated clk_ref clock type with custom clk_ops instead > of reusing struct clk_branch semantics. > > Also provide a common registration/probe API so the same clkref model > can be reused regardless of where clkref_en registers are placed, e.g. > TCSR on glymur and TLMM on SM8750. > > Signed-off-by: Qiang Yu > --- [...] > +struct qcom_clk_ref_provider { > + struct qcom_clk_ref *refs; > + size_t num_refs; > +}; If you define num_refs first, then you can have refs be a zero-length array with __counted_by(num_refs) and make provider a single allocation, like: 512946cf0f32 ("nvmem: rockchip-otp: alloc clks with main struct") otherwise someone will come around and "fix" it in a day or two otherwise Reviewed-by: Konrad Dybcio Konrad