From nobody Tue Feb 10 00:22:51 2026 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 CBC3941C2EE for ; Fri, 6 Feb 2026 17:42:45 +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=1770399765; cv=none; b=SjinpXIwugjnk8c1ob6U1CPDR4M6diYYBUh/zHsoydsyYakYwY2xdutFgpRaJVAq/uZHoKVt3MMK0WeLQv3f/lfWfXrxpocTZKS5T3dqGZ0HFyVIjkUI6KZj0g8R0Dyj8r4aecrIld3uODlNhrcj83i9dJ1CoZrcKnWXn4Lr7i8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770399765; c=relaxed/simple; bh=INGstpgJLmbXtSQabWLbgnYYayWnJH8f7H+COx7b8d8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CdoAGxnn2/MNPoJ+ZN8O/r0HDoHZg3H9rXiOLvPOlSawlgDqmBnMYGGuQmJULCJwM8em2xTBCnX89a0qO/YgIEu6YhKYF34omQCRjiPkBH4mfpflEEL3c9BipMFG3I05Yyj/4xo5rZ6TKM/Q90GzWnD8uTZc/1MvVn/pOvHMv7c= 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=cgMXsDSv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ApzYFOhX; 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="cgMXsDSv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ApzYFOhX" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 616B2nHE2938835 for ; Fri, 6 Feb 2026 17:42:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=WwOaKjslk41 m/3sPlhy3wTfRdNt9ldvgK3Mn5lILziQ=; b=cgMXsDSvVDF+BrT7dY/t2F1V2PW AMGcVPcSr334O4cIH6ccS/YV6EvY5m/xlz7cIdeG7Xzn65/0r2MfhzbCmkfH7ENG BZ548M6nibpNAYLLMfQQz38t8ERIuXGWAJGhiLGlcaoruHaUV9gm0f02XQA1UFsj Y9qxEXfUB5FkWrUqZZacLq0TLwJGrEEccnhVdqBDotGeQrynvZ9R2VDbJ6XBoN+h C6y3/3IeGLKVYL4gYOrEuSaevaHrSsyXvnuZvzhUkwlTimPli9Oy4MS/atOz2h70 R0cbsqux2Ll40ESXu2W9/hXe+XMNaF6pMu+a9mvEdSCS48Gw0vteeQPTu5g== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c5f35s4ku-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 06 Feb 2026 17:42:45 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c68b97b7316so643180a12.3 for ; Fri, 06 Feb 2026 09:42:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770399765; x=1771004565; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WwOaKjslk41m/3sPlhy3wTfRdNt9ldvgK3Mn5lILziQ=; b=ApzYFOhXaIyRECKPCtL9xHJbZFeVFqkNvzUpUdJ/wcd+0iMK71S4vnxb9W9zUlpQ5t +3vG0kGYQT6gb0z544Kk6xsMIjAF449C2vJXexbIMX+XHJnEt62CfVVXYu4AUopDmYZj GXOqMh3km90yFCbev3fzsa69BhHQwRBxbnJAFtK/5CE7XGDya2sds3g7aXO54PuJTEpD 9J+aAisPLveIPTdLGiRkkuEp4lzx0dKEMK7zkNGGZ+xKTuQrz/KjJNFhyhGl55TjBCzA CiMQxMo5ztZ5mCN8ZSRL4AhdlF78z1AQpaharUsSXwdrpWaX6WSP0qU8rTxE2wQAtiYm yfOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770399765; x=1771004565; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WwOaKjslk41m/3sPlhy3wTfRdNt9ldvgK3Mn5lILziQ=; b=hvPIOVfQtRHtMqmQQ72eotWh0gqdsHJlKv6K5rq/6MttGFXf+Lw+rNwy1E4hkCFJpq Ix+aHBgXREQq77qI0wANrw8wYUr86wTK9ZB88/zOURoMWDxE2iV3T39fdvl1CTCBdNTI N8Wl6Suj0AtpuXnNDhowfoT51iReeAev48R2atzgzm2LCwcmADZJ9aoAC1PHXyjoFAbT vNPs7/y/sqQhciPsSRT+f5UousZxRzruFeeKgYDSpLmfwfNADQyj7+X87xWONOf3I7EG 282VCT2upM3LlKjNEhvAfTh2E9xBvkdHhOH1ijpkX0Qx0pORm9RKBuJ2JDK1sX8OCVTi Xkww== X-Forwarded-Encrypted: i=1; AJvYcCWevtyfZVTfnR+cX6OkWCvedtJ3Mht5DXEf61JHa6ey9OfSOwKfr/h8xiXfK4utlkdl0bDgdSa7nPnwaTY=@vger.kernel.org X-Gm-Message-State: AOJu0YwyZ2Mq7TeY6jHXSjjkJ/Lqshg84vQAdn+TNkbupBw1KwNEt9P1 aL70cgY9CUWsq8tY+kskEsFHIhk82F9SxG3Uphc8jwY00dnwuAgoTwnS0HfNyJoi8m+TxtUTyKk sccsK1TQ4ZgLFLHi6ofhgfDagEPiom+CTxvWYZGl2lc7xdETgDXImqh3Twlc/To0Vdc8= X-Gm-Gg: AZuq6aJdcngdZwd4b9DIMScR+QysOuAkf5vpI9CCbVZ574uvhfmSvr7RSg1t3aFIUGg jPyQrGRoGs0edeUzkY3dLcIbQGbW3hO8IG31nw/CYq2K83r4ccLBEsGe6KyvCZVEyu5eeGG2dcm WTDY+Ff6/C5gvEVzsrtG8/C+l4O6iySXkGaUlVXQxHHuYhz3D/acw0kLGfNYFJlnGT+wcfZppYC l8Ucsd0DqVmYQ7nnfp9hve1A0HNG/PDt7jk/lDxhH4MheP1Ucbmbw9vXCCKbILg4OBp/QB6moRQ XqbDDtFsQODLr4fN3UQbxECWldChVxTIwLB1cel+u7uNxBXOY3+D9YZlNawOcn3VVLqeCYtjDr8 fCxJlcHMeBZ0tW3WHWGmzMi36v+/KGjH14NQKza49nPw= X-Received: by 2002:a05:6a21:6f09:b0:38e:9ebe:5267 with SMTP id adf61e73a8af0-393ad366d21mr3564244637.57.1770399764541; Fri, 06 Feb 2026 09:42:44 -0800 (PST) X-Received: by 2002:a05:6a21:6f09:b0:38e:9ebe:5267 with SMTP id adf61e73a8af0-393ad366d21mr3564217637.57.1770399763929; Fri, 06 Feb 2026 09:42:43 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c6dcb5eccbdsm2639387a12.19.2026.02.06.09.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Feb 2026 09:42:43 -0800 (PST) From: Praveen Talari To: Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Mukesh Kumar Savaliya , Viken Dadhaniya , Bjorn Andersson , Konrad Dybcio , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bjorn.andersson@oss.qualcomm.com, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com Subject: [PATCH v5 11/13] i2c: qcom-geni: Use resources helper APIs in runtime PM functions Date: Fri, 6 Feb 2026 23:11:10 +0530 Message-Id: <20260206174112.4149893-12-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260206174112.4149893-1-praveen.talari@oss.qualcomm.com> References: <20260206174112.4149893-1-praveen.talari@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 1nD8cEwOCgVyIEy1MYXZ7A-oyQBj3QnK X-Proofpoint-ORIG-GUID: 1nD8cEwOCgVyIEy1MYXZ7A-oyQBj3QnK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA2MDEyOSBTYWx0ZWRfX5c+4wLbagRBB Plqp5bcwE/CKvClo1NREEsw04eLyvpU38sCkItw2PMkMbvmWvnxQqTV/sdT/4IIAxBmewu5moDF A6O3fYX3FtN4Sykt6DTIxElb/XUU+uzXs532YremE50S8tRLOptk+XkJxSfz40ftST/gujWKu1j 27i8Eqg2/yIVfLr8nuS8KTk1EjO/gdTFC6VTccM0H4kKhzGfw4Y+OmuhdOtSlO41L5bbbVTv5xa brT4OMVm+Hh96PdSGo2NAdzFICcxm1Ne+7I7OoDio/n0pA6rXvAVOCXKI3yjkow3dhk9Z7wkNOQ SW4FCbT+IZKkR6JvW4Y0G77ZrCA6XLp5WABUxwJoKGXeLG2jvgw/LOHte9IdK7qiphfhSu96kcW ZWVkEzjR8ana4Z2gKNGmEBSeBtmrqXYHiE4aYqAsjecs6JHmb64hI8nXaClqBhwQqtJ48KVyzCW cL7bv+3oA2+d/923eJA== X-Authority-Analysis: v=2.4 cv=ApnjHe9P c=1 sm=1 tr=0 ts=69862815 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=3PeDo36KSfG0vlEF63sA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-06_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602060129 Content-Type: text/plain; charset="utf-8" To manage GENI serial engine resources during runtime power management, drivers currently need to call functions for ICC, clock, and SE resource operations in both suspend and resume paths, resulting in code duplication across drivers. The new geni_se_resources_activate() and geni_se_resources_deactivate() helper APIs addresses this issue by providing a streamlined method to enable or disable all resources based, thereby eliminating redundancy across drivers. Acked-by: Viken Dadhaniya Signed-off-by: Praveen Talari --- v3->v4: - Added Acked-by tag. v1->v2: Bjorn: - Remove geni_se_resources_state() API. - Used geni_se_resources_activate() and geni_se_resources_deactivate() to enable/disable resources. --- drivers/i2c/busses/i2c-qcom-geni.c | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qc= om-geni.c index 05f5705b0319..0ddfeef6d1b2 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -1160,18 +1160,15 @@ static int __maybe_unused geni_i2c_runtime_suspend(= struct device *dev) struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); =20 disable_irq(gi2c->irq); - ret =3D geni_se_resources_off(&gi2c->se); + + ret =3D geni_se_resources_deactivate(&gi2c->se); if (ret) { enable_irq(gi2c->irq); return ret; - - } else { - gi2c->suspended =3D 1; } =20 - clk_disable_unprepare(gi2c->se.core_clk); - - return geni_icc_disable(&gi2c->se); + gi2c->suspended =3D 1; + return ret; } =20 static int __maybe_unused geni_i2c_runtime_resume(struct device *dev) @@ -1179,28 +1176,13 @@ static int __maybe_unused geni_i2c_runtime_resume(s= truct device *dev) int ret; struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); =20 - ret =3D geni_icc_enable(&gi2c->se); + ret =3D geni_se_resources_activate(&gi2c->se); if (ret) return ret; =20 - ret =3D clk_prepare_enable(gi2c->se.core_clk); - if (ret) - goto out_icc_disable; - - ret =3D geni_se_resources_on(&gi2c->se); - if (ret) - goto out_clk_disable; - enable_irq(gi2c->irq); gi2c->suspended =3D 0; =20 - return 0; - -out_clk_disable: - clk_disable_unprepare(gi2c->se.core_clk); -out_icc_disable: - geni_icc_disable(&gi2c->se); - return ret; } =20 --=20 2.34.1