From nobody Mon May 25 01:17:55 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 A53C031D381 for ; Wed, 20 May 2026 07:14:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779261289; cv=none; b=LvuD8hWoyd12ICnt0CvOFjfZUj7t2B8UpREQh4WNDocckvrvW7SXgphbJ9TOO/dkzU5a1B0pyYGNFaYIRhYSipbWFW13oZISto51KZkKAZ0J7qHQuiw0e+56yS7HrWsIBEdjB+1UEycthNZPlw+r/ECQCP+ctoKvdYGvJlsb26M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779261289; c=relaxed/simple; bh=j01mAF2BlRaYdJjrxolhRRNK6s404xsfaKWCuIsdi3I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=hbBf9aBbMDUZtvm5vDWOMQ7IsE5Jp6EhIvi4bdSQESMQ8xmrASDBlT/Wota1XSBlgjnqfXK7BufDI8MDEly9V1pPXtcOGkULWx9ppUu9Cg/AYdhmdveGxHGS1jYUtyflihsfholkQBH5nGlcBzADUhWOHoBUictOe3L2lv6PiBg= 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=TXFepp14; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HIuiX5Pu; arc=none smtp.client-ip=205.220.180.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="TXFepp14"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HIuiX5Pu" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64K6xovu2143768 for ; Wed, 20 May 2026 07:14:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=JMzYm37TS5IGSik2OF3PJi G3o/syaNDnjzGxh1Bl7dc=; b=TXFepp143QeeA9qAqCc8tP95tGoyKZS4EQhEaZ twF/NDZi28LwQC3DnurDZ28w+0VkKyuXVFM69kTMo/cjLb9dAKiStCOExSbf61qX U2VZgdU8tD9nbwiAI7Uert0umfpzpXMDFOjjvrqYxY8Rcpq2hjpvWRvTTA2tvUa+ 9guBTbISETW7MxPpZWOAWBDkVkp5gtrXLSE9BuP7HuuLhhBb7qAflniu74ISI8Lb jl1ffvOwb9RPI2FoKyFKw1PTnIdmN6HkUu0bTHJBkHAGYeaF2zN1tUMULj+4P5ba CrxsH11mhATpT/yaTwrOfZ25ux+7Rq3kK1YOSREnCCvhw10g== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8t3tkgut-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 20 May 2026 07:14:46 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c709551ec08so7261521a12.3 for ; Wed, 20 May 2026 00:14:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779261285; x=1779866085; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=JMzYm37TS5IGSik2OF3PJiG3o/syaNDnjzGxh1Bl7dc=; b=HIuiX5PuyVcsXPZ7jZ4flS8sT4meG8mw3gSv2aStA5k5/3COACPWYbgaTnxKl5kWme RD4xAtgD+96HpM/mVboaoADeIyaqH4SoNezupFSADGYiHMyKlF0Ra3ozzLoZqGA6Jx8V aKTudlvtS//DOGGTmm9XPuLXi0FzTim4DcKwF28Gk4F8zjxOkdJ54bZDfufLVYYzTwfs ZKm1GipO0/shQovTzoq6yyohQUmSCDKBZJeMhTYnuCtgcW8+J9c1aHbRvOksQQvq/PC7 TRoq/K27yAd/y0oXWFed/QCfJfgmjO2xC9bAncoRw2Ei2DQ9FBA78x9dK3L4s4lTqd+a s8Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779261285; x=1779866085; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=JMzYm37TS5IGSik2OF3PJiG3o/syaNDnjzGxh1Bl7dc=; b=X7l8OkbGJzsC54YItFvEtQ3Y/lPm2sj/EFagotD3PLrKU91xQKUe7KnJXpRCexWS6x NORI9ibVZ8OuPbYUIV5pdj+kJse5gNIxSVwK2oaFF7TXHbbYHOjFV40QrVb5/krmjNZ4 HaPCe8ziTjxb3dYbfhbXKGZsOEhMAA/tK6dup1ZvfOtQ8OFfIxDlWOTSV34bV3yVwLwr w+fO7NM6EFr/ASP/aR9S0CYK+Gmaa1K/XCVfukBmY7oXcR7Cr6YojzlBWB/2cfXYKBwg PnE8TdgA0mctBdXjLJNJNIBtXvZohgTKspOuNmgFz07aK5eG5u/3MgqNAJnc/DNHU2Bt Qxkg== X-Forwarded-Encrypted: i=1; AFNElJ98ItJuxwy8+3uKDaXaeDTR+4+FkDYrWrguddsGIDejklFC74FiZ5DTSO2nz62SJJtPQ86yjpLrwEnyfxA=@vger.kernel.org X-Gm-Message-State: AOJu0YxdWcy6uYzCa9xjdrUINtRIZtdIXNRba8LAalBDvHbF5YM2LmoV 4hA1dD8GeNR530ovXLQfDQtYh9QOMAa1HJ1IfzTFgKynFFvwAZifiO9FQ2t7q1mrh5cI7WLpdOI GssLy6zA2ShztfzUBwVV5UkNfa7zQoqAkLa6+3sHMRNHi0RjfLSH0WmOBHzyv9Lm7wTE= X-Gm-Gg: Acq92OEZm+Z+LvuM4NV6yAiLwy5RTmokxqqY6V2zEQelWHbzMHFS3FF3LFaBamM0i4x 2xZMNu72FSsswUC2m8IoarSch2nmmbyzvyh2m7xst+RITM+KP8NUPpVbvT0IAxkKoGyESL6eP+6 Ab5oJb1MCwtFdzUR4YZSH9n8UI2ZqsyTjn24cve4LQu0PwfvJ3mESel3RepP2MkZv57fTLf7141 2LXBa5YU6iTJ0Rj3ctQQOFDieII0v6CGiU77l5wEGprYNp6ThK5v2+jiO3NH19HGPfOR6w6FIAI PWi4b9varop/KlrFe+hVhGhXPnFuivdkFuHAA8EDz/YevM6341cotP/AMMYRGvn02lmgvW9vOvF 5NTSJNx5DYyty0MrANPPOeE/Z7WvsXjSR2uYznrga5ZVsqvCRB14a+P8= X-Received: by 2002:a05:6300:218f:b0:398:a306:d64f with SMTP id adf61e73a8af0-3b22ebe1b32mr26842102637.30.1779261285334; Wed, 20 May 2026 00:14:45 -0700 (PDT) X-Received: by 2002:a05:6300:218f:b0:398:a306:d64f with SMTP id adf61e73a8af0-3b22ebe1b32mr26842061637.30.1779261284772; Wed, 20 May 2026 00:14:44 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c82bb08d06csm18736977a12.14.2026.05.20.00.14.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 00:14:44 -0700 (PDT) From: Praveen Talari Date: Wed, 20 May 2026 12:44:29 +0530 Subject: [PATCH] i2c: qcom-geni: Use pm_runtime_force_{suspend,resume} helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260520-use_pm_runtime_apis-v1-1-6a5238fc6cb6@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAFRfDWoC/x3MSwqAMAwA0atI1hZq8INeRaSojZqFtTQqgvTuF pdvMfOCUGAS6LIXAt0sfLiEIs9g3ka3kmKbDKix1hVqdQkZv5twuZN3MqNnUWVDbbtg2VicIJU +0MLPf+2HGD+3wCVxZQAAAA== X-Change-ID: 20260520-use_pm_runtime_apis-47e99f247d2b To: Mukesh Kumar Savaliya , Viken Dadhaniya , Konrad Dybcio , Andi Shyti Cc: linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Praveen Talari X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779261281; l=3006; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=j01mAF2BlRaYdJjrxolhRRNK6s404xsfaKWCuIsdi3I=; b=RedlrFg7lmL+r+QqY8uuS9Q0Ppm+8eRV2SFWsKctRFYp9Is8wK5Wxy/svo34IjC0/Z3FKtnW6 hYEOt+pPrcZDnnRrchbgmLHR+R0a3yMiUxwXpEBTQ6OhurxxIjnosZL X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=feCdDUQF c=1 sm=1 tr=0 ts=6a0d5f66 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=DWeSS0CfW5cAq--l0NsA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-ORIG-GUID: gF6ANG-IteA36269lkSZWUWLHVw22EmG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDA2OCBTYWx0ZWRfX/OL0CMBQbqu1 TYcDPFBt3Usp4lBQtjLBaD52fqZ+7J3Ri9abnni2OPudJQh8fYPdADwdizKV91+e1iqCXKejuIH tEGfPTXmyQXr18uf6ETv9/3NzwSTQVgjiUSLx5UT0g4zqcZ5QujafmJIGBguch4atkNhYyiWnbE 8Xteuo2LG9l2kf3mw4aN4+CC/gMSfDWEje6IwvciRR5MjiEvKB2m3udry4+1y6i/uQm5Zy3hxh1 yJt3Z1b4Wf51LangcmkWLHeZztS1fO/HTY+xW3B+u0ZprFV1GqpKgHDcE0MO2npdG2AmkPxIzrK tU/z4VrdcZymPmGUiEgMV/NVfLsT6L2mLUvwDg3eXkR7G37776jpSPVXLkv2sQ104+pyORD7o0D y6uummLRsadujc5e8Ia3DcYVkVb6TU7WYGzomj6WqDC0r83tAZL/LBxCiYFuMfQUskgD6cLIRSk K4jPIrebOo5vIDdwMjQ== X-Proofpoint-GUID: gF6ANG-IteA36269lkSZWUWLHVw22EmG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200068 The driver carries custom system suspend/resume handling that manually tracks a suspended state and conditionally calls geni_i2c_runtime_suspend() from the noirq suspend path, then adjusts runtime PM state by hand. This duplicates PM core behavior and adds unnecessary complexity. Drop the manual state tracking and switch to pm_runtime_force_suspend() and pm_runtime_force_resume() for system sleep. These helpers already perform the required checks, call the runtime PM callbacks when needed, and keep runtime PM state transitions consistent. Reviewed-by: Mukesh Kumar Savaliya Signed-off-by: Praveen Talari --- drivers/i2c/busses/i2c-qcom-geni.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qc= om-geni.c index a4acb78fafb6..ee04d542e055 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -110,7 +110,6 @@ struct geni_i2c_dev { struct clk *core_clk; u32 clk_freq_out; const struct geni_i2c_clk_fld *clk_fld; - int suspended; void *dma_buf; size_t xfer_len; dma_addr_t dma_addr; @@ -1129,7 +1128,6 @@ static int geni_i2c_probe(struct platform_device *pde= v) if (ret) goto err_dma; =20 - gi2c->suspended =3D 1; pm_runtime_set_suspended(gi2c->se.dev); pm_runtime_set_autosuspend_delay(gi2c->se.dev, I2C_AUTO_SUSPEND_DELAY); pm_runtime_use_autosuspend(gi2c->se.dev); @@ -1186,9 +1184,6 @@ static int __maybe_unused geni_i2c_runtime_suspend(st= ruct device *dev) if (ret) { enable_irq(gi2c->irq); return ret; - - } else { - gi2c->suspended =3D 1; } =20 clk_disable_unprepare(gi2c->core_clk); @@ -1214,7 +1209,6 @@ static int __maybe_unused geni_i2c_runtime_resume(str= uct device *dev) goto out_clk_disable; =20 enable_irq(gi2c->irq); - gi2c->suspended =3D 0; =20 return 0; =20 @@ -1229,21 +1223,25 @@ static int __maybe_unused geni_i2c_runtime_resume(s= truct device *dev) static int __maybe_unused geni_i2c_suspend_noirq(struct device *dev) { struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); + int ret; =20 i2c_mark_adapter_suspended(&gi2c->adap); =20 - if (!gi2c->suspended) { - geni_i2c_runtime_suspend(dev); - pm_runtime_disable(dev); - pm_runtime_set_suspended(dev); - pm_runtime_enable(dev); - } - return 0; + ret =3D pm_runtime_force_suspend(dev); + if (ret) + i2c_mark_adapter_resumed(&gi2c->adap); + + return ret; } =20 static int __maybe_unused geni_i2c_resume_noirq(struct device *dev) { struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); + int ret; + + ret =3D pm_runtime_force_resume(dev); + if (ret) + return ret; =20 i2c_mark_adapter_resumed(&gi2c->adap); return 0; --- base-commit: 1f5ffc672165ff851063a5fd044b727ab2517ae3 change-id: 20260520-use_pm_runtime_apis-47e99f247d2b Best regards, --=20 Praveen Talari