From nobody Sat Feb 7 09:14:50 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 322FB350D50; Fri, 30 Jan 2026 21:43:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.165.32 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809420; cv=none; b=KFYVppvMRYZeJCSzepM1lx1PZ61nYwSqxr80PBuILqWT0BUWiIs7ky68dRzHhiLaZdoQ3ZfA3xOuBZ9RjpzIi/SXVhY0Jj+DTTvKKa4arAt9Y9nQCYDaY8MoxyuxSvBmgx1QceKroNTQOiKPbg2JhIqiUJdETrRFyRmMgLyeqmU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809420; c=relaxed/simple; bh=l7QFZndwGXGNUoBwmvaA5fUdzeL5Ug6CCi7bquxU3O4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bu/a6crs3nDzzcZ13Y2HVviql+1nulQwldqHCrPbAc0k1OGnTpeRZpOvgVmWR+0BXKngbSNZ7LKz7oJFqqIvJizThnXUiD227qkByIwR2jShwKmjUC0XfxPJyDw2IphHlhS19vtsmbV85JdnqPuCt3pJNSUw8RmLl3NqLwh49Vo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=K3JV9eXH; arc=none smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="K3JV9eXH" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60UKDTIb3407423; Fri, 30 Jan 2026 21:43:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2025-04-25; bh=q5Mk+ bhK7oDWoawLsH1zgtGmWxM33aPJ8/RoNJ8yWOs=; b=K3JV9eXHA6MFdYoUwthBT 1LY7U3LA1+yUMxgvT2m/+Ix6JW0OUOY47DPXJxiJmSX9AaGchUMRDXYiPVMWbaQ2 9PLTxE8NTYcDeuz8cq1xenAukrv0mqviEa1GJn0DEJAY9Axe/AjevJAVzj1sHBGn A63y10P5lTiJcpCdhsqVgJ2d6YFwkUeimKoT0gFpF4wKzynrMzPtS3jNPlcEMwBu 1zsdQ0Za3NXH+tI4LdkUIeY5xAG9HFa5s3puSpj0a9+2Zr+IuNcaFVaAY3Sxz0js ITQ2Ppq+TKgMKv4WjGih7MLxPTDvxhrvI5I0iJzoCxdi1o6caPV6HKpRXx91YGlt g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c103e8fh0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:33 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60ULRHk8036019; Fri, 30 Jan 2026 21:43:32 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bvmhtg549-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:32 +0000 Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 60ULhRtg035490; Fri, 30 Jan 2026 21:43:32 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 4bvmhtg52e-2; Fri, 30 Jan 2026 21:43:31 +0000 From: Harshit Mogalapalli To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Harshit Mogalapalli , Andrew Ijano , linux-iio@vger.kernel.org (open list:IIO SUBSYSTEM AND DRIVERS), linux-kernel@vger.kernel.org (open list) Cc: kernel-janitors@vger.kernel.org, Andy Shevchenko Subject: [PATCH next 1/4] iio: sca3000: cache SPI device ID in probe Date: Fri, 30 Jan 2026 13:43:08 -0800 Message-ID: <20260130214323.236389-2-harshit.m.mogalapalli@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.com> References: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.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-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601300178 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDE3OCBTYWx0ZWRfXx8kFOsIelinF TL3IDFQlwkOCTyn+xd8S9LkI/ft9R+txtnYBxYQEDUdeLjHHgYaTT82rLgpc/CmUrWbr6vtAEkK V/nbpxKjacKbu3T7TolVeeGeuelK9HDS8xPSlk7P5Mlxa3QKqEs6PJZgJ+G7ghNuMiWGNz9Q7pi rwmS/aBhHGrxHEmsg0o1K2r3Nd6CDkd+95W3i9qQXWeAqfv1njeo4LDGvAlXBBA+T5dAt3u0TaX PRN2gcG39gzKjvu7CJk5al6Uq8Ekj/DKhE5kUIAtpTK4QLtPgIYgU9XXWzqUHeYdc0PXSo46aq9 7Pi+BQElrA6gQ5ST5C/umrZaqr6VyJQPH/e7LE7MGr5GUhYebmqewaQQtJcZBZ+hRQ8bghvGbGj L7Gs2mcXlMnDlSEh/mUnxVDO0z2OqWR+ni9TiqizaAOZVrtRK/JsGpP0dJyIqRlZc1hqvujVg8X fODT3e5hiwrQsuG7xSVXNbBqYGHjsM6JoHm7oobs= X-Proofpoint-GUID: x744ZUCMas4IgxCCKeJ27tUzOwU6pmUf X-Authority-Analysis: v=2.4 cv=M/FA6iws c=1 sm=1 tr=0 ts=697d2606 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=QyXUC8HyAAAA:8 a=yPCof4ZbAAAA:8 a=eY56iXQc7nrdnX74TsgA:9 cc=ntf awl=host:12104 X-Proofpoint-ORIG-GUID: x744ZUCMas4IgxCCKeJ27tUzOwU6pmUf Content-Type: text/plain; charset="utf-8" Store the spi_device_id at probe entry and reuse it for the name and chip info instead of calling spi_get_device_id() repeatedly. Reuse the local dev pointer for resource managed helpers. While at it, reshuffle variable list in a reverse Christmas tree order. No functional change intended. Suggested-by: Andy Shevchenko Signed-off-by: Harshit Mogalapalli --- drivers/iio/accel/sca3000.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c index 9ef4d6e27466..afe6ef61a53b 100644 --- a/drivers/iio/accel/sca3000.c +++ b/drivers/iio/accel/sca3000.c @@ -1439,11 +1439,13 @@ static const struct iio_info sca3000_info =3D { =20 static int sca3000_probe(struct spi_device *spi) { - int ret; + const struct spi_device_id *id =3D spi_get_device_id(spi); + struct device *dev =3D &spi->dev; struct sca3000_state *st; struct iio_dev *indio_dev; + int ret; =20 - indio_dev =3D devm_iio_device_alloc(&spi->dev, sizeof(*st)); + indio_dev =3D devm_iio_device_alloc(dev, sizeof(*st)); if (!indio_dev) return -ENOMEM; =20 @@ -1451,10 +1453,9 @@ static int sca3000_probe(struct spi_device *spi) spi_set_drvdata(spi, indio_dev); st->us =3D spi; mutex_init(&st->lock); - st->info =3D &sca3000_spi_chip_info_tbl[spi_get_device_id(spi) - ->driver_data]; + st->info =3D &sca3000_spi_chip_info_tbl[id->driver_data]; =20 - indio_dev->name =3D spi_get_device_id(spi)->name; + indio_dev->name =3D id->name; indio_dev->info =3D &sca3000_info; if (st->info->temp_output) { indio_dev->channels =3D sca3000_channels_with_temp; @@ -1466,7 +1467,7 @@ static int sca3000_probe(struct spi_device *spi) } indio_dev->modes =3D INDIO_DIRECT_MODE; =20 - ret =3D devm_iio_kfifo_buffer_setup(&spi->dev, indio_dev, + ret =3D devm_iio_kfifo_buffer_setup(dev, indio_dev, &sca3000_ring_setup_ops); if (ret) return ret; --=20 2.50.1 From nobody Sat Feb 7 09:14:50 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 208DD363C66; Fri, 30 Jan 2026 21:43:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.165.32 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809424; cv=none; b=BkOmAfQHMHbx4J2bOf1ekxxiHBSYnw7KJo+rsGciwsmSfDa2+tKc19pCotFUcZCGjPP1hkFKo2kq4RLjJnfwQ17jVWPInNiYQx8XhqxxGdMxTxXWIRagfGitq8kkaG3BfDcr/xebcKmzPo0CU7tCBX+TrYs8Uct1NlIMB0vIKFc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809424; c=relaxed/simple; bh=5oZZfqlX3dRuPzkpMh511OG2qT5whyxmq9Mz2VNWW7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gzos34GVe5aPgTFaysUHXLp8cUAi/y1pyCbZOSuwoQPZ10EJGzaQ3WJpfi3FujTCLgSFP/e/2w7kSe/TvoB7d05jAAHtmPzU5atcM89JN0WhGutQwMWcpjwgG594x6iREpD3DMzWdB81vrgU45jglePhO36QE6oPZT2DrScuZP8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=r0XPPiVs; arc=none smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="r0XPPiVs" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60UKDExH3406906; Fri, 30 Jan 2026 21:43:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2025-04-25; bh=JfXpP zrgJOAITFyWSjPqbOb/SP+jZlwZOi6YJTc2wpU=; b=r0XPPiVs8+khhxqfGp48v XMO44YuExeodb7Yv4RrfhiK4dAI6pGictXaxXCM3ZtsNGTHfEzRFyJNQr/98qDhM o1kJZXAoAT3DkmmzArUHoCev22bkFrn6fr0AbI5n+9Vfp3iu4APfU6T7uLyct0vC b2Couv1yAgZZXtKvRDGJTzOo7fQeSh2JfRGqOW68iPAF8bGzOGocaCV9isX3+i/O QcmmUXeiAWtqPn3TOeVCT6Y3bilpzZMVcG9qoveEyhTq/U5YH3iGHsLwZmfVEGCy KTxyl1i2pF/cr4dl7eCmoYl6eyKaSzLNkA8tIpR8/zVOyPT3BafpU6VHIBMCVFeN Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c103e8fh1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:37 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60UJfKkY036018; Fri, 30 Jan 2026 21:43:36 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bvmhtg55b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:35 +0000 Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 60ULhRti035490; Fri, 30 Jan 2026 21:43:35 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 4bvmhtg52e-3; Fri, 30 Jan 2026 21:43:35 +0000 From: Harshit Mogalapalli To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Harshit Mogalapalli , Andrew Ijano , linux-iio@vger.kernel.org (open list:IIO SUBSYSTEM AND DRIVERS), linux-kernel@vger.kernel.org (open list) Cc: kernel-janitors@vger.kernel.org, Andy Shevchenko Subject: [PATCH next 2/4] iio: sca3000: switch IRQ handling to devm helpers Date: Fri, 30 Jan 2026 13:43:09 -0800 Message-ID: <20260130214323.236389-3-harshit.m.mogalapalli@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.com> References: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.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-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601300178 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDE3OCBTYWx0ZWRfX2AJ7LvJLAYmX A89AvRafR9fWNBzf6Zz6ZF8N/rE6+WjN0N0YVDmq0nAelkrN2hioHi5ya8p/RdMkrCELZd/Mv4C vJwMM5nt+odyQVy1bvdRxLHpGyMW984Zk4GzH6ullm9HE5m8ueYX1i+io5XSNWV3ZTSI89vYWNo hj+swJK6d8gHmg2FXFW9FqijECIMAUx16FnWTkOdgvX5IPgmTRwkiuv3vitUzpXOhw7F/3uuV0T w9/VVWreaebzOGWprunTMXJDNPFdbDwP3JMn5VP7o9Uv7QDMveaKD2uAVAzd2nMjhuEZLMTwAah 4FhioJsI8QvtOFwnzyVUkZqPI/x1ZpowpMq2dqvy9vZuCE5w86QQD5pQPminRqu4k8Aw954u9cK 4QbadClhA9ntGCNjxtylj4VXo4eHjqrOIOAG/RH2TaP8YwCFR+mLxCpo1eWwIiVtYNKUnOowtDo o9s5g6f/WwTRR8VrI2oQNgNxCr/UB7w9Hhoryz8c= X-Proofpoint-GUID: bSlcLwkN9B9LZfXnR5GkFm8M0IUlyIqB X-Authority-Analysis: v=2.4 cv=M/FA6iws c=1 sm=1 tr=0 ts=697d2609 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=QyXUC8HyAAAA:8 a=yPCof4ZbAAAA:8 a=tHKmUTQGYKKxxhY8VEwA:9 cc=ntf awl=host:12104 X-Proofpoint-ORIG-GUID: bSlcLwkN9B9LZfXnR5GkFm8M0IUlyIqB Content-Type: text/plain; charset="utf-8" Convert the threaded IRQ registration to devm_request_threaded_irq() so that the probe and remove paths can drop manual freeing of irqs. No functionality change. Suggested-by: Andy Shevchenko Signed-off-by: Harshit Mogalapalli --- drivers/iio/accel/sca3000.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c index afe6ef61a53b..0210c716cf38 100644 --- a/drivers/iio/accel/sca3000.c +++ b/drivers/iio/accel/sca3000.c @@ -1473,8 +1473,7 @@ static int sca3000_probe(struct spi_device *spi) return ret; =20 if (spi->irq) { - ret =3D request_threaded_irq(spi->irq, - NULL, + ret =3D devm_request_threaded_irq(dev, spi->irq, NULL, &sca3000_event_handler, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "sca3000", @@ -1484,23 +1483,17 @@ static int sca3000_probe(struct spi_device *spi) } ret =3D sca3000_clean_setup(st); if (ret) - goto error_free_irq; + return ret; =20 ret =3D sca3000_print_rev(indio_dev); if (ret) - goto error_free_irq; + return ret; =20 ret =3D iio_device_register(indio_dev); if (ret) - goto error_free_irq; + return ret; =20 return 0; - -error_free_irq: - if (spi->irq) - free_irq(spi->irq, indio_dev); - - return ret; } =20 static int sca3000_stop_all_interrupts(struct sca3000_state *st) @@ -1530,8 +1523,6 @@ static void sca3000_remove(struct spi_device *spi) =20 /* Must ensure no interrupts can be generated after this! */ sca3000_stop_all_interrupts(st); - if (spi->irq) - free_irq(spi->irq, indio_dev); } =20 static const struct spi_device_id sca3000_id[] =3D { --=20 2.50.1 From nobody Sat Feb 7 09:14:50 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 E6178356A07; Fri, 30 Jan 2026 21:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.177.32 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809428; cv=none; b=YFoPcZ+densRNTEL8FNqKjSJfeVqP0A1sjFkP/L2+HyjrNO9BTllomuf3DSpVxr1HXNc8wBibZYKQ6+BSlvmGZDIKKEvEXou6nNMJ3LzS/1kusNvCDLXAWX3u4K2T5nBfAqv81kXLM0cNszMSTK5MY1zFhevFj/LadyUGWm6h+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809428; c=relaxed/simple; bh=HjK0S4UJB+pkBWgeRGdhne2UiJUehPZNAWJqB1ll6FY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AxEJsKHro4+KzXLo8bg1dKy/J+DU5bPU5UO7uegpaO/uaahGNkY4ua7ceMptv9RCcOd5E8Dsf4L8ZwiHG7e7KNq2DJYv5w1veUoxPR7BQAyRD3b7nr3VzVSdeuYGh6nGYfRl2V5pzPFqcV1HOef4l3RFzN+w67r20/JkytzD5uM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=AEjQv1SB; arc=none smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="AEjQv1SB" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60UKDY1q4028786; Fri, 30 Jan 2026 21:43:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2025-04-25; bh=SvOs6 /3ry4YJIweG5TA/qh9Wg3XrHz0pjWJkiZMX9Zg=; b=AEjQv1SBdPTQmyQKN158c BsEaQGjKNwdMFzjqE01UPmrJXlhWrYTJ9D5tCJ0LJ86+JsEhqlniAVrircV5cpnK S19m6Lf+mzNdM7PQyE20psPofDSMYXOQdPV2nTWBI0HpLTwE24Ax/C2uwh3VHz4C wFKq18MR9W9UYMQzfPeBgnWtRLSQQ7/celp8cnAzGAF82LOOS8Q0HzQDzYJT7nt5 IK/PlE0+q/OLSHBG/CSKNAM38rIVb06YbNtcbGCAidXRkEasG6meTp5NpIrGPedC gd4/5EuQBmrAF7g06YvMMYMiWMtug9ctAj/AS4K2vch+QaINS7pKj2pe9Qz6F2cN A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c10668dym-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:40 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60UL3P0p036178; Fri, 30 Jan 2026 21:43:40 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bvmhtg56m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:40 +0000 Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 60ULhRtk035490; Fri, 30 Jan 2026 21:43:39 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 4bvmhtg52e-4; Fri, 30 Jan 2026 21:43:39 +0000 From: Harshit Mogalapalli To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Harshit Mogalapalli , Andrew Ijano , linux-iio@vger.kernel.org (open list:IIO SUBSYSTEM AND DRIVERS), linux-kernel@vger.kernel.org (open list) Cc: kernel-janitors@vger.kernel.org, Andy Shevchenko Subject: [PATCH next 3/4] iio: sca3000: manage device registration with devm helper Date: Fri, 30 Jan 2026 13:43:10 -0800 Message-ID: <20260130214323.236389-4-harshit.m.mogalapalli@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.com> References: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.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-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601300178 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDE3OCBTYWx0ZWRfXwvraCHWDWM+k Y/65lEehYmiIZ7XqwIFad4nEQLgDXc1GxaPfTZpWlu6BYbk6R+7HgDMEf1iRNshGuokz3iYPPC5 yudwjg68pApBRwaY1FYNjYpNeQGhMRfG5xL0sbwTdLs00pEPkaM/uKp1COw7n4Dt8mfp73d7ks4 BGZzOBKAUcxxpicG/l1eHRy0zWDwEwbTQPqC1yqPwcyMETNuEDZ+KD+FWm2+dypLOksA9AjaxiZ svmVJykWVFG3WR4YqWpYr+mKalfYUCDI4Dllk9H0HYgbTTHHBl5ikd9M+WXhsay2Ww2I1diS0dE 8cq338g2GZXDYywk9pLt6yVJjHxpOY5oIPCDQifPW/ORxCqM9p4hPbb826Aj5Am1QppqlLafyFC b2q102F9QQbsHKQhh4w48wHKHSUZtrjOAP6HwphKEIqqSgicFVkEfHpNyrp5VQNxL93dOEFq7tf wIc9uxsn34iFrEDHWXietalk0nhVP4FacC8j/egE= X-Proofpoint-ORIG-GUID: CdcOq3kmIIJGPU2ZsrFLdEdtKlU6Imis X-Authority-Analysis: v=2.4 cv=EebFgfmC c=1 sm=1 tr=0 ts=697d260c b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=QyXUC8HyAAAA:8 a=yPCof4ZbAAAA:8 a=f-Xc2Zeil6Wuw2QwVq8A:9 cc=ntf awl=host:12104 X-Proofpoint-GUID: CdcOq3kmIIJGPU2ZsrFLdEdtKlU6Imis Content-Type: text/plain; charset="utf-8" Convert the iio registration to use devm_* helpers so the probe no longer needs a separate cleanup path and remove callback can also drop the unregister. No functional change intended. Suggested-by: Andy Shevchenko Signed-off-by: Harshit Mogalapalli --- drivers/iio/accel/sca3000.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c index 0210c716cf38..bf1957c7bc77 100644 --- a/drivers/iio/accel/sca3000.c +++ b/drivers/iio/accel/sca3000.c @@ -1489,11 +1489,7 @@ static int sca3000_probe(struct spi_device *spi) if (ret) return ret; =20 - ret =3D iio_device_register(indio_dev); - if (ret) - return ret; - - return 0; + return devm_iio_device_register(dev, indio_dev); } =20 static int sca3000_stop_all_interrupts(struct sca3000_state *st) @@ -1519,8 +1515,6 @@ static void sca3000_remove(struct spi_device *spi) struct iio_dev *indio_dev =3D spi_get_drvdata(spi); struct sca3000_state *st =3D iio_priv(indio_dev); =20 - iio_device_unregister(indio_dev); - /* Must ensure no interrupts can be generated after this! */ sca3000_stop_all_interrupts(st); } --=20 2.50.1 From nobody Sat Feb 7 09:14:50 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 588CA346777; Fri, 30 Jan 2026 21:43:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.165.32 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809436; cv=none; b=awbQJDivVzvcAGHKaX/O+5899qaZII7/YggguQQYckxm6bQzbMGunKfeezaYoWdPPC1p3I2GKXCFryhQe8MNsauFnTzbICEliFUfqyM7P41lK6fhXVmJx2L5MuFDM+xUktdUmszh5DUdjZG2KzXBOLuTLTssocOrqz9DlvEJmxU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769809436; c=relaxed/simple; bh=s/BpMjeQMlr4MYFXDq3SJDML0E2iz4u3+i0o58uMEM0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O/8izGjGJXqaUW3zgBq5vjLEIy4C8PylxTvO6IPiHDJG2pOHU+d30jmljIziQAMalctNsAfSvfCG7qHoaeuF1WgMXIwrop15CvC3ioHBDpYLDR8F4saDGN3UvLCg9Rq2jR12bvKn4txn/AMhhLGmoIlGlu9inFtXnljVLZyMWQk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=kxNi7/xM; arc=none smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="kxNi7/xM" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60UKDNLP3407068; Fri, 30 Jan 2026 21:43:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2025-04-25; bh=N6ioH kPVQQWZYqBHEsPUEvGR9p10BLcNTVYF4uG2Luk=; b=kxNi7/xMMHqlpWIkpsqhb ntpmpytnzGRfbpsMnIxUasKXhFauObskVi2QuR2QSLHSxiQPuFQt+/X26hZdM9f5 kdpJMS5cRepisWD2YyoDt5icT9qw1Np53Pl+hjcyPXgrXpHZGFHWo9+g35Vmalte BPxshsrOrPCnp8esUualc/r5vvH6+r3h4dYM8Mjx6LZSTZtT3FK6rSuGm022D0Dm 6Wf/FqhPzN8dp1X4ZT7kH3ZHe9meS8VNmXwTRMVrus4SVA3L9M5gEdeJl1VgIIsT BmpVpDLh5LZV0H8nhX1Qh+WZyZbWUwGCFVGBJL2BWyFzQ3x+u0Admwv3nB4rllf1 w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4c103e8fh5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:48 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60UJrWPF036075; Fri, 30 Jan 2026 21:43:47 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bvmhtg58u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:43:47 +0000 Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 60ULhRtm035490; Fri, 30 Jan 2026 21:43:46 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 4bvmhtg52e-5; Fri, 30 Jan 2026 21:43:46 +0000 From: Harshit Mogalapalli To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Harshit Mogalapalli , Gustavo Bastos , Andrew Ijano , linux-iio@vger.kernel.org (open list:IIO SUBSYSTEM AND DRIVERS), linux-kernel@vger.kernel.org (open list) Cc: kernel-janitors@vger.kernel.org, Andy Shevchenko Subject: [PATCH next 4/4] iio: sca3000: stop interrupts via devm_add_action_or_reset() Date: Fri, 30 Jan 2026 13:43:11 -0800 Message-ID: <20260130214323.236389-5-harshit.m.mogalapalli@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.com> References: <20260130214323.236389-1-harshit.m.mogalapalli@oracle.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-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601300178 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDE3OCBTYWx0ZWRfX09tXLxnjJ2zC 3ajFX9/+LDY/cRWM8pEBa/EAzSLIgHkfG6woo6K84ZPK4V/VpzGwFqLY5FcLvDzzuyNz+trXDNz HIzGxsRqICliwB/6POr0fwCYJOYMjnXJVg+PtcLiiC8TfksOx1oBcF/mIkCU5gTM5QkHI3SJWfW hGM+0gHBFoLTEi9LOGHzKOQbQUduBND5kggImiqvLQbAdN6+4HSz+TAMuPdjW2/Wk+K6QVDBRF5 kbhewurNuFtjY82YYHJB2kMCp1NLhHD2kFg4tJvvBoLt4Zl9fQkm0yyML8dj+3YaEROePtz+DlP ewbXMf+zaoYJZVZ/kGvAZ8p/MVbmUoAHp4137zRvORno4xEgj63LqfQP//vTYwN7uXdPm/HCxbt cJD2Zuszz7q/jPUQoq8Nkd1qBlWbvzQOX+Jb3Cdy/JJWLLWVX9T3pnNnfzVtjGlIhxehuA+A2Hj wQ6ssG755Sq+c1I1SdEuhY4h4FmpW9NbtoBUqhYQ= X-Proofpoint-GUID: orWRI84-ipYdeCfz1cUnL3d8Ag4yO941 X-Authority-Analysis: v=2.4 cv=M/FA6iws c=1 sm=1 tr=0 ts=697d2614 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=QyXUC8HyAAAA:8 a=yPCof4ZbAAAA:8 a=f1nxArf7_yZUxjG6GTgA:9 cc=ntf awl=host:12104 X-Proofpoint-ORIG-GUID: orWRI84-ipYdeCfz1cUnL3d8Ag4yO941 Content-Type: text/plain; charset="utf-8" sca3000_stop_all_interrupts() is moved above the probe routine so the new function sca3000_disable_interrupts() used in probe can directly call it without additional declaration. Used devm_add_action_or_reset() for shutting doing the interrupts. After this there is no need to have a remove call back, so got rid of the remove callback. No functional change intended. Suggested-by: Andy Shevchenko Signed-off-by: Harshit Mogalapalli --- drivers/iio/accel/sca3000.c | 58 ++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c index bf1957c7bc77..7f7d29688a81 100644 --- a/drivers/iio/accel/sca3000.c +++ b/drivers/iio/accel/sca3000.c @@ -1437,6 +1437,34 @@ static const struct iio_info sca3000_info =3D { .write_event_config =3D &sca3000_write_event_config, }; =20 +static int sca3000_stop_all_interrupts(struct sca3000_state *st) +{ + int ret; + + mutex_lock(&st->lock); + ret =3D sca3000_read_data_short(st, SCA3000_REG_INT_MASK_ADDR, 1); + if (ret) + goto error_ret; + ret =3D sca3000_write_reg(st, SCA3000_REG_INT_MASK_ADDR, + (st->rx[0] & + ~(SCA3000_REG_INT_MASK_RING_THREE_QUARTER | + SCA3000_REG_INT_MASK_RING_HALF | + SCA3000_REG_INT_MASK_ALL_INTS))); +error_ret: + mutex_unlock(&st->lock); + return ret; +} + +static void sca3000_disable_interrupts(void *data) +{ + struct iio_dev *indio_dev =3D data; + struct sca3000_state *st =3D iio_priv(indio_dev); + + /* Must ensure no interrupts can be generated after this! */ + sca3000_stop_all_interrupts(st); +} + + static int sca3000_probe(struct spi_device *spi) { const struct spi_device_id *id =3D spi_get_device_id(spi); @@ -1481,6 +1509,7 @@ static int sca3000_probe(struct spi_device *spi) if (ret) return ret; } + ret =3D sca3000_clean_setup(st); if (ret) return ret; @@ -1489,34 +1518,12 @@ static int sca3000_probe(struct spi_device *spi) if (ret) return ret; =20 - return devm_iio_device_register(dev, indio_dev); -} - -static int sca3000_stop_all_interrupts(struct sca3000_state *st) -{ - int ret; - - mutex_lock(&st->lock); - ret =3D sca3000_read_data_short(st, SCA3000_REG_INT_MASK_ADDR, 1); + ret =3D devm_iio_device_register(dev, indio_dev); if (ret) - goto error_ret; - ret =3D sca3000_write_reg(st, SCA3000_REG_INT_MASK_ADDR, - (st->rx[0] & - ~(SCA3000_REG_INT_MASK_RING_THREE_QUARTER | - SCA3000_REG_INT_MASK_RING_HALF | - SCA3000_REG_INT_MASK_ALL_INTS))); -error_ret: - mutex_unlock(&st->lock); - return ret; -} + return ret; =20 -static void sca3000_remove(struct spi_device *spi) -{ - struct iio_dev *indio_dev =3D spi_get_drvdata(spi); - struct sca3000_state *st =3D iio_priv(indio_dev); + return devm_add_action_or_reset(dev, sca3000_disable_interrupts, indio_de= v); =20 - /* Must ensure no interrupts can be generated after this! */ - sca3000_stop_all_interrupts(st); } =20 static const struct spi_device_id sca3000_id[] =3D { @@ -1533,7 +1540,6 @@ static struct spi_driver sca3000_driver =3D { .name =3D "sca3000", }, .probe =3D sca3000_probe, - .remove =3D sca3000_remove, .id_table =3D sca3000_id, }; module_spi_driver(sca3000_driver); --=20 2.50.1