From nobody Tue Feb 10 01:31:06 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 5869438BF81 for ; Mon, 2 Feb 2026 18:10:59 +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=1770055860; cv=none; b=T8tmtMWxJffRF2QHpDxY1K88ZXlddbikVJ8mhaG+vlXxt5Fvl1IX+Jbyvxfzr8q+7p5EhTf4QC/FgTpWurmHIh909vBK1ON35vHEseaSrAvMrluSUH820u/4FO6TeFY/ccOy7fFiqu9arEaaC7YmKeioyjIRUs8ua83ZQCMmgr0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770055860; c=relaxed/simple; bh=zqKO3UGvbDMJ+JT+t551VX1HZg/Yo97PDn3IZ5tzYGI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=W4az2RrUvLZ/umOgqhohSbqNGjac5izbVLM6Zbtvu7hlvqcXvOvbfkEKREU+BoRRQxUiz2dSTq/ktLUe8RyQ+Y/Vwg7xz5aKIQVBKXSXkl2sly2z/OXAIoaGwJQJa7t/GX5PgdSuRuRWiW7AwUbSfgZAHDU5h5iK3f7wX2ozEDw= 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=Ca28SlEW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=asvA2l41; 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="Ca28SlEW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="asvA2l41" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 612Dr2oC1603985 for ; Mon, 2 Feb 2026 18:10:58 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=R+ngY54m3iC HtNRCdl+T64Wh2WWMDO3stultYRdrKfU=; b=Ca28SlEWBX3L+O/vmn+ZD0CPHmE WX8YwUV8J/1W5SHndye/wftlhDMue2A2a6G/qVWdkl16wkLB+qgX2mng6WBLmyVR tC/dYWQAMbLsi+xlEGamVZJ/+vbfdZhjqVGVCUV7AbOzi7xxeGqJz8CW7V5jPb1W JFVuKtFlPTFj41zPg9E52DJtHUyD+yEfab+UCSfkPZhtGU0V+Uuz6TIiLRGNVWgt urmRuyO6VNR9mCN57GzucqiGvAL/VP4tMqXae5mVjnKBVMitGxzedWl8Nm4Y8bBK FwYEMVPSAmZLfUci5a5rQwcPiykQQm4En92Z6MJBhblvi4CHJbyde/SbhsA== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c23h1m767-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 02 Feb 2026 18:10:58 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-c6133262e4eso2922080a12.2 for ; Mon, 02 Feb 2026 10:10:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770055858; x=1770660658; 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=R+ngY54m3iCHtNRCdl+T64Wh2WWMDO3stultYRdrKfU=; b=asvA2l41LOawFHmCz/JZ7qxtpghLGVs6g9VwHDY2R4WcYwucw16FetXSCCHgBf7IYM Ln/ek0Xs2qCfjgRFQiBpvjj+NQWBIZIFYaojK41yRU0j8qLLPSMEFnusMOG+dqCOWK1q bONLV025qPmfyXwfGssKPptuWp+qTQU1MZkjIhDOkJT8a6kPrLMURo3vIJgUCMFPEkIK livChx8Zo4RF5U6cfaqJDtHtl4CFdOpq7vozRs4JtKaBNKeRbd8doPt+ayQpWk2bmgNw /OlC0cUS0n4XRK6rU80v66f1bvbacubHqQBnwwzG9+QJGy6+6t/Vnjc3ACbDBVHXQvQi YLsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770055858; x=1770660658; 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=R+ngY54m3iCHtNRCdl+T64Wh2WWMDO3stultYRdrKfU=; b=oM1fPTRfvPx2YKJXlJ6EbGCUc4gAwjmjfoiW2mhrqkEskYpFJGFnAAq/bqQQFavJz/ p9ZSt9087tqeAXZ3wTQLhAtXjjpTSt64aW+tPByh+4F8GzShdvetCRfRRotjx7q9E6xX gXeqOQkqpcWE158U7tbjDAcDyg8ALdD5t7++JgOt/R9ihp/sgBDjQ1MKN4UtsnjEDpIl d10q/W0WT7QsDKAGGMnM6s4yNDSmWPN3rh1d77Ffi1aao3CHdXml3W96cdzkb+r2rMXH HhxFs2/miEQaVg9ml3Jz7vhIQwI/fvTripLGmTRgyTKcE1wjyH867qvRlPbeBoccF1xi XPMQ== X-Forwarded-Encrypted: i=1; AJvYcCUmbwDK4UvR+MVWNeWY+whmK03hRH81bHYyeweMj9CfEbD+srFkVHGEp9CB66pvRF5n0DhrFduggx3KdE4=@vger.kernel.org X-Gm-Message-State: AOJu0YzOHI8INrvVxX6uL2dCyE+bN5V6vhI4gFUAe3wpvsxQaJKDs0f4 yihVkPaoy89t+fKxkP3tCp0oseXaD3+gGPGCSv6Db2Sy3J87qc+KqSwqUCXf1ff/X22hj6fee6D 1VZK8mkA0wvvQ99c6DZqrLvNdm04fsmYj8dS+h2jZ+ixxwz5wtL0pd6N1XZOvpbEsBNo= X-Gm-Gg: AZuq6aKvNgY8XIka8Co/6HjaKMnY9RPW1b09+yKWk3FVwFMlmgMaSMB2D2ZQxtcVcvT mbbSGBozyu5lpJPZm/n+aGqTrXUE1Jt3+b4CqNPZXTTjEEaop6hl3l6fOWhrAZpVOGYk/Yw5+Mv n7lEKsUqwk7NGNKx5glPs2kW9T+ypsgaxXIZX0E5Jsdfcz4dB31XcLVT49YqMBhXAqwgITeGbNK oPmPT7lrzA8l1LvUUZAQihiwixxH87RdewZDMrxY0ikxEjwJeWhamijkNUU04QPendOPvOKlGLL DAqNXYzmpx8LlgvhAjczLkN3PsmJKqx5dtfO1dG8K+/Cui7S9Hw52xGPzve2r49gSsgYi2ZEUf9 JC0vFLNe5r1JTCToJ1GbfvjW4WbCnai43cJ7ADm5KLNM= X-Received: by 2002:a05:6a00:8d87:b0:81f:4346:6870 with SMTP id d2e1a72fcca58-823ab695dd1mr12685384b3a.28.1770055858041; Mon, 02 Feb 2026 10:10:58 -0800 (PST) X-Received: by 2002:a05:6a00:8d87:b0:81f:4346:6870 with SMTP id d2e1a72fcca58-823ab695dd1mr12685340b3a.28.1770055857462; Mon, 02 Feb 2026 10:10:57 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82379bfc712sm17476780b3a.40.2026.02.02.10.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 10:10:57 -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 Subject: [PATCH v4 11/13] i2c: qcom-geni: Use resources helper APIs in runtime PM functions Date: Mon, 2 Feb 2026 23:39:20 +0530 Message-Id: <20260202180922.1692428-12-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260202180922.1692428-1-praveen.talari@oss.qualcomm.com> References: <20260202180922.1692428-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: mYw1uJz-YgliL2yl_QkzUT-DC5xoHEgX X-Proofpoint-ORIG-GUID: mYw1uJz-YgliL2yl_QkzUT-DC5xoHEgX X-Authority-Analysis: v=2.4 cv=Fu8IPmrq c=1 sm=1 tr=0 ts=6980e8b2 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=3PeDo36KSfG0vlEF63sA:9 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAyMDE0MiBTYWx0ZWRfX0jEBqgnPHzlH VPiRZYrQJ7VS9zvaGahZu5sgMRYI0FQWS6VIz3RSFWKArjwRjVDGLYCq+GP3SMgIRxBESPyGCky qVmE5UZ9h41r3Y9KvRAc/it89go+xIhW+5r5MVC0+bL9MkTWWL6kODMUpJfoEEX6hMt9guWv3C9 oaUgJo/4OhW5CPfcNMBuimkAH3SSr8JRVJKSFsMvMNZ2x4CGlA2VFg6cOgd7N1eET4pC7KKWprR bhuRc3KuZWZkU3bfAxzw/T+kFyC6l6QAfAaycFTb0FcQGIdQ72/S8jTglJYm6b37/lbeL/no/SH +NnqVLD9tLfapgwmZXIY/dzi7O8wp0Qm4CsWwuOXbn85excNazNvUYWcnbc01OzZBEFIeByh/dZ j7NCWmz/HgLJFnjxBbQtkUKvAdUeOW2BodAR7oM8SYudvQRyCY/p7U+oWt/3j8ZlA34twGLxO86 KF7vxayJFomEwAuBR/A== 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-02_05,2026-02-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602020142 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 56eebefda75f..4ff84bb0fff5 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -1163,18 +1163,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->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) @@ -1182,28 +1179,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->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->core_clk); -out_icc_disable: - geni_icc_disable(&gi2c->se); - return ret; } =20 --=20 2.34.1