From mboxrd@z Thu Jan 1 00:00:00 1970 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 88C9E22097 for ; Fri, 10 Jul 2026 12:29:57 +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=1783686598; cv=none; b=M+mAbEBczkisSkmMO3Pd0Xe14LhT0uu5JydTRJern+F+a6ZnIr4TtRDBdp+ry0wYcz4bF3A2rWEUrFET0+P5G6TC7sFonaHa5DIWmQaq8F4RSVesrnADu3ZbAUF55AugKE5jURInplKKSBGrDoP5nJAh0jbg9ewUy3V6FYqJiMU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783686598; c=relaxed/simple; bh=3wIAzKPMdoyp8yj43soqVeH7UyxqeDxDnqA2PLVj8eA=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=l9ePlY623IJTdP39vYGSHNvXaty6nvtCOLsO8tETjoUYN1j3snTSYdYe7TC1GiQpEk3wNiMQRJ4Xl8JeOhYlbcJxqaSHL9vD9JLvDJoW94VcIfUuCva1x80iKpFlkWISBp7Stea8+VosCFjlsslsFnLm9aTfY+a7WQfMmbKCll4= 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=nfXRXo/m; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=U2ilHJBS; 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="nfXRXo/m"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="U2ilHJBS" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66AAn8gO570208 for ; Fri, 10 Jul 2026 12:29:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= lLbBU18I1z3GJHSsjo3r+iJpKtCAH2oQJdTEa9dJr3w=; b=nfXRXo/mLW6vi3x8 lV4pLLDzbEg0xot5NhaqIyUgyXZIa0GhbHXIPMpxjBTo+5/fJv/1s6dt/pHO9u7b DaKZEmX9i7FxxJfTKvTpu2jBAo6GmaZXE6TDUl+JkFSMoFiDzNqFEhs2xzfDylRO t3dCoKdjjmFtS3M4emjBz7UzlPviErCheumAoIz3T0rVpNeQxTyUqc5BiDE+UzdX QxelfaUq1n9d/Qod6I/hba9pYAkTsvFt+rfwmn7TTr+Sm519Y+UqWUkNx4DPX9h4 vOWCOdW7K+LdfvcEs94YxMrzE5kXv8rNhcP0o2YJ9gqEbQACCSwpz+MDirg/qBQ/ sov0jA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4faxyg8cwc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 10 Jul 2026 12:29:56 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c267931ebso2122871cf.2 for ; Fri, 10 Jul 2026 05:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783686596; x=1784291396; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=lLbBU18I1z3GJHSsjo3r+iJpKtCAH2oQJdTEa9dJr3w=; b=U2ilHJBSPCNEflwXdnbrstyOvREgrVRgx7imU5X5000gBC39F40OozQ99Dd4MoeUlg hWS4OIHWqxXVb1KIA2ZNhOxGunJ5Cz+zW3gr0eBGE9eLOySE5K/pg3+8+MLzjFZerN8x VAEbWCZuDejcA3paQ4gd3hMYeVhg5B80kybzKwwW6uNV7V/6pPKVk1eLwEtPpUpk72et kzjIFwWfCGNeBavydhbhDb9nvR0qpN0n8LXDJtTrzEt+VRuWB9xB964OnPRbqtKQ08OE m7IvizBALcKz80qz0x2BuqhHmjJXHqHKet98qPrdJO+2zkSjoLrEgexRaaF9GNkBrd8q vtwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783686596; x=1784291396; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references: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=lLbBU18I1z3GJHSsjo3r+iJpKtCAH2oQJdTEa9dJr3w=; b=SisYE+S8+DPi7PNREJEvGdSNGxirvYgczuDaHxy60Dsb7bwY8CXfKdMjWL/sUBEped ardyvsMTTVjuvx2jNx/HOpza5D1BQEWtVAzjRVjFi1/zP46+2f5y/qSc99n9iQuFFi3C WzAErj82o6b62PtoopsVcRscx6VzLsV3U47vYC/8KM5uqmDW3pvbfm+3xJUguzssKcjc VhRnxpdd2MhUO7LQZe3HcVoIET9nLteAfjtCZf6ObCtc71NYVXqAyhNUYLU4yVfB1JVc 1v9DiB6XUce7zziT6it1QfMPz6jiokpSCH34neTmojdVdDzz0h7EtBIVw18Kar4D8p6E S5cw== X-Forwarded-Encrypted: i=1; AHgh+Rru1hsqjNnLSKNOiywLmhA27kkTiEaDhylhvu6cQZBVhO1QWkHY0OGc7ezkXsMQNFtpVOLeLD9Wf3SUMGg=@vger.kernel.org X-Gm-Message-State: AOJu0YwluYos09CVwyjSWPj8+jRH0wd1ejaUzoJylNHqKSbNLBU6WX+V EOo93wMPiMUDeOXqu2FnXWisL9P2OCZQhpBpTrRUug4ZDl3bI9xQBX86vybpxZ/am0SoUxWpWCd mom0UOEqUhg374Q9PHPvSLtqwt1wlygoFT7Aub2TcDXiruEDAwJvJX3mcJzTcU5jKBTE= X-Gm-Gg: AfdE7clXpPlvKPYj0hZkrdeByt+NVUk0Q32zoEz+ZekkWiqFxNDwHl1e6kGa9Atlvkl /heuXvhA3c6dQ6nXCR/4uB5xD9tq82CHJUmCIpX2vLlbFaaciPY3vqHTgbqgPPL1FfFi7WqSDJa FaXFPuhn7UQ3XI7E47NuDMoxfRHEgA17vKqrPaSnAzx9KsWByomfIJIVzkm05vfk1v+u8w3Z0S9 Olv/f7HXNDROMmQ/x18T261SdYJLAZDze1maD8YEK2+Zk/d4J9nuXRF4S4wH0w1NMQY7eljgG0s oI640kyIuWIfczsLM6lgzyvL2YtL6qi5QBao0uS2yII1m9J6Xerh59cYwGxFyIVNTYHvDnHVMwD 6RADt8JAkZ8Qp8H1pZBmTDNfvtfOjHmbgUhE= X-Received: by 2002:ac8:5f13:0:b0:50f:a53b:9d5 with SMTP id d75a77b69052e-51c96629826mr70336941cf.2.1783686595902; Fri, 10 Jul 2026 05:29:55 -0700 (PDT) X-Received: by 2002:ac8:5f13:0:b0:50f:a53b:9d5 with SMTP id d75a77b69052e-51c96629826mr70336821cf.2.1783686595553; Fri, 10 Jul 2026 05:29:55 -0700 (PDT) Received: from [192.168.120.193] ([178.235.128.140]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19cd87d6sm10916055a12.6.2026.07.10.05.29.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jul 2026 05:29:54 -0700 (PDT) Message-ID: Date: Fri, 10 Jul 2026 14:29:51 +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] i2c: qcom-geni: Use devm_pm_runtime_enable() for PM management To: Mukesh Kumar Savaliya , viken.dadhaniya@oss.qualcomm.com, andi.shyti@kernel.org, linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260710121356.4054600-1-mukesh.savaliya@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260710121356.4054600-1-mukesh.savaliya@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: SzA7crGt2Ci0S2Q61CfqyeEIT3PQPILr X-Authority-Analysis: v=2.4 cv=PLg/P/qC c=1 sm=1 tr=0 ts=6a50e5c4 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=PRfkaYvzSr8QmIIGAkY2Sg==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=VQGEhXhxWgW9jRnbskYA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEwMDEyNCBTYWx0ZWRfXzba7WiEBne9O XuzKEcDEsRLuI89EEvEGSQsJZjxZGbVQtlw+1xnzN0rfvSaXbovYrrAOJXCebjL/n56p+Es1h5D NN3qirvdc/kR/PSohSzCkM2tHuPop8Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEwMDEyNCBTYWx0ZWRfX74Zo02X0h2w+ gTVaFTIflM0tnQlHjNnSAWe4Q4CzCljO3xjtJ35toQ4gktS8LCj4KCMI7zRsNV65UBQpYzHw7kv RfOtOa2Xj4a0adlu3ZU7wdCCHQICUU7AA4Jt65TjSY6Enhfo88/0AOlvOuFPb97UfXa/786BWcd H7KIvfZDMKvregQohcZ9LMefjZoa2a1MZJVlGyRp2cfiA+UzShdwQR/Mlo6Gb1oDiD5b0hrzrUG bepEsgLxeATyB7cimUCBXXrQ0VYqxWPJHaAdmPMjwLnqttO1++gMUecdE8U/J+geExRItWam1Ut kYuSmFeDMw8vdXk11EdiZjwW658GZHTNh2+oYp4STJd2mo+8QTREGX3hx8IyM9hI9TDCEIGZnf/ YvOBgp4Gbsg1KqtWLPeMP4oCn4gCyzWEdNCp1BKMqIGt5SoRHiUQaD1Aed09rcwoRk7v3gmLJG0 fcxd1khU0K8A0wxxh4A== X-Proofpoint-GUID: SzA7crGt2Ci0S2Q61CfqyeEIT3PQPILr 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-10_03,2026-07-09_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 adultscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607100124 On 7/10/26 2:13 PM, Mukesh Kumar Savaliya wrote: > The current implementation manually calls pm_runtime_enable() in probe() > and pm_runtime_disable() in remove() and error paths. This pattern is > error-prone and requires careful cleanup in all failure paths. Using the > devres-managed variant eliminates this complexity. > > Migrate from manual pm_runtime_enable()/pm_runtime_disable() calls to > the devres-managed devm_pm_runtime_enable() API. This simplifies the > driver by automatically handling runtime PM cleanup when the device is > removed or probe fails. This helps with Simplified error handling and > Automatic cleanup. > > Changes: > - Replace pm_runtime_enable() with devm_pm_runtime_enable() in probe() > - Remove pm_runtime_disable() from remove() function > - Remove pm_runtime_disable() from probe() error paths after > geni_i2c_init() and i2c_add_adapter() > - Use 'dev' pointer consistently instead of 'gi2c->se.dev' for PM APIs Drop this paragraph, describing changes like is unnecessary since we can just infer this from the diff > > Signed-off-by: Mukesh Kumar Savaliya > --- > drivers/i2c/busses/i2c-qcom-geni.c | 25 +++++++++++-------------- > 1 file changed, 11 insertions(+), 14 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c > index 96dbf04138be..6d6c2fa287ca 100644 > --- a/drivers/i2c/busses/i2c-qcom-geni.c > +++ b/drivers/i2c/busses/i2c-qcom-geni.c > @@ -1126,27 +1126,25 @@ static int geni_i2c_probe(struct platform_device *pdev) > gi2c->adap.dev.of_node = dev->of_node; > strscpy(gi2c->adap.name, "Geni-I2C", sizeof(gi2c->adap.name)); > > - 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); > - pm_runtime_enable(gi2c->se.dev); > + ret = devm_pm_runtime_enable(dev); > + if (ret) > + return ret; This shifts the enabling of runpm> + > + pm_runtime_set_suspended(dev); > + pm_runtime_set_autosuspend_delay(dev, I2C_AUTO_SUSPEND_DELAY); > + pm_runtime_use_autosuspend(dev); ..which is wrong since: /** * pm_runtime_set_suspended - Set runtime PM status to "suspended". * @dev: Target device. * * Set the runtime PM status of @dev to %RPM_SUSPENDED and ensure that * dependencies of it will be taken into account. * * It is not valid to call this function for devices with runtime PM enabled. */ Konrad